Paper : Efficient Graph-Based Image Segmentation
Code :
摘要
Efficient Graph-Based Image Segmentation 一文是將圖片看作是圖論中的圖進行處理,用到的方法比較簡單易懂,涉及到OI/ACM中常見的概念MST,而類MST的算法流程保證算法的時間複雜度爲O(n log n)。Efficient Graph-Based Image Segmentation 是在像素級上進行融合,爲Selective Search 算法提供了初始的區域。
基於圖的分割
設無向帶權圖 G(V,E) 中 w(vi,vj) 爲非負實數,表示節點 vi,vj 之間的差異度,那麼基於圖的分割方法中,分割 S 定義爲對點集 V 的劃分。
區域間邊界斷言(Pairwise Region Comparison Predicate) : 用於斷言兩區域之間是否有明確的證據表明存在邊界。
對於區域 C∈S,定義區域 C 的內部差異度爲
Int(C)=e∈MST(C,E)maxw(e)
對於區域 C1,C2∈S,定義它們之間的差異度爲
Dif(C1,C2)=vi∈C1,vj∈C2,(vi,vj)∈Ew(vi,vj)min
如果不存在連接兩區域之間的邊,令 Dif(C1,C2)=∞
區域間邊界斷言定義爲
D(C1,C2)={truefalseDif(C1,C2)>MInt(C1,C2)otherwise
其中最小內部差異值 MInt 定位爲
MInt(C1,C2)=min(Int(C1)+τ(C1),Int(C2)+τ(C2))
當 ∣C∣ 較小時,Int(C) 不是一個很好的評價局部數據性質的指標,例如 ∣C∣=1時爲0,因此引入閾值函數 τ,定義爲
τ(C)=∣C∣k
其中更大的超參數k,表示更傾向於生成更大的劃分塊。通過修改 τ 函數的定義,還可以表現出對區域形狀的傾向性。
算法
過於細緻的分割:對於分割 S,當存在區域 C1,C2 ,滿足 C1,C2 的區域間邊界斷言爲假,我們稱分割 S 過於細緻了。
過於粗糙的分割:對於分割 S,當存在對分割 S 更細緻的劃分 S′,且 S′ 不是過於細緻的分割,那麼我們稱分割 S 過於粗糙了。
存在性:對於有限圖 G(V,E),存在一個分割 S 不會過於細緻或粗糙。
基於圖的分割算法:
- 將邊集根據邊權 w 由小到大排序 π=(o1...om),設 S0 表示初始分割,每個點自己組成一個區域
- 重複步驟3 m 次
- 根據以下方法從 Sq−1 生成 Sq:設 vi∈Ciq−1,vj∈Cjq−1,當Ciq−1=Cjq−1 且 w(oq)=w(vi,vj)≤MInt(Ciq−1,Cjq−1),那麼合併 Ciq−1,Cjq−1,否則不變
可以證明,基於圖的分割算法產生的分割 S 不會過於細緻或粗糙。
應用到圖片上
圖片可以理解成由像素構成的矩陣,可以有以下兩種方式建圖
- 使用高斯模糊 σ=0.8 對圖片進行降噪後,令每個像素對應一個點,向八相鄰的像素建邊,權值爲 w(vi,vj)=∣I(pi)−I(pj)∣,對於彩色圖,我們對RGB分別處理,只將三個通道上都劃分爲一個區域的點看作一個區域。
- 使用高斯模糊 σ=0.8 對圖片進行降噪後,將圖片中每個像素映射到特徵空間中,例如 (x,y,r,g,b),使用 L2 正則作爲距離函數,每個點連接固定數量的近鄰
總結
基於圖的分割算法給出了三個評價分割算法好壞的指標,並從數學上證明了算法的滿足這三個標準。爲了保證基於圖的分割算法的時間複雜度是 O(n log n)的,作者使用了最大權重、最小權重等作爲評價區域內、區域間的標準,可能會對算法的魯棒性造成一定的影響。兩種建圖的方式一個更關注局部的特性,一個在感性上能夠更關注圖片的全局特性,可以根據實際問題進行調整。不過對於SS來說,前一種顯然更優