
- 緣起
- 三維感覺
-
目辨別别
3.0. 目标是什麼
3.1. 圖像分割
3.2. 紋理與材質
3.3. 特征提取與描述
- 目标(和自身)在三維空間中的位置關系
- 目标的三維形狀及其改變、目标的位移
- 符号識别
- 數字圖像處理
圖像分割
為了通過材質、形狀、結構識别目标,對圖像進行分割應該是必然的選擇。在這一點上計算機視覺研究者們算是勉強達成了共識,圖像分割甚至被不少研究者列為計算機視覺的基本任務之一了。那麼
圖像分割到底是什麼呢?不幸的是圖像分割任務的定義中僅“分割結果是不重疊的子區域”這一部分獲得了共識,對于子區域的粒度、邊界保持性、區域内紋理一緻性等等缺乏有效和公認的标準。雖然如此,很多圖像分割算法被提了出來,歸納起來可以分為基于門檻值的方法、基于聚類的方法、基于區域的方法、基于圖割的方法、活動邊界模型和水準集、基于卷積神經網絡的方法。
基于門檻值的方法裡,有全局一個門檻值的,也有對圖像不同區域使用不同門檻值的。此類方法的關鍵在于确定門檻值,然而
對于大多數圖像即使周遊所有的取值也無法找到實作合理分割的門檻值,是以該算法常用于符号識别、指紋識别和分割遙感領域中的各種指數圖像(水體指數、植被指數、幹旱指數、熱紅外影像)。
凡是認真思考或者親身嘗試過的,都會承認基于聚類的方法的分割結果難以令人接受。
所有的聚類算法都直接或者間接假設了類别内部的樣本密度高于類别邊界的樣本密度。觀察過一些圖像的直方圖後就會發現,
像素在像元值空間的分布形狀通常都類似鐘型曲線(隻有一個凸起),也就是說按照聚類算法的假設應該将全部像素聚為一類。即使同時使用多個圖像通道,這種情況也沒有什麼改觀。沒有或者難以使用空間資訊是基于聚類的方法的直接缺陷,
導緻分割結果形狀複雜、越過顯而易見的邊界。通常基于聚類的方法都作為其他算法的預處理步驟,在圖像處理領域用于壓縮顔色數量。
基于聚類的方法中有一個叫做SLIC的超像素分割算法與基本的聚類算法有較大的不同,首先在圖像上均勻的撒上種子點,然後以一定的半徑執行KMeans聚類,所使用的距離度量方法考慮到了空間資訊。該算法與方格網形劃分超像素相比有很大的優勢,但是由于聚類算法的用于分割的天然缺陷仍然會導緻超像素越過顯而易見的邊界。
如果目标是為了保持形狀的準确性,SLIC并不是很好的預處理選擇。
基于區域的方法目前包含種子區域生長、區域分裂和合并、分水嶺。種子區域生長法的關鍵在于種子點的選擇、相似性的度量、生長規則,其中相似性度量最為關鍵。常用的相似性度量方法有像元值、顔色、紋理,相似性的度量也是區域分裂和合并法的最關鍵所在。區域分裂和合并的另外一個關鍵是分裂和合并的機制。分水嶺算法通常應用在梯度圖上,将梯度值看作高程值,設想從高程值的局部極小值處向外湧水,整幅圖上水位升高的速度是一樣的,在兩處湧水相遇處修建堤壩。當水位上升至最高點後,所有像素點都被淹沒,所有的堤壩形成對圖像的分割。
分水嶺算法對微弱的邊緣也有很好的響應,因而也會導緻過分割。
對于保持形狀來說,分水嶺加區域分裂和合并應該還有較大的提升空間。
基于圖割的方法是将圖像分割轉換為圖的最小割問題,
關鍵在于設定邊的權重,這隻不過是相似性度量的另一個稱呼。是以基于圖割的全圖分割方法并不會比種子區域生長、區域分裂和合并更好;此外最小割是NP問題,難以最優求解。基于圖割的方法中值得一提的是Graphcut和Grabcut,該算法用于分割前背景,需要人工粗略标注部分背景和前景。這兩個算法的直接意義在于圖像處理領域的互動式前景提取。
活動邊界模型和水準集的用處同樣在于互動式前景提取,需要人工提供初始前景範圍曲線,然後讓範圍曲線在根據圖像資料得到的能量函數的作用下演化,使其向前景邊緣逐漸逼近,最終找到前景的邊緣,在達到前景邊緣時能量函數的取值最小。活動邊界模型直接對範圍曲線進行演化,而水準集則根據圖像資料構造出三維曲面,通過三維曲面的演化以及取等值線的方式間接實作範圍曲線的演化。前背景的邊緣處一定具有較大的梯度,是以能量函數最重要的構造依據就是圖像的梯度,僅依靠梯度會陷入局部最優,一般還會加入曲線的曲率和其它先驗知識。
活動邊界模型和水準集方法不過是希望通過曲線和曲面的傳遞作用以及其它先驗突破梯度的局部極大值,在前景分割上的表現不會比基于圖割的方法更好,事實也是如此。
基于卷積神經網絡的方法包括語義分割、執行個體分割、全景分割三種,歸根到底都是通過已知的樣本資料建立像素及其一定範圍内領域的像素到執行個體或者類别的映射。得益于神經網絡能夠模拟任意函數的優勢,在大量樣本資料參與訓練的條件下所建立出來的映射模型具有較高的準确性。然而
機械的映射模型具有顯而易見的缺陷,遷移能力(隻能分割貓的網絡不能分割狗)和泛化能力(隻能分割白貓的網絡分割不了花貓)幾乎沒有。另外由于映射模型過分複雜,輸入資料的輕微改變也會導緻無法預料的錯誤(像素攻擊)。但是卷積神經網絡帶來的效果提升似乎說明了“
在沒有識别出目标的情況下是達不到完美分割效果的”。
以上就是圖像分割的所有進展,凡是有過嘗試的人都會承認,即使人類也很難從目前圖像分割的結果中提取出形狀和結構特征。不禁要問,
在沒有識别出目标的情況下,到底能夠分割到什麼程度?目前圖像分割算法是否還能繼續提升?就我個人的感覺,目前的進展還未達到圖像分割的極限,雖然不可能達到人類的水準,但是仍然有很大的提升空間。關鍵的問題是
朝着什麼方向去提升,也就是應該用什麼名額來評價圖像分割能力的提升?對于這個問題的回答不妨采用逆向思維,從圖像分割的目的出發。既然圖像分割的目的是為了便于識别,那麼就要問,對于識别來說子區域的那些特征才是有價值的?從筆者的觀察和體會來看,過分割程度和邊界準确程度是至關重要的。
目前圖像分割算法的評價名額都是基于IOU的,
IOU直接強調的是面積,而面積對于圖斑來說是區分度非常差的特征。對于很多形狀複雜的自然目标來說,IOU大但是形狀和結構則相去甚遠,是以基于IOU的評價名額對于強調形狀和結構沒有任何價值。但是目前并沒有形狀和結構特征的描述方法,仿佛陷入了進退兩難的境地。
其實不難看出,如果邊界是準确的,那麼将準确的邊界連接配接起來就能形成準确的分割。邊界的少量錯位是在所難免的,是以在評價邊界的準确性時需要允許一定程度的錯位。但是若果邊界有缺失,則無論如何也無法恢複形狀和結構了。至此,
分割算法的一項評價名額就呼之欲出了——邊界缺失率,與之對應的另一項評價名額則是——邊界備援率。邊界準确程度和過分割程度已經在這兩個名額中包含了。