張永超,趙錄懷,卜光蘋(píng)
(1.西安交通大學(xué) 城市學(xué)院,陜西 西安 710018;2.西安交通大學(xué) 電氣學(xué)院,陜西 西安 710048)
種子對(duì)農(nóng)業(yè)生產(chǎn)的重要性不言而喻。為了增加花生生產(chǎn)的豐收率和提高其種植效率,有必要準(zhǔn)確、快速地識(shí)別出完好和破損兩類花生種子。
韓仲志等研究了基于外觀特征識(shí)別不同品種、品質(zhì)的花生種子,采用圖像識(shí)別法,識(shí)別率和準(zhǔn)確率分別達(dá)91.2%和93.0%[1]。王潤(rùn)濤等曾提出了基于機(jī)器視覺(jué)、圖像處理、神經(jīng)網(wǎng)絡(luò)法的大豆籽粒精選技術(shù),測(cè)試準(zhǔn)確率為92%,篩選效率每分鐘300粒[2]。趙吉文等學(xué)者根據(jù)西瓜籽的特征,用灰度帶比例作為分類特征參數(shù)的方法,分選出合格的瓜籽,該分選技術(shù)能使識(shí)別率達(dá)95%[3]。Dan Mn等研究使用1個(gè)彩色VGA傳感器檢測(cè)和去除單個(gè)具有小局部缺陷或缺陷的谷粒,斑點(diǎn)檢測(cè)是由顏色信息和一個(gè)簡(jiǎn)單的非線性空間濾波器的組合來(lái)完成的,該濾波器可以檢測(cè)沿圖像線的像素強(qiáng)度的微小下降,系統(tǒng)準(zhǔn)確率為89%,每秒篩選180粒[4]。趙志衡等用實(shí)測(cè)結(jié)果證明采用卷積神經(jīng)網(wǎng)絡(luò)識(shí)別算法的色選系統(tǒng)較為穩(wěn)定,該方法對(duì)花生分類的準(zhǔn)確率達(dá)到98.18%,平均檢測(cè)1幅單?;ㄉ鷪D像的時(shí)間為18 ms[5]。
本文提出了基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)的花生種子篩選方法,根據(jù)實(shí)際需求,只要篩選出花生是否適合作為種子,剔除不適合作為種子的破損(果皮受損、果仁受損等)種子,使花生種子篩選分類簡(jiǎn)單、準(zhǔn)確率高、速度快。
CNN的獨(dú)特優(yōu)勢(shì)在于通過(guò)局部感知野和權(quán)值共享兩種途徑,可以極大地減少參數(shù)的數(shù)目,從而簡(jiǎn)化復(fù)雜的問(wèn)題。神經(jīng)元對(duì)圖像進(jìn)行局部感知,并且在高層中將局部信息進(jìn)行綜合性處理,故為局部感知野,其原理是局部像素間空間距離近則相關(guān)性強(qiáng);在卷積操作中將權(quán)重參數(shù)看作提取特征值的方式,且與位置無(wú)關(guān),故稱為權(quán)值共享,其原理是圖像中不同部分的局部特征值統(tǒng)計(jì)特性一致[6]。
CNN的核心結(jié)構(gòu)由卷積層、池化層和全連接層構(gòu)成[7],其中卷積層是用于對(duì)CNN特征值的提取。卷積操作方法為上一層的局部感受野和卷積層中每個(gè)神經(jīng)元進(jìn)行像素相連的加權(quán)求和,其計(jì)算公式為:
(1)
式(1)中:Xjl代表第l層中的第j特征圖;f(x)表示激活函數(shù);Xil-1為圖像的輸入;Wjli是卷積核的權(quán)值;bjl是偏置。
卷積核中Wjli的初始值一般為隨機(jī)生成;bjl的初始值一般為0,然后通過(guò)反向傳播的方式進(jìn)行訓(xùn)練調(diào)整。卷積核的尺寸為運(yùn)算的區(qū)域大小,而其中權(quán)值的大小表明了與特征提取的相關(guān)性大小。
池化層的主要作用是對(duì)輸入進(jìn)來(lái)的特征圖像進(jìn)行濃縮,減小特征圖像的尺寸,滿足提取主要特征值的目的,從而簡(jiǎn)化處理復(fù)雜度;通常用平均值采樣和最大值采樣兩種方式提取。本文的網(wǎng)絡(luò)結(jié)構(gòu)采用最大值采樣方式。
本文以花生種子作為研究對(duì)象,根據(jù)是否完好將花生分為2類:完好的花生、破損花生。采集700張花生圖像,每?;ㄉ鷪D像的分辨率為28×28像素,學(xué)習(xí)速率η=0.1。按上述特征進(jìn)行分類并手工添加標(biāo)簽,然后將這些圖像分為訓(xùn)練圖像和測(cè)試圖像,占比分別為80%和20%,即分別為560張和140張,且訓(xùn)練集和測(cè)試集花生圖像按上述2類(完好花生、破損花生)呈均勻分布。訓(xùn)練集里部分花生圖像如圖1所示。
由于花生種皮的顏色特征不同,果肉和果皮的顏色特征也不同,紋理特征也各有差異,根據(jù)人類視覺(jué)特性,故引入了Gabor濾波器,Gabor變換已被證明是在2D測(cè)不準(zhǔn)的情況下,對(duì)信號(hào)空間域和頻域的最好的說(shuō)明[8]。由Gabor函數(shù)形成的二維Gabor濾波器具有優(yōu)異的過(guò)濾性能,并且具有類似于生物視覺(jué)系統(tǒng)的特性。它具有易于調(diào)整方向和徑向的頻帶寬,并且容易調(diào)節(jié)在時(shí)域和頻率的中心頻率。此域能獲得最佳分辨率[9]。
圖1 完好花生和破損花生的圖像
對(duì)完好花生和破損花生分別采用顏色特征提取和紋理特征提取進(jìn)行預(yù)處理。由試驗(yàn)顯示可知,完好花生和破損花生的顏色特征和紋理特征均存在較大的差異,故綜合多方面的特征特性對(duì)種子進(jìn)行篩選。
2.2 CNN的構(gòu)建
CNN的總體結(jié)構(gòu)包含輸入層、卷積層、池化層、全連接層和輸出層[10]。建立如圖2所示的兩層卷積CNN,網(wǎng)絡(luò)中各層參數(shù)如表1所示。
卷積運(yùn)算處理的圖像數(shù)據(jù)通常都是以矩陣形式有序儲(chǔ)存的,且這些圖像之間耦合性低,卷積運(yùn)算部分對(duì)硬件設(shè)備要求高,故需選運(yùn)算速度快、圖像吞吐量大、數(shù)據(jù)存儲(chǔ)空間大的硬件設(shè)備。在此基礎(chǔ)上采用Matlab R2018b腳本語(yǔ)言進(jìn)行深度學(xué)習(xí)編程。
使用準(zhǔn)確率(accuracy)指標(biāo)來(lái)評(píng)價(jià)所提出分類算法的性能,定義如下:
(2)
將所建立的CNN在硬件平臺(tái)上訓(xùn)練花生種子圖像庫(kù),在迭代60次后訓(xùn)練集準(zhǔn)確率穩(wěn)定達(dá)到95.21%,測(cè)試60次后測(cè)試集準(zhǔn)確率為87.05%,網(wǎng)絡(luò)準(zhǔn)確率結(jié)果如圖3所示。
表1 CNN的參數(shù)
圖2 CNN的結(jié)構(gòu)圖
圖3 表1和圖2圖像訓(xùn)練測(cè)試結(jié)果
為了進(jìn)一步提高CNN對(duì)花生種子篩選的準(zhǔn)確率,提高收斂速度以滿足快速性,讓最終優(yōu)化網(wǎng)絡(luò)簡(jiǎn)單可行,并且這種優(yōu)化策略可以進(jìn)一步擴(kuò)展到相關(guān)的其他網(wǎng)絡(luò)學(xué)習(xí)算法中,故需要在兩個(gè)卷積層的基礎(chǔ)上對(duì)所建立的CNN進(jìn)行優(yōu)化[11]。
因?yàn)榫€性模型對(duì)網(wǎng)絡(luò)表達(dá)的力度不足,激活函數(shù)通常需非線性函數(shù),故本文加入非線性因素[12]。函數(shù)的選擇主要有以下3種。
Singoid函數(shù):
(3)
Tanh函數(shù):
(4)
ReLU函數(shù):
y=max(0,x)
(5)
由于ReLU函數(shù)較另外兩個(gè)函數(shù)具有更快的收斂速度,可以緩解梯度下降問(wèn)題,并加速訓(xùn)練,且ReLU函數(shù)max(0,x)中的x取極大值時(shí)不會(huì)飽和,有助于網(wǎng)絡(luò)持續(xù)學(xué)習(xí),因此本文CNN結(jié)構(gòu)中激活函數(shù)采用ReLU[13]。
overfitting是指當(dāng)圖像模型過(guò)分復(fù)雜時(shí),可以很好地“記憶”每一個(gè)訓(xùn)練圖像中隨機(jī)的部分但忘記去“學(xué)習(xí)”訓(xùn)練圖像中通用的趨勢(shì)。為了避免overfitting且提高泛化能力,本文采用L2 regularization的方法,其原理是在損失的函數(shù)中加入刻畫(huà)圖像模型復(fù)雜程度的指標(biāo)[14]。L2 regularization就是在代價(jià)函數(shù)后面再加上1個(gè)正則化項(xiàng):
(6)
式(6)中:C0代表原始的代價(jià)函數(shù);式中第2項(xiàng)是L2 regularization項(xiàng),表示所有參數(shù)ω平方的和除以訓(xùn)練集的樣本大小n;λ是正則項(xiàng)參數(shù),權(quán)衡正則項(xiàng)與C0項(xiàng)的比重;另外一個(gè)系數(shù)1/2是為了簡(jiǎn)化結(jié)果,因?yàn)楹竺婺且豁?xiàng)求導(dǎo)后會(huì)產(chǎn)生一個(gè)2,故與1/2相乘剛好湊整。L2 regularization能避免overfitting,推導(dǎo)如下。
(7)
(8)
可見(jiàn)L2 regularization項(xiàng)對(duì)b的更新沒(méi)有影響,但是對(duì)于ω的更新有影響:
(9)
(10)
圖4 ReLU+L2 regularization優(yōu)化前后準(zhǔn)確率對(duì)比
簡(jiǎn)單方法是拓展訓(xùn)練集數(shù)據(jù)時(shí)將每個(gè)訓(xùn)練圖像由一個(gè)像素來(lái)替代,不論是上一個(gè)像素,還是下一個(gè)像素,或者左右的像素都適用;其他的方法是改變亮度、改變分辨率、旋轉(zhuǎn)圖片、位移圖片、扭曲圖片等。本文把700張花生圖像人為增加到1500張花生圖像(好壞數(shù)目均勻),使用3.2中一樣的CNN進(jìn)行訓(xùn)練,因?yàn)槲覀兪窃谟?xùn)練原來(lái)的2.14倍的數(shù)據(jù),所以進(jìn)一步減少了overfitting的風(fēng)險(xiǎn)。訓(xùn)練結(jié)果為97.83%的準(zhǔn)確率,如圖5所示。
因拓展后的網(wǎng)絡(luò)幫助還是不夠理想,需進(jìn)一步插入1個(gè)額外的全連接層進(jìn)行優(yōu)化。插入額外的全連接層獲得98.37%的訓(xùn)練準(zhǔn)確率,訓(xùn)練結(jié)果如圖6所示。
圖5 拓展數(shù)據(jù)集優(yōu)化前后準(zhǔn)確率對(duì)比
圖6 插入額外的全連接層優(yōu)化前后準(zhǔn)確率對(duì)比
加入Dropout的CNN識(shí)別率高,本文采用這種方法可以有效地防止過(guò)擬合并提高網(wǎng)絡(luò)的泛化能力[16]。
Dropout的原理是在對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí)能隨機(jī)地移除單獨(dú)的激活值,讓訓(xùn)練模型對(duì)于個(gè)別損失更強(qiáng)大些,因此較少依賴訓(xùn)練數(shù)據(jù)的性質(zhì)。Dropout是一種非常有效的提高泛化能力、降低過(guò)擬合的方法,執(zhí)行Dropout 較容易,并且通常能帶來(lái)更快的學(xué)習(xí)。本文取0.5的默認(rèn)值,在測(cè)試階段,Dropout應(yīng)該被關(guān)閉,權(quán)重要調(diào)整到相應(yīng)大小,只需要對(duì)1個(gè)模型進(jìn)行Dropout優(yōu)化以降低誤差[17]。結(jié)果得訓(xùn)練集98.85%的準(zhǔn)確率,如圖7所示。
實(shí)驗(yàn)數(shù)據(jù)結(jié)果表明:加入Dropout的CNN模型的篩選準(zhǔn)確率高于原CNN的篩選準(zhǔn)確率。
圖7 Dropout優(yōu)化前后準(zhǔn)確率對(duì)比
組合網(wǎng)絡(luò)與隨機(jī)森林或者adaboost的集成方法類似,可利用這個(gè)方法創(chuàng)建神經(jīng)網(wǎng)絡(luò);組合網(wǎng)絡(luò)仿真實(shí)驗(yàn)可以驗(yàn)證在組合網(wǎng)絡(luò)環(huán)境下能否解決干擾問(wèn)題及控制問(wèn)題,能夠準(zhǔn)確分析網(wǎng)絡(luò)控制參數(shù),能有效提高組合網(wǎng)絡(luò)的控制能力和篩選的準(zhǔn)確率[18]。
篩選的準(zhǔn)確性靠組合網(wǎng)絡(luò)的抗干擾能力和控制結(jié)構(gòu)來(lái)保障,在滿足組合網(wǎng)絡(luò)實(shí)際需求的前提下可以縮短準(zhǔn)確性篩選時(shí)間[19]。優(yōu)化網(wǎng)絡(luò)的準(zhǔn)確率為99.42%,如圖8所示。
圖8 組合網(wǎng)絡(luò)優(yōu)化前后準(zhǔn)確率對(duì)比
優(yōu)化完成的網(wǎng)絡(luò)訓(xùn)練準(zhǔn)確率為99.42%,與訓(xùn)練準(zhǔn)確率為95.21%的未優(yōu)化網(wǎng)絡(luò)的訓(xùn)練結(jié)果對(duì)比如圖9所示。
用優(yōu)化前后的CNN對(duì)600張花生種子圖像測(cè)試60次后測(cè)試準(zhǔn)確率分別為87.05%和98.21%,測(cè)試結(jié)果對(duì)比如圖10所示。
圖9 最終優(yōu)化前后訓(xùn)練準(zhǔn)確率對(duì)比
圖10 最終優(yōu)化前后測(cè)試準(zhǔn)確率對(duì)比
優(yōu)化方案為:兩個(gè)卷積層+線性修正單元(ReLU)+L2 regularization+拓展數(shù)據(jù)集+插入額外的全連接層+Dropout+組合網(wǎng)絡(luò)。對(duì)優(yōu)化前后的準(zhǔn)確率進(jìn)行對(duì)比,可知最終優(yōu)化后的準(zhǔn)確率有明顯提高,在60次測(cè)試后準(zhǔn)確率達(dá)到98.21%。
優(yōu)化前的CNN測(cè)試600張花生種子圖像共用時(shí)18.41 s,1幅圖像的篩選時(shí)間平均為30.68 ms;優(yōu)化后的CNN測(cè)試600張花生種子圖像用時(shí)平均為9.85 s,每張花生圖像的篩選時(shí)間平均為16.4 ms/粒,表明提高了運(yùn)算速度。
本文提出了基于CNN的花生種子的篩選方法,與基于顏色值的圖像分類算法和基于深度學(xué)習(xí)的圖像分類算法相比,具有準(zhǔn)確率高、速度快、分類簡(jiǎn)單的優(yōu)點(diǎn)。CNN優(yōu)化方案為兩個(gè)卷積層+線性修正單元(ReLU)+L2 regularization+拓展數(shù)據(jù)集+插入額外的全連接層+Dropout+組合網(wǎng)絡(luò)。通過(guò)優(yōu)化進(jìn)一步提高了篩選花生種子的準(zhǔn)確率,且提高了網(wǎng)絡(luò)的運(yùn)算速度。仿真實(shí)測(cè)數(shù)據(jù)表明優(yōu)化后的CNN的篩選準(zhǔn)確率為98.21%,篩選速度為16.4 ms/粒,表明該系統(tǒng)準(zhǔn)確率高、篩選速度快。