图像处理(四)图像分割(2)测地距离Geodesic图割
這段時間為了搞項目,涉及到圖像分割算法,由于感覺傳統的分割算法得出來的效果都很差。于是就嘗試各種圖像分割算法,把每種分割算法的代碼都寫一寫,一來是為了提高自己的編程能力,二來是為了更加深刻的了解算法。學習基于測地距離的圖像分割算法,是由于之前把grab cut算法實現了一遍,感覺效果很坑爹,于是就嘗試基于測地距離的分割算法。這個算法開始前,需要先非常熟悉“測地距離”這個概念,因為之前寫過三角網格曲面上的Dijkstra算法,在三維曲面空間中兩點間的測地距離就是兩點間沿著曲面走的最短路徑,因為之前對測地距離這個概念就比較熟悉,所以看《Geodesic?Matting:?A?Framework?for?Fast?Interactive?Image》這篇paper,也就覺得沒有什么難度,所以果斷寫代碼,試驗一下效果再說。
1、算法原理:基于測地距離的圖像分割屬于一種圖論的分割算法。圖論分割算法:即把圖像上的每個像素點當做圖的頂點,圖的每個頂點有四個鄰接頂點(每個像素點有四個鄰接像素點,除邊界點),每兩個鄰接像素點用相應的邊連接,邊的長度與兩個像素點間的相似度有關(測地距離),而非采用簡單的歐式距離作為邊長(相鄰像素點間的歐式距離為1),具體文獻中邊長的計算方法見下文。
2、基于測地距離的分割算法流程:給定一張待分割的圖片,首先算法會利用該圖片構造一張距離圖,邊的距離大小:參考文獻中采用的是現根據已知的標記點前景、背景,對未知的像素點進行核密度估計,并根據相鄰相似點間的隸屬于前景的概率差,作為邊長,我寫的demo中是直接采用像素值的差值作為邊長。
具體實現:在測地距離的算法中提供兩種類型的筆刷,其作用是用來標記為分割時的前景F和相應的背景B。
①首先會需要用戶在相應的前景和背景區域做標記。
②計算未標記點到已標記點前景的測地距離d1,及背景的測地距離d2。測地距離的計算方法我的demo中采用的是Dijkstra算法進行計算(Dijkstra算法原理請百度搜索)。具體過程如下:首先,把標號為的標記點到目標的測地距離初始化為0,到背景的測地距離初始化為無窮大;同樣,把標號為的標記點到背景的測地距離初始化為0,到目標的測地距離初始化為無窮大。根據連通標號矩陣,搜索標號為的所有標記點的4連通鄰域像素點,找出這些像素點中權重概率最小的那個像素點,把最小權重概率對應的像素點添加到已排好序的路徑上,并通過比較原來的權重概率與加入新頂點后的新概率大小,決定是否更新其它像素點的權重概率。這樣,不斷地添加新的像素點到已排好序的路徑上,直到圖像中所有像素點全部搜索完為止。于是由一個或多個權重概率加和得到每個像素點到目標的測地距離d1(x)。同理,可以計算出圖像中各像素點到背景的測地距離d2(x)。
③根據測地距離的大小,判斷未標記點屬于前景或背景。根據概率公式,由圖像中的每個像素點到目標和背景的測地距離,計算出該像素點分屬于目標和背景的概率:
????,?????????????????????
??????????????????????????
對于圖像中的各像素點,若?,則把該像素點判為目標像素點則判為把該像素點判為背景像素點。
看一下我測試的幾張圖片分割效果:
原圖 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 分割結果
? 原圖 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 分割結果
最后總結一下算法的優缺點:這個算法給我的感覺,至少比grab cut 算法強,2004年的grab ?cut 算法paper效果看起看挺不錯的,但是試驗起來感覺很坑爹。
算法優點:計算速度快,比grab?cut算法快好多(demo未做整理,邊長重復計算,因此速度達不到文獻中速度),對圖片中包含半透明區域的圖像分割也有一定的效果。
算法缺點:如果前景和背景邊緣比較模糊,這時測地距離的圖像分割容易出錯。這時候用戶如果想得到一個較好的分割效果,需要額外的交互或者對圖像進行其他的處理。
附:還有一篇2010年文獻《Geodesic?graph?cut?for?interactive?image?segmentation》結合了graph?cut?算法和測地距離分割算法的優點,把兩種算法結合起來,可克服兩種算法存在的缺陷。
總結:圖像分割算法基本上魯棒性都很差,加點噪聲,邊緣較弱等對所有的圖像分割算法影響都很大,算法一般只對文獻上的圖片效果較好。
本文地址:http://blog.csdn.net/hjimce/article/details/45221607?? ?作者:hjimce ? ? 聯系qq:1393852684
更多資源請關注我的博客:http://blog.csdn.net/hjimce?? ? ? ? ? ? ? ? ?原創文章,轉載請保留這兩行作者信息
總結
以上是生活随笔為你收集整理的图像处理(四)图像分割(2)测地距离Geodesic图割的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图像处理(三)图像分割(1)Random
- 下一篇: 图像处理(五)双指数磨皮