何 平, 劉 榮, 譚富林
(1.浙大寧波理工學院機電與能源工程學院,浙江寧波 315100;2.杭州電子科技大學機械工程學院,杭州 310018)
隨著農業現代化的持續推進和農業經濟趨向多元化,我國花卉產業也在不斷實現技術化和規模化[1]。紅掌由于常年開花不斷,已成為市場上最為流行的觀賞花卉之一,有著極高的經濟價值和觀賞價值[2]。紅掌在大棚栽培中因其品質參差不齊,給紅掌定價帶來了很大的困難,所以紅掌出棚前需要按品質進行分級。紅掌分級是根據紅掌佛焰數、病蟲害、冠幅、株高和花蓋度等特征檢測來確定。目前紅掌品質鑒定多為人工方式[3],鑒定過程多次直接接觸和搬運紅掌,容易對紅掌造成損傷,且人工鑒定存在一定的主觀因素,不適合大批量紅掌分級鑒定,所以迫切需要一種準確、高效的紅掌特征檢測技術,實現紅掌準確分級。
目前深度學習已廣泛應用于多個領域,并且展現出優秀的效果[4]。卷積神經網絡作為深度學習網絡的重要組成部分,主要負責對目標特征的檢測和提?。?-6]。紅掌佛焰與病蟲害特征較復雜,傳統的檢測算法難以實現對其檢測與提取。本文利用卷積神經網絡能提取圖像深層特征的功能,提出改進YOLOv3 網絡模型來實現對紅掌佛焰與病蟲害特征的提取與檢測。
YOLOv3 利用殘差網絡與多尺度檢測實現目標檢測,在目標檢測方面具有泛化性高、精度高和實時性等優勢,是目前流行且較為成熟的目標檢測算法之一,能夠快速對圖像中目標進行定位和檢測[7-8]。YOLOv3網絡模型由Backbone、neck和head3 組成,結構如圖1所示。其中Backbone 為DarkNet53,Darknet53 是YOLOv3 的特征提取層,其包含了卷積層、池化層、殘差層等模塊。Neck 為特征金字塔網絡(Feature Pyramid Networks,FPN),能實現不同尺度的輸出。Head為YOLO head,主要負責對特征圖進行檢測輸出。模型的輸入尺寸為640 ×640 ×3,利用Darknet53層提取圖像的特征圖,將特征圖輸入neck 層,得到3個尺寸(20 ×20 ×1024、40 ×40 ×512 和80 ×80 ×256)的特征圖,將其傳遞到YOLO head 層進行檢測。每個網格檢測出3 個不同寬、高比的目標檢測框及對應預測置信度c,使用NMS 非極大值抑制算法對重復的檢測框進行合并和剔除,通過置信度閾值對預測框進行篩選,得到符合需求的目標檢測結果。

圖1 YOLOv3結構圖
紅掌細菌性葉斑病和炭疽病在自然環境下存在尺寸較大差異、分布區域較為分散和部分目標較小的問題,YOLOv3 的小目標檢測性能較弱。為提升模型在小目標檢測的精度,采用雙向特征金字塔網絡(Bidirectional Feature Pyramid Network,BiFPN)結構進行多尺度特征融合,利用跨尺度連接(Cross-ScaleConnections)和加權特征融合(Weighted Feature Fusion),得到底層和高層語義信息的全局特征圖,以提高網絡模型對小目標紅掌病蟲害目標以及紅掌佛焰檢測的精確率[9]。
BiFPN的具體工作原理為網絡的不同特征層P4、P5、P6、P7和P8,將特征圖分別通過卷積層和全局池化層,獲得特征圖Pin4、Pin5、Pin6、Pin7和Pin8,將Pin8進行上采樣并與Pin7堆疊得到Ptd7;將Ptd7進行上采樣并與Pin6進行堆疊得到Ptd6,以此類推,獲得特征圖Pout4、Pout5、Pout6、Pout7和Pout8。以Ptd7和Pout7為例:
式中:conv 為對應卷積操作;Resize 為上或下采樣操作;Pin為輸入特征層;Pout為輸出特征層;Ptd為特征融合過程中的中間層;ωi為需要學習的權重;ε 為微小量。
經過BiFPN層處理實現了多尺度特征融合,同時實現了從輸入端實現自上向下和自下向上的特征融合,使得輸出的Pout4、Pout5、Pout6、Pout7和Pout85 個同時含有高層與低層語義信息的全局特征。本文在原有特征圖中將底層特征圖與深層特征圖進行融合,提升網絡的檢測能力。由于YOLOv3 網絡每個網格有3 個檢測框,本研究通過3 個特征層的融合改進BiFPN結構,得到BiFPN-3 結合YOLOv3 網絡結構,有效提升了模型的感受野,增強模型泛化能力。
BiFPN-3 結構的優勢是充分融合了淺層和深層的特征,預測特征圖語義全局性水平不斷增強,語義信息內容更加豐富,同時提升了模型對于小目標的檢測能力。BiFPN-3 結構在多尺度特征融合中也存在些問題,過程會融合不同特征層的噪聲特征,影響網絡模型的檢測效果。為解決上述問題,本文提出通道注意力模型(Channel Attention Module,CAM)[10],在BiFPN-3的輸出層接入通道注意力模塊,將通道注意力模塊輸出的特征圖送入到YOLO head 檢測層進行預測。以提升模型的檢測精確率與表達能力。
CAM將輸入的特征圖按照通道權重進行重新劃分,能使模型更加注意有用的信息,同時抑制噪聲對模型的干擾。
YOLOv3 的輸出為目標框的坐標回歸、目標類別的預測和Object預測3 個部分,通過骨干網絡提取特征、頸部優化特征和耦合的檢測頭檢測進行輸出。目標框的坐標回歸更加關注目標的邊緣信息,目標類別的預測更加關注目標的紋理特征和深度特征,耦合的檢測頭不能很好地兼顧兩者的關注點,故本文采用解耦合的檢測頭,來提升模型的泛化能力和精度[11]。檢測頭解耦操作如圖2 所示:將YOLOv3 耦合檢測頭,分別解耦合為Class預測、Object預測和Regress預測。

圖2 解耦合檢測頭
基于YOLOv3 目標檢測模型改進主要有:
(1)添加BiFPN-3 結構,使得模型實現多尺度、淺深層特征的融合。
(2)添加通道注意力模塊CAM,可強化有效特征并減少噪聲。
(3)耦合檢測頭為解耦合檢測頭,使得檢測頭能夠更加關注分類和回歸的任務。
改進YOLOv3 網絡模型如圖3 所示。在使用改進YOLOv3 對紅掌佛焰進行檢測時,使用DarkNet53 對輸入網絡的紅掌圖像進行特征提取,使用BiFPN-3 進行多尺度、淺深層特征融合得到特征圖,將特征圖輸入通道注意力模塊得到強化的特征圖,使用解耦合檢測頭對強化的特征圖進行檢測,實現對紅掌佛焰和病蟲害特征檢測。

圖3 改進YOLOv3網絡模型
本文使用精確率P,召回率R,整體精度F1指標和平均精度值mAP對檢測結果進行評估,精確率
式中:TP為模型正確檢測紅掌的目標數量;FP為模型錯誤檢測紅掌的目標數量。召回率
式中,FN為模型未被檢測出紅掌的目標數量。整體精度
F1表示P和R的加權調和平均值,F1值越接近于1則說明模型越好。平均精度值
式中:S為算法檢測目標類別個數(本算法中S=1);k為閾值;N為引用閾值的數量。
為獲取紅掌佛焰和病蟲害數據,本文使用工業攝像機采集紅掌視頻,并對紅掌視頻按照2 s 一幀抽取紅掌圖像,并使用LabelImg 標注軟件對所有采集到的紅掌佛焰圖像和病蟲害圖像進行標注,共打標14 678個紅掌佛焰目標、6 235 個細菌性葉斑病目標和5 430個炭疽病目標。
改進YOLOv3 模型使用帶動量的SGD 優化器,初始學習率為0.001,Batch Size設置為8,從0 開始訓練整個網絡,一共訓練300 個Epoch。圖4 所示為網絡訓練過程中Loss的變化情況,在整個訓練過程中,Loss的整體變化趨勢是持續減小,且沒有出現幅度較大的波動。表明,本設計的模型網絡以及訓練時使用的參數是合理的。

圖4 改進YOLOv3訓練過程中loss的變化
圖5 所示為網絡訓練過程中mAP 精度的變化情況,由圖可知,模型開始訓練mAP震蕩較大,隨著訓練周期的增加,mAP逐漸趨于平緩并穩定在0.93 左右,表明本文所提改進YOLOv3 網絡模型收斂較穩定,同時對佛焰和病蟲害的識別精度也較高。

圖5 改進YOLOv3訓練過程中mAP的變化
對改進YOLOv3 進行消融試驗,各性能指標見表1,其中:“0”為沒有使用對應改進結構;“1”為使用了對應改進結構。由消融實驗結果可得,使用BiFPN-3改進后的模型精確率P、總體精度F1和平均精度mAP分別提升0.86%、0.73%和0.42%。BiFPN-3 通過融合多尺度特征和多層特征,提升了模型的感受野,從而提升了模型檢測性能。使用CAM 模塊改進后的模型mAP提升了0.68%,其余指標提升較少。注意力機制能夠強化特征并減少噪聲,提升模型的檢測精度。使用解耦檢測頭模型精確率P、F1精度、mAP 精度分別提升0.71%,1.01%、1.18%。解耦檢測頭能使模型更加關注分類和回歸各自的任務,提升模型的性能。綜合使用BiFPN-3、通道注意力模塊和解耦合檢測頭后的模型在精確率P提升了2.3%,F1精度提升了2.01%,mAP提升了1.66%,所有性能指標提升比較明顯。BiFPN-3 實現多尺度特征融合提升模型感受野,注意力機制強化了有效特征,解耦合檢測頭使得檢測分別關注分類和回歸,將三者聯合使用,能有效提升模型的檢測精度和泛化能力。

表1 改進YOLOv3 消融實驗結果
將其他算法與本文改進YOLOv3 進行性能對比,結果見表2。

表2 改進YOLOv3 與其他網絡模型性能對比
實驗對比了YOLOv3 原模型、使用了CSPDarknet53 為主干提取網絡的CSP-YOLOv3 模型和雙階段模型Mask R-CNN。由表可得,改進YOLOv3 模型的mAP較YOLOv3 和CSP-YOLOv3,分別高出1.66%和1.46%,表明本文對YOLOv3 網絡模型的改進是有效的。在平均精度值mAP 上改進的YOLOv3 低于雙階段模型Mask-RCNN,在實際的紅掌分級中,不僅要考察算法的精度也需要考慮算法的運行速度,雖然Mask R-CNN檢測精度較高,但其檢測速度慢,不能滿足紅掌分級的實時性。由表2 可知,改進YOLOv3 檢測速度是Mask-RCNN的近30 倍,所以Mask-RCNN不能選用。改進YOLOv3 在不明顯降低檢測速度的同時提升了模型的精度P、召回率R、F1精度以及mAP 精度,證明本文對YOLOv3 的改進是有效的。
由于紅掌佛焰與病蟲害特征較復雜,且病蟲害存在小目標,為使紅掌佛焰和病蟲害特征檢測更加精確,本文提出改進YOLOv3 網絡模型。通過對YOLOv3 網絡模型的改進,創新性地將YOLOv3 的FPN網絡修改為BiFPN-3,加強網絡層不同尺度特征的融合,提升模型的感受野。在BiFPN-3 后加入通道注意力模塊CAM,加強網絡對有效特征的提取能力,提升網絡泛化性。創新性地將耦合YOLOv3 檢測頭改為解耦合檢測頭,使檢測頭更加關注各自的分類和回歸任務,提升模型的精度。通過將YOLOv3、CSP-YOLOv3 和Mask-RCNN目標檢測模型與改進YOLOv3 模型進行試驗與討論,得出改進YOLOv3 模型對紅掌佛焰與病蟲害特征檢測具有更高的精確率和召回率,檢測效果有明顯提升。結果表明,改進YOLOv3 檢測網絡能適用于大量紅掌佛焰和病蟲害的檢測,滿足實際生產需要,在紅掌檢測應用上實現了突破。