何 平, 劉 榮, 譚富林
(1.浙大寧波理工學(xué)院機(jī)電與能源工程學(xué)院,浙江寧波 315100;2.杭州電子科技大學(xué)機(jī)械工程學(xué)院,杭州 310018)
隨著農(nóng)業(yè)現(xiàn)代化的持續(xù)推進(jìn)和農(nóng)業(yè)經(jīng)濟(jì)趨向多元化,我國花卉產(chǎn)業(yè)也在不斷實(shí)現(xiàn)技術(shù)化和規(guī)?;?]。紅掌由于常年開花不斷,已成為市場上最為流行的觀賞花卉之一,有著極高的經(jīng)濟(jì)價值和觀賞價值[2]。紅掌在大棚栽培中因其品質(zhì)參差不齊,給紅掌定價帶來了很大的困難,所以紅掌出棚前需要按品質(zhì)進(jìn)行分級。紅掌分級是根據(jù)紅掌佛焰數(shù)、病蟲害、冠幅、株高和花蓋度等特征檢測來確定。目前紅掌品質(zhì)鑒定多為人工方式[3],鑒定過程多次直接接觸和搬運(yùn)紅掌,容易對紅掌造成損傷,且人工鑒定存在一定的主觀因素,不適合大批量紅掌分級鑒定,所以迫切需要一種準(zhǔn)確、高效的紅掌特征檢測技術(shù),實(shí)現(xiàn)紅掌準(zhǔn)確分級。
目前深度學(xué)習(xí)已廣泛應(yīng)用于多個領(lǐng)域,并且展現(xiàn)出優(yōu)秀的效果[4]。卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)網(wǎng)絡(luò)的重要組成部分,主要負(fù)責(zé)對目標(biāo)特征的檢測和提取[5-6]。紅掌佛焰與病蟲害特征較復(fù)雜,傳統(tǒng)的檢測算法難以實(shí)現(xiàn)對其檢測與提取。本文利用卷積神經(jīng)網(wǎng)絡(luò)能提取圖像深層特征的功能,提出改進(jìn)YOLOv3 網(wǎng)絡(luò)模型來實(shí)現(xiàn)對紅掌佛焰與病蟲害特征的提取與檢測。
YOLOv3 利用殘差網(wǎng)絡(luò)與多尺度檢測實(shí)現(xiàn)目標(biāo)檢測,在目標(biāo)檢測方面具有泛化性高、精度高和實(shí)時性等優(yōu)勢,是目前流行且較為成熟的目標(biāo)檢測算法之一,能夠快速對圖像中目標(biāo)進(jìn)行定位和檢測[7-8]。YOLOv3網(wǎng)絡(luò)模型由Backbone、neck和head3 組成,結(jié)構(gòu)如圖1所示。其中Backbone 為DarkNet53,Darknet53 是YOLOv3 的特征提取層,其包含了卷積層、池化層、殘差層等模塊。Neck 為特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN),能實(shí)現(xiàn)不同尺度的輸出。Head為YOLO head,主要負(fù)責(zé)對特征圖進(jìn)行檢測輸出。模型的輸入尺寸為640 ×640 ×3,利用Darknet53層提取圖像的特征圖,將特征圖輸入neck 層,得到3個尺寸(20 ×20 ×1024、40 ×40 ×512 和80 ×80 ×256)的特征圖,將其傳遞到Y(jié)OLO head 層進(jìn)行檢測。每個網(wǎng)格檢測出3 個不同寬、高比的目標(biāo)檢測框及對應(yīng)預(yù)測置信度c,使用NMS 非極大值抑制算法對重復(fù)的檢測框進(jìn)行合并和剔除,通過置信度閾值對預(yù)測框進(jìn)行篩選,得到符合需求的目標(biāo)檢測結(jié)果。
圖1 YOLOv3結(jié)構(gòu)圖
紅掌細(xì)菌性葉斑病和炭疽病在自然環(huán)境下存在尺寸較大差異、分布區(qū)域較為分散和部分目標(biāo)較小的問題,YOLOv3 的小目標(biāo)檢測性能較弱。為提升模型在小目標(biāo)檢測的精度,采用雙向特征金字塔網(wǎng)絡(luò)(Bidirectional Feature Pyramid Network,BiFPN)結(jié)構(gòu)進(jìn)行多尺度特征融合,利用跨尺度連接(Cross-ScaleConnections)和加權(quán)特征融合(Weighted Feature Fusion),得到底層和高層語義信息的全局特征圖,以提高網(wǎng)絡(luò)模型對小目標(biāo)紅掌病蟲害目標(biāo)以及紅掌佛焰檢測的精確率[9]。
BiFPN的具體工作原理為網(wǎng)絡(luò)的不同特征層P4、P5、P6、P7和P8,將特征圖分別通過卷積層和全局池化層,獲得特征圖Pin4、Pin5、Pin6、Pin7和Pin8,將Pin8進(jìn)行上采樣并與Pin7堆疊得到Ptd7;將Ptd7進(jìn)行上采樣并與Pin6進(jìn)行堆疊得到Ptd6,以此類推,獲得特征圖Pout4、Pout5、Pout6、Pout7和Pout8。以Ptd7和Pout7為例:
式中:conv 為對應(yīng)卷積操作;Resize 為上或下采樣操作;Pin為輸入特征層;Pout為輸出特征層;Ptd為特征融合過程中的中間層;ωi為需要學(xué)習(xí)的權(quán)重;ε 為微小量。
經(jīng)過BiFPN層處理實(shí)現(xiàn)了多尺度特征融合,同時實(shí)現(xiàn)了從輸入端實(shí)現(xiàn)自上向下和自下向上的特征融合,使得輸出的Pout4、Pout5、Pout6、Pout7和Pout85 個同時含有高層與低層語義信息的全局特征。本文在原有特征圖中將底層特征圖與深層特征圖進(jìn)行融合,提升網(wǎng)絡(luò)的檢測能力。由于YOLOv3 網(wǎng)絡(luò)每個網(wǎng)格有3 個檢測框,本研究通過3 個特征層的融合改進(jìn)BiFPN結(jié)構(gòu),得到BiFPN-3 結(jié)合YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu),有效提升了模型的感受野,增強(qiáng)模型泛化能力。
BiFPN-3 結(jié)構(gòu)的優(yōu)勢是充分融合了淺層和深層的特征,預(yù)測特征圖語義全局性水平不斷增強(qiáng),語義信息內(nèi)容更加豐富,同時提升了模型對于小目標(biāo)的檢測能力。BiFPN-3 結(jié)構(gòu)在多尺度特征融合中也存在些問題,過程會融合不同特征層的噪聲特征,影響網(wǎng)絡(luò)模型的檢測效果。為解決上述問題,本文提出通道注意力模型(Channel Attention Module,CAM)[10],在BiFPN-3的輸出層接入通道注意力模塊,將通道注意力模塊輸出的特征圖送入到Y(jié)OLO head 檢測層進(jìn)行預(yù)測。以提升模型的檢測精確率與表達(dá)能力。
CAM將輸入的特征圖按照通道權(quán)重進(jìn)行重新劃分,能使模型更加注意有用的信息,同時抑制噪聲對模型的干擾。
YOLOv3 的輸出為目標(biāo)框的坐標(biāo)回歸、目標(biāo)類別的預(yù)測和Object預(yù)測3 個部分,通過骨干網(wǎng)絡(luò)提取特征、頸部優(yōu)化特征和耦合的檢測頭檢測進(jìn)行輸出。目標(biāo)框的坐標(biāo)回歸更加關(guān)注目標(biāo)的邊緣信息,目標(biāo)類別的預(yù)測更加關(guān)注目標(biāo)的紋理特征和深度特征,耦合的檢測頭不能很好地兼顧兩者的關(guān)注點(diǎn),故本文采用解耦合的檢測頭,來提升模型的泛化能力和精度[11]。檢測頭解耦操作如圖2 所示:將YOLOv3 耦合檢測頭,分別解耦合為Class預(yù)測、Object預(yù)測和Regress預(yù)測。
圖2 解耦合檢測頭
基于YOLOv3 目標(biāo)檢測模型改進(jìn)主要有:
(1)添加BiFPN-3 結(jié)構(gòu),使得模型實(shí)現(xiàn)多尺度、淺深層特征的融合。
(2)添加通道注意力模塊CAM,可強(qiáng)化有效特征并減少噪聲。
(3)耦合檢測頭為解耦合檢測頭,使得檢測頭能夠更加關(guān)注分類和回歸的任務(wù)。
改進(jìn)YOLOv3 網(wǎng)絡(luò)模型如圖3 所示。在使用改進(jìn)YOLOv3 對紅掌佛焰進(jìn)行檢測時,使用DarkNet53 對輸入網(wǎng)絡(luò)的紅掌圖像進(jìn)行特征提取,使用BiFPN-3 進(jìn)行多尺度、淺深層特征融合得到特征圖,將特征圖輸入通道注意力模塊得到強(qiáng)化的特征圖,使用解耦合檢測頭對強(qiáng)化的特征圖進(jìn)行檢測,實(shí)現(xiàn)對紅掌佛焰和病蟲害特征檢測。
圖3 改進(jìn)YOLOv3網(wǎng)絡(luò)模型
本文使用精確率P,召回率R,整體精度F1指標(biāo)和平均精度值mAP對檢測結(jié)果進(jìn)行評估,精確率
式中:TP為模型正確檢測紅掌的目標(biāo)數(shù)量;FP為模型錯誤檢測紅掌的目標(biāo)數(shù)量。召回率
式中,F(xiàn)N為模型未被檢測出紅掌的目標(biāo)數(shù)量。整體精度
F1表示P和R的加權(quán)調(diào)和平均值,F(xiàn)1值越接近于1則說明模型越好。平均精度值
式中:S為算法檢測目標(biāo)類別個數(shù)(本算法中S=1);k為閾值;N為引用閾值的數(shù)量。
為獲取紅掌佛焰和病蟲害數(shù)據(jù),本文使用工業(yè)攝像機(jī)采集紅掌視頻,并對紅掌視頻按照2 s 一幀抽取紅掌圖像,并使用LabelImg 標(biāo)注軟件對所有采集到的紅掌佛焰圖像和病蟲害圖像進(jìn)行標(biāo)注,共打標(biāo)14 678個紅掌佛焰目標(biāo)、6 235 個細(xì)菌性葉斑病目標(biāo)和5 430個炭疽病目標(biāo)。
改進(jìn)YOLOv3 模型使用帶動量的SGD 優(yōu)化器,初始學(xué)習(xí)率為0.001,Batch Size設(shè)置為8,從0 開始訓(xùn)練整個網(wǎng)絡(luò),一共訓(xùn)練300 個Epoch。圖4 所示為網(wǎng)絡(luò)訓(xùn)練過程中Loss的變化情況,在整個訓(xùn)練過程中,Loss的整體變化趨勢是持續(xù)減小,且沒有出現(xiàn)幅度較大的波動。表明,本設(shè)計(jì)的模型網(wǎng)絡(luò)以及訓(xùn)練時使用的參數(shù)是合理的。
圖4 改進(jìn)YOLOv3訓(xùn)練過程中l(wèi)oss的變化
圖5 所示為網(wǎng)絡(luò)訓(xùn)練過程中mAP 精度的變化情況,由圖可知,模型開始訓(xùn)練mAP震蕩較大,隨著訓(xùn)練周期的增加,mAP逐漸趨于平緩并穩(wěn)定在0.93 左右,表明本文所提改進(jìn)YOLOv3 網(wǎng)絡(luò)模型收斂較穩(wěn)定,同時對佛焰和病蟲害的識別精度也較高。
圖5 改進(jìn)YOLOv3訓(xùn)練過程中mAP的變化
對改進(jìn)YOLOv3 進(jìn)行消融試驗(yàn),各性能指標(biāo)見表1,其中:“0”為沒有使用對應(yīng)改進(jìn)結(jié)構(gòu);“1”為使用了對應(yīng)改進(jìn)結(jié)構(gòu)。由消融實(shí)驗(yàn)結(jié)果可得,使用BiFPN-3改進(jìn)后的模型精確率P、總體精度F1和平均精度mAP分別提升0.86%、0.73%和0.42%。BiFPN-3 通過融合多尺度特征和多層特征,提升了模型的感受野,從而提升了模型檢測性能。使用CAM 模塊改進(jìn)后的模型mAP提升了0.68%,其余指標(biāo)提升較少。注意力機(jī)制能夠強(qiáng)化特征并減少噪聲,提升模型的檢測精度。使用解耦檢測頭模型精確率P、F1精度、mAP 精度分別提升0.71%,1.01%、1.18%。解耦檢測頭能使模型更加關(guān)注分類和回歸各自的任務(wù),提升模型的性能。綜合使用BiFPN-3、通道注意力模塊和解耦合檢測頭后的模型在精確率P提升了2.3%,F(xiàn)1精度提升了2.01%,mAP提升了1.66%,所有性能指標(biāo)提升比較明顯。BiFPN-3 實(shí)現(xiàn)多尺度特征融合提升模型感受野,注意力機(jī)制強(qiáng)化了有效特征,解耦合檢測頭使得檢測分別關(guān)注分類和回歸,將三者聯(lián)合使用,能有效提升模型的檢測精度和泛化能力。
表1 改進(jìn)YOLOv3 消融實(shí)驗(yàn)結(jié)果
將其他算法與本文改進(jìn)YOLOv3 進(jìn)行性能對比,結(jié)果見表2。
表2 改進(jìn)YOLOv3 與其他網(wǎng)絡(luò)模型性能對比
實(shí)驗(yàn)對比了YOLOv3 原模型、使用了CSPDarknet53 為主干提取網(wǎng)絡(luò)的CSP-YOLOv3 模型和雙階段模型Mask R-CNN。由表可得,改進(jìn)YOLOv3 模型的mAP較YOLOv3 和CSP-YOLOv3,分別高出1.66%和1.46%,表明本文對YOLOv3 網(wǎng)絡(luò)模型的改進(jìn)是有效的。在平均精度值mAP 上改進(jìn)的YOLOv3 低于雙階段模型Mask-RCNN,在實(shí)際的紅掌分級中,不僅要考察算法的精度也需要考慮算法的運(yùn)行速度,雖然Mask R-CNN檢測精度較高,但其檢測速度慢,不能滿足紅掌分級的實(shí)時性。由表2 可知,改進(jìn)YOLOv3 檢測速度是Mask-RCNN的近30 倍,所以Mask-RCNN不能選用。改進(jìn)YOLOv3 在不明顯降低檢測速度的同時提升了模型的精度P、召回率R、F1精度以及mAP 精度,證明本文對YOLOv3 的改進(jìn)是有效的。
由于紅掌佛焰與病蟲害特征較復(fù)雜,且病蟲害存在小目標(biāo),為使紅掌佛焰和病蟲害特征檢測更加精確,本文提出改進(jìn)YOLOv3 網(wǎng)絡(luò)模型。通過對YOLOv3 網(wǎng)絡(luò)模型的改進(jìn),創(chuàng)新性地將YOLOv3 的FPN網(wǎng)絡(luò)修改為BiFPN-3,加強(qiáng)網(wǎng)絡(luò)層不同尺度特征的融合,提升模型的感受野。在BiFPN-3 后加入通道注意力模塊CAM,加強(qiáng)網(wǎng)絡(luò)對有效特征的提取能力,提升網(wǎng)絡(luò)泛化性。創(chuàng)新性地將耦合YOLOv3 檢測頭改為解耦合檢測頭,使檢測頭更加關(guān)注各自的分類和回歸任務(wù),提升模型的精度。通過將YOLOv3、CSP-YOLOv3 和Mask-RCNN目標(biāo)檢測模型與改進(jìn)YOLOv3 模型進(jìn)行試驗(yàn)與討論,得出改進(jìn)YOLOv3 模型對紅掌佛焰與病蟲害特征檢測具有更高的精確率和召回率,檢測效果有明顯提升。結(jié)果表明,改進(jìn)YOLOv3 檢測網(wǎng)絡(luò)能適用于大量紅掌佛焰和病蟲害的檢測,滿足實(shí)際生產(chǎn)需要,在紅掌檢測應(yīng)用上實(shí)現(xiàn)了突破。