?

基于改進YOLOX的小麥不完善粒檢測技術研究

2023-10-24 08:45周永強
關鍵詞:籽粒卷積小麥

吳 蘭,周永強

1.河南工業大學 機電工程學院,河南 鄭州 450001

2.河南工業大學 電氣工程學院,河南 鄭州 450001

開展小麥不完善粒檢測技術的研究,對于小麥評級和糧食儲藏品質檢測具有重要現實意義。小麥不完善粒是指受到損傷但仍有食用價值的籽粒,包括破損粒、蟲蝕粒、病斑粒(黑胚粒以及赤霉病粒)、生芽粒、霉變粒等[1]。傳統小麥不完善粒檢測方法主要有人工檢測和傳統機器學習。其中人工檢測方法由質檢員進行人工識別判斷,主觀性強、費時費力、時效性較差[2-3]。傳統機器學習則是一種快速而無損的檢測方法[4]。左衛剛等[5]設計了具有多層感知器的FFBP-ANN模型用于識別籽粒,分類準確率達99%。蔣雪松等[6]對麥粒光譜圖像預處理后,建立LDA識別模型,對霉變粒識別率達90.6%。Olgun等[7]根據提取籽粒的密集尺度不變特征,使用支持向量機算法進行分類,準確率為88.33%。但這些傳統方法需要人工提取籽粒特征并設計分類器模型,操作過程復雜。

隨著計算機技術和卷積神經網絡(CNN)的迅速發展,許多研究者將深度學習技術應用到小麥不完善粒識別領域中。一些學者基于數據增強和融合的方法對圖像進行處理,輸入到分類網絡進行識別。郝傳銘等[8]將小麥高光譜圖像與彩色圖像匹配融合后輸入到VGG網絡進行識別,準確率較僅使用彩色圖像和高光譜圖像分別提高3.34%和6.08%。賀杰安等[9]使用交替最小化算法對籽粒特征進行細節增強,輸送到CNN中進行識別,準確率較經典網絡提高7百分點。于重重等[10]采集多波段的小麥高光譜圖像,并進行邊緣降噪處理,實現對4類不完善粒的無損檢測。張博[11]對單籽粒圖像進行樣本擴充,使用引入殘差結構的CNN模型實現對不完善粒的平均識別率達90.6%。但上述方法均需要對圖像進行復雜的預處理,耗時較長,識別率有待提升,且高光譜設備成本高。

部分學者對經典分類網絡進行改進,用以提升不完善粒的識別率。如余樂等[12]通過增加卷積核的數量提高LeNet-5網絡的性能,但數據樣本較小,模型對3種小麥不完善粒的平均識別準確率達93%。曹婷翠等[13]利用空間金字塔池化(SPP)對普通CNN網絡進行改進,并采用雙面識別方案,對完善粒、破損粒和病斑粒的平均識別準確率達到90%。祝詩平等[14]使用加入Droupout層的AlexNet網絡建立小麥檢測模型對2類不完善粒進行識別,并與LeNet-5、VGG-16、ResNet-34和AlexNet經典網絡對比,該改進模型識別效果最佳,準確率高達98%。張慶輝等[15]將多粒小麥圖像分割為單籽粒,輸入到VGG16、VGG19和ResNet50的融合模型中進行特征提取,使用深度信念網絡(DBN)代替隱藏層和softmax識別不完善粒,準確率達91.86%。以上這些方法樣本的獲取需要進行煩瑣的單籽粒分割操作,增加了識別時間。同時,改進后的網絡無法實現對多籽粒的同時識別并進行計數,識別效率較低。

深度學習目標檢測算法能夠實現多類別目標快速識別檢測和解決多目標粘連的問題,但目前目標檢測算法多應用于麥穗檢測方向[16-18],在小麥籽粒檢測方向的研究較少。雖然,WU等[19]通過優化Faster R-CNN模型對小麥有效分蘗中的籽粒進行檢測和計數。宋懷波等[20]在YOLOv5網絡基礎上,引入壓縮激勵模塊提高檢測精度,對正常粒的平均檢測精度達到90%。但是以上模型僅檢測完善粒,籽粒類型單一,泛化能力較弱,難以用于多類別的不完善粒糧食質量檢測。

為此,以多類別的小麥不完善粒為研究對象,提出一種改進YOLOX的小麥不完善粒檢測方法。針對YOLOX應用在不完善粒檢測中,存在模型計算量大,對不同大小的不完善粒識別效果差的問題,在原網絡主干部分添加坐標注意力機制(coordinate attention,CA)增強不完善特征;使用加權雙向特征金字塔(BiFPN)結構,使不同大小籽粒的多尺度特征有效融合;使用深度可分離卷積對網絡進行輕量化處理,減少參數量,實現對多籽粒的快速準確識別。該檢測模型提供了一種批量、連續的不完善粒檢測方法,為多類別小麥不完善粒的實時檢測和計數提供技術參考。

1 材料與儀器

1.1 試驗材料

豫農908、鄭麥618和鄭麥136:許昌市糧食質量檢測中心。試驗前從小麥中挑選出完善粒、破損粒、生芽粒、蟲蝕粒、病斑粒(本研究選黑胚粒)。

1.2 儀器與設備

MV-CS050-10GC工業相機、MVL-HF0628M-6MPE鏡頭:杭州??低晹底旨夹g股份有限公司;PFM-HX3475CO10W-A-1A2環形光源:浙江華??萍脊煞萦邢薰?。

2 圖像采集與數據集制作

2.1 圖像采集

由于公開數據集COCO、ImageNet和PASCALVOC均不包含本研究的對象,因此,手動采集制作小麥圖像數據集。圖像采集裝置由5部分構成,包括工業相機、亮度可調節的環形光源、升降桿、載物板和計算機。同時,每次選取1~20粒,21~40粒,41~60粒的小麥樣品隨機撒在載物板上,在90°角度和不同高度下(10、15、20 cm)拍攝不同密集程度的小麥籽粒原始圖像,共獲得3 572幅圖像。實際場景下,光線和噪聲等條件無法保證絕對均勻,為了使模型適應性更強,通過變暗、引入椒鹽噪聲、旋轉和顏色空間轉換等方法對小麥籽粒進行數據增強,增加樣本多樣性。每張圖片隨機使用1~2種方法進行增強,原圖由原來的3 572幅篩選后擴充至6 000張。圖1為部分經過數據增強的小麥圖像。

圖1 圖像增強后的小麥籽粒圖像Fig.1 Images of wheat kernels enhanced by different methods

2.2 數據集構建

采用LabelImg工具對小麥圖像進行標注,生成與其對應的XML標簽文件。將圖像按照7∶2∶1隨機劃分為訓練集4 200張、驗證集1 200張、測試集600張,各類小麥籽粒的簡稱和數量如表1所示。

表1 小麥籽粒類型簡稱和數量Table 1 Abbreviation and number of different wheat grain types

3 小麥不完善粒檢測方法

3.1 改進的YOLOX模型

YOLOX模型由主干特征提取網絡(Backbone)、特征融合網絡(PANet)和預測端的解耦檢測頭(Yolo Head)組成,并引入無先驗框和正負樣本匹配策略(Sim OTA)使網絡檢測性能得到有效提升。該模型在公開數據集上具有較好的檢測性能,但對于小麥圖像中多類別不完善粒的檢測和計數,仍有計算量大、對不同大小的不完善粒識別效果差的問題。

為此,基于YOLOX算法將主干網絡中的普通卷積替換為深度可分離卷積,通過逐層和逐點的不同卷積方式減少模型計算參數量。同時,為提高模型精度,在YOLOX的主干特征網絡中CSP模塊與卷積塊之間添加坐標注意力機制(coordinate attention,CA),使模型更加關注籽粒細節特征,提高不完善粒的特征表達能力。此外,在特征融合部分使用加權雙向特征金字塔結構進行雙向跨尺度連接,提高模型的特征學習能力,增強特征的魯棒性。提出的算法檢測框架如圖2所示。算法檢測流程:采集多個品種的小麥籽粒圖像進行圖像增強和數據標注,構建小麥數據集,并劃分為訓練集、驗證集和測試集;將訓練集圖片輸入到引入CA和使用加權雙向特征金字塔結構及深度可分離卷積(Depthwise separable convolution,DwConv)進行改進的YOLOX網絡中進行訓練,從而獲得檢測模型的最優訓練權重;利用訓練得到的模型權重對測試集圖片進行檢測,得到各類別不完善粒的數量和置信度。

圖2 算法的檢測框架Fig.2 Detection framework of the proposed algorithm

3.1.1 坐標注意力模塊

由于小麥籽粒較小,在圖像中所占像素較少,原YOLOX網絡采樣時容易丟失小目標的特征信息,故引入坐標注意力,增強麥粒的特征顯著度,進而提高不完善粒的識別精度。以往的注意力機制如CBAM[21]、SENet[22]等使用全局池化編碼空間信息會造成位置信息丟失。如圖3所示,坐標注意力機制[23]包含坐標信息嵌入和注意力生成兩部分。在信息嵌入階段,將位置信息加入到通道注意力中,將通道注意力全局池化分解為水平和垂直方向的一維特征編碼,得到尺寸C×H×1和C×1×W的特征圖,在兩個空間方向進行聚合,返回方向注意力圖。注意力模塊保存一個空間方向的精準位置信息,同時獲取另一個空間方向的長程依賴,有助于網絡更準確地定位目標。注意力生成階段,首先,將兩個特征圖拼接得到C×1×(H+W)的特征圖,使用1×1卷積將其進行壓縮,得到中間特征圖f,將其沿空間維度分解為C/r×1×W的水平注意張量和C/r×H×1的垂直注意張量。然后,用兩組1×1的卷積將通道維度從C/r變換到C維。最后,將獲取的兩個注意圖C×H×1和C×1×W與輸入特征圖F相乘,完成坐標注意力的施加。原始YOLOX網絡在特征提取過程中對特征信息采用相同的權重進行提取,無法獲取不同目標的特有信息。在CSP模塊后引入CA模塊,使網絡在特征提取中更加關注目標重要信息。

圖3 CA 模塊Fig.3 CA module

3.1.2 深度可分離卷積模塊

為了使網絡具有較高檢測精度,同時減少引入注意力機制后對網絡檢測速度的影響,使用深度可分離卷積(DwConv)[24]替換原YOLOX主干網絡的普通卷積,DwConv將卷積過程分解為逐層卷積和逐點卷積,相較于普通卷積能夠大幅減少參數計算量,提高模型計算速度。DwConv結構如圖4所示。

注:H1、W1、C1分別表示輸入特征圖的高、寬和通道數,H2、W2、C2分別表示輸出特征圖的高、寬和通道數,n×n表示卷積核的大小。圖4 深度可分離卷積結構Fig.4 Deep separable convolution structure

使用普通卷積對特征圖進行卷積運算,其參數計算量P1如式(1)所示:

P1=n2×C1×C2×H2×W2。

(1)

DwConv使用n×n的逐層卷積和1×1的逐點卷積,其參數計算量P2如式(2)所示:

P2=n2×C1×H2×W2+C1×C2×H2×W2。

(2)

由以上可得,兩種卷積的參數計算量比值如式(3)所示:

主干網絡輸入通道數為3,輸出通道數為512,使用DwConv后的參數計算量約為使用普通卷積運算的1/9,極大地減少了網絡的參數計算量。

3.1.3 加權雙向特征金字塔網絡

原始YOLOX網絡中采用FPN+PAN結構進行多尺度特征融合,但是二者進行特征融合時,需要將特征圖變換成相同的尺寸進行相加,無法進行不同尺度特征圖之間的融合,導致網絡的檢測精度受限。

為了提高網絡對籽粒的檢測精度,實現對不同尺寸不完善粒特征圖的高效融合,引入加權雙向特征金字塔網絡(BiFPN)。首先,刪除只有一條輸入邊的特征圖,只有一條輸入邊且未與其他輸入邊的特征圖融合,其對融合不同特征的網絡貢獻很小,將其刪除對網絡影響小,同時簡化了雙向網絡。然后,將刪除的單輸入邊的特征圖輸入到下一層的特征圖中,實現跨尺度融合,達到更強的特征融合。最后,在同一層網絡中,在原輸入節點到輸出節點之間新加一條輸入邊,在不增加計算量的前提下融合更多特征。通過上述策略構建BiFPN,結果如圖5所示。改進的模型將主干網絡中提取的3種不同尺度特征圖F1、F2、F3作為BiFPN的輸入,利用不同尺度的特征進行跨尺度特征融合,提高網絡對于小目標的檢測精度。

圖5 雙向特征金字塔網絡Fig.5 Pyramid network with bidirectional features

4 試驗與結果分析

4.1 試驗設置

為了驗證本文模型的有效性,從引入CA、應用DwConv、使用BiFPN結構3個方面進行消融試驗,并用訓練模型對小麥籽粒進行檢測。所有試驗均使用相同數據集在同一臺計算機上進行,計算機操作系統為Ubuntu18.04LTS,CPU為E5-2673V4,GPU為NVIDIAGeForceRTX2080Ti,顯存 12G。CUDA版本為 11.1.0,CUDNN版本為 8.1.0。深度學習框架為Pytorch1.7。

4.2 評價指標

為了能夠全面評價模型的性能,使用精確率(Precision)、召回率(Recall)、平均精度均值(meanaverageprecision,mAP)和損失值(Loss)作為指標評價模型,各指標的計算公式如下:

式中:TP(truepositives)表示被正確分類的正樣本;TN(truenegatives) 表示被正確分類的負樣本;FP(falsepositives)表示被錯誤分類的正樣本;FN(falsenegatives)表示被錯誤分類的負樣本。平均精度(averageprecision,AP)是以Recall為橫軸,Precision為縱軸組合的曲線下積分的面積,m為檢測目標的類別數量。

精確率反映的是檢測結果中檢測正確的目標數量占全部識別目標數量的比率。召回率表示在所有小麥籽粒中不完善粒被識別出來的比率,這兩個指標值越大,表明所訓練的模型檢測性能越好。損失值用來描述預測值與真實值之間的誤差,數值越小,表示模型預測越準確。

4.3 結果分析

將原YOLOX主干網絡中的普通卷積替換為深度可分離卷積,并在每一個CSP模塊后引入CA注意力模塊,同時使用加權雙向特征金字塔結構進行雙向跨尺度連接,得到改進的YOLOX網絡模型。模型訓練中,動量因子設為0.937,每次訓練批次大小為32,學習率設置為0.000 1,權重衰減設置為0.000 5,使用Adam優化器。將模型迭代訓練100輪,訓練過程中平均精度均值mAP(交并比為0.5)和損失值的變化如圖6所示。由圖6可知,該模型具有較高的檢測精度,同時損失值較小,具有很好的收斂效果。

圖6 訓練結果Fig.6 Training results

4.3.1 消融試驗

為了驗證本文改進方法的有效性,采用消融試驗驗證不同改進策略對整個模型的影響。進行4組試驗,第1組為原始YOLOX網絡模型;第2組在主干網絡CPS模塊后引入CA注意力機制模塊;第3組在第2組的基礎上使用BiFPN結構;第4組在第3組的基礎上將主干網絡中的普通卷積替換為DwConv卷積,即本文提出改進模型。

消融試驗結果如表2所示,由第2組試驗可知,引入CA注意力模塊后,參數量增加了0.03M,但模型檢測時間影響很小,而模型的mAP提升了2.09百分點,說明加入CA注意力模塊后網絡更加關注麥粒局部的不完善特征,提高不完善粒的特征表達能力,使用Grad-CAM繪制模型引入CA前后不完善粒的對比結果如圖7所示(以蟲蝕粒為例)。

表2 消融試驗結果Table 2 Ablation experiment results

圖7中紅色區域為各不完善粒特征明顯區域,且顏色越深表示顯著度越高。引入坐標注意力機制,使模型更關注不完善特征,降低模型漏檢率。由表2可知,第3組試驗相對于第2組,mAP提高了1.33百分點,參數量僅增加了0.19M,檢測速度(檢測時間的倒數)基本不變。采用加權跨尺度特征融合算法,充分利用不同尺度籽粒特征的語義信息,提高不完善粒的檢測精度。第4組試驗相對于第3組,模型mAP下降了0.84百分點,但參數量減少了7.97%,檢測速度提高了10.72fps,表明深度可分離卷積能夠有效降低模型的參數量,提高檢測速度,但同時會損失一些精度。本文算法綜合各模塊的優點,檢測精度達到93.43%,并且具有更好的檢測實時性。

4.3.2 不同籽粒數量的檢測試驗

為了檢驗模型的準確性,使用不同數量籽粒的圖片進行測試,結果如表3所示。當圖像中的籽粒數小于30時,沒有漏檢情況,識別準確率達到100%。當籽粒數小于40時,大多數樣本的漏檢率不超過3%。當籽粒數量達到60時,漏檢率有所增加,最高不超過5%。其中,模型不受小麥品種類型和密集程度的影響,魯棒性較強。使用改進模型對不同籽粒數量的樣本圖片進行識別,部分檢測結果如圖8所示。

表3 不同籽粒數下模型檢測結果Table 3 Model detecting results for different grain numbers

圖8 不同籽粒數量檢測結果Fig.8 Test results of different grain numbers

實際應用時,對于模型單幅圖像的檢測速度有一定的時間要求,最好能夠實現對目標的實時檢測。檢測時間小于1s可考慮將模型應用于移動端[25],檢測模型對圖像尺寸為640×640像素的不同數量籽粒的檢測時間如圖9所示。由圖9可知,檢測時間隨著籽粒數量的增加而增加,模型對于單幅圖像的平均檢測時間為0.027s,檢測速度達到37fps,最大檢測時間為0.04s。

圖9 不同籽粒數量的檢測時間Fig.9 Detection time of different grain numbers

4.3.3 混合籽粒的檢測試驗

從試驗材料中另外采集5個類別的小麥籽粒圖像,每類200粒。每幅圖像包含20?;旌献蚜?共50幅小麥圖像,使用改進后的網絡進行檢測,結果如表4所示。由表4可知,完善粒、破損粒、蟲蝕粒、生芽粒和黑胚粒正確識別個數分別為188、179、185、189、186,識別準確率分別為94%、89.5%、92.5%、94.5%、93%,平均識別正確率為92.7%。結果表明,模型對于不同的小麥籽粒類型均能有效識別與檢測。將此檢測技術應用到實際糧食質量檢測中,通過統計批量小麥中完善粒的數量,其余均為不完善粒,計算完善粒的占比即可對該批小麥的質量進行評級。

表4 改進YOLOX模型對混合籽粒的檢測結果Table 4 Detection results of mixed grains by improved YOLOX model

為驗證本文所作改進對YOLOX模型的提升效果,將其與原YOLOX模型進行對比;同時為說明YOLOX相較于YOLOv5模型的輕量性及檢測優勢,也將YOLOv5模型作為對比對象之一;選取小麥籽粒檢測方面的FasterRCNN[19]和YOLOv5-MDC[20]以及在農作物檢測廣泛使用的單階段檢測網絡SSD[26]進行了對比,結果如表5所示。

表5 不同檢測算法結果的對比Table 5 Comparison of results by different detection algorithms

由表5可知,本文算法相較于一階段的SSD和YOLOv5-MDC以及兩階段的Faster-RCNN網絡模型輕量化了許多;YOLOv5-MDC的檢測精度比本文算法稍微優越一點,比本文高0.78百分點,但其網絡模型參數量比本文多12.97M,檢測速度低于本文算法。本文算法的檢測精度高于其他3種主流檢測算法,相較于原YOLOX算法平均檢測精度提升了2.58百分點,檢測速度提高了5.78fps,檢測速度更快,能夠更好地滿足實時檢測的要求。

5 結論

本文提出一種基于改進YOLOX的小麥不完善粒檢測算法。針對籽粒過小難以檢測的問題,通過引入CA注意力機制有效增強小麥籽粒局部的不完善特征顯著度,并將網絡特征融合部分改為加權雙向特征金字塔(BiFPN)結構,實現多尺度籽粒特征更有效地融合和表達,進而提高目標的檢測精度;針對不完善粒檢測實時性問題,通過應用DwConv卷積,降低網絡的計算復雜度,提高模型的檢測速度。利用自制的小麥數據集,通過對多個品種不同密集程度的多籽粒進行檢測,本文算法對于隨機分布的多類別不完善粒的平均檢測精度達到93.43%,單幅圖像平均檢測時間為0.027s,且模型占用內存小,便于移植至嵌入式設備。該模型可用于多品種、不同數量的密集小麥籽粒識別檢測中,為小麥不完善粒檢測提供一種新的技術參考。

本文未對實際檢測場景下批量的小麥不完善粒進行連續檢測,下一步研究的重點是在保證模型檢測速度和精度的前提下,對模型進一步完善后在嵌入式平臺上進行部署,并在實際應用場景下進行檢測測試。

猜你喜歡
籽粒卷積小麥
主產區小麥收購進度過七成
籽粒莧的飼用價值和高產栽培技術
籽粒莧的特性和種植技術
孔令讓的“小麥育種夢”
基于3D-Winograd的快速卷積算法設計及FPGA實現
葉面施肥實現小麥畝增產83.8千克
哭娃小麥
從濾波器理解卷積
玉米機械脫粒籽粒含水量與破碎率的相關研究
基于傅里葉域卷積表示的目標跟蹤算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合