殷素峰,陳洵凜
(東莞理工學院城市學院 智能制造學院,廣東 東莞 523419)
隨著我國經(jīng)濟發(fā)展戰(zhàn)略結(jié)構(gòu)的調(diào)整,農(nóng)業(yè)發(fā)展逐漸開始向規(guī)?;?、自動化的方向轉(zhuǎn)變。水果消費隨著經(jīng)濟的發(fā)展與人民生活水平的提高,在整個食物消費中的比重逐步上升。但水果依靠人工分級,作業(yè)效率低下,隨著國家經(jīng)濟結(jié)構(gòu)的調(diào)整,農(nóng)業(yè)勞動力正在逐步減少,農(nóng)業(yè)勞動力不足將會影響水果的分揀效率,而利用機器視覺技術(shù)取代傳統(tǒng)的人工水果分級方式能有效地解決這一問題。目前國內(nèi)外有關(guān)機器視覺技術(shù)的水果分級研究都是針對蘋果、柑桔等大型水果,且設備還限于機械分級階段,主要進行大小、重量的分級。由于技術(shù)投入不夠,存在局限性多、不靈活、設置困難、易產(chǎn)生錯誤、無法適應現(xiàn)代的質(zhì)量控制和統(tǒng)計流程控制等方面的弊端。而水果分級是在上市銷售之前的一個操作環(huán)節(jié),對水果的銷售價格和種植前景有著重要的影響[1-2]。
因此,國內(nèi)外學者對這一問題進行了廣泛的理論研究與實踐。Rizon等[3]利用隨機Hough變換的方法從二值圖像中識別芒果對其進行分級,Hough變換涉及到圖像空間到參數(shù)空間的轉(zhuǎn)換,并依據(jù)投票機制進行累積,計算耗時,無法應用于實時處理。彭紅星等[4]提出了一種改進的SSD深度學習水果檢測模型,實現(xiàn)了自然環(huán)境下多類水果的精準檢測。Unay等[5]提出了通過提取蘋果的幾何特征,使用統(tǒng)計分類器訓練的方式進行蘋果的識別分級。莊路路[6]提出了基于SURF算法和BP神經(jīng)網(wǎng)絡的水果識別方法,該方法可對各種各樣的水果進行有效的識別分類。雖然這些方法的識別率能達到很高,但對分類器的訓練需要消耗較多的時間。談文藝[7]采用了高光譜成像技術(shù)對蘋果的外部損傷進行早期識別與分級。王利平等[8]提出了基于紅外熱波無損傷檢測技術(shù)的水果分級方法,有效地提高了水果分級效率。這些方法雖然大大提高了分級效率,但卻引進了紅外遙感設備,增加了硬件成本。
基于此,本文提出了一種基于顏色空間的分割識別與基于BP神經(jīng)網(wǎng)絡分級相結(jié)合的水果識別分級方法,該方法事先提取成熟水果的顏色分量值作為參照值,依據(jù)該參照值在眾多水果中識別出所期望的成熟水果,再結(jié)合BP神經(jīng)網(wǎng)絡進行分級,從而有效地避免了上述方法的不足。
1.1.1 成熟水果的篩選
首先,對采集到的水果樣本圖像進行中值濾波預處理,以消除樣本圖像中孤立的噪聲點,同時保留圖像的邊緣細節(jié),本文算法設置中值濾波的濾波模板尺寸為(5×5)像素;并對預處理后的樣本圖像進行通道轉(zhuǎn)換,將樣本圖像轉(zhuǎn)換成RGB三個單通道圖像,以便于根據(jù)成熟水果的特有顏色特征對應于相似的單通道圖像上進行顏色分割,如圖1所示。
圖1 樣本圖像轉(zhuǎn)換成RGB三個單通道圖像
然后,將成熟水果顏色特征對應于相似的單通道圖像進行二值化,本文中實驗水果的成熟顏色特征相似于R通道圖像,因此二值化后以成熟水果的顏色范圍灰度值作為參照值進行顏色空間分割,排除掉未成熟和過成熟的水果,篩選出成熟水果的顏色特征區(qū)域,再對其進行形態(tài)學開運算處理,以消除與成熟水果顏色特征相似的小雜物的干擾。本文算法設置開運算的內(nèi)核類型為MORPH_ELLIPSE(橢圓形),且定義內(nèi)核大小為(13×13)像素進行開運算操作處理。將開運算的結(jié)果圖像與樣本圖像進行區(qū)域相交運算,從而篩選出樣本圖像中的成熟水果。圖2為篩選出的成熟水果。
圖2 篩選出的成熟水果
1.1.2 基于BP神經(jīng)網(wǎng)絡的成熟水果等級分級
典型的BP神經(jīng)網(wǎng)絡包括輸入層、隱含層和輸出層,各層之間通過傳遞函數(shù)連接,通過一定的學習算法來訓練網(wǎng)絡。
輸入層:對篩選出的成熟水果進行基于BP神經(jīng)網(wǎng)絡等級分級,首先將成熟水果圖像由RGB格式轉(zhuǎn)換成HIS格式,由于H通道表示圖像的色度信息,通過求取H通道圖像中水果目標的色度均值μH和色度均方差σH,將這兩個水果色彩特征參數(shù)作為神經(jīng)網(wǎng)絡的輸入特征變量。
輸出層:根據(jù)GB/T26906-2011,櫻桃等級可分為特級、一級和二級,因此設計3個輸出層節(jié)點,表示3個不同等級的櫻桃。其中00代表特級,01代表一級,10代表二級。
隱含層設計與網(wǎng)絡訓練:本文選擇單一隱層,隱含層神經(jīng)元節(jié)點數(shù)可通過公式(1)來確定[9]:
(1)
其中:N為隱含層節(jié)點數(shù);n為輸入層維數(shù);m為輸出層維數(shù);k為一個常數(shù),取值[1,10]。
由本文中BP神經(jīng)網(wǎng)絡輸入與輸出層可知,n=2,m=3,因此由公式(1)計算可得N的取值為4~13。隱含層節(jié)點數(shù)N的具體取值可根據(jù)訓練的結(jié)果來確定。 本文中BP神經(jīng)網(wǎng)絡輸入層到隱含層的傳遞函數(shù)使用tansig函數(shù),隱含層到輸出層采用純線性purelin函數(shù)。由于SCG算法具有相對較快的處理速度[10],因此本文采用SCG算法的訓練函數(shù)trainscg對BP神經(jīng)網(wǎng)絡進行訓練。實驗選擇60個含有特級、一級和二級三個等級的櫻桃作為訓練樣本。訓練函數(shù)的參數(shù)設置如下:迭代次數(shù)10 000,誤差性能目標值為0.008。在訓練集相同的情況下,改變隱含層節(jié)點數(shù)進行訓練,并記錄訓練結(jié)果如表1所示。
表1 BP神經(jīng)網(wǎng)絡在不同隱含層節(jié)點數(shù)下的訓練結(jié)果
根據(jù)表1可知,只有隱含層節(jié)點數(shù)為7、8、10時才能達到誤差性能目標值,綜合考慮網(wǎng)絡的收斂速度和訓練誤差,當選取8個隱含層節(jié)點數(shù)時,訓練網(wǎng)絡收斂速度最快。
基于顏色空間的分割識別與BP神經(jīng)網(wǎng)絡分級相結(jié)合的水果識別分級算法流程如圖3所示。
圖3 水果識別分級算法流程
為了驗證算法的實用性,對獲取的20幅樣本圖像進行了實驗。實驗的硬件環(huán)境為:Lenovo筆記本電腦,處理器為Intel(R)Pentium(R)CPU 2.16GHz,內(nèi)存為8 GB。實驗的軟件環(huán)境為:Visual Studio 2010和OpenCV。顏色空間分割識別成熟水果的實驗結(jié)果如圖4所示。
圖4 顏色空間分割識別成熟水果實驗結(jié)果
對20幅樣本圖像進行實驗,分別記錄其成熟櫻桃的識別量及識別率見表2;并從篩選出的成熟櫻桃中人工挑選出含有特級20個、一級20個和二級20個等三個等級共60個櫻桃作為測試樣本,按照上文方法提取色度均值和均方差輸入到訓練好的BP神經(jīng)網(wǎng)絡進行分級測試,記錄分級結(jié)果見表3。
表2 實驗測試數(shù)據(jù)
表3 分級實驗測試結(jié)果
由表2的實驗結(jié)果可以看出,本文所提出的基于顏色空間的分割識別與水果輪廓特征大小相結(jié)合的水果識別分級算法對成熟水果的識別率能達到93.16%。對于未能識別出的成熟水果,主要原因在于定義成熟水果的顏色特征值范圍相對比較狹窄,若定義成熟水果的顏色特征值范圍寬松,則識別率能達93.16%以上。而從表3的分級實驗測試結(jié)果中可知,基于BP神經(jīng)網(wǎng)絡對成熟櫻桃分級,特級品分級,正確率是100%,一級品與二級品分級的正確率都是90%,因此平均分級正確率為93.3%,總耗時為2.66 s。
為了對小型水果進行快速、準確的自動識別分級,本文提出了一種快速識別分級算法。算法包括對成熟水果的顏色分割以篩選出成熟水果和基于BP神經(jīng)網(wǎng)絡的成熟水果分級兩個主要部分。并以小型水果櫻桃為例進行了實驗驗證,從算法對成熟水果的識別率、分級正確率和實時性來看,本算法能滿足自動化裝置作業(yè)時的準確率和實時性要求。