夏垚,胡步發(fā),張善福
(福州大學(xué) 機(jī)械工程及自動(dòng)化學(xué)院,福建 福州 305116)
目前,臍橙大多是按照外形大小進(jìn)行簡(jiǎn)單分級(jí),容易造成損傷,導(dǎo)致質(zhì)量變差。隨著機(jī)器視覺(jué)技術(shù)的發(fā)展,專(zhuān)家學(xué)者們對(duì)臍橙品質(zhì)自動(dòng)檢測(cè)分級(jí)進(jìn)行了大量研究,如:ALEIXOS N等[1]研發(fā)出了臍橙、柑橘的分級(jí)方法,通過(guò)采集可見(jiàn)光與近紅外圖像,進(jìn)行品質(zhì)分析。實(shí)驗(yàn)發(fā)現(xiàn):表面缺陷判斷的準(zhǔn)確率為93%,顏色判斷的準(zhǔn)確率超過(guò)94%。程春燕[2]提出了基于深度學(xué)習(xí)的方法對(duì)臍橙品質(zhì)實(shí)現(xiàn)檢測(cè)和分類(lèi),該方法的精度比支持向量機(jī)提升了4%。黃金霖等[3]使用最小外接矩形算法完成對(duì)臍橙尺寸的檢測(cè),實(shí)驗(yàn)表明,在對(duì)120多個(gè)實(shí)驗(yàn)樣本的檢測(cè)中,總體誤差率<2%。李江波等[4]提出波段比算法和特征波段主成分分析法,使臍橙潰瘍的正確識(shí)別率提高到95.4%。CHEN Y W等[5]提出了一種臍橙自動(dòng)分級(jí)方法,提取臍橙的果實(shí)大小、表面顏色、表面缺陷和果型4個(gè)主要特征,利用BP神經(jīng)網(wǎng)絡(luò)對(duì)特征進(jìn)行訓(xùn)練,分級(jí)準(zhǔn)確率為94.4%。
上述研究取得了一定的成果,但還存在以下問(wèn)題需要改進(jìn):1)相機(jī)不能采集臍橙的全部表面,會(huì)出現(xiàn)漏檢的情況;2)沒(méi)有考慮球形水果在光照反射時(shí)會(huì)造成果面亮度不均勻;3)根據(jù)單一閾值和顏色特征來(lái)識(shí)別果面缺陷,無(wú)法適應(yīng)果面光照不均勻帶來(lái)的影響,且檢測(cè)速度無(wú)法滿足嵌入式設(shè)備需求。針對(duì)上述問(wèn)題,本文基于樹(shù)莓派平臺(tái),設(shè)計(jì)了低成本的臍橙自動(dòng)分級(jí)方法。在3個(gè)工位中分別采集臍橙3個(gè)不同表面的圖像,避免臍橙的背面被漏檢,并在考慮球體表面反光的情況下提取臍橙果徑、著色度特征,提出基于積分圖的快速局部自適應(yīng)閾值分割法,得到果面缺陷特征,最后建立決策樹(shù)模型——C4.5,完成臍橙品質(zhì)的實(shí)時(shí)分級(jí)。
采用贛南地區(qū)出產(chǎn)的紐荷爾臍橙,根據(jù)臍橙果徑、著色度、表面缺陷將臍橙劃分為特級(jí)果、一級(jí)果、二級(jí)果和等外果,其中隨機(jī)選取每個(gè)等級(jí)的臍橙各100個(gè),50個(gè)作為訓(xùn)練樣本,50個(gè)作為測(cè)試樣本。
本文的試驗(yàn)系統(tǒng)如圖1所示。硬件部分包括滾子輸送鏈、撥果裝置、果箱、遮光箱、Raspberry Camera V2樹(shù)莓派原裝攝像頭、環(huán)形漫反射白色光源、樹(shù)莓派(Raspberry Pi)3B+。相機(jī)垂直懸掛于遮光箱頂部,臍橙放置在兩滾子的中間位置,隨著滾子的滾動(dòng)以角速度W2做翻滾運(yùn)動(dòng),鏈輪轉(zhuǎn)動(dòng)使輸送滾子隨鏈條在導(dǎo)軌上以速度V做水平運(yùn)動(dòng),帶動(dòng)臍橙沿著導(dǎo)軌向前輸送。軟件開(kāi)發(fā)平臺(tái)為PyCharm2019,部分代碼源于OpenCV庫(kù)。
1—撥果裝置;2—臍橙;3—相機(jī);4—環(huán)形光源;5—樹(shù)莓派;6—顯示屏;7—遮光箱;8—滾子輸送鏈;9—卸果口。圖1 圖像采集與分級(jí)系統(tǒng)
為了避免外界光照影響,本試驗(yàn)的圖像采集環(huán)節(jié)在遮光箱內(nèi)完成。工位一處設(shè)有一對(duì)光電感應(yīng)模組,當(dāng)有臍橙經(jīng)過(guò)時(shí)觸發(fā)相機(jī)采集圖像,相機(jī)視野設(shè)置為3個(gè)工位,一次可拍攝3個(gè)臍橙,如圖2所示。臍橙每經(jīng)過(guò)1個(gè)工位會(huì)旋轉(zhuǎn)一定的角度,連續(xù)采集3次圖像后,同一臍橙的不同表面會(huì)在3個(gè)工位上各被拍攝1次。后續(xù)的圖像分析環(huán)節(jié),選擇臍橙在這3個(gè)工位上的3幅圖像進(jìn)行綜合分析。
圖2 圖像采集結(jié)果
如圖1所示,撥果裝置與滾子相互間隔地安裝在輸送鏈上,撥桿恰好位于兩滾子間隙的凹陷處。撥桿處設(shè)有光電感應(yīng)模組,有臍橙經(jīng)過(guò)時(shí)會(huì)對(duì)該撥果裝置發(fā)送激活信號(hào)。分級(jí)模塊完成分級(jí)后,樹(shù)莓派對(duì)相應(yīng)等級(jí)的撥果裝置發(fā)送分級(jí)信號(hào),撥果裝置同時(shí)收到激活信號(hào)與分級(jí)信號(hào)后,觸發(fā)撥果片完成撥果動(dòng)作,臍橙被送入對(duì)應(yīng)等級(jí)的卸果口內(nèi)完成分級(jí)。
為了方便后續(xù)環(huán)節(jié)的特征提取,必須分割出完整的臍橙前景圖像。本研究在滾子輸送鏈上采集臍橙圖像,圖像背景包含滾子、齒輪等,采用RGB顏色模型的灰度圖分割前景圖像,會(huì)把部分背景中的齒輪圖像包含進(jìn)來(lái),如圖3(b)所示。Otsu自適應(yīng)閾值分割法不受圖像亮度變化的影響,使用Otsu法對(duì)V分量圖像進(jìn)行分割的結(jié)果如圖3(c)所示,得到了完整的臍橙前景圖像,但沒(méi)有分割出缺陷區(qū)域。本文使用輪廓填充法,填充缺陷區(qū)域,如圖3(d)所示。
圖3 圖像分割結(jié)果
臍橙是類(lèi)球形水果,即使在光照均勻的情況下臍橙表面也會(huì)出現(xiàn)亮度不均勻的情況,如圖4(a),果面反光的高亮區(qū)域會(huì)影響后續(xù)特征提取。因此有必要對(duì)果面反光區(qū)域進(jìn)行亮度矯正。本文采用HSV顏色模型矯正。選擇閾值180對(duì)S分量進(jìn)行閾值分割,二值化后的結(jié)果見(jiàn)圖4(b)。經(jīng)過(guò)試驗(yàn)可知,S分量值補(bǔ)償閾值30效果最佳,再轉(zhuǎn)換為RGB顏色空間,得到圖4(c),可見(jiàn)矯正后的反光區(qū)域恢復(fù)正常。
圖4 反光區(qū)域的亮度矯正
Canny[6]算子具有良好的魯棒性,本文采用Canny算子提取二值化后的臍橙邊緣。臍橙的邊緣形狀呈橢圓形,用最小二乘法對(duì)提取到的臍橙輪廓進(jìn)行橢圓擬合[7],橢圓擬合結(jié)果如圖5所示。
圖5 橢圓擬合結(jié)果
本實(shí)驗(yàn)中像素坐標(biāo)與世界坐標(biāo)的比例關(guān)系:k=0.51mm/pixel,以橢圓短軸b與k的積L作為臍橙的真實(shí)橫徑,見(jiàn)式(1)。臍橙在3個(gè)工位中計(jì)算到的真實(shí)橫徑分別為L(zhǎng)1、L2、L3。選取其中的最大值Lmax,作為臍橙的大小特征。
L=k×b
(1)
臍橙在生長(zhǎng)、采摘、清洗和運(yùn)輸?shù)拳h(huán)節(jié)都有可能造成缺陷。果面缺陷會(huì)對(duì)品質(zhì)產(chǎn)生較大影響,常見(jiàn)的臍橙果面缺陷有蟲(chóng)斑、腐爛、裂果和潰瘍等,通常缺陷區(qū)域比正常區(qū)域的顏色更深。本文采用閾值分割法來(lái)提取果面的缺陷區(qū)域。臍橙表面為類(lèi)球體分布,經(jīng)過(guò)亮度矯正后,雖然果面光照更均勻,但很難使用單閾值分割法提取表面的全部缺陷,見(jiàn)圖6(b)。因此本文提出基于積分圖的局部自適應(yīng)閾值分割方法對(duì)臍橙的表面缺陷進(jìn)行分割,結(jié)果見(jiàn)圖6(c)??梢?jiàn)基于積分圖的局部自適應(yīng)閾值分割法,可以有效提取出果面的缺陷部分。
圖6 缺陷分割結(jié)果
積分圖是在一幅圖像中快速計(jì)算其任意矩形區(qū)域內(nèi)像素值和的一種方法,計(jì)算消耗的時(shí)間均為常量,與窗口的大小無(wú)關(guān),可以滿足工業(yè)檢測(cè)對(duì)處理速度上的需求。令I(lǐng)(i,j)是圖像f(i,j)的積分圖,則I(i,j)中任意一點(diǎn)(x,y)的值見(jiàn)式(2)。其中f(i,j)為點(diǎn)(i,j)的灰度值。任意矩形的灰度值均值Mi的計(jì)算公式見(jiàn)式(3)、式(4)。(x1,y1)和(x2,y2)分別為該矩形的左上角和右下角坐標(biāo),Ii為該矩形的灰度值總和。
(2)
Ii=I(x2,y2)+I(x1,y1)-I(x1,y2)-I(x2,y1)
(3)
(4)
算法的實(shí)現(xiàn)步驟如下:
1)按照臍橙的最小外接矩形對(duì)單個(gè)臍橙的R分量圖像進(jìn)行裁剪,并用線性插值法,把圖像統(tǒng)一裁剪成180×180 pixels,求出該目標(biāo)圖像的積分圖I(x,y)。
2)確定滑動(dòng)窗口為30×30 pixels,以步長(zhǎng)為0.25在目標(biāo)圖像上進(jìn)行滑動(dòng)。把滑動(dòng)窗口均分成4個(gè)子窗口,分別用積分圖計(jì)算子窗口的灰度值均值M1、M2、M3、M4,求M1與M2、M3、M4差的絕對(duì)值ΔD2、ΔD3、ΔD4,求均值得到ΔD,計(jì)算公式如下:
ΔDi=|Mi-M1|
(5)
(6)
3)判斷ΔD是否超過(guò)預(yù)設(shè)值T,超過(guò)T則以滑動(dòng)窗口的灰度值均值M作為分割閾值對(duì)滑動(dòng)窗口所在區(qū)域進(jìn)行二值化操作,二值化結(jié)果中缺陷區(qū)域灰度值為0。若ΔD>T則把窗口內(nèi)的灰度值置為1。本文通過(guò)實(shí)驗(yàn)可知T設(shè)為20時(shí)可以較好地將缺陷區(qū)域完整提取。
4)重復(fù)步驟2)和步驟3),直至遍歷完整幅圖像。將各子圖像進(jìn)行合并,得到完整的缺陷圖像,結(jié)果如圖7(a)、圖7(b)所示。
圖7 缺陷檢測(cè)效果圖
對(duì)缺陷圖像中灰度值為0的像素點(diǎn)求和得到缺陷區(qū)域像素點(diǎn)總數(shù)A。缺陷率的計(jì)算公式為:
(7)
(8)
臍橙成熟后,表面多為橙黃色和橙紅色,臍橙著色面積是指果面橙紅、橙黃區(qū)域的面積,在H分量中取30作為閾值可以有效地區(qū)分橙色區(qū)域與綠色區(qū)域。臍橙著色度C的計(jì)算公式為:
(9)
(10)
(11)
決策樹(shù)[8]是一種非參數(shù)的有監(jiān)督學(xué)習(xí)算法,決策樹(shù)的根節(jié)點(diǎn)包括全部訓(xùn)練自助樣本,每個(gè)節(jié)點(diǎn)選擇分支變量的原則是從一組隨機(jī)選取的變量中選擇使分枝后節(jié)點(diǎn)的“不純度”最小的變量作為分枝變量?!安患兌取钡暮饬繕?biāo)準(zhǔn)包括Gini系數(shù)和信息熵,Gini系數(shù)和信息熵的值越大,不純度就越高。決策樹(shù)中,節(jié)點(diǎn)t的Gini系數(shù)計(jì)算公式為
(12)
式中:t為給定的節(jié)點(diǎn);i為標(biāo)簽的任意分類(lèi);c為標(biāo)簽在該節(jié)點(diǎn)上總共的分類(lèi)個(gè)數(shù);p(i|t)為標(biāo)簽分類(lèi)i在節(jié)點(diǎn)t上所占的比例。
信息增益Gain是判斷分支變量對(duì)一個(gè)節(jié)點(diǎn)的可分程度,節(jié)點(diǎn)t的信息增益計(jì)算公式為
Gainjt=Ginit-Ginitl-Ginitr
(13)
式中:Gainjt為分支節(jié)點(diǎn)j對(duì)節(jié)點(diǎn)t的信息增益;Ginitl、Ginitr分別為節(jié)點(diǎn)t以分支節(jié)點(diǎn)j進(jìn)行分支后的左、右節(jié)點(diǎn)的“不純度”。決策樹(shù)選擇變量進(jìn)行分支時(shí),選擇使信息增益更大的分支變量。
在改進(jìn)的決策樹(shù)——C4.5中引入過(guò)分支度的概念來(lái)對(duì)信息增益的計(jì)算方法進(jìn)行修正,避免分類(lèi)水平過(guò)多,信息熵減小過(guò)快的特征影響模型,減少過(guò)擬合的情況。分支度的計(jì)算公式為
(14)
式中:i表示父節(jié)點(diǎn)的第i個(gè)分支節(jié)點(diǎn);vi表示第i個(gè)分支節(jié)點(diǎn)的樣本個(gè)數(shù);P(vi)表示第i個(gè)分支節(jié)點(diǎn)的樣例個(gè)數(shù)占父節(jié)點(diǎn)總樣本數(shù)的比例。在C4.5中,使用信息增益與分支度的比值作為對(duì)節(jié)點(diǎn)可分程度的評(píng)斷標(biāo)準(zhǔn),稱(chēng)為信息增益率,該值越大說(shuō)明可分程度越高,如下式:
(15)
本文的C4.5模型以臍橙的大小、著色度和缺陷率3個(gè)特征作為輸入向量,輸出4個(gè)分類(lèi)(特等果、一等果、二等果、等外果)。
本實(shí)驗(yàn)采用贛南地區(qū)出產(chǎn)的紐荷爾臍橙,根據(jù)臍橙國(guó)家分級(jí)標(biāo)準(zhǔn)[9],隨機(jī)選取特等果、一等果、二等果和等外果各100個(gè)進(jìn)行實(shí)驗(yàn),其中,各個(gè)等級(jí)隨機(jī)選取50個(gè)作為訓(xùn)練樣本,剩下的50個(gè)作為測(cè)試樣本。
訓(xùn)練分類(lèi)器之前,按照第3節(jié)中特征提取的方法,提取出臍橙的橫徑L、著色度C、缺陷率D,如表1所示。把這些特征參數(shù)送入C4.5模型進(jìn)行有監(jiān)督訓(xùn)練,訓(xùn)練結(jié)束后,保存模型參數(shù)。通過(guò)訓(xùn)練好的C4.5模型,對(duì)測(cè)試集中的樣本進(jìn)行測(cè)試,結(jié)果如表2所示。
表1 臍橙特征參數(shù)
表2 臍橙品質(zhì)分級(jí)結(jié)果
本文基于樹(shù)莓派平臺(tái),樹(shù)莓派的成本僅為工業(yè)計(jì)算機(jī)的1/10。1臺(tái)樹(shù)莓派可以處理1列輸送線上的臍橙。隨著輸送線列數(shù)增加,可以通過(guò)增加樹(shù)莓派設(shè)備的數(shù)量對(duì)整條輸送線進(jìn)行并行處理,此時(shí)樹(shù)莓派平臺(tái)在分級(jí)速度和成本方面均要優(yōu)于使用單臺(tái)的工業(yè)計(jì)算機(jī)。表3為在不同列數(shù)的輸送線情況中,樹(shù)莓派平臺(tái)與工業(yè)計(jì)算機(jī)平臺(tái)分級(jí)速度的對(duì)比。當(dāng)輸送線列數(shù)為5時(shí),有5臺(tái)樹(shù)莓派分別對(duì)每列輸送線上的臍橙進(jìn)行并行處理。此時(shí)該系統(tǒng)的分級(jí)速度明顯大于使用單個(gè)工業(yè)計(jì)算機(jī)的分級(jí)速度,成本也遠(yuǎn)遠(yuǎn)低于單個(gè)工業(yè)計(jì)算機(jī)。
表3 分級(jí)速度對(duì)比 單位:個(gè)/s
本文在V分量上結(jié)合輪廓填充的方法,有效地分割出滾子輸送線上臍橙的前景圖像。在S分量上實(shí)現(xiàn)了反光區(qū)域的亮度矯正。分別提取了臍橙的大小、著色度和缺陷率3個(gè)特征,構(gòu)建以這3個(gè)特征為輸入向量,臍橙分類(lèi)等級(jí)為輸出的決策樹(shù)分類(lèi)器。試驗(yàn)結(jié)果表明:在樹(shù)莓派平臺(tái)上該分類(lèi)器的分類(lèi)正確率達(dá)到95%,當(dāng)輸送線的列數(shù)為5時(shí),處理速度為15個(gè)/s,驗(yàn)證了系統(tǒng)的準(zhǔn)確性和實(shí)時(shí)性,可以滿足在線分級(jí)的應(yīng)用要求。