費琦琪 施杰 夏敏 李剛 果霖 張?zhí)鞎?/p>
摘要:為了提高冰糖橙的產(chǎn)業(yè)競爭力和效益,在售前對其進行分級是一道重要的工序。針對傳統(tǒng)的冰糖橙表面缺陷分級方法存在工作繁瑣且受人為因素干擾大的問題,本研究設(shè)計了一種將卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)算法與虛擬儀器技術(shù)相結(jié)合的冰糖橙表面缺陷智能分級系統(tǒng),并基于LabVIEW2018平臺設(shè)計開發(fā)了一套冰糖橙分級系統(tǒng)。通過實驗驗證,該系統(tǒng)識別率達96.67%,驗證了該分級方法和分級系統(tǒng)的有效性和可行性。
關(guān)鍵詞:冰糖橙分級;積神經(jīng)網(wǎng)絡;LabVIEW;系統(tǒng)設(shè)計
中圖分類號:TP274+3;S666.4文獻標識碼:A文章編號:1000-4440(2020)02-0513-07
Abstract:In order to improve the industrial competitiveness and efficiency of Bingtang sweet orange, grading is an important process before sale. In view of the traditional surface defect classification method of Bingtang sweet orange, there are some problems that the feature extraction is complicated and disturbed by human factors. In this study, an intelligent grading system for Bingtang sweet orange surface defect classification was designed based on convolutional neural networks(CNN) algorithm and virtual instrument technology. In addition, the Bingtang sweet orange grading system was designed and developed based on LabVIEW 2018. Through experimental verification, the recognition rate of the system reaches 96.67%, which proves the feasibility and effectiveness of the classification method and system.
Key words:Bingtang sweet orange classification;convolutional neural networks(CNN);LabVIEW;system design
國內(nèi)市場上對水果外觀品質(zhì)分級仍以人工和篩孔式機械設(shè)備分級為主,存在分級效果不理想,表皮易受損等問題[1-2]。近年來,越來越多的學者運用機器視覺技術(shù),針對果實的外觀檢測進行研究。如:Sajad等[3]利用人工神經(jīng)網(wǎng)絡-人工蜂群算法(Artificial neural network-artificial bee colony algorithm,ANN-ABC)研究柑橘類水果的自動鑒定,取得了比較好的分類效果。王海青等[4]利用數(shù)學形態(tài)學方法對黃瓜圖像進行處理,識別率達82.9%。趙娟等[5]利用一種基于面積比的數(shù)字處理方法來檢測蘋果外觀缺陷,檢測正確率為92.5%。胡發(fā)煥等[6]利用支持向量機(Support vector machine,SVM)對臍橙大小、表面缺陷等進行分級,經(jīng)驗證,識別率達91.5%。以上研究主要采用傳統(tǒng)的分級方法,先對目標樣本進行特征值提取,再利用不同的分類器實現(xiàn)分級,但此類方法需要人工提取圖中多種甚至幾十種特征值,存在工作量大、人為干擾因素過多的缺點,且人工提取特征值越來越難以應對更復雜多樣性的果實分級需求。
目前,借助虛擬儀器技術(shù)來實現(xiàn)果實分級系統(tǒng)的研究取得了一定成果,Megha等[7]提出了一種基于圖像處理技術(shù)的番茄果實自動分級系統(tǒng),并對幾種番茄果實圖像進行了系統(tǒng)試驗驗證。盧勇威[8]設(shè)計了一種基于圖像處理算法來提取水果特征從而實現(xiàn)分揀的系統(tǒng),但未對系統(tǒng)進行檢驗,實用性有待考證。鄧立苗等[9]利用圖像處理方法設(shè)計了一種馬鈴薯智能分選系統(tǒng),并對系統(tǒng)進行檢測。大多分級系統(tǒng)都是基于傳統(tǒng)的分級方法來實現(xiàn)系統(tǒng)分級要求。
因此,針對以上分級方法及系統(tǒng)存在的問題,本研究設(shè)計了一種將CNN算法與虛擬儀器技術(shù)相結(jié)合的冰糖橙分級系統(tǒng)。該系統(tǒng)分級方法與傳統(tǒng)的分級方法相比,可自主訓練學習冰糖橙樣本,提取冰糖橙缺陷特征實現(xiàn)分級,解決了人工提取特征所帶來的工作繁瑣且干擾因素較多的問題。同時,該系統(tǒng)由硬件樹莓派和LabVIEW平臺共同開發(fā)組成,可安裝于分級裝置中進行分級檢測。本研究重點討論利用LabVIEW平臺來實現(xiàn)冰糖橙分級系統(tǒng)的設(shè)計與實現(xiàn),并開發(fā)了冰糖橙分級系統(tǒng)軟件。
1卷積神經(jīng)網(wǎng)絡模型
卷積神經(jīng)網(wǎng)絡是深度學習的代表算法之一,是一類受視覺系統(tǒng)結(jié)構(gòu)啟發(fā)而產(chǎn)生的神經(jīng)網(wǎng)絡,由生物學家Hubel和Wiesel于1962年提出[10]。該網(wǎng)絡是一類特殊的深度前饋神經(jīng)網(wǎng)絡,主要由輸入層、卷積層、池化層(又稱下采樣層)、全連接層和輸出層組成[11-12]。該網(wǎng)絡可自主學習圖像特征,無需對輸入與輸出層進行精確的數(shù)學關(guān)系或特征數(shù)值設(shè)置,大大提高了工作效率。
一般而言,CNN模型的輸入層是將N幅H(高度)×W(寬度)×D(網(wǎng)絡通道數(shù))的圖像輸入到第一個卷積層。若輸入圖像為灰度圖像,則D = 1;若輸入圖像為 RGB 圖像,則D = 3。
圖1是CNN的經(jīng)典模型LeNet模型。該模型網(wǎng)絡結(jié)構(gòu)共8層,輸入層采用32×32像素圖片,C1層(卷積層):采用6個大小為5×5的卷積核與輸入層的圖片卷積得到C1層的6個特征圖大小為28×28。 P2層(池化層):采用2×2池化單元與C1層得到的特征圖作池化,得到P2層的6個特征圖大小為14×14。C3層(卷積層):采用16個大小為5×5的卷積核與P2層的特征圖作卷積,得到C3層的16個特征圖大小為10×10。P4層(池化層)與P2層同理,得出P4層的16個特征圖大小為5×5。 C5層(卷積層):采用120個大小為5×5的卷積核與P4層特征圖作卷積,得出120個1×1的特征圖。F6層(全連接層):采用84個單元。輸出層根據(jù)冰糖橙的外觀缺陷分3個等級,采用3個節(jié)點。
2基于LabVIEW的冰糖橙分級系統(tǒng)設(shè)計
2.1系統(tǒng)概述
冰糖橙分級系統(tǒng)由圖像采集 、圖像處理、CNN處理及識別結(jié)果4個部分組成,除圖像采集需用硬件與軟件結(jié)合來實現(xiàn),其他均可用軟件實現(xiàn)。本研究設(shè)計的冰糖橙分級系統(tǒng)由圖像采集硬件與軟件組成。圖像采集硬件設(shè)計如圖2所示,主要由攝像頭、Raspberry Pi、載物臺及電腦組成。其中攝像頭與Raspberry Pi通過以太網(wǎng)的方式與電腦連接。軟件部分以LabVIEW2018為平臺,開發(fā)冰糖橙分級系統(tǒng)。整個冰糖橙分級系統(tǒng)運行工作流程如圖3所示。
2.2系統(tǒng)需求建模
需求建模的過程是用例的獲取過程,可以通過UML(Unified modeling language )的用例圖來實現(xiàn)[13]。圖4是冰糖橙分級系統(tǒng)的用例模型,主要分為系統(tǒng)管理員、注冊用戶及系統(tǒng)用戶,并包含了3個角色可使用的用例及相互關(guān)系。
2.3冰糖橙分級系統(tǒng)軟件設(shè)計
根據(jù)系統(tǒng)要求及功能所需分析,系統(tǒng)軟件可細分為用戶管理、圖像采集、圖像處理、CNN參數(shù)設(shè)置及分級識別5個模塊,其功能模塊如圖5所示。
(1)用戶管理模塊:為實現(xiàn)系統(tǒng)安全性,設(shè)置用戶登錄驗證等功能,采用分級限權(quán)管理方式,分成“普通用戶”和“管理員”2種限權(quán)管理。
(2)圖像采集模塊:系統(tǒng)使用前需要設(shè)置手動采集或自動采集的模式設(shè)置,并將采集到的圖像在界面顯示。
(3)圖像處理模塊:收到圖像信息,先對圖像進行規(guī)格化即改變圖像大小,再進行中值濾波、灰度化、二值化、腐蝕膨脹、邊緣檢測5種圖像處理,并保存及顯示6種圖像。
(4)CNN處理模塊:在系統(tǒng)運行前,設(shè)置CNN參數(shù),包括對學習率(α)、迭代次數(shù)和CNN模型設(shè)置。
(5)分級識別模塊:選擇圖像規(guī)格化處理后的冰糖橙樣本作為待分級識別目標,通過卷積計算,輸出識別結(jié)果。
2.4CNN處理模塊設(shè)計與實現(xiàn)
本研究基于LeNet網(wǎng)絡模型,研究彩色冰糖橙表面圖像即三通道的RGB空間分量來調(diào)整模型結(jié)構(gòu)。本研究構(gòu)建的冰糖橙缺陷分級卷積模型共12層,包括1個輸入層,5個卷積層,3個池化層,2個全連接層,1個Softmax輸出層,結(jié)構(gòu)如圖6所示。采用Relu為激活函數(shù)來增加網(wǎng)絡的非線性分割能力,并防止函數(shù)反向傳播時出現(xiàn)梯度爆炸情況。
為實現(xiàn)CNN處理模塊,利用LabVIEW中的Matlab Script節(jié)點,將Matlab強大的圖像處理功能運用于LabVIEW程序中。在LabVIEW函數(shù)面板中數(shù)學模塊的腳本與公式選版中打開Matlab Script節(jié)點,右擊選擇要導入的m文件,然后根據(jù)所需在節(jié)點邊界上添加輸入輸出變量,并確定變量的數(shù)據(jù)類型[14]。運行LabVIEW程序時,系統(tǒng)會自動啟動Matlab進程。冰糖橙分級系統(tǒng)的CNN處理模塊程序框圖如圖7所示。
2.5冰糖橙分級系統(tǒng)實現(xiàn)
根據(jù)系統(tǒng)需求,在Window XP平臺下,基于LabVIEW2018平臺開發(fā)一套基于卷積神經(jīng)網(wǎng)絡的冰糖橙分級系統(tǒng)軟件,登錄界面和系統(tǒng)界面分別如圖8、圖9所示。
3試驗驗證
3.1試驗圖像采集及預處理
本研究冰糖橙樣本主要產(chǎn)自貴州黔南,冰糖橙表面缺陷主要分為3類,優(yōu)質(zhì):無花皮無疤痕;普通:有花皮;劣質(zhì):有較多花皮、有疤痕。系統(tǒng)的采集模塊共采集冰糖橙外表優(yōu)質(zhì)樣本63,普通樣本74,劣質(zhì)樣本84,部分樣本圖像如圖10所示。為了減少過擬合問題,將采集到的3種圖像通過旋轉(zhuǎn)鏡像的圖像處理方法,得到3類圖像樣本集,分別為315、370、420,再從每個樣本集隨機抽取300張圖作為試驗的數(shù)據(jù)集,并按照7∶3的比例劃分訓練集和驗證集。訓練集用來訓練網(wǎng)絡,驗證集用來觀察分級精度。
3.2CNN模型試驗驗證
在卷積神經(jīng)網(wǎng)絡中,超參數(shù)的選擇對于模型訓練的好壞有著直接的影響,學習率是影響模型好壞的關(guān)鍵因素之一[15]。學習率太小時,模型訓練時間會變得很長,收斂速度過慢;學習率太大時,則會阻礙網(wǎng)絡收斂,引起振蕩。本試驗以文獻[16]提供的設(shè)置深度學習網(wǎng)絡學習率的方法作為參考,設(shè)置初始學習率為0.1,迭代次數(shù)10,每訓練1次,以10-1的方式減少學習率,選取最好精度最好的學習率不變,改變迭代次數(shù),觀察驗證精度,用此方法來逐個確定參數(shù),結(jié)果如表1所示。
由表1所示,設(shè)置初始學習率為0.1,迭代次數(shù)10,得出驗證精度為79.63%,保持迭代次數(shù)不變,改變學習率,當學習率降低到0.001時驗證精度最高,可達96.30%,繼續(xù)降低學習率,驗證精度減小,所以選定0.001的學習率不變,增加迭代次數(shù),當?shù)螖?shù)達到40時,驗證精度最高,達98.15%,繼續(xù)增加迭代次數(shù),驗證精度反而降低,這是由于過擬合的原因,因此,選定模型參數(shù)α為0.001,迭代次數(shù)為40。為了直觀訓練過程中損失與精度的變換,通過日志進行解析,繪制損失與訓練精度曲線(圖11)。
由圖11可以看出:隨著迭代次數(shù)增加,在0至10迭代次數(shù)過程中,整體的訓練精度迅速提高,整體損失誤差下降至0.2以下,且訓練精度達到90%以上;當?shù)螖?shù)達到40次時,整體損失誤差下降至0.1左右,訓練精度可達98%以上。結(jié)果表明,系統(tǒng)理論模型設(shè)計的12層CNN模型,在短時間內(nèi)可快速高效地提取3種冰糖橙表面缺陷特征,且訓練精度在短時間內(nèi)達到較高水平。
將LeNet CNN模型,與本研究改進的CNN模型做對比,用相同的訓練驗證集循環(huán)試驗5次,得出LeNet CNN模型驗證平均精度為93.72%,比本研究改進的CNN模型驗證平均精度(97.81%)低4.09個百分點。取2種模型的最高驗證精度變化進行比較,如圖12所示,LeNet CNN模型驗證精度為94.44%,比本研究改進的冰糖橙模型驗證精度98.15%低3.71個百分點。證明本研究改進的CNN模型具有更好的識別率。
3.3冰糖橙分級系統(tǒng)驗證
冰糖橙分級系統(tǒng)功能驗證只針對冰糖橙表面缺陷識別分類,驗證方法:選擇60個沒有進行過訓練的冰糖橙樣本,其中優(yōu)質(zhì)、普通、劣質(zhì)分別為20個,進行系統(tǒng)識別。驗證結(jié)果:20個冰糖橙優(yōu)質(zhì)樣本和劣質(zhì)樣本全部識別正確;20個冰糖橙普通樣本,有2個被識別成劣質(zhì);共正確識別58個,識別率達96.67%,滿足冰糖橙分級系統(tǒng)的功能需求,驗證了冰糖橙分級系統(tǒng)的有效性。
4結(jié)論
本研究提出用卷積神經(jīng)網(wǎng)絡的深度學習算法來處理分級問題,與傳統(tǒng)的圖像處理技術(shù)相比,更能快速有效地提取冰糖橙表面缺陷特征,在一定程度上,解決了傳統(tǒng)分級方法提取特征時,帶來的工作繁瑣且耗時久等問題。由于卷積神經(jīng)網(wǎng)絡算法在處理圖像檢測分類問題上有很好的通用性[17],一定程度上解決了傳統(tǒng)分級方法只能針對冰糖橙類適用的不變通性。將虛擬儀器技術(shù)應用于分級技術(shù)領(lǐng)域,降低了冰糖橙分級成本,提高了實用價值和分級過程的可視化程度。
本研究基于LabVIEW2018平臺開發(fā)的冰糖橙分級系統(tǒng)具有操作簡單,開放性好的特點。通過實驗,冰糖橙分級系統(tǒng)識別率達96.67%,證明該系統(tǒng)滿足分級識別要求。
參考文獻:
[1]李梅.水果分揀技術(shù)的研究現(xiàn)狀與發(fā)展[J].江蘇理工學院學報,2018,24(2):121-124.
[2]AMIN N,AMIN T G,ZHANG Y D. Image-based deep learning automated sorting of date fruit[J]. Postharvest Biology and Technology,2019,153:133-141.
[3]SAJAD S,YOUSEF A G,GINS G M. A new approach for visual identification of orange varieties using neural networks and metaheuristic algorithms[J]. Information Processing in Agriculture,2018,5(1):162-172.
[4]王海青,姬長英,顧寶興,等.基于機器視覺和支持向量機的溫室黃瓜識別[J].農(nóng)業(yè)機械學報,2012,43(3):163-167,180.
[5]趙娟,彭彥昆,SAGAR DHAKAL,等.基于機器視覺的蘋果外觀缺陷在線檢測[J].農(nóng)業(yè)機械學報,2013,44(S1):260-263.
[6]胡發(fā)煥,董增文,匡以順.基于機器視覺的臍橙品質(zhì)在線分級檢測系統(tǒng)[J].中國農(nóng)業(yè)大學學報,2016,21(3):112-118.
[7]MEGHA P A, LAKSHMANA. Computer vision based fruit grading system for quality evaluation of tomato in agriculture industry[J]. Procedia Computer Science,2016,79:426-433.
[8]盧勇威. 基于機器視覺的水果分揀系統(tǒng)[J].裝備制造技術(shù),2017(3):163-165,168.
[9]鄧立苗,韓仲志,徐艷,等. 基于機器視覺的馬鈴薯智能分級系統(tǒng)[J].食品與機械,2014,30(5):144-146.
[10]HUBEL D H,WIESEL T N. Receptive fields, binocular interaction and functional architecture in the cats visual cortex[J]. The Journal of Physiology, 1962, 160(1):106-154.
[11]HINTON G E,OSINDERO S,THE Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18 (7): 1527-1554.
[12]鄭遠攀,李廣陽,李曄. 深度學習在圖像識別中的應用研究綜述[J].計算機工程與應用,2019,55(12):20-36.
[13]施杰,李歡,果霖,等. 基于EMD和包絡解調(diào)的軸承故障診斷系統(tǒng)研究[J].煤礦機械,2015,36(6):309-312.
[14]孫小明. 基于LabVIEW和Matlab混合編程的滾動軸承故障診斷系統(tǒng)[J].電子科技,2018,31(7):11-14.
[15]伍錫如,雪剛剛,劉英璇. 基于深度學習的水果采摘機器人視覺識別系統(tǒng)設(shè)計[J].農(nóng)機化研究,2020,42(2):177-182,188.
[16]SMITH L N. Cyclical learning rates for training neural networks[C]//IEEE. 2017 IEEE Winter Conference on Applications of Computer Vision (WACV). Santa Rosa,USA:IEEE, 2017:464-472.
[17]趙建敏,李艷,李琦,等.基于卷積神經(jīng)網(wǎng)絡的馬鈴薯葉片病害識別系統(tǒng)[J].江蘇農(nóng)業(yè)科學,2018,46(24):251-255.
(責任編輯:陳海霞)