倪建功,楊昊巖,李 娟,韓仲志*
(1.青島農(nóng)業(yè)大學(xué)理學(xué)與信息科學(xué)學(xué)院,山東 青島 266109; 2.青島農(nóng)業(yè)大學(xué)動漫與傳媒學(xué)院,山東 青島 266109; 3.青島農(nóng)業(yè)大學(xué)機電工程學(xué)院,山東 青島 266109)
我國是世界花生總產(chǎn)第一大國,種植面積達500多萬hm2,約占世界總產(chǎn)量的40%?;ㄉ泻胸S富的脂肪、蛋白質(zhì)等營養(yǎng)物質(zhì),其中含油量約為42%~60%。我國所產(chǎn)的花生中有55%用于制油,出油率是衡量花生品質(zhì)的一個重要指標。不同品種花生脂肪含量的差異導(dǎo)致其含油率大不相同[1],在制油過程中需要根據(jù)不同品種的含油率來選擇不同的制油方式。對于高含油率品種的花生大多采用壓榨法來制油,對于含油率低的品種則需要采用溶劑浸出法進行制油。在當(dāng)前我國油料短缺形勢嚴峻、食用油比較依賴進口的情況下,花生品種檢測就顯得尤為重要。目前,我國對花生品種的檢測大多依賴人工檢測,這種方式存在工作量大,檢測人員易疲勞,主觀經(jīng)驗限制等缺陷。因此,迫切需要一種快速、無損的花生品種智能分類方法,以提高花生制油產(chǎn)量。
目前國內(nèi)外研究者對花生品種的識別進行了一系列研究。張思雨[2]等人采用機器視覺與自適應(yīng)卷積神經(jīng)網(wǎng)絡(luò)檢測三類花生仁的品質(zhì),識別準確率99.7%。韓仲志[3]等人通過提取形態(tài)、顏色和紋理等3大類特征,對12個花生籽粒品種進行識別,識別準確率83.3%。鄭田甜[4]等人利用主成分分析對3種花生種子的高光譜數(shù)據(jù)進行聚類分析,平均正確識別率為95%。韓仲志[5]等人基于圖像處理技術(shù)對花生莢果品種進行識別,對20個品種的識別準確率達到90%。于仁師[6]等人利用支持向量機對20個不同花生莢果品種進行分類識別,平均準確率為78.06%。上述研究者在花生品種識別領(lǐng)域的工作證明機器識別是可行的,但這些主要是針對花生仁進行研究,比起花生仁,花生莢果的研究更具有意義。因為在實際生產(chǎn)中,想要對花生進行快速、無損的品種識別,需在花生帶殼時完成識別工作,這對后續(xù)的生產(chǎn)應(yīng)用會帶來極大方便。此外,傳統(tǒng)特征提取+分類器的方法需對每一類花生構(gòu)建大量特征標準,每當(dāng)新增一個類別時,就需重新提取特征,工作量大且泛化能力不足。深度學(xué)習(xí)是近年來一種非常熱門的數(shù)據(jù)處理技術(shù),已廣泛應(yīng)用于圖像處理[7-9]、目標檢測[10-11]、行為分析[12-13]、疾病診斷[14-15]等領(lǐng)域,且已被應(yīng)用于品種快速檢測中。劉翠玲[16]等利用GoogLeNet網(wǎng)絡(luò)對5個品種花生的高光譜圖像進行識別,測試集平均準確率93.3%。劉翠玲[17]等人利用太赫茲衰減全反射技術(shù),結(jié)合距離匹配算法,對不同品種花生進行快速分類識別,3個類別的總體識別準確率可達93.3%。深度學(xué)習(xí)方法舍棄了復(fù)雜的圖像預(yù)處理和特征提取過程,采用端到端的結(jié)構(gòu)簡化了識別流程,并且大幅度提高了模型的識別準確率。然而上述研究采用的技術(shù)大多實現(xiàn)起來比較困難,成本較高,不適合大規(guī)模推廣。AlexNet是第一個經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò),它相對于后來的VGGNet、GoogLeNet等網(wǎng)絡(luò),模型具有相對簡單且易于部署等優(yōu)點,但是網(wǎng)絡(luò)識別準確率略低。
在前期工作的基礎(chǔ)上,本文通過從不同方面對原始的AlexNet網(wǎng)絡(luò)進行改進,提出一種改進型AlexNet來研究不同花生莢果的分類問題,以期獲得最優(yōu)的、快速的花生莢果識別模型。
實驗采用的花生品種共13個,全部來自當(dāng)?shù)剞r(nóng)民自留種,品種分別為冀花2號、冀花4號、冀花5號、中農(nóng)108、天府3號、花育22號、花育25號、萊農(nóng)13號、魯花9號、魯花11號、青花6號、101、16-2。選取的品種分別來自河北、山東的日照、青島和萊陽四個主要花生生產(chǎn)區(qū),這些品種主要為北方花生代表。13個品種花生莢果的基本信息如表1所示。
表1 實驗材料 Table 1 The experimental materials
將所有花生莢果按照固定方向和次序均勻擺放在掃描儀上,每組50顆花生。對每一顆花生莢果分別獲取一幅正面圖像和兩幅側(cè)面圖像,其中側(cè)面圖像的方向是不同的。所有品種的莢果示意圖如圖1所示。實驗用的掃描儀型號為佳能 CanoScan 8800F,平板式 CCD 掃描儀,光學(xué)分辨率為 4 800 dpi×9 600 dpi;最大分辨率為 19 200 dpi,掃描范圍為 216 mm×297 mm。所有品種的花生莢果示意圖如圖1所示?;ㄉv果品種按照表1編號順序從左到右依次排列。
從掃描儀上獲得的每幅圖像上有50顆花生莢果,通過感興趣區(qū)域(ROI)提取[18],從每幅圖像上獲取單個花生莢果作為數(shù)據(jù)集。具體處理過程為:首先對原始圖像進行灰度處理與二值化處理,之后通過腐蝕、膨脹等圖像處理手段對圖像進行處理。然后框選出單個花生莢果,并繪制圖像的重心。最后根據(jù)紅框坐標對應(yīng)到原始圖像中對單個莢果進行自動裁剪,最終得到單個花生莢果數(shù)據(jù)集。圖像預(yù)處理過程如圖2所示。
AlexNet[19]是2012年Hinton和他的學(xué)生設(shè)計的,以顯著優(yōu)勢獲得了當(dāng)年的ImageNet競賽冠軍。AlexNet主要由五個卷積層,三個池化層和三個全連接層組成。其中,卷積層是由若干卷積單元組成的,每個卷積單元的參數(shù)由反向傳播算法最佳化得到,卷積層的功能是提取輸入圖像的不同特征;池化層是卷積神經(jīng)網(wǎng)絡(luò)重要的組成部分,它實際上是對數(shù)據(jù)進行降采樣處理,其功能為降低下一層待處理的數(shù)據(jù)量,減少參數(shù)數(shù)量,預(yù)防網(wǎng)絡(luò)過擬合;全連接層中的每個神經(jīng)元與其前一層的所有神經(jīng)元進行全連接,全連接層可以整合卷積層或者池化層中具有類別區(qū)分性的局部信息。
AlexNet首次在CNN(Convolutional Neural Networks)中成功地應(yīng)用了ReLU、Dropout和局部響應(yīng)歸一化(LRN)等模塊,這也是它的性能能夠大幅超越傳統(tǒng)機器學(xué)習(xí)算法的原因。它是第一個經(jīng)典的CNN模型,啟發(fā)了后來的深度卷積神經(jīng)網(wǎng)絡(luò)模型。但是對于多類識別以及相似類別的識別方面仍然存在一些不足。本文借鑒VGGNet[20]、ResNet[21]、Inception[22-23]等經(jīng)典網(wǎng)絡(luò)對AlexNet進行改進,提出一種改進型AlexNet網(wǎng)絡(luò),并將此網(wǎng)絡(luò)應(yīng)用于不同類別的花生莢果識別。
參考VGGNet、Inception等經(jīng)典網(wǎng)絡(luò),本研究的改進主要體現(xiàn)在:
① 舍棄LRN層,改用批歸一化(BN)層。LRN來源于神經(jīng)生物學(xué)中的側(cè)抑制機制,對局部神經(jīng)元的活動創(chuàng)建競爭機制,使得其中響應(yīng)比較大的值變得相對更大,并抑制其他反饋較小的神經(jīng)元。使用LRN層的目的是增強網(wǎng)絡(luò)的泛化能力,但是根據(jù)以往的實驗結(jié)果,LRN在提高模型的識別準確率上沒有太大的幫助,相反地增加了網(wǎng)絡(luò)的復(fù)雜性[24]。我們使用BN層代替LRN層,BN層在VGGNet、Inception等經(jīng)典網(wǎng)絡(luò)中被使用,BN層允許使用更大的學(xué)習(xí)率,能夠大幅提高訓(xùn)練速度。
② 不同尺寸卷積核搭配。對于輸入圖像,采用不同尺寸的卷積核組合卷積。不同大小的卷積核對圖像特征的提取是不同的,大的卷積核能夠得到圖像形狀、位置等特征,而小的卷積核得到的是顏色、紋理等特征。卷積核越大,感受野就越大,看到圖像的局部特征就越多。多種卷積核組合可以獲得不同類型的特征,能夠很好地表示要識別的物體。此外,我們加入1×1的卷積核,來降低輸入的通道數(shù)、卷積核參數(shù)、運算復(fù)雜度。通過數(shù)據(jù)降維,可以得到更加緊湊的網(wǎng)絡(luò)結(jié)構(gòu)。
③ 修改全連接層神經(jīng)元連接個數(shù)。全連接層(fully connected layers)在整個卷積神經(jīng)網(wǎng)絡(luò)中起到“分類器”的作用。在這個過程中,在每一階段的訓(xùn)練中,隨機減少一部分神經(jīng)元的訓(xùn)練,所以只有一部分神經(jīng)元參與到網(wǎng)絡(luò)訓(xùn)練中來,這樣能夠使網(wǎng)絡(luò)整體參數(shù)量減少,從而節(jié)省計算量。通過實驗發(fā)現(xiàn),全連接層神經(jīng)元連接個數(shù)適當(dāng)降低不會影響網(wǎng)絡(luò)的準確率。但是減少神經(jīng)元連接個數(shù)可以減少模型的參數(shù)量,降低模型的復(fù)雜度。在實驗中,我們將全連接層元連接個數(shù)由4096修改為1024。綜上所述,我們通過三個方面對AlexNet網(wǎng)絡(luò)進行改進,整體網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖3所示。
首先,獲取花生莢果的掃描儀照片,之后通過二值化等圖像處理手段對掃描儀照片進行分割,獲取單個花生莢果的數(shù)據(jù)集;然后,將數(shù)據(jù)集按8∶2隨機分為訓(xùn)練集和測試集;最后,將數(shù)據(jù)集導(dǎo)入我們搭建的網(wǎng)絡(luò)中進行訓(xùn)練,在適當(dāng)?shù)牡螖?shù)后停止訓(xùn)練,得到網(wǎng)絡(luò)訓(xùn)練準確率圖和損失率圖。網(wǎng)絡(luò)基本參數(shù):最小批次,32;最大迭代,50;驗證頻率,16;優(yōu)化器,SGDM;初始學(xué)習(xí)率,1×10-4;圖像輸入尺寸,224×224×3。實驗算法基于Windows10系統(tǒng)下MATLAB軟件實現(xiàn)。
通過對網(wǎng)絡(luò)卷積層進行特征可視化[25]能夠更好地理解網(wǎng)絡(luò)是如何工作的。反卷積可視化以各層得到的特征圖作為輸入,進行反卷積,得到反卷積結(jié)果,用以顯示各層提取到的特征圖。通過深度學(xué)習(xí)網(wǎng)絡(luò)模型后,得到的特征具有辨別性。比如要區(qū)分不同品種的花生莢果,那么通過CNN學(xué)習(xí)后,背景部位的激活度會變得很小,通過可視化就可以看到網(wǎng)絡(luò)提取到的特征忽略了背景,僅把關(guān)鍵的信息給提取出來。從淺層學(xué)習(xí)到的特征基本上是顏色、邊緣等低層特征;中間層則開始稍微變得復(fù)雜,學(xué)習(xí)到的是紋理特征,比如物體上面的一些網(wǎng)格紋理;更深層學(xué)習(xí)到的則是更加具有辨別性的關(guān)鍵特征。AlexNet網(wǎng)絡(luò)卷積層可視化結(jié)果如圖4所示。
網(wǎng)絡(luò)準確率與損失結(jié)果見圖5。圖5可看出,網(wǎng)絡(luò)的準確率前30個迭代(Epochs)逐漸上升,在30個迭代后趨于穩(wěn)定并且模型準確率穩(wěn)定在85%附近,最終的最高準確率為88.76%。原始AlexNet網(wǎng)絡(luò)在10個迭代后趨于穩(wěn)定并且模型準確率穩(wěn)定在80%附近,最終的最高準確率為84.27%。兩者的Loss曲線在30個迭代后趨近于零,并且訓(xùn)練集和驗證集的Loss值是接近的,這說明網(wǎng)絡(luò)沒有出現(xiàn)過擬合現(xiàn)象,進一步說明實驗結(jié)果的可靠性。通過與原始AlexNet相比,改進型AlexNet收斂速度相對慢,但最終準確率優(yōu)于原始AlexNet。因為原始AlexNet是在ImageNet上預(yù)訓(xùn)練過,已經(jīng)存儲了一部分權(quán)重,而改進型AlexNet沒有經(jīng)過預(yù)訓(xùn)練,所以在訓(xùn)練前期準確率上升速度略慢。
對712個測試集數(shù)據(jù)進行測試,繪制混淆矩陣,如圖6所示。在混淆矩陣中,主對角線數(shù)字為預(yù)測正確樣本圖像的數(shù)量,其他位置的數(shù)字為預(yù)測錯誤樣本圖像的數(shù)量。圖6可看出,模型對各類花生莢果都有很好的識別結(jié)果。其中冀花5號的識別結(jié)果略差,有10個被預(yù)測成了中農(nóng)108號,冀花2號預(yù)測結(jié)果最好,全部預(yù)測正確。分析原始數(shù)據(jù)集發(fā)現(xiàn)冀花5號與中農(nóng)108號之間差異較小,這可能是導(dǎo)致網(wǎng)絡(luò)識別錯誤的主要原因。13類花生莢果的平均識別準確率為87.73%,基本可滿足花生莢果分類要求。
通過繪制網(wǎng)絡(luò)的ROC曲線圖進一步說明網(wǎng)絡(luò)的性能,見圖7。ROC是一條以真陽性率(敏感性)為縱坐標,假陽性率(1-特異性)為橫坐標繪制的曲線,是反映敏感性和特異性連續(xù)變量的綜合指標。在ROC曲線上,最靠近坐標圖左上方的點為敏感性和特異性均較高的臨界值。圖7可見,各類花生莢果的ROC曲線都十分靠近左上角,這進一步說明了改進型AlexNet網(wǎng)絡(luò)模型的優(yōu)越性。
從精確度、敏感性等5個方面詳細描述網(wǎng)絡(luò)性能,結(jié)果如表2所示。所有指標根據(jù)混淆矩陣計算得出。其中計算公式如下:
其中,TP是指將正類預(yù)測為正類數(shù),TN是指將負類預(yù)測為負類數(shù),F(xiàn)P是指將負類預(yù)測為正類數(shù),F(xiàn)N是指將正類預(yù)測為負類數(shù)。TP和TN是正確預(yù)測,F(xiàn)P和FN是錯誤預(yù)測。
精確度方面,冀花5號花生最低,只有73.3%,冀花2號花生最高,為100%;在敏感性方面,16-2花生最低,只有67.6%,萊農(nóng)13號最高,為100%;在特異性方面,冀花5號花生最低,只有96.6%,101花生最高,為99.8%;在召回率方面,16-2花生最低,只有67.6%,萊農(nóng)13號最高,為100%;在F1值方面,16-2花生最低,為73.0%,萊農(nóng)13號最高,為95.6%。
表2 網(wǎng)絡(luò)性能分析/% Table 2 Specific analysis of network performance
為了驗證改進型AlexNet網(wǎng)絡(luò)的優(yōu)越性,與其他幾個先進模型進行比較,結(jié)果見表3。所有網(wǎng)絡(luò)采用相同的訓(xùn)練參數(shù)。其中深度是指網(wǎng)絡(luò)所有層的數(shù)量。由表3可以看到,本實驗提出的改進型AlexNet網(wǎng)絡(luò)的平均準確率優(yōu)于原始AlexNet、GoogLeNet和SqueezeNet,這說明了改進型AlexNet的優(yōu)越性。準確率略低于ResNet50,這是因為ResNet50層數(shù)最多且采用了殘差學(xué)習(xí)模塊,但是ResNet網(wǎng)絡(luò)模型參數(shù)量大不宜部署,改進型AlexNet相對來說模型較小,且能保證較高的準確率。綜合來說,改進型AlexNet是相對優(yōu)越的。
表3 不同模型識別結(jié)果對比 Table 3 Comparison of recognition results of different models
本實驗借鑒VGGNet[20]、Inception[22-23]等經(jīng)典網(wǎng)絡(luò),從三個方面對AlexNet網(wǎng)絡(luò)進行改進?;诟倪M型AlexNet實現(xiàn)對不同品種花生莢果的識別,相對于原始AlexNet網(wǎng)絡(luò),模型識別平均準確率提高4.07個百分點。相對于傳統(tǒng)機器學(xué)習(xí),本實驗提出的模型不需要人工定義特征,模型能夠自動完成圖像的預(yù)處理,這樣就可以大幅減少圖像預(yù)處理所需要的時間。此外,模型的泛化能力較強,當(dāng)新的品種加入時,只需要重新訓(xùn)練一次模型就可以完成對新類別的識別。
在分析采集的花生莢果品種時發(fā)現(xiàn)同系的莢果之間外觀差距很小,對于人來說,它們是很難被分辨出來的,但是模型可以很好地進行分辨。比如,就冀花2號和冀花4號來說,模型就能很好地對其進行分辨。此外,本實驗是對13類不同品種的花生莢果進行識別。當(dāng)需要分類的類別增加時,模型的分類難度也會相對增加。模型對冀花5號花生的誤判最多,一共60個測試樣本,只有44個識別正確。這可能是因為該類花生莢果跟其他類都存在相似之處。
通常對花生的研究大多集中在對花生仁的檢測,比如說,韓仲志[26]等人利用支持向量機模型對不完善粒、霉變、雜質(zhì)、異品種等不同品質(zhì)的籽粒進行分類。趙志衡[27]等人基于卷積神經(jīng)網(wǎng)絡(luò)對花生籽粒完整性進行識別,對完好花生、表皮破損和果仁破損的花生進行分類。張思雨[2]等人采用機器視覺與自適應(yīng)卷積神經(jīng)網(wǎng)絡(luò)檢測3類花生仁的品質(zhì)。劉翠玲[28]等人利用太赫茲衰減全反射技術(shù)對花生霉變程度進行判別,對正常、輕度霉變、中度霉變和嚴重霉變進行識別。Whitaker[29]等人使用電子顏色分選器對花生仁大小進行分選。上述研究都是對花生仁方面的研究。但是,對花生仁進行分類已經(jīng)是后續(xù)處理,如果能夠在花生收獲后的帶殼狀態(tài)下分類出不同品種的花生,則可以極大地減少工作量,且能針對不同類型的用途選擇不同品種的花生。首先對花生莢果進行識別分類,之后再對每一類花生進行等級識別,搭配花生收獲機可以構(gòu)建一整套自動化的花生分選生產(chǎn)線。
該研究基于改進型AlexNet網(wǎng)絡(luò)對13類花生莢果進行分類,從三個方面對原始AlexNet網(wǎng)絡(luò)進行改進,使得網(wǎng)絡(luò)的識別準確率得到提升。對712個花生莢果進行測試,識別平均準確率為87.73%,相對于原始AlexNet提高4.07個百分點?;ㄉv果的準確、快速分類,對新品種的選育、制油方式的選擇以及減少人力物力等方面都有重要價值。此外本實驗證明了利用深度卷積網(wǎng)絡(luò)對花生品種識別分類具有可行性。