胡璐萍,劉懂懂,劉 通,王琪璇,陳榮榮
(1.西安交通工程學(xué)院機(jī)械與電氣工程學(xué)院,陜西 西安 710300;2.西安工程大學(xué)機(jī)電工程學(xué)院,陜西 西安 710048)
目前,農(nóng)村大多數(shù)中青年外出務(wù)工,留在農(nóng)村的可用勞動力越來越少,農(nóng)忙季節(jié),尤其是各種水果收摘季節(jié),用于水果分級、分類的可用勞動力明顯不足,導(dǎo)致水果生產(chǎn)成本上升,水果業(yè)發(fā)展受阻。因此,研發(fā)水果自動分級技術(shù),提升水果分級效率顯得尤為重要。伴隨著光電技術(shù)的發(fā)展,機(jī)器視覺技術(shù)快速興起[1,2],機(jī)器視覺技術(shù)已開始代替人工對物體進(jìn)行識別和分級[3,4]。在早期的研究中,人們使用黑白相機(jī)采集、獲取水果表面的幾何和紋理特征,進(jìn)而實現(xiàn)水果和背景的分割檢測。Slaught D.C等利用室外條件下水果顏色數(shù)字化圖像建立的識別柑橘分類模型,識別正確率達(dá)76%[5]。近年來,機(jī)器視覺技術(shù)快速發(fā)展,Khurram Hameed 等研究了基于計算機(jī)的果蔬分類方法,該方法雖然運(yùn)算速度快,識別準(zhǔn)確率高[6],但傳統(tǒng)的RGB圖像在識別水果圖像時魯棒性差、識別精度低,達(dá)不到理想的分級目的?;诖耍疚奶岢隽艘环N基于機(jī)器視覺對橘子進(jìn)行分級的關(guān)鍵技術(shù),從而形成一套機(jī)器視覺橘子分級系統(tǒng),為精準(zhǔn)分檢水果提供技術(shù)支持。
機(jī)器視覺橘子分級系統(tǒng)的整體方案可分為視覺檢測模塊和傳送裝置模塊兩大內(nèi)容[7],其中視覺檢測模塊所需的硬件主要有光源、相機(jī)、鏡頭、電機(jī)、傳送帶和圖像采集卡等;傳送裝置模塊主要是傳送帶的選取以及電動機(jī)的速度控制。操作系統(tǒng)為Windows 10,軟件環(huán)境為MATLAB 2020a,以此來建立圖像處理算法庫。
機(jī)器視覺橘子分級的流程見圖1。從圖1 可以看出,首先,采用高分辨率的攝像機(jī)來拍攝傳送帶上的橘子圖像,然后利用相應(yīng)的軟件算法對橘子的圖像特征進(jìn)行識別,把橘子目標(biāo)的分級數(shù)據(jù)和位置信息傳遞給數(shù)據(jù)庫,最后得到橘子的識別、分級數(shù)據(jù)?;跈C(jī)器視覺橘子分級流程構(gòu)建的橘子分級實驗平臺見圖2。該實驗平臺的圖像檢測速度為250 ms,傳送帶行進(jìn)速度不超過1.6 m/s。
圖1 機(jī)器視覺橘子分級流程圖Fig.1 The key technology of orange size fruit grading
圖2 橘子分級系統(tǒng)實驗平臺Fig.2 Experimental platform of orange grading system
通過相機(jī)拍攝到的原始橘子圖像見圖3(a),為了避免圖像對比度不足對后續(xù)處理帶來干擾,本文采用灰度化將原始彩色圖像的3 通道轉(zhuǎn)換成只有單一通道的灰度圖,使其像素的灰度值分布在[0,255][8,9]。分別采用最大值法、平均值法和加權(quán)平均值法3 種灰度化進(jìn)行處理,處理結(jié)果見圖3(b)、圖3(c)、圖3(d)。
圖3 灰度化處理效果圖Fig.3 Figure gray processing effect diagram
由圖3 可以看出,經(jīng)過算法處理后,3 種方法均有一定的處理效果,但加權(quán)平均值法處理效果較好,試驗和理論證明,當(dāng)W=0.3、V=0.59、U=0.11 時,能得到最合理的灰度圖像,可調(diào)節(jié)的能力強(qiáng),其原因是根據(jù)橘子圖像中特征信息的重要性,給圖像中R、G、B賦予不同的權(quán)值,并使R、G、B的值加權(quán)平均,R=G=B=WR+VG+UB,其中W、U和V分別表示權(quán)重。因此,本文采用加權(quán)平均值法灰度化原始圖像。
為了更好地分析圖像特征,需要將圖像中目標(biāo)區(qū)域和背景很好地分割開,對灰度化處理的橘子圖像進(jìn)行二值化處理[10],將圖像上的點(diǎn)的灰度設(shè)置為0 或255,即圖像呈現(xiàn)出明顯的黑白效果。為了得到理想的二值圖像,一般采用封閉、連通的邊界定義不交疊的區(qū)域,所有灰度大于或等于閾值的像素被判定為屬于特定物體,其灰度值為255。橘子二值化處理后的圖像見圖4。
圖4 二值化處理后的圖像圖Fig.4 Image after binarization
橘子圖像在經(jīng)過灰度化和二值化圖像預(yù)處理之后,仍然存在一些噪聲沒有得到有效處理,此時需要進(jìn)行圖像的形態(tài)學(xué)處理,有效地濾除噪聲。常見的圖像形態(tài)學(xué)運(yùn)算有腐蝕和膨脹2 種[11]。本文采用開運(yùn)算對橘子圖像進(jìn)行形態(tài)學(xué)處理,即先腐蝕橘子圖像,而后膨脹橘子圖像,處理效果見圖5。
圖5 形態(tài)學(xué)處理效果圖Fig.5 Morphologic processing renderings
橘子的大小可以用輪廓的周長來表示。運(yùn)用等效圓的方法計算出橘子輪廓的周長后,可以找到一個和該周長相等的一個直徑,則把該直徑看作是橘子的直徑大小。把橘子的直徑換算為像素,就可以根據(jù)對應(yīng)的橘子大小分級標(biāo)準(zhǔn)對它的大小進(jìn)行相應(yīng)的分級。根據(jù)《鮮柑橘》(GB/T 12947—2008)國家標(biāo)準(zhǔn),橘子的分級標(biāo)準(zhǔn)見表1。
表1 橘子果徑的分級標(biāo)準(zhǔn)Tab.1 Grading standard for orange fruit diameter
隨機(jī)挑選大小不同的橘子,用相機(jī)拍攝圖像。由表1 可以得到大小果的分級閾值,根據(jù)該閾值可以進(jìn)行相關(guān)的分級處理。
找到感興趣的顏色區(qū)域后,需要在原圖中把識別到的結(jié)果框定出來。先將指定的顏色區(qū)域提取出來放到白色背景中,二值化處理后,顏色區(qū)域為黑,背景區(qū)域為白;然后二值圖像取反,此時連通區(qū)域[12]即是顏色區(qū)域;最后用rectangle函數(shù)標(biāo)記出連通區(qū)域,在原始圖片中框定識別到的橘子目標(biāo)。
3.1.1 外接矩形原理
外接矩形是指使用圖像區(qū)域的外接矩形表示該圖像區(qū)域。這種方法是使用區(qū)域的最小外接矩形表示該區(qū)域的。
3.1.2 外接矩形的實現(xiàn)
在MATLAB 中可以使用regionprops 函數(shù)來得到圖像區(qū)域的最小外接矩形,函數(shù)的使用形式如式(1):
函數(shù)返回值Z為Cx1 的結(jié)構(gòu)體數(shù)組,C為圖像中連通域的數(shù)目,每個結(jié)構(gòu)體都有一個名為boundingbox 的域,域中有4個數(shù)值,前2個數(shù)值分別表示最小外接矩形左上角的x,y坐標(biāo),后2 個值分別表示外接矩形的寬度和高度。橘子的識別結(jié)果見圖6。
圖6 橘子果形識別過程Fig.6 Fruit shape recognition process of orange
在繪制最小外接矩形時可以得到最小外接矩形左上角的x、y坐標(biāo),以及外接矩形的寬度和高度。則計算圖像的形心坐標(biāo)( )
X,Y的公式為:
式中:D為最小外接矩形的寬度,cm;H為最小外接矩形的高度,cm。
3.3.1 算法檢測數(shù)據(jù)和人工測量數(shù)據(jù)對比分析
為了驗證本文算法的可靠性,將算法檢測的數(shù)據(jù)和人工測量出來的實際橘子數(shù)據(jù)進(jìn)行對比,利用實驗室平臺拍攝試驗樣本圖像,部分示例樣本視覺檢測結(jié)果見圖7。
圖7 視覺檢測示例效果圖像Fig.7 Visual inspection example effect image
從圖7(a)中可以看出,共有1個目標(biāo)果實,用最小外接矩形框定目標(biāo)區(qū)域,周長19.786 8 cm、面積20.640 5 cm2;圖像7(b)中共有3 個目標(biāo)果實,用最小外接矩形框定目標(biāo)區(qū)域,編號分別為1、2、3,其中1 號目標(biāo)果實周長20.929 7 cm、面積22.588 1 cm2;2 號和3 號目標(biāo)果實的特征參數(shù)信息描述方法等同于1 號果實,具體見圖7 中(b)部分。為了進(jìn)一步驗證本算法處理結(jié)果的準(zhǔn)確性,將本試驗結(jié)果與人工檢測結(jié)果對比分析,對比分析結(jié)果見表2。
表2 試驗結(jié)果與人工測量數(shù)據(jù)對比分析Tab.2 Comparative analysis of experimental results and manual measurement data
通過對表2中數(shù)據(jù)的分析,可見使用本算法檢測的周長、面積和人工檢測的結(jié)果基本一致,周長最大誤差在0.2 cm 以內(nèi),面積最大誤差在0.3 cm2以內(nèi)。因此,可以使用本算法所得到的數(shù)據(jù)代替人工進(jìn)行橘子的識別和分級。
3.3.2 橘子大小分級試驗分析
為了驗證本文所設(shè)計的橘子分級系統(tǒng)算法對橘子大小分級的準(zhǔn)確性,分別隨機(jī)選用橘子大果、中果和小果各10個,進(jìn)行試驗處理來驗證算法的準(zhǔn)確性,最終的試驗結(jié)果見表3。
表3 橘子大、中、小果檢測結(jié)果Tab.3 Large,medium and small fruit test results of orange
對大小分級中3 組試驗的效果進(jìn)行綜合分析,分析結(jié)果見表4。
表4 大小分級3組試驗綜合效果分析Tab.4 Comprehensive effect analysis of three groups of experiments with size grading
由表3 和表4 中可知,橘子大果和小果的分級準(zhǔn)確率均為100%,可以滿足分級要求。只是中果的分級準(zhǔn)確率為90%,其原因是3 號果實計算機(jī)判斷為中果而人工判斷為大果,出現(xiàn)該現(xiàn)象的原因是3 號橘子的直徑接近大果和中果的分界處,計算機(jī)是嚴(yán)格根據(jù)檢測得到的數(shù)據(jù)進(jìn)行判斷,而人工則是用肉眼來進(jìn)行判斷,人工的判定結(jié)果誤差較大。綜合3 組試驗的分級準(zhǔn)確率為96.7%。由此可見,本文所設(shè)計的橘子分級系統(tǒng)滿足橘子大小分級的要求。
為了驗證本文提出方法的有效性,將該方法與傳統(tǒng)的橘子分級方法在所采集的橘子圖像上進(jìn)行驗證,對比橘子大小分級的準(zhǔn)確率,結(jié)果見表5。
通過表5可以發(fā)現(xiàn),本文算法對橘子大小果分級的準(zhǔn)確率明顯高于傳統(tǒng)的檢測算法,比傳統(tǒng)的檢測算法提升了3.40%。綜合所有分析結(jié)果,本文的改進(jìn)方法具有一定的效果。
表5 傳統(tǒng)檢測算法與本文算法準(zhǔn)確率對比Tab.5 Comparison of the accuracy of traditional detection algorithm and the algorithm in this paper
本文利用機(jī)器視覺和圖像處理技術(shù)對橘子檢測分級進(jìn)行了研究,在橘子的大小形狀分級方面取得了一定成效,對所設(shè)計的橘子分級系統(tǒng)進(jìn)行相關(guān)試驗分析,結(jié)果表明:橘子大小分級的準(zhǔn)確率96.7%,相對于傳統(tǒng)的橘子分級大小方法本文算法分級的準(zhǔn)確率提高了3.40%,滿足橘子大小分級的要求。