劉琳茜,楊亞寧
(大連民族大學(xué) 信息與通信工程學(xué)院,遼寧 大連 116605)
玉米多種植于中國東北部地區(qū),是中國重要的糧食作物和飼料作物。近年來,中國玉米播種面積及其產(chǎn)量呈現(xiàn)穩(wěn)步上升態(tài)勢, 2020年中國玉米產(chǎn)量占比達到23.02%,位居世界第二。由于玉米種子顆粒小,除了存在發(fā)霉、破損等問題還極易與微小雜質(zhì)混合,所以玉米行業(yè)發(fā)展更離不開玉米種子品質(zhì)的篩選。
國內(nèi)許多學(xué)者對玉米種子品質(zhì)篩選展開了相關(guān)研究。閆彬等[1]提出采用的基于小波變換模極大值的邊緣檢測算法凸顯玉米種子的裂紋區(qū)域平均準(zhǔn)確率達到90.6%,該方法局限于檢測種子是否存在裂紋,無法判斷是否存在發(fā)霉和其他病變;范曉飛等[2]提出基于改進YOLOv4的目標(biāo)檢測模型,同時結(jié)合四通道多光譜圖像,綜合評價指標(biāo)達到93.09%,但該方法僅實現(xiàn)了同時對多粒玉米種子品質(zhì)好、壞的分類;王林柏等[3]提出一種基于分水嶺算法結(jié)合卷積神經(jīng)網(wǎng)絡(luò)對玉米種子進行品質(zhì)檢測的方法,綜合評價指標(biāo)達到94.39%,該方法采用分水嶺算法將多粒種子進行分割,耗時較長,僅實現(xiàn)對玉米種子質(zhì)量好、壞的分類。并未對質(zhì)量存在問題的玉米種子進行是否存在雜質(zhì)的分類。
為提高玉米種子質(zhì)量檢測的精準(zhǔn)率,以單顆玉米種子為研究對象,利用數(shù)據(jù)增強[3]的方法對原始數(shù)據(jù)集擴充,結(jié)合Resnet50模型對玉米實現(xiàn)分類,與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)(CNN)[4]模型不同的是加入了殘差模塊,可以有效減少計算量,提高準(zhǔn)確率,實現(xiàn)對玉米種子品質(zhì)的檢測。通過實驗數(shù)據(jù)對比,選擇綜合評價指標(biāo)最優(yōu)的模型,為玉米播種技術(shù)發(fā)展提供新的思路。
研究的數(shù)據(jù)來源于公開數(shù)據(jù)庫,原始數(shù)據(jù)集共842張,包括“Good_seed”180張、“Bad_seed”202張、“Side_by_side”460張。使用數(shù)據(jù)增強的方式,擴大數(shù)據(jù)集如圖1。其中包括對圖像進行隨機角度的旋轉(zhuǎn);對圖像亮度進行調(diào)整;對圖像進行隨機裁剪,缺失部分選用黑色像素塊填補;對圖像加入椒鹽噪聲、高斯噪聲;對圖像隨機刪除一個矩形區(qū)域,通過黑色像素塊填補(Cutout)等方法進行數(shù)據(jù)增強。

圖1 數(shù)據(jù)增強后的數(shù)據(jù)集
數(shù)據(jù)集如圖2。通過數(shù)據(jù)增強方法最終得到“Good_seed”1 399張、“Bad_seed”981張、“Side_by_side”2 956張,總計5 336張。其中“Bad_seed”包括不同程度發(fā)霉的玉米種子、顆粒不完整的玉米種子和變異的玉米種子;“Side_by_side”包括玉米須、玉米葉、其他小顆粒雜質(zhì)等。

圖2 數(shù)據(jù)集
對建立的玉米種子質(zhì)量檢測的模型進行評估見表1。評估標(biāo)準(zhǔn)包括召回率(Recall)、精確率(Precision)以及綜合評價指標(biāo)(F1)三個指標(biāo)。

表1 實驗評價指標(biāo)公式對照表
(1)TP(真正例):樣本是正例,預(yù)測結(jié)果為正例;
(2)FP(假正例):樣本是反例,預(yù)測結(jié)果為正例;
(3)TN(真反例):樣本是反例,預(yù)測結(jié)果為反例;
(4)FN(假反例):樣本是正例,預(yù)測結(jié)果為反例;
研究過程如圖3。灰度處理階段,將原始圖像先分解成由紅色(Red)、綠色(Green)和藍色(Blue)構(gòu)成的色彩空間,后轉(zhuǎn)換成由色調(diào)(Hue)、飽和度(Saturation)和明度(Value)構(gòu)成的三通道圖像。使用腐蝕、膨脹對圖像進行預(yù)處理,為增強原圖像中發(fā)霉部分和沒有發(fā)霉部分的對比度,采用圖像增強技術(shù)。使用均值濾波器mean_image對圖像進行濾波,通過計算窗口區(qū)域像素的平均值來代替原值,對灰度圖像的灰度值進行平滑處理。使用算子進行濾波,得到濾波后的圖像灰度值,對比原圖像,計算得到新的灰度值。新的灰度值等于原灰度值減去濾波后的灰度值乘上對比系數(shù)加原圖像灰度值。最后采用Blob分析的方法完成區(qū)域的篩選以及背景的分割。缺陷分類檢測采用深度學(xué)習(xí)的方法進行模型訓(xùn)練。

圖3 研究過程概況
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種帶有卷積結(jié)構(gòu)的深度網(wǎng)絡(luò)模型,通過卷積結(jié)構(gòu)的堆疊達到降低網(wǎng)絡(luò)占用量。標(biāo)準(zhǔn)的CNN包括輸入層(Input)、卷積層(Conv)、池化層(Pool)、全連接層(Fc)和分類層如圖4。

圖4 CNN過程示意圖
卷積層可以提取出圖像的特征如公式(1)所示,輸入224×224×3的圖像,經(jīng)過64個7×7的卷積核進行卷積計算,其中參數(shù):補零圈(padding)為3,步長(stride)為2,則輸出為112×112×64的特征圖。卷積核越大,感受野越大,不同的感受野可以重疊,因此得到的圖像信息越多,得到的特征越明顯,卷積示意圖如圖5。

圖5 卷積示意圖
卷積參考公式:
(1)
式中,函數(shù)g作為功率器,f為圖像信號。
最大池化(max-pooling,MP)方法如公式(2)所示,保留主要的特征,經(jīng)過池化后的圖像尺寸變?yōu)?6×56×64,如圖6。最大池化參考公式:

圖6 最大池化原理示意圖
(2)
全連接層中各節(jié)點與上一層神經(jīng)元節(jié)點連接,起到分類作用。分類層選用Softmax分類器其原理如公式(3)所示,對概率分布進行歸一化處理,從而達到分類的目的。
Softmax定義:
(3)
SqueezeNet是Han[6]等人提出的輕量級CNN模型,該模型通過使用多個1×1卷積核代替3×3卷積核,從而達到參數(shù)計算量的優(yōu)化。其模型結(jié)構(gòu)如圖7。其中每一層卷積采用了1×1和3×3的混合卷積核,步長(stride)均為1,3×3卷積補零圈(padding)參數(shù)為1。混合卷積核中間采用Concat函數(shù)[6]連接,計算通道數(shù)量,增加原圖像的特征數(shù),實現(xiàn)多尺度特征融合。卷積層與激活函數(shù)相結(jié)合,輸出后進行最大池化,細化特征。

圖7 SqueezeNet模型
經(jīng)過對CNN的不斷研究,從Le Net 的5層卷積發(fā)展到Google Net 22層卷積,研究發(fā)現(xiàn)一味地擴大網(wǎng)絡(luò)層數(shù)會出現(xiàn)隨機梯度消失的問題。為解決這一問題,深度殘差網(wǎng)絡(luò)Resnet50誕生。Resnet50模型與VGG等其他傳統(tǒng)CNN模型相比增加了殘差模塊如圖8。設(shè)W1、W2分別代表兩層Weight layer的權(quán)重,通過引入恒等映射將底層特征x與上層網(wǎng)絡(luò)相聯(lián)系,假設(shè)網(wǎng)絡(luò)輸入為x1,H(x)表示恒等映射,f表示relu激活函數(shù),則輸出x1+1可以表示為公式(5):

圖8 殘差網(wǎng)絡(luò)結(jié)構(gòu)
y1=H(x1)+F(x1,W1),
(4)
x1+1=f(y1)。
(5)
殘差模塊分為恒等殘差塊(Identity Block)和卷積殘差塊(Conv Block)。Resnet50的詳細模型框架如圖9。其中輸入圖像尺寸為224×224×3,經(jīng)過一個7×7的卷積層,補零圈(padding)為3,步長(stride)為2,輸出為112×112×64;經(jīng)過一個2×2的最大池化層(maxpool)步長為2,輸出為56×56×64;經(jīng)過四個Block(依次為:Conv2_x、Conv3_x、Conv4_x、Conv5_x),其中虛線代表經(jīng)歷一個1×1的卷積殘差塊;最后經(jīng)過平均池化層以及全連接層達到提取特征分類的作用。

圖9 Resnet50模型
每一層卷積、池化層后加入激活函數(shù)和BatchNorm。其中激活層采用ReLu函數(shù),相較于sigmoid和tanh函數(shù),ReLu函數(shù)具有收斂速度快的優(yōu)點。ReLu函數(shù)的導(dǎo)數(shù)在負半?yún)^(qū)顯示為0,可以達到單側(cè)抑制的效果,大大提高計算效率。BatchNorm對上一節(jié)點輸出數(shù)據(jù)進行歸一化。
對神經(jīng)網(wǎng)絡(luò)各層結(jié)點的激活值求解后,計算樣本與神經(jīng)網(wǎng)絡(luò)輸出層之間的殘差[7]以及隱藏層各層的殘差如公式(6)和(7)所示,最后計算每層網(wǎng)絡(luò)的權(quán)重和偏置的偏導(dǎo)數(shù)如公式(8)和(9)所示。使用優(yōu)化算法即梯度下降法不斷迭代,對權(quán)重和偏置值不斷更新優(yōu)化,使損失函數(shù)達到最小值,完成神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。
δ(nl)=-(y-h(nl))·f′(w(nl-1)h(nl-1)+b(nl-1)),
(6)
δ(i)=-((wi)Tδ(i+1))·f′(w(i-1)h(i-1)+b(i-1)),
(7)
(8)
(9)
式中:δ(i)表示第i層的每個神經(jīng)元節(jié)點的殘差值;h(i)表示第i層神經(jīng)元輸出值;w表示權(quán)重;b表示誤差;J(x)函數(shù)表示損失函數(shù);(x,y)代表單一樣本。
根據(jù)采集的圖像總數(shù),設(shè)置參數(shù)見表2。受硬件設(shè)施限制,訓(xùn)練的數(shù)據(jù)樣本個數(shù)(BatchSize)均設(shè)為24;學(xué)習(xí)率(LearningRate)決定如何對梯度進行加權(quán);在更新?lián)p失函數(shù)參數(shù)時,動量[8](Momentum)規(guī)定了先前梯度如何對權(quán)重更新。如果超參數(shù)“weight prior”非零,則將正則化項添加到損失函數(shù)中。

表2 參數(shù)設(shè)置
按照數(shù)據(jù)集拆分比例不同,將實驗分成見表3所示的三組。對三組數(shù)據(jù)分別使用SqueezeNet訓(xùn)練模型和 Resnet50訓(xùn)練模型訓(xùn)練。模型訓(xùn)練過程采用每經(jīng)歷4次迭代對損失函數(shù)(Loss)下降曲線和錯誤率(top1_error)曲線進行圖像繪制。圖10~15分別表示Resnet50模型和SqueezeNet模型訓(xùn)練的損失函數(shù)下降曲線(紅色曲線)和錯誤率下降曲線(藍色曲線)

表3 實驗分組

圖10 第一組數(shù)據(jù)與迭代次數(shù)之間的關(guān)系

圖11 第二組數(shù)據(jù)與迭代次數(shù)之間的關(guān)系

圖12 第三組數(shù)據(jù)與迭代次數(shù)之間的關(guān)系

圖13 第四組數(shù)據(jù)與迭代次數(shù)之間的關(guān)系

圖14 第五組數(shù)據(jù)與迭代次數(shù)之間的關(guān)系

圖15 第六組數(shù)據(jù)與迭代次數(shù)之間的關(guān)系
根據(jù)數(shù)據(jù)集的劃分,隨機從驗證集中抽選出10%的玉米種子圖像對第一組和第二組分別進行數(shù)據(jù)評估,如表4。綜合評價指標(biāo)分別為:96.45%和92.15%;隨機從驗證集中抽選出20%的玉米種子圖像對第三組和第四組分別進行數(shù)據(jù)評估,綜合評價指標(biāo)分別為:94.70%和92.24%;隨機從驗證集中抽選出30%的玉米種子圖像對第五組和第六組分別進行數(shù)據(jù)評估。綜合評價指標(biāo)分別為:94.99%和93.49%。結(jié)合損失函數(shù)下降曲線和錯誤率下降曲線,最終采用Resnet50模型,將90%數(shù)據(jù)集用于訓(xùn)練,10%數(shù)據(jù)集用于測試,最終結(jié)果最優(yōu)。

表4 評價結(jié)果 %
經(jīng)多組實驗對比發(fā)現(xiàn),將Resnet50模型應(yīng)用于玉米種子質(zhì)量檢測中可以有效提高和檢測準(zhǔn)確率。除了可實現(xiàn)玉米種子好、壞的分類,還可以實現(xiàn)排除與玉米種子極為相似的雜質(zhì),綜合評價指標(biāo)達到96.45%,相較于傳統(tǒng)卷積模型SqueezeNet有所提高,該方法有望為玉米播種技術(shù)的發(fā)展提供了新的便利。