許文祥 , 張國英,蔣 焱,陳路豪
(中國礦業大學(北京) 機電與信息工程學院,北京 100083)
圖像分割[1-3]提取出圖像中有意義的部分,作為圖像識別和分析的基礎[4]。閾值分割是圖像分割中一類最早被研究和使用的方法,其具有物理意義明確、效果明顯、易于實現、實時性良好的特點[5]。在諸多的分割方法中,門限法[6]通過選擇一個或幾個最佳灰度閾值,將原圖像中的目標和背景分開,最大熵法[7-9]和最大類間方差法(OTSU)[10-16]等是優化的閾值方法。破碎礦石圖像[17-18],具有個體粘連堆積、表面光照不勻、對比度差、形態雜亂無章,特別是邊緣模糊不清等特點,使得分割變得更加困難[19]。
針對此類問題,張國英等人提出的雙窗OTSU閾值法[20]是一種將雙窗[21]與最大類間方差法[3]結合起來的自適應閾值[22]改進方法,適用于復雜、凌亂的礦石圖像。所提算法克服了單獨用一維最大熵或者雙窗自適應的缺點和不足。針對多尺度、光照不均、堆積粘連的復雜礦石圖像,效果顯著,能去除較多的噪聲,更多的邊被保留了下來。其中存在兩個問題:其一,類間方差判別準則僅僅將此類問題作為簡單的離散型隨機事件的方差求解問題,認為最佳閾值求解是一個多峰問題,該方法進行多次冗余迭代計算,算法的時間性能大大降低;其二,得到的兩個閾值取極值作為中心像素二值化的最佳門限,針對大小相似的礦石圖像時等同于損失了一個窗口的閾值信息。
本文驗證窗口內像素分布滿足二項分布[23]規律,提出了一種二項分布優化的雙窗OTSU算法。通過二項分布的方差函數的性質證明雙窗OTSU閾值分布是單峰分布,可以表達為類似二次函數,均值求解過程通過爬坡方法優化。以窗體尺寸加權的方式從雙窗求取像素閾值,充分保留了兩個窗口的閾值信息,提高了二值分類精度。
雙窗OTSU算法將雙鄰域與OTSU的方法[5]相結合進行圖像像素分類,OTSU方法根據鄰域內像素二分類的最大類間方差確定窗口閾值。每個中心像素根據圖像目標特征選擇了像素的兩個鄰域窗口[24]。每個局部窗口應用OTSU方法計算最優閾值[25],得到的兩個閾值取最值作為中心像素二值化的最佳門限。該方法能有效地從背景中提取出目標區域,算法如下:

2)計算窗口最佳閾值: (ω1(t),M1(t))、(ω2(t),M2(t))表示組A和組B的像素數量和平均灰度值,圖像f(x,y)中的平均灰度值為:
(1)

(2)

fb(x,y)=

(3)
其中1是對象像素的值,0是背景像素。
類間方差將二分類問題視為簡單的離散型隨機事件的方差求解問題,判別準則是從灰度分布t∈[0,255]依次求取方差,方差的最大值對應的t值作為最佳閾值。該方法計算復雜度高,算法的時間性能大大降低。像素的閾值由兩個窗口的極值計算,沒有考慮鄰域窗口的像素分布,導致閾值分類誤差。本文提出了基于二項分布的雙窗OTSU分類模型,只需在窗口中尋找方差峰值,并且后續像素閾值在前序像素的優化閾值附近查找。
定義1: 二項分布即為n次獨立的伯努利試驗,每次試驗只有兩種結果,兩種結果發生與否互相對立且相互獨立,各次試驗結果無關。事件發生的概率在每次獨立試驗中保持不變,則這一系列試驗總稱為n重伯努利試驗。從而能夠以概率論的二項分布的角度分析此類問題。

證明:將窗口內所有像素的灰度值分為大于t與小于t兩類事件,其結果必然是互相對立的。事件的獨立性是指:一個事件的發生不影響另一個事件的發生。因為像素值的分布是隨機的,所以前一個像素的分類結果不能影響下一個像素的分類結果。各次試驗結果無關,事件發生的概率在每次獨立試驗中保持不變,則像素的分布規律滿足二項分布。又根據圖1的方差分布可以再次證明該理論的準確性。
其中N(t)為窗口內灰度值大于t的像素點個數,灰度值小于t的像素點個數為N-N(t)(其中N為窗口內像素點總個數),即方差可以表示為:
(4)
因為N(t)是關于t的連續非減函數,即N(t)
隨著t的增大而增大或者不變。方差是一個符合y=-x2+cx(其中c為常數)的二次函數,所以方差存在峰值。N(t)的分布導致方差峰值處的t值可能是多個連續的值。在最小的t值左側,方差是關于t的非減函數;在最大的t值右側,方差是關于t的非增函數,即方差隨著t的增大而減小或者不變。

圖1 任意窗口的方差分布圖Fig.1 Variance distribution map of any window


1)窗口增減區間判斷



2)單窗口減區間迭代閾值
判斷當σB(t)<σB(t+1)時,停止迭代,得到最佳閾值的左邊界l=t+1,然后比較是否σB(l)=σB(l+1)成立,直到等式不成立時得到最佳閾值的右邊界L=l+n,然后執行步驟4)。
3)單窗口增區間迭代閾值
當σB(t)>σB(t-1)時,停止迭代,得到最佳閾值的右邊界l=t,然后比較是否σB(l)=σB(l-1)成立,直到等式不成立時得到最佳閾值的左邊界L=l-n,然后執行步驟4)。
4)單窗口閾值確定



基于二項分布的單個窗口閾值模型的算法流程圖如圖2所示。
雙窗口最優閾值求解,通過上述二項分布函數的窗口OTSU閾值模型求取兩個窗口各自的最優閾值,通過窗口像素數量加權求和獲得雙窗口最優閾值。

1)使用canny算子求取彩色圖像的邊緣信息;
2)求取最大目標和最小目標的粒徑作為鄰域窗口的尺寸m和n。

圖2 算法流程圖Fig.2 Algorithm flow chart
(5)
本文中以窗體尺寸加權求取像素閾值,其權值由各自窗口內像素點個數占兩個窗口像素點個數總和的比例所決定。充分保留了兩個窗口的閾值信息,提高了二值效果,減少誤分類,增強邊界信息。最后,我們可以得到所有指標x和y的二進制圖fb(x,y):
(6)
其中1是對象像素的值,0是背景像素。
對于目標圖像的分類,算法所選取的窗口尺寸及輸入圖像尺寸的詳情見表1。雙窗OTSU和本文改進算法的處理時間及像素分類正確率兩個指標對比及兩種算法優化百分比的結果見表1。其中像素分類正確率是通過對礦石樣本圖像進行手工分割得到的準確二值圖像,然后得到算法生成的二值圖像的像素分類準確比。

表1 圖像閾值化的處理時間及準確率對比表
圖3中原圖從左到右是混合土石料、粒級混配石料、光照不勻石料和粒徑均勻石料圖像。分別使用雙窗OTSU和本文模型分類出上述圖像中的石料與背景,結果見圖3(b、c、d)。

圖3 二值化結果對比圖Fig.3 Comparison diagram of binarization results
3.2.1 時間分析
表1為原雙窗OTSU閾值求解算法和本文改進的算法時間對比。通過表中雙窗OTSU方法與本文方法的試驗結果比較,可以看出本文算法大大提升了時間效率。由表中時間優化百分比的數據得到算法的時間性能提升了50%~80%。如圖3所示,其中對于土石混合石料的二值化時間效率提升最高,為75.7%,因為其目標與背景十分相似,像素值分布范圍小,所以本文算法迭代次數最少;對于大小均勻石料的二值時間效率提升最小,為48.6%,因為其為光照不均勻圖像,且目標之間像素差異較大,導致圖像像素值分布范圍較廣,迭代的次數多。
3.2.2 分類精度分析
觀察圖3(b)和圖3(d)為使用不同的雙窗閾值的確定方法得到的最終結果,原來的二值方法選取雙窗各自最佳閾值中的最小值作為像素二值的閾值,它增加了背景像素,但是在較大石塊表面有大量的孔洞噪聲。特別在目標大小不一的圖像中,原方法等同于損失了一個窗口的閾值信息,導致部分像素誤分類。基于多次試驗取平均值能有效地減小試驗誤差,本文提出雙窗各自閾值以一定比例相結合共同決定像素最終的二值化,充分保留了兩個窗口的閾值信息,提高了二值效果,降低了誤分類的概率。從圖3(d)中可以發現本文方法得到的二值結果圖中礦石內部噪聲遠小于原雙窗OTSU方法得到的結果圖中的噪聲,從表1中的前景像素比中可以看出,本文方法得到的二值結果更精確,由表中數據分析得到對于圖3(a)中土石混合石料的目標與背景相似度高,難以分類的圖像,分類的精度提升最高,為13.78%;對于圖3(a)中混合粒徑石料圖像,分類的精度提升次之;對于圖3(a)中大小均勻且目標較大的石料圖像,其目標易于分割,原方法已有較好的分類精度,所以分類精度提升最小,為5.83%。說明本文方法對于復雜難以分類的圖像相比于雙窗OTSU有更好的分類效果。
針對光照不均的低對比度、噪聲嚴重的低信噪比礦石圖像,具有分類精度不理想、時間效率過高、窗口尺寸選取需要人工干預等缺點。本文在證明鄰域窗口中的像素灰度值滿足二項分布的基礎上提出了基于二項分布的雙窗口OTSU圖像分類模型。通過二項分布方差的規律優化像素最佳閾值的求取過程,大大減少了迭代的次數,使得算法提升了50%~80%的時間性能;通過canny算子提取目標邊緣和統計其中最大目標和最小目標作為雙窗口尺寸,大大提高了算法的智能性;通過雙窗各自閾值以一定比例相結合共同決定像素最終的二值化,充分地保留了兩個窗口的閾值信息,降低了誤分類的概率,提高6%~13%的分類精準度。試驗結果表明,本文所提算法更具備智能性,抗干擾性更強,二值分割效果更好,時間效率更高,具有較強的實用價值。