王 浩,孫福明,賈 旭
(遼寧工業大學電子與信息工程學院,遼寧錦州121001)
近年來,隨著技術的進步與發展,自動化生產裝備不斷問世。葵花籽作為一種重要的油料來源和休閑食品,其脫殼機得到了廣泛的應用。脫殼機的分離系統由風機、導流裝置、分離篩、振動電機等組成[1],為提高葵花籽脫殼品質,在脫殼機工作時,經常須要手工不斷調整分離系統的相關參數。例如,當葵花仁內含皮量較多時,須要及時調整風機的進風量;當精仁中含未脫開的籽粒超標時,須要及時調整振動電機和篩面的角度,以提高精選效果[2]。如果用戶經驗不足,則容易導致脫殼率偏低。為此,本研究采用計算機視覺技術,針對葵花籽脫殼時獲取的工作面圖像,利用圖像分割算法實現葵花籽脫殼率的在線實時估計,從而使脫殼機自動調整相關參數。
圖像分割是把圖像分成若干個特定的、具有獨特性質的區域并提出感興趣目標的技術和過程。現有的圖像分割方法主要有基于閾值的方法、基于區域的方法、基于邊緣的方法以及其他方法。針對不同任務,須要選擇合適的圖像分割算法[3]及彩色空間[4-5]。常用的彩色空間有紅、綠、藍(red,green,blue,簡稱 RGB),青、品紅、黃(cyan,magenta,yellow,簡稱 CMY),色調、飽和度、明度(hue,saturation,value,簡稱HSV)及色調、飽和度、亮度(hue,saturation,intensity,簡稱HSI)等。周麗萍等利用改進的最大類間方差(Otsu)算法在HSV空間實現了規模化生豬養殖場中非接觸式體溫檢測[6]。蘭紅等利用改進的Otsu算法在HSV空間實現了免疫組化圖像分割[7]。李正明等利用改進的Otsu算法對HSV彩色空間的色調(hue,簡稱H)分量進行分割,克服了目標茄子表皮反光對分割結果的影響[8]。戴丹利用改進的分水嶺算法對粘連顆粒圖像進行分割[9]。繆慧司等結合距離變換與邊緣梯度的分水嶺算法對血細胞圖像進行分割[10]。
在脫殼過程中,葵花籽與葵花仁的比例呈動態變化趨勢,且二者相互堆疊在一起。這種相互堆疊,可導致圖像分割時,葵花籽和葵花仁的邊緣難以被有效分割,且堆疊處可產生大量孔洞。如果葵花仁較多,這些孔洞易導致對脫殼率的嚴重錯誤估計。當對工作面進行拍照時,如果光照度較強,黑色的葵花籽反光強烈呈白化現象,往往導致葵花仁與葵花籽在色調上十分相似。為消除孔洞、光照及重疊等因素的影響,本研究采取如下措施:(1)針對由于孔洞過多導致的葵花籽與葵花仁面積難以準確統計的問題,通過色調空間結合亮度空間來區分孔洞;(2)針對葵花籽的強反光問題,通過對亮度空間進行2次Otsu算法計算并采用H-mininma技術提取葵花仁標記;(3)針對圖像中目標由于重疊而難以分割的問題,采用分水嶺算法依據標記修正后的形態學梯度圖進行精確分割[11]。最后,通過統計圖像分割后的葵花籽與葵花仁所占比例,估計獲得葵花籽的脫殼率,進而引導對脫殼機器進行參數調整操作,提高脫殼機的工作效率。
HSV顏色空間的參數分別是色調(H)、飽和度(saturation,簡稱S)、明度(value,簡稱V)。色調表示色彩信息,即所處的光譜顏色的位置,該參數用一角度量來表示,紅、綠、藍分別相隔120度,互補色分別相差180度。飽和度為一比例值,范圍從0到1,表示所選顏色的飽和度和該顏色最大飽和度之間的比例,當S=0時,只有灰度。明度表示色彩的明亮程度,范圍從0到1,須要注意的是,它和光照度之間沒有直接聯系。
RGB彩色空間與HSV彩色空間的轉換公式為

式中:R、G、B的取值范圍為0~255。為便于計算機進行數據處理,H取值設為0~180,S和V取值設為0~255。
分水嶺算法是一種基于區域的圖像分割算法。基本思想是把圖像視為測地學的拓撲地貌,圖像中每一點像素的灰度值視為該點的海拔高度,每個局部極小值及其影響區域視為集水盆地,其邊界可形成分水嶺[12]。可以參照浸水法進行理解,在每個局部極小值表面刺穿一個小孔,然后把整個模型浸入水中,隨著浸水程度的加深,每個局部極小值的影響區域會慢慢向外延伸,在集水盆交匯處形成分水嶺[13]。由于輸入圖像存在過多的極小值區域,所以基于梯度圖像的直接分水嶺算法存在過分割現象,通常采用2種方法處理:(1)依據某種準則,對過分割后的圖像進行區域合并;(2)基于標記的分水嶺算法,其原理是通過先驗知識對圖像中部分像素作標記,表示其為已知區域,分水嶺算法依據這些初始區域確定其他像素的所屬區域。
最大類間方差法是一種全局的自動非參數無監督的閾值確定方法,又叫大津法,簡稱Otsu算法[14]。它按照圖像的灰度特性,將圖像分成背景和目標,且背景和目標之間的類間方差越大,表示2個部分的差別越大。部分目標錯分為背景或部分背景錯分為目標都會導致二者之間的類間方差變小。設圖像的灰度級為L,則灰度級為i的像素概率密度pi為


式中:w0表示背景的像素概率密度;μ0表示背景的像素均值;w1表示前景的像素概率密度;μ1表示前景的像素均值。
當σ2達到最大值時,取得最佳閾值點(H),公式為

但在實際應用中,由于環境干擾因素的影響,灰度直方圖的波峰與波谷差異不明顯。此時,使用Otsu算法得到的閾值難以滿足要求。在原有基礎上,劉建莊等加入像素與鄰域的空間關系,提出灰度圖像的二維Otsu算法,該方法同時考慮像素點的灰度值分布及其鄰域像素點的平均灰度值分布,最佳閾值為在二維類間方差下取最大值得到的二維矢量,可大大提高算法的抗噪能力[15]。經典二維Otsu算法由于計算過于復雜而不適合在線系統。為提高計算速度,本研究采取迭代的方式得到查詢表來消除冗余計算[16],從而適用于在線估計。
本研究算法流程如圖1所示,主要包括預濾波、彩色空間轉換、目標標記圖像、圖像分割、后濾波及脫殼率估計。
本算法具體步驟為(1)將輸入圖像經中值濾波預處理,去除圖像采集時的噪聲干擾;(2)將圖像由RGB彩色空間轉換為HSV彩色空間;(3)使用二維Otsu算法對S分量進行二值化;(4)將V分量和S分量相結合獲得孔洞標記圖;(5)通過形態學重建技術去除V分量中的無用信息,對圖像進行簡化處理,通過對去噪后的V分量進行多次二維Otsu運算處理,提取出前景標記圖與背景標記圖,即葵花仁標記圖與葵花籽標記圖;(6)對去噪后的V分量進行形態學梯度運算得到物體的邊緣輪廓特征,由于提取的物體邊緣特征圖較為復雜,直接使用會因為局部極小值過多而導致圖像出現嚴重過分割現象,應通過形態學極小值標定技術依據標記圖像去除形態學梯度圖中過多的局部極小值,再對處理后的形態學梯度圖進行分水嶺算法分割,并在分割后的梯度圖中標記出孔洞,進而更為準確地計算出脫殼率。

2.1.1 預濾波處理 圖像在形成和傳輸過程中,會因受到外界各種離散和隨機的噪聲干擾而導致其質量退化。為減小噪聲的影響,須采用濾波方法對輸入圖像進行預處理。由于中值濾波能較好地保護目標的邊緣特征,因而本研究采用中值濾波器對輸入圖像進行去噪。樣本圖片分辨率為250×250 pixel,所以本研究中值濾波采用3×3 pixel的窗口對圖像進行濾波處理。
2.1.2 顏色空間轉換 葵花籽脫殼率的估計須要在圖像中分割出葵花籽與葵花仁區域,但葵花籽與葵花仁互相堆疊造成大量孔洞,且目標邊緣不清晰,特別是當圖像中葵花仁占比較大時,簡單應用二維Otsu算法對原始圖像進行二值化分割,效果并不理想。圖像分割的目標包括孔洞、葵花籽、葵花仁,使用分水嶺算法[17]可以分割多目標和互相重疊的目標。由于彩色圖像轉換為灰度圖像會丟失許多信息,單純通過灰度圖像無法分割出過暗的孔洞,因此須要利用灰度圖像結合HSV顏色空間中的S分量信息進行相關目標判斷。在HSV空間,V分量中孔洞的灰度值低于40且S分量的中數值接近255。為加強泛化能力,使用Otsu算法對S分量進行二值化處理,并把V分量中數值低于40且S分量二值化為255的像素點作為空洞的標記,如圖2所示。

通過中值濾波與顏色空間轉換可以得到原始圖像的灰度圖像,即使排除孔洞以及光照不均、葵花籽姿態各異、葵花籽易反光等因素,仍可使部分葵花籽的部分區域V分量較大,且與葵花仁的V分量部分重合,如果直接使用二維Otsu算法對灰度圖像進行二值化分離,前景與背景會出現較大誤差。本研究對V分量采用形態學開閉重建運算,既可以去除噪聲信息、簡化圖像,也可以保留物體的主要輪廓。
2.1.3 形態學重建處理 形態學重建主要涉及3個部分,分別是結構元素、1幅表示標記的圖像和1幅表示掩膜的圖像。標記的圖像代表變換的起始,掩膜的圖像用于約束變換過程,結構元素用于定義其中的連接性。測地膨脹與測地腐蝕是形態學重建運算的基本運算。測地膨脹是指根據某種運算規則使用結構元素對已標記的圖像進行重復膨脹,目的是使多次測地膨脹迭代后的結果保留標記圖像中大于等于掩膜圖像的區域信息。測地腐蝕是指根據某種運算規則使用結構元素對已標記的圖像進行重復腐蝕,目的是使多次測地腐蝕迭代后的結果保留標記圖像中小于等于掩膜圖像的區域信息。
設圖像為F(x,y),其掩膜圖像為m(x,y),則其測地膨脹定義為

式中:s為迭代次數,s=1,2,…;B表示結構元素;⊕表示形態學膨脹;DB表示形態學膨脹的結果。
測地腐蝕的定義為

式中:EB表示形態學腐蝕結果;Θ表示形態學膨脹。公式(5)、公式(6)為迭代運算,迭代停止的條件為迭代次數達到
依據公式(5)、公式(6)2個基本公式定義形態學開重建運算和閉重建運算定義如下:

式中:。和·分別表示形態學的開運算與閉運算。通常將原圖像作為掩膜圖像,腐蝕后圖像作為標記圖像,用形態學開運算作重構操作。相對應閉運算的重建為獲得形態學膨脹后的圖

式中:B表示的結構元素的尺寸直接影響重建后的結果,由于本研究的圖像為葵花籽與葵花仁,其形狀接近橢圓形,所以結構元素選用圓盤形狀,該形狀具有各向同性的特點。考慮圖片分辨率以及噪聲的尺寸,選取半徑為5 pixel的圓形結構元素。雖然經過重建后的V分量得到簡化,但如果直接對其進行二維Otsu算法二值化,依然不能區分葵花仁與葵花籽。對圖2-b的V分量進行形態學開閉重建運算的效果如圖3-a所示,對重建后的V分量進行二維Otsu算法二值化的效果如圖3-b所示。從圖3-b中可以看出,多出葵花籽的部分被判斷為前景目標。像,并對其求補后作為標記圖像,掩膜圖像則是開運算重建后求補的圖像,用閉運算進行重構操作。通過形態學開閉重構運算可以去除比結構元素小的區域,同時把沒有被濾除的部分恢復出來,且不會產生新邊界偏移現象。
形態學開閉重建運算的定義為

2.2.1 標記提取 為精確區分互相堆疊的葵花仁與葵花籽目標,利用V分量提取目標邊緣特征圖并采用基于標記的分水嶺算法對其進行精準分割,該方法可以避免傳統分水嶺算法嚴重過分割的問題。為得到精準的葵花仁標記圖,可以對使用Otsu算法二值化后的圖像中的前景部分再次使用Otsu算法,以進一步減少前景中的葵花籽數量,采用公式(4)計算閾值,2次Otsu算法的計算公式為

式中:fgm函數為根據H閾值提取輸入圖像的前景圖像;f1(x,y)與f2(x,y)分別為2次提取得到的前景目標圖像。處理效果如圖4-a所示,可以看出,前景目標中葵花籽的數量有所減少,但還是有1處葵花籽目標,此時可以結合后驗知識,對去噪后的V分量使用Otsu算法取得其前景部分,然后使用形態學的擴展極小值變換技術(H-mininma),通過設定閾值去除深度小于閾值的區域,其變換公式為

式中:T為根據經驗給出的閾值;Psign為二值化得到的圖像。效果如圖4-b所示。
為使后續分水嶺算法的分割結果更加精準,前景目標標記圖與背景目標標記圖間距應較遠。對于選為背景的葵花籽標記圖,利用之前得到的葵花仁標記圖(圖4-b)進行取反操作,把背景轉換為前景,再通過Zhang快速并行細化算法得到目標骨架,該算法的優點是快速實用,并且可保證細化后曲線的連通性,轉換公式為

式中:所得結果bgm(x,y)為細化后的背景標記圖,如圖5-a所示,總標記圖為前景標記與背景標記的融合圖,融合公式為

式中:total為總標記圖,如圖5-b所示。

2.2.2 形態學梯度計算與分水嶺分割 分水嶺分割算法中所說的分水嶺即為圖像中感興趣區域的基本輪廓,也就是圖像像素強度出現突變的位置,對圖像的梯度圖像進行分割的效果好于直接對原始圖像進行分割的效果,因為梯度圖像能更好地反映圖像中的突變趨勢。目前在主流求取梯度圖像的算法中,非線性的形態學梯度具有較好的效果,可在加強圖像對比度的同時,保持原圖中比較平滑的區域。對于“2.1.3”節取得的圖像進行形態學梯度運算的公式為

式中:b表示結構元素,效果如圖6-a所示。直接對形態學梯度圖應用分水嶺算法進行分割將會導致過分割現象,應用形態學極小值標定技術進行處理,修正Grad中過多的局部極小值,使修正后的梯度圖像中保留下來的極小值與總標記圖total中的區域相對應,修正梯度圖的運算公式為

式中:Min(Grad,total)表示形態學極小值標定函數,效果如圖6-b所示。

對Gmodify進行分水嶺算法分割,獲得分割后的圖像Gws,計算公式為

式中:WaterShed()代表分水嶺變換操作函數,分割效果如圖7-a所示,通過結合total與Gws,對分割后的前景與背景進行合并操作,再結合“2.1.1”節獲得的孔洞標記圖獲取最終的簡化圖像,簡化圖像只包括葵花仁、葵花籽、孔洞3個部分,具體計算公式為

效果如圖7-b所示。

計算脫殼率的目的是為了了解當前機器中葵花籽的脫殼狀況,即葵花仁占比多少。對圖像Gend求取直方圖,采用函數imhist()表示求取直方圖的操作,hod(i)表示第i個灰度級的統計個數,i∈[0,255],其中灰度值為0表示孔洞像素和物體邊緣像素,灰度值為50表示葵花籽像素,灰度值為200表示葵花仁像素,其關系如下:

脫殼率的計算公式如下:

本研究通過對不同葵花籽與葵花仁比例的彩色圖像進行試驗來證明所提出算法的有效性,分為3種情況進行對比試驗:(1)葵花籽占比大的情況;(2)葵花仁與葵花籽占比相當的情況;(3)葵花仁占比大的情況。
使用二維Otsu算法直接對圖像進行自動閾值分割時,若圖像中葵花籽較多,則孔洞被分割為葵花籽,且部分反光強烈的葵花籽會被誤判為葵花仁,而本方法不以單個像素點作為分割判斷的全部依據,可提高分割的準確度。當葵花籽占比較大時,使用本方法的分割結果如圖8所示。

本研究輸入圖像的分辨率均為500×500 pixel,依據葵花籽以及噪聲的具體情況,選取圓盤結構元的半徑R=5對圖像進行形態學重構,并采用同樣大小的結構元提取圖像的形態學梯度,依據圖8-a所得的標記圖對形態學梯度圖進行修正并利用分水嶺算法進行分割,利用公式(17)對分割后的圖像進行合并,得到圖8-d;通過公式(18)、公式(19)可得,當前時刻脫殼率為23.1%,直接使用二維Otsu算法獲得的脫殼率為 30.4%。
使用二維Otsu算法直接對圖像進行自動閾值分割,無法消除孔洞干擾,而使用本方法可適當解決這個問題,結果如圖9所示。計算所得脫殼率為57.0%,直接使用二維Otsu算法獲得的脫殼率為53.6%。

使用二維Otsu算法直接對圖像進行自動閾值分割,無法消除孔洞干擾,且當圖像中葵花仁占比較大時,誤差較大,會把部分顏色較暗的葵花仁分割為葵花籽,而使用本方法可部分解決這個問題。使用本方法的分割結果如圖10所示。計算所得脫殼率為86.8%,直接使用二維Otsu算法獲得的脫殼率為67.6%。

理論上,圖像灰度直方圖呈現雙峰圖時,二維Otsu算法的最佳閾值為雙峰谷底的最低點。當葵花仁與葵花籽數量相當時,其圖像的灰度直方圖呈現雙峰,此時通過二維Otsu算法取得的脫殼率接近正確值,而當工作面中葵花仁占比較大時,其圖像的灰度直方圖不呈現雙峰特點,即沒有雙峰的谷底存在,此時使用二維Otsu算法獲得的最佳閾值為錯誤的閾值,且二維Otsu算法只把圖像分割為前景與背景2類,無法區分孔洞部分,因而,二維Otsu算法無法給出準確的分類結果。
基于標記的分水嶺算法在正確選取各個目標標記點的同時可準確針對多個目標進行分類,且對于目標互相堆疊的情況有較好的適應效果。而二維Otsu算法只針對圖像的灰度圖進行分割,由于葵花籽反光現象的存在,單純通過灰度級閾值對圖像進行分割無法準確分割出目標。本研究結合HSV顏色空間、Otsu算法與基于標記的分水嶺算法對葵花籽脫殼機工作面的多種情況進行試驗,以確定本算法是有效的。
在上述3種情況下,二維Otsu算法與本方法所得的脫殼率對比結果如表1所示。為提高比較的準確性,對2種算法均進行中值濾波預處理。

表1 脫殼率測試結果
由表1可以看出,二維Otsu算法在葵花仁與葵花籽比例相當時,由于其灰度直方圖出現明顯的波峰與波谷,此時取得的脫殼率誤差小于其他2種情況,但誤差仍然較大,本方法在3種情況中均可將誤差控制在1.4百分點以內,可以滿足實際需求,該結果可驗證上述理論分析的正確性。
為減少脫殼機人工干預頻率,提高其脫殼效率,本研究提出一種基于圖像分割的葵花籽脫殼率估計方法,該方法具有在線非接觸式估計的特點。本研究的創新性在于利用計算機視覺技術,針對脫殼工作面圖像,通過圖像分割統計葵花籽與葵花仁所占的比例,估計脫殼率。葵花籽與葵花仁的相互堆疊、光照影響以及孔洞大量存在,導致難以準確地進行圖像分割。本方法在HSV彩色空間上,將葵花籽、葵花仁標記圖構建成1個目標總標記圖,然后引導分水嶺算法對工作面圖像進行圖像分割,提高了葵花籽和葵花仁邊緣的分割精度,減少了錯分的誤差率,提高了脫殼率估計精度。結果表明,對于多目標、目標相互堆疊且邊緣不清晰的圖像,本研究所提出的基于標記圖引導的分水嶺算法相比二維Otsu算法自動閾值分割算法具有更優異的性能。