2013-11-01 153 views
3

我試圖使用機器學習(即隨機森林)進行圖像分割。分類器利用許多不同的像素級特徵將像素分類爲邊緣像素或非邊緣像素。我最近將我的分類器應用於一組很難手動分割的圖像(Image segmentation based on edge pixel map),並且仍在努力從所得到的概率圖中獲取合理的輪廓。我還將分類器應用於更簡單的圖像集,並在將閾值調整爲0.95時獲得相當好的預測輪廓(蘭德指數> 0.97)。我有興趣通過過濾從概率圖提取的輪廓來改善分割結果。圖像分割中的輪廓完成

這裏是原始圖像:

Original image

專家概述:

Expert Outlines

概率地圖從我的分類產生:

enter image description here

這可以進一步完善,當我將圖像轉換爲二進制基於0.95的門檻:

enter image description here

我試圖在概率圖填充孔,但給我留下了很大的噪音,有時的合併附近的單元格。我也嘗試在openCV中進行輪廓尋找,但是這並不起作用,因爲許多這些輪廓都沒有完全連接 - 在這些輪廓中會有幾個像素會丟失。

編輯:我結束了在概率圖上使用Canny邊緣檢測。

回答

3

初始圖像似乎有很好的對比,我想我們可以簡單地通過閾值來獲得細胞的良好估計。這裏是限圖像的形態區域基於內容的過濾:

閾值:Threshold at 10

區基於開放過濾器(這需要事先設定您所研究的細胞的數據集):基於Size smaller than 2500 pixels removed

區關閉過濾器(這需要事先設定下研究細胞的數據集):使用I-糜爛(I)enter image description here

輪廓:enter image description here

代碼片斷:

C is input image 
C10 = C>10; %threshold depends on the average contrast in your dataset 
C10_areaopen = bwareaopen(C10,2500); %area filters average remove small components that are not cells 
C10_areaopenclose = ~bwareaopen(~C10_areaopen,100); %area filter fills holes 
se = strel('disk',1); 
figure, imshow(C10_areaopenclose-imerode(C10_areaopenclose,se)) %inner contour 

爲了獲得更平滑的形狀我想細小開口操作可以在濾波圖像來執行,從而去除細胞的任何凹部。同樣對於連接的單元,可以使用距離函數和距離函數上的分水嶺來獲得單元的分段:http://www.ias-iss.org/ojs/IAS/article/viewFile/862/765

我想這也可以用於您的概率/置信圖以執行基於非線性區域的過濾。

+0

謝謝!你能否更詳細地解釋我可能如何在概率圖上使用這種方法? – eagle34

+1

您可以嘗試使用_holefilling_:[imfill](http://www.mathworks.fr/fr/help/images/ref/imfill.html)填充概率圖的輪廓,並使用基於區域的過濾解! – beedot