圖像分割是由圖像處理進到圖像分析的關鍵步驟。它是目標表達的基礎,使得更高層的圖像分析和理解成爲可能。 算法
基本依據: windows
1.區域內的一致性 app
2.區域間的不一致性 函數
基本方法: 優化
1.基於區域的方法 spa
2.基於邊緣的方法 .net
3.綜合考慮邊緣和區域信息的混合分割方法 3d
***4.基於特定理論的方法(重點講解) orm
基於區域的方法 blog
I.閾值法
有針對雙峯單谷直方圖的取法,也有迭代均值法。
優勢:算法時間複雜度較低,易於實現,適合應用於在線實時圖像處理系統。
不足:忽略了圖像的空間位置信息
還有局部閾值法和多閾值法。
II.區域生長法
先以高閾值選取確信度較高的種子區域,從種子區域開始以8鄰域方式增加,像素灰度與種子灰度相差小於一個數值(認爲給定)就進行生長,即選爲目標區域。
III.分水嶺分割法
標準步驟:
1)將圖像看做地形圖;(在三維中,長寬爲圖像的長寬,高度爲相應的灰度值)
2)在每個極小點處"打一個孔";(這裏的極小點能夠用梯度獲取,也能夠人工對興趣點標記)
3)以一致的速率從小孔向外"噴水",並始終保持地形中全部的水位一致;(所謂高度是指灰度值逐漸上升)
4)不一樣盆地的水相遇時則築壩,而且隨着水位的不斷升高,壩也升高;(這個壩所在的位置最後就成了分割的邊界)
5)當水位達到地形的最高點時算法終止
注:經過手工標註的方式給出打孔點能夠有效防止過分分割,另一個防止過分分割的方法是濾波。
基於邊緣的方法:略
基於特定理論的方法
1.均值移動,mean-shift,也叫均值漂移
核心思想:找到機率密度梯度爲零的採樣點,並以此做爲特徵空間聚類的模式點。
首先解決的問題如何進行機率密度估計,思想來源於非參數機率密度估計中的Parzen窗。
用一個核函數來加權該點周圍固定體積內的點對該點機率密度值的貢獻,
這裏使用衆多核函數中的一種,以下形式
對估計出來的機率密度函數求梯度,但願找到梯度爲零的採樣點做爲模式點
在這裏咱們把機率密度的梯度表示成了一個核函數和一個均值漂移向量的乘積形式。
接下來就是要反覆的計算m(x)向量,來移動核窗G(x)。直到m(x)的幅值小於一個給定的值時 ,咱們認爲那個機率密度梯度爲零的點已經找到。
注:他與梯度降低(上升)的方法很類似,可是又有本身的優點,就是每次迭代的步長是由x的位置肯定的 ,有人也管他叫自適應梯度上升算法。
Mean-shift 本質上是一個優化局部最值的方法,應用在圖像分割中的具體作法:
a.特徵提取(位置,灰度,彩色信息等);
b.set kernel size for features Kf and position Ks;
c.initialize windows at individual pixel locations;
d.perform mean shift for each window until convergence;
e.merge windows that are within width of Kf and Ks.
這裏的推導只是示意性的,詳情請參考:http://pan.baidu.com/s/1pLzOECV
在http://blog.csdn.net/carson2005/article/details/7337432中也有通俗的說法。
2.Graph cut(圖割)
•基本思想:
• 1. 將圖像用圖的方式表示,頂點表示像素,邊表示像素之間的關係。圖像分割對應圖的割集。
• 2. 肯定圖中邊的權值,使圖像分割目標(能量最小化)對應圖的最小割。
• 3. 用最大流算法求解最小割問題。
圖論中的相關基礎知識
2.1 Ncut
參考:Jianbo Shi, Jitendra Malik, Normalized cuts and image segmentation[J]. IEEE Trans on PAMI, 2000; 22(8): 888-905.
連接:http://pan.baidu.com/s/1kVjbQZ1
思想來源是:當咱們把一幅圖像表示成圖連接的形式時,對於二分問題
w是權重矩陣,一般定義爲:
其中 F是像素值,X是距離值。
咱們的目標是讓其取得最小值,也就是類間類似度最小。
咱們能夠用尋求最小割的方法來獲得一幅圖像的分割,但在實際應用中卻出現了不少孤立像素點的分割,這並非咱們想要的。
這篇文章中就提出了一種解決這個問題的方法:
類間類似性度量
,其中
類內類似度度量
能夠證實最小化類間類似性與最大化類內類似性是等價的。
那麼問題來了,如何最小化Ncut(A,B)
文章中給出了一種利用廣義特徵值的方法獲得問題的近似解。
作法是,先將連接類似度矩陣w的行求和獲得wi,令矩陣D=dig{wi};
而後求
求得其次小的特徵值所對應的特徵向量,將特徵向量經過閾值(0或者中點)進行離散化就可以獲得分割結果。
2.2針對多標記問題的能量極小化模型
這裏的f表示了一種標記,即從數據點集P到標記集合L的映射。
data項是表示由這種標記帶來的直接代價。smooth項是說若是這樣標記了,相鄰像素之間的約束代價。
用圖形表示以下(這裏只是表示兩個標籤):
問題就變成了求解一個標籤集合使得能量函數E最小化。
求解兩類標籤,和多類標籤的能量極小化問題在數學中都有對應的算法
參見:Yuri Boykov, Olga Veksler, and Ramin Zabih. Fast approximate energy minimization via graph cuts. IEEE Transactions on Pattern Analysis and Machine Intelligence, 23(11):1222–1239, November 2001.
連接:http://pan.baidu.com/s/1c1AKmRI