国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CNN的玉米種子內(nèi)部裂紋圖像檢測系統(tǒng)

2022-06-21 08:21張宇卓王德成方憲法呂程序
農(nóng)業(yè)機械學報 2022年5期
關(guān)鍵詞:玉米種子裂紋準確率

張宇卓 王德成 方憲法 呂程序 董 鑫 李 佳

(1.中國農(nóng)業(yè)大學工學院, 北京 100083;2.中國農(nóng)業(yè)機械化科學研究院集團有限公司土壤植物機器系統(tǒng)技術(shù)國家重點實驗室, 北京 100083)

0 引言

玉米從收獲到銷售各環(huán)節(jié),易出現(xiàn)不同程度損傷[1-4],導致玉米種子內(nèi)部的胚乳側(cè)產(chǎn)生裂紋,影響種植品質(zhì)及效益。開發(fā)內(nèi)部裂紋的自動識別系統(tǒng),實現(xiàn)玉米種子內(nèi)部裂紋自動、高效識別,對提高我國玉米種子市場競爭力具有重要作用。

研究人員利用聲學及圖像的方法識別種子內(nèi)部裂紋,文獻[5-6]發(fā)現(xiàn),由于玉米種子內(nèi)部細胞空隙阻礙,基于聲學的內(nèi)部裂紋檢測效果有待進一步提升。文獻[7]對采集的圖像進行灰度、均值處理,獲得了原圖像以及經(jīng)過平滑拉伸后的差值圖,利用閾值分割實現(xiàn)了對種子內(nèi)部裂紋識別。文獻[8]提出了基于頻域分析的玉米種子內(nèi)部裂紋識別方法,對差值圖進行閾值分割和膨脹處理,實現(xiàn)了內(nèi)部應力裂紋識別。文獻[9]應用霍夫變換對種子裂紋進行邊緣檢測,實現(xiàn)了高準確率檢測,且平均速度為0.012 5粒/s。文獻[10]采用掩膜方法對種子進行區(qū)域提取,用Kirsch算子及用矢量化的機器學習完成對玉米種子內(nèi)部裂紋檢測,準確率在80%以上,處理速度不低于0.5粒/s。文獻[11-12]用機器學習的方式提取玉米種子內(nèi)部裂紋邊緣特征,檢測種子裂紋。已有研究多基于單粒種子進行識別,實現(xiàn)批量檢測的較少,模型都是基于傳統(tǒng)算法,尚未利用深度學習算法來提高檢測穩(wěn)定性與效率。

卷積神經(jīng)網(wǎng)絡(CNN)已在圖像領(lǐng)域廣泛應用,其網(wǎng)絡層次更加深入,對圖像特征提取時,不要求原始圖像具備固定的尺寸,不需要對原始圖像進行剪切壓縮等操作,提取到的特征信息更加完整和精確[13-14]。隨著卷積神經(jīng)網(wǎng)絡模型的逐步發(fā)展[15-19],模型的改進優(yōu)化也逐步適應各個應用層面。在農(nóng)業(yè)領(lǐng)域,CNN因在圖像檢測的優(yōu)勢,大量應用于農(nóng)作物的檢測上[20-23],CNN模型種類較多,需根據(jù)具體的檢測任務而對模型進行改進或?qū)δP瓦M行選擇分析。卷積神經(jīng)網(wǎng)絡模型較傳統(tǒng)算法模型不同,可調(diào)性較強,除了改變網(wǎng)絡結(jié)構(gòu),也可在設置參數(shù)上對其進行微調(diào)[24-27]。根據(jù)目標圖像的像素值以及顏色明暗對比,不同模型的卷積核尺寸數(shù)量、池化尺寸以及相應函數(shù)優(yōu)化器都會影響檢測效果,在玉米種子內(nèi)部裂紋的檢測上,目前的研究尚未探究CNN模型的檢測效果,所以本文對此進行實驗分析,對玉米種子內(nèi)部裂紋檢測系統(tǒng)加以研究。

1 圖像采集及數(shù)據(jù)集制作

1.1 圖像采集

如圖1所示,將玉米種子排列于置種板中,玉米種子內(nèi)部裂紋存在于種子內(nèi)部不易識別,需借助光源透射,內(nèi)部裂紋才能顯現(xiàn)。所以實驗在采集圖像時,對放置玉米種子的種板底安裝了光源板,每粒種子對應一個光源,調(diào)節(jié)光源的明暗度使玉米種子內(nèi)部裂紋清晰可見。

圖1 玉米種板和光源板Fig.1 Corn seed board and light source

選用CREVIS MV-CS30U型工業(yè)數(shù)字彩色相機,幀率為30幀/s。為了消除其他光對采集圖像的影響,將采集系統(tǒng)置于密閉空間內(nèi),采集如圖2所示的圖像。

圖2 種板采集圖像Fig.2 Collection diagram of seed board

1.2 圖像預處理及數(shù)據(jù)集制作

調(diào)整光源,使每個種板孔的種子達到最佳的檢測效果,采集多幅圖像進行預處理。采集的圖像尺寸為2 448像素×2 048像素,根據(jù)CV庫編寫腳本,批量去除種板外的多余像素。再對種板圖像進行切片,最終切分成100像素×100像素的玉米種子圖像。

將切分好的圖像按照圖3進行分類,兩類數(shù)據(jù)集分別采集1 000幅圖像,將訓練集和測試集的圖像數(shù)量比設為7∶3,保證其訓練驗證效果,經(jīng)過數(shù)據(jù)增強,分別對其中的圖像抽樣進行旋轉(zhuǎn)、添加噪聲、亮度增強等,每個數(shù)據(jù)集樣本擴增至6 400幅,共計12 800幅。

圖3 數(shù)據(jù)集制作Fig.3 Dataset production

2 實驗模型

2.1 模型選擇與分析

本文選用深度學習中經(jīng)典的卷積神經(jīng)網(wǎng)絡(CNN)模型AlexNet、VGGNet、Inception以及ResNet作對比實驗分析,探究適合在玉米種子內(nèi)部裂紋檢測中的最優(yōu)模型。

AlexNet與初代卷積神經(jīng)網(wǎng)絡LeNet相比在模型層次上進行了加深,在神經(jīng)網(wǎng)絡深度上進行了加大,并引入ReLU激活函數(shù)以及Dropout。AlexNet網(wǎng)絡結(jié)構(gòu)如圖4所示,網(wǎng)絡中存在8個帶權(quán)重的層,前5層是卷積層,后3層是全連接層,銜接1 000維Softmax函數(shù)作為輸出層,產(chǎn)生1 000類標簽的分布。

圖4 AlexNet網(wǎng)絡結(jié)構(gòu)示意圖Fig.4 Schematic of AlexNet network structure

VGGNet在AlexNet基礎上,卷積核擴展了通道數(shù),池化使得寬高變小,計算量和深度增加,VGGNet的主體網(wǎng)絡都使用了相同尺寸的卷積核(3×3)和最大池化尺寸(2×2)。

Inception系列盡管沒有對網(wǎng)絡深度改進調(diào)整,但對網(wǎng)絡結(jié)構(gòu)進行改進,使用1×1、3×3和5×5不同尺寸的卷積,增加了提取特征面積的多樣性和差異性,以此來減小過擬合。

ResNet提出了殘差單元設計。AlexNet、VGGNet網(wǎng)絡直接通過訓練學習出參數(shù)函數(shù),單層路徑加載權(quán)重學習。如圖5所示,殘差學習致力于使用多個有參網(wǎng)絡層學習輸入、輸出之間的殘差,通過跳層連接,將輸入的x值與輸出單元加在一起通過ReLU激活,收斂更快。

圖5 殘差單元圖Fig.5 Residual cell diagram

4種網(wǎng)絡在卷積層輸出的ReLU激活函數(shù)表達式為

f(x)=max(0,x)

(1)

由ReLU激活函數(shù)表達式可以看出,ReLU本質(zhì)上是將函數(shù)輸出值取最大值,負值變?yōu)?,正值無變化,因此又被稱為單側(cè)抑制。由于存在單側(cè)抑制,神經(jīng)網(wǎng)絡中的神經(jīng)元也具備了潛在的激活性。4種網(wǎng)絡在全連接層都用到的Softmax回歸層的表達式為

(2)

式中aj——第j個節(jié)點的輸出值

T——輸出節(jié)點的個數(shù)

Softmax函數(shù)能夠?qū)⒍喾诸惖慕Y(jié)果轉(zhuǎn)換為范圍在[0,1]、和為1的概率輸出結(jié)果。

2.2 環(huán)境配置及參數(shù)選擇

使用基于Pytorch的深度學習框架,Python 3.7編程語言,在Pycharm搭建4種CNN模型,用Anonconda配置環(huán)境添加模型訓練及測試的依賴。Pytorch作為一種可塑性較強的動態(tài)API,相較于Tensorflow神經(jīng)網(wǎng)絡更易擴充展開,在Windows 10操作系統(tǒng)下通過Pycharm運行。

采用4組模型AlexNet、VGG11、InceptionV3、ResNet18,選取沖量為0.9的隨機梯度下降(SGD)為優(yōu)化算法,學習率設為1×10-5,訓練和驗證的批尺寸為32。訓練的損失通過交叉熵損失函數(shù)計算,交叉熵損失函數(shù)公式為

L=-[yilgpi+(1-yi)lg(1-pi)]

(3)

式中pi——樣本i預測為正類的概率

yi——符號函數(shù),樣本i為正類取1,反之取0

其訓練損失的梯度也較小,交叉熵損失可以避免這種梯度衰退,配合后續(xù)的Softmax函數(shù)達到更好的分類效果。訓練隨迭代輪數(shù)增加,準確率逐漸收斂于100%,損失值逐漸收斂于0。

3 實驗結(jié)果與分析

圖6 模型訓練曲線Fig.6 Model training curves

模型訓練實驗結(jié)果如表1所示,在控制其他條件相同下,取迭代輪數(shù)100、200、250進行分析。如圖6所示,VGG11的網(wǎng)絡深度較高,使用參數(shù)過多,訓練迭代一輪用時較多,驗證集準確率和訓練集準確率在100輪內(nèi)存在較大差異,100輪后驗證準確率大幅提升,訓練集損失值和驗證集損失值在100輪以上有時會隨著準確率提升而提升,這就發(fā)生了過擬合現(xiàn)象,加載出的權(quán)重文件不利于識別。驗證集準確率能更好地反映最后識別準確率,迭代100輪時,AlexNet和ResNet18的驗證集準確率都超過了90%。在200輪后,InceptionV3和AlexNet的驗證集準確率都達到了97%,ResNet18達到了99.62%,綜合圖6的驗證集準確率和訓練集準確率曲線可以看出,InceptionV3的曲線集合誤差較高,變化大,泛化能力差,易發(fā)生梯度消失,特殊點的存在導致無法綜合反映其準確效果,同時在迭代一輪的時間上也較長。AlexNet和ResNet18訓練時間短效率高,訓練集準確率和驗證集準確率差異較小,兩者的訓練集、驗證集準確率損失值曲線都隨著迭代輪數(shù)穩(wěn)步變化,泛化能力較好,未發(fā)生過擬合。

表1 模型訓練實驗結(jié)果Tab.1 Experimental results of model training

從實驗材料中另采集600幅有裂紋的玉米種子圖像和600幅無裂紋的玉米種子圖像作為測試數(shù)據(jù)。分別加載上述迭代250輪的AlexNet和ResNet18的權(quán)重,進行測試,實驗結(jié)果如表2所示, AlexNet在單粒種子識別時間上比ResNet18短,但準確率上ResNet18高于AlexNet,對裂紋的識別準確率更高,能達到95.04%,對無裂紋的識別準確率能達到98.06%。為了比較深度學習算法和傳統(tǒng)算法對玉米種子內(nèi)部裂紋的識別準確率,選取兩種泛化能力較好的傳統(tǒng)算法SVM(支持向量機)和BP(反向傳播)神經(jīng)網(wǎng)絡,對相同的樣本進行測試,結(jié)果如表2所示,在對玉米種子內(nèi)部裂紋識別準確率上,兩種傳統(tǒng)算法模型均低于卷積神經(jīng)網(wǎng)絡模型。

表2 傳統(tǒng)模型與CNN模型訓練對比結(jié)果Tab.2 Comparison results of traditional model and CNN model training

ResNet網(wǎng)絡雖然比AlexNet和Inception網(wǎng)絡更深,但添加了殘差單元模塊,權(quán)重計算上呈跳躍式輸出,結(jié)合直接計算分析能有效抑制過度擬合帶來的問題。在ResNet網(wǎng)絡的輸入中,沒有過度追求像素級別的識別,而是注重整體性分辨率,這也是ResNet相較于其他網(wǎng)絡在保證了準確率的同時,訓練速度也較快。綜上所述,玉米種子內(nèi)部裂紋模型訓練上選擇ResNet18,為了更好地在網(wǎng)絡中選擇合適的參數(shù),同時比較學習率為10-3、10-4、10-5、10-6,批尺寸為16、32、64、128時模型訓練效果,共計12組實驗進行對比分析。訓練發(fā)現(xiàn),學習率控制在10-3和10-4時,選擇較大的批尺寸才能滿足訓練精度,批尺寸16、32、64都無法滿足,而批尺寸128大幅增加訓練時間。學習率設置為10-6時,4組批尺寸都出現(xiàn)了過度擬合問題。綜合比較后,選擇學習率為10-5、批尺寸為32的ResNet18模型,將迭代250輪訓練的權(quán)重,引入批量檢測玉米種子內(nèi)部裂紋的算法中。

4 玉米種子內(nèi)部裂紋識別系統(tǒng)設計

玉米種子內(nèi)部裂紋自動識別裝置樣機如圖7所示,完成機械裝置的搭建以及控制模塊的安裝,利用wxPython庫編寫玉米種子內(nèi)部裂紋識別軟件控制裝置各個單元,配合識別算法可視化檢測結(jié)果,完成整體檢測。種子內(nèi)部裂紋識別裝置示意圖如圖8所示,整體分別由運輸單元、下采圖單元、上采圖單元、下料單元、機架以及PC操作平臺構(gòu)成,連接串口通信,通過可視化界面,控制整個裝置的運行。 裝置整體用黑色噴漆覆蓋,利于裝置光源對種子的投射,防止其他光對實驗進行干擾,機架自身符合力學要求,能夠承載電機控制模塊以及各個單元。

圖7 玉米種子內(nèi)部裂紋自動識別裝置實物圖Fig.7 Physical picture of corn seed internal crack automatic identification device

圖8 種子內(nèi)部裂紋識別裝置結(jié)構(gòu)示意圖Fig.8 Seed internal crack identification device1.機架 2.下料單元 3.上采圖單元 4.下采圖單元 5.運輸單元

玉米種子內(nèi)部裂紋檢測裝置總體工作原理:玉米種子進種到種板,每粒種子分別落至種板上的孔,PC操作界面控制絲杠滑臺帶動種板移動,當種板移動至下采圖單元時,控制平臺給出信號使絲杠停止移動,同時,下采圖單元的光源會接收信號打開光源,每一個LED光源都對應一粒種子,種子被光源透射后,內(nèi)部裂紋顯現(xiàn),相機接收信號拍攝種板圖,種板位于玻璃板上方,所以相機拍攝的種板圖不受影響。下采圖單元的相機拍攝出的種板圖經(jīng)過SDK協(xié)議傳輸?shù)絇C操作平臺的識別算法中進行識別,每粒種子的識別結(jié)果都會輸出在可視化界面。由于種子隨機落入種板,種子內(nèi)部裂紋位于胚乳側(cè),下采圖單元的相機自下向上拍攝種子圖像,能識別出胚乳側(cè)在下方的玉米種子內(nèi)部裂紋,不能識別胚乳側(cè)朝上的種子裂紋。為了完全檢測出玉米種子是否存在內(nèi)部裂紋,需要自上而下拍攝種子圖像。

下采圖單元采圖完成后,PC操作平臺對絲杠滑臺發(fā)出信號,滑臺帶動種板進入上采圖單元,與下采圖單元同理,網(wǎng)絡對每粒種子進行識別得出檢測結(jié)果,這時胚芽側(cè)朝下、胚乳側(cè)朝上的玉米種子內(nèi)部裂紋識別完成。識別算法中引入二次判斷機制:每粒種子在兩次識別過程中,若兩次均為無裂紋,則最終判定為無裂紋,若兩次識別結(jié)果有一次是有裂紋,則最終判定為有裂紋,最后平臺完成計算,輸出最終的識別結(jié)果,在左上方分布玉米種子對應的位置點,根據(jù)顏色不同可判斷對應位置的玉米種子是否為有裂紋,判定完成后結(jié)束檢測任務,最終軟件輸出的界面如圖9所示。

圖9 玉米種子內(nèi)部裂紋識別軟件界面圖Fig.9 Interface diagram of maize seed internal crack identification software

當前批次檢測完成后,PC操作平臺發(fā)送給絲杠滑臺信號,將這一批次種子全部排出,滑臺隨即原路返回,準備下一批次的檢測任務。從實驗種子選取400粒,分為10組,每組40粒,檢測結(jié)果如表3所示。10組中有裂紋的平均識別準確率為94.25%,無裂紋的平均識別準確率為97.25%,略低于上述的單粒種子識別準確率,分析其原因是種板在進行預處理與切片時,圖像進行統(tǒng)一處理,多余的像素值會影響模型提取特征,增加了處理操作也會讓魯棒性變?nèi)?,光源的透射也無法對40粒種子進行統(tǒng)一的效果增強,影響了特征提取過程,多次加載模型權(quán)重導致泛化性不足同樣會影響準確率。40粒玉米種子的檢測平均識別時間為13.4 s,滿足工業(yè)生產(chǎn)中對種子的篩選效率。

表3 批量檢測玉米種子內(nèi)部裂紋識別準確率Tab.3 Accuracy rate of batch detection of internal cracks in corn seeds %

5 結(jié)論

(1)制作玉米種子數(shù)據(jù)集進行訓練,對4種卷積神經(jīng)網(wǎng)絡實驗分析后,初步選擇AlexNet和ResNet18,進行性能比較,兩者種子內(nèi)部裂紋識別準確率均大幅優(yōu)于SVM和BP神經(jīng)網(wǎng)絡模型,驗證了在種子內(nèi)部裂紋檢測問題上,深度學習算法模型優(yōu)于傳統(tǒng)算法模型。雖然ResNet18在平均單粒種子識別時間上高于AlexNet,為4.42 s,但ResNet18的識別準確率更高,有裂紋種子的識別準確率為95.04%,無裂紋種子的識別準確率為98.06%。

(2)實驗比較后認為ResNet18的檢測性能更好,訓練后的權(quán)重文件用于后續(xù)系統(tǒng)測試。本文設計了一種批量檢測玉米種子內(nèi)部裂紋的方法,并開發(fā)了識別玉米種內(nèi)部裂紋軟件,通過控制檢測裝置,使光源投射入種板內(nèi)種子,通過兩次采集種板圖,分別送入設計的識別算法中進行預處理、切片、識別,最后可視化界面中輸出結(jié)果。

(3)根據(jù)檢測玉米種子內(nèi)部裂紋的實際情況,搭建檢測機械裝置,安裝電機控制模塊以及編寫可視化界面,利用串口通信進行控制,在識別算法中添加二次判斷機制,提高檢測性能,完成玉米種子內(nèi)部裂紋圖像檢測系統(tǒng)。

(4)批量檢測玉米種子內(nèi)部裂紋系統(tǒng)實驗進行10組,有裂紋種子的平均識別準確率為94.25%,無裂紋種子的平均識別準確率為97.25%,略低于上述的單粒種子識別準確率,分析原因是種板在進行預處理和切片時,圖像進行統(tǒng)一處理后,多余像素值會影響模型提取特征,光源的散射無法實現(xiàn)對40粒種子統(tǒng)一地增強效果,再次影響特征提取過程。多次加載模型的權(quán)重同樣也會導致網(wǎng)絡對種子檢測的泛化性不足。

猜你喜歡
玉米種子裂紋準確率
不同條件下對濟寧地區(qū)玉米種子萌發(fā)特性的研究
風機增速齒輪含初始裂紋擴展特性及壽命分析
有了裂紋的玻璃
有了裂紋的玻璃
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
多層螺旋CT技術(shù)診斷急性闌尾炎的效果及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
頸椎病患者使用X線平片和CT影像診斷的臨床準確率比照觀察
貯藏中玉米種子活力與壽命的問題
心生裂紋