馬紀(jì)穎,羅 星,王一早,王書哲
(1.沈陽化工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,遼寧 沈陽 110142;2.沈陽化工大學(xué) 遼寧省化工過程工業(yè)智能化技術(shù)重點實驗室,遼寧 沈陽 110142)
農(nóng)作物的生長周期往往會伴隨著雜草的不斷生長。雜草生命力旺盛,會與農(nóng)作物爭奪水分、陽光、生長空間,影響農(nóng)作物的正常生長。當(dāng)前化學(xué)除草方式是治理雜草的主要措施,但這類方法存在許多缺點,比如會造成農(nóng)產(chǎn)品品質(zhì)降低、不必要的土壤污染和勞動力成本的增加??紤]到上述除草技術(shù)的不足,高效實時的農(nóng)業(yè)自動化雜草檢測研究具有很強的現(xiàn)實意義,有利于推動農(nóng)業(yè)可持續(xù)發(fā)展[1]。
目前,目標(biāo)檢測[2]分為基于傳統(tǒng)機器學(xué)習(xí)和深度學(xué)習(xí)兩種檢測方式。前者主要通過學(xué)習(xí)目標(biāo)的顏色、紋理等特征信息,再對這些區(qū)域進行特征提取,最后通過使用分類器對目標(biāo)進行分類識別。Bakhshipour 等人[3]利用圖像濾波提取顏色和區(qū)域特征,然后對場景中每個目標(biāo)進行標(biāo)記,提出一種基于區(qū)域的分類方法,包括敏感度、特異性、正預(yù)測值和負(fù)預(yù)測值。Deng 等人[4]通過提取雜草圖像的顏色、形狀和紋理特征,并對其進行歸一化處理以解決稻田中雜草單一特征識別精度低的問題。但傳統(tǒng)目標(biāo)檢測算法依賴于圖像采集方式、預(yù)處理方法和特征圖提取質(zhì)量,無法在復(fù)雜的自然場景中準(zhǔn)確地執(zhí)行定位分類任務(wù)。
基于深度學(xué)習(xí)的目標(biāo)檢測算法主要分為兩階段和單階段目標(biāo)檢測算法。兩階段目標(biāo)檢測算法首先通過相關(guān)算法生成目標(biāo)候選框;再通過卷積神經(jīng)網(wǎng)絡(luò)從候選框中提取特征,用于目標(biāo)分類和邊界框回歸。典型算法有:RCNN[5]、Fast RCNN[6]、Faster RCNN[7]等。單階段目標(biāo)檢測算法對特征圖上每個位置目標(biāo)直接進行分類和回歸。常見的算法有SSD[8]、YOLO[9]、YOLOv2[10]、YOLOv3[11]等。
很多算法都是基于主流算法進行改進的,如溫德圣[12]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)Faster-RCNN 的模型,首先對不同光照環(huán)境下的雜草圖像進行顏色遷移等預(yù)處理;再利用構(gòu)建好的深度卷積神經(jīng)網(wǎng)絡(luò),對候選框區(qū)域進行優(yōu)化,得到最終的網(wǎng)絡(luò)識別模型。馬巧梅等人[13]利用Inception-SE 結(jié)構(gòu)使得網(wǎng)絡(luò)更加收斂,實現(xiàn)多尺度融合,提高檢測精度。劉丹等人[14]首先利用反卷積對深度特征圖進行擴展,再將注意力模塊嵌入到特征提取網(wǎng)絡(luò)中,重新分配通道權(quán)重,增強關(guān)鍵特征。
上述研究多采用更深的網(wǎng)絡(luò)提升模型的檢測精度,但未對小尺寸的作物與雜草進行研究。因大部分作物雜草具有分辨率低、語義信息不足等特點,卷積神經(jīng)網(wǎng)絡(luò)中經(jīng)過多次下采樣后特征圖不斷縮小,造成特征提取困難,導(dǎo)致部分小尺寸雜草出現(xiàn)漏檢現(xiàn)象。
為了進一步提高模型的檢測精度,本文提出基于改進的YOLOv3 的雜草檢測算法。首先在特征融合網(wǎng)絡(luò)中增加一個特征融合模塊FFM,然后替換原模型中的上采樣方式,最后向主干網(wǎng)絡(luò)的殘差塊中嵌入Coordinate Attention注意力機制。通過對比實驗表明,改進后的算法對小尺寸雜草的檢測精度有所提高。
YOLOv3 算法主干特征提取網(wǎng)絡(luò)DarkNet53 由若干個DBL 模塊和殘差塊構(gòu)成,DBL 模塊由卷積層、批標(biāo)準(zhǔn)化層和Leaky ReLU 激活函數(shù)三部分組成。同時,YOLOv3 算法借鑒殘差網(wǎng)絡(luò)[15]和特征金字塔網(wǎng)絡(luò)[16]的思想,通過殘差塊的堆疊,在加深網(wǎng)絡(luò)深度的同時,緩解了數(shù)據(jù)在深層網(wǎng)絡(luò)訓(xùn)練過程中出現(xiàn)的梯度消失和梯度爆炸的問題。同時使用特征金字塔網(wǎng)絡(luò)加強特征提取能力,采取了多尺度訓(xùn)練,并最終產(chǎn)生尺度大小分別為13×13、26×26、52×52 的檢測頭,分別用于檢測大、中和小目標(biāo)。YOLOv3 模型如圖1所示。
圖1 YOLOv3 模型
損失函數(shù)是評估模型性能好壞和穩(wěn)定性的重要指標(biāo)之一,損失值越小,代表模型的穩(wěn)定性越好。YOLOv3 算法損失函數(shù)由三部分構(gòu)成:置信度損失、分類損失和回歸損失。公式如下:
式中:s2為特征圖大??;B為初始候選框的數(shù)目;Cij和Pij分別為置信度和類別概率;xi、yi、wi、hi為模型的預(yù)測值;為人工標(biāo)注的真實框的值;λcoord為加權(quán)系數(shù);λnoobj為權(quán)重系數(shù);Ijinoobj為第i個第j個網(wǎng)格是否負(fù)責(zé)該object,如果負(fù)責(zé),則其值為1,否則為0;Cij為置信度預(yù)測值;為實際值,如果網(wǎng)格負(fù)責(zé)預(yù)測某個對象的取值,則其值為1,否則為0。
在實際應(yīng)用場景下,需要定期對雜草進行清理,因絕大部分雜草本身體積較小,只占不到整幅圖像的十分之一像素,分辨率較低,目標(biāo)背景復(fù)雜,造成小尺度雜草檢測精度較低。本文通過改進YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu),增加一個特征融合模塊,用新的上采樣方式替換原先的上采樣方式,最后在特征提取主干網(wǎng)絡(luò)中嵌入Coordinate Attention注意力機制,在不損失較多檢測速度的前提下,提出一個更加適合雜草檢測任務(wù)的改進算法。
針對數(shù)據(jù)集中雜草所占尺寸較小,本文將模型輸入尺寸調(diào)整為448×448,增大模型輸入分辨率可以豐富圖像細(xì)節(jié)和提供精確的位置信息。在特征提取網(wǎng)絡(luò)中,當(dāng)輸入特征圖分別經(jīng)過8 倍、16 倍、32 倍下采樣并得到尺寸分別為56×56、28×28、14×14 的特征圖時,往往會丟失大量物體的特征信息,導(dǎo)致中小目標(biāo)的檢測精度下降。為了提高中小目標(biāo)檢測層的檢測精度,本文在28×28 和56×56 這兩個特征圖輸入預(yù)測層之前添加FFM(Feature Fusion Module),結(jié)構(gòu)如圖2的虛線框所示。
圖2 FFM 模塊
在FFM 模塊中,對于尺度為56×56 的小目標(biāo)檢測層,本文首先將Darknet53 中第二個殘差塊輸出的112×112 特征圖通入RFB(Receptive Field Block)模塊[17],其目的是為了增大112×112 特征圖的感受野。因112×112 特征圖的感受野比56×56 特征圖的感受野小,如果直接進行融合將不利于檢測同一尺寸范圍內(nèi)的目標(biāo)。再將112×112 特征圖通過最大池化下采樣到56×56,將尺度為28×28 的特征圖通過2 倍上采樣到56×56。然后再進行Concat 操作,其中Concat 操作是指在通道維度上將兩個大小相同的特征圖進行結(jié)合,采用最大池化下采樣是為了解決雜草在不同復(fù)雜背景條件下,特征圖下采樣時的細(xì)節(jié)特征信息丟失問題,可以盡可能地保留更多信息傳遞給待融合特征圖。融合深層特征圖中保留更多關(guān)于小目標(biāo)的語義信息的同時添加淺層更加豐富的小目標(biāo)位置信息,提高小尺寸雜草的檢測精度;對于尺度為28×28 的中等目標(biāo)檢測層,F(xiàn)FM 會將尺度為56×56 的特征圖通過最大池化下采樣到28×28,再將尺度為14×14 的特征圖通過2 倍上采樣到28×28,然后再與其進行Concat 操作,豐富中層特征圖的信息,提高中等尺寸雜草的檢測精度。經(jīng)過實驗表明,在YOLOv3 模型中加入FFM,在犧牲少量檢測速度的前提下,提高了雜草檢測的精度。
原YOLOv3 模型中使用的上采樣方式為鄰近上采樣,在待求像素的四鄰像素中,將距離像素最近的鄰像素復(fù)制給待求像素。鄰近上采樣雖然計算量小,但是鋸齒狀比較明顯。縮小后的圖片會丟失較大的圖像信息,容易造成特征細(xì)節(jié)丟失。而雙線性插值上采樣分別在水平和垂直方向進行一次線性插值,綜合其他像素點的信息,但未考慮到各鄰點間灰度值變化率,導(dǎo)致圖像邊緣在一定程度上變得較為模糊,對細(xì)節(jié)特征的還原存在不足。反卷積是一種特殊的正向卷積,相比較鄰近上采樣和雙線性插值上采樣,反卷積具備學(xué)習(xí)能力,能夠通過參數(shù)學(xué)習(xí),恢復(fù)卷積前后像素之間的對應(yīng)關(guān)系,使低分辨率尺寸圖像還原到高分辨率尺寸圖像時,盡可能地保留原圖片細(xì)節(jié)特征。
針對原模型上采樣方式容易造成特征信息丟失的問題,本文提出了一種融合了雙線性插值上采樣和反卷積的殘差上采樣結(jié)構(gòu)Ups。首先對輸入的特征圖分別進行雙線性插值上采樣和反卷積上采樣;將兩者輸出進行Concat 操作后,采用1×1 卷積核壓縮其通道數(shù),將壓縮后的結(jié)果與殘差層進行Concat 操作;最后再通過1×1 的卷積核進行通道數(shù)調(diào)整得到最終輸出。用Ups 結(jié)構(gòu)替換原網(wǎng)絡(luò)中的上采樣方式,雖然增加了計算復(fù)雜度,但能夠提高網(wǎng)絡(luò)模型的檢測精度。Ups結(jié)構(gòu)如圖3所示。
圖3 Ups 上采樣
如圖4所示,Coordinate Attention 注意力機制不僅考慮了通道間的關(guān)系,同時也考慮了空間位置間的關(guān)系。捕獲跨通道信息、方向和空間位置的感知信息,幫助模型更加精確地識別和定位目標(biāo)區(qū)域。
圖4 Coordinate Attention 注意力機制
大多數(shù)注意力機制通常按式(2)對坐標(biāo)信息嵌入進行全局池化,由于它將全局編碼空間信息壓縮到通道中,導(dǎo)致難以保存位置信息。為了能夠捕獲更加精確的空間位置信息,CA 注意力機制將全局池化操作按照式(3)、(4)分別沿水平和垂直方向進行通道編碼。
上述兩種變換分別沿兩個空間方向聚合特征,與生成特征向量的其他注意力機制不同,其能夠獲取空間方向的相關(guān)性,并保存沿其他空間方向的準(zhǔn)確位置信息,有助于網(wǎng)絡(luò)更準(zhǔn)確地定位感興趣區(qū)域。得到兩組特征信息Zch和Zcw按公式(5)處理,式中σ為sigmoid 激活函數(shù),F(xiàn)1為1×1 卷積。接著沿空間維數(shù)將f分解為兩個單獨的張量fh∈RC/r×H和fw∈RC/r×W,其中r為下采樣比例。再將兩個張量通過1×1卷積將通道數(shù)調(diào)整到與輸入通道數(shù)一致。
式中:gh和gw分別是經(jīng)過通道調(diào)整后得到的一組注意力權(quán)重;Fh和Fw是1×1的卷積操作。Coordinate Attention模塊的輸出可以表述為:
為了使模型能夠更好地在復(fù)雜環(huán)境下學(xué)習(xí)雜草特征信息,本文將CA 注意力機制嵌入到主干網(wǎng)絡(luò)DarkNet53 中的殘差單元結(jié)構(gòu)中,對通道進行重新標(biāo)定,增強重要的通道信息,抑制信息量較少的通道信息,提高模型對細(xì)節(jié)信息的感知能力。更改后的殘差模塊如圖5所示,改進后的模型如圖6所示。
圖5 更改后的殘差模塊
圖6 改進后的模型
本文所有實驗均在同一環(huán)境下進行,實驗環(huán)境配置見表1所列。本文在模型的訓(xùn)練過程中將batch_size 設(shè)置為4;優(yōu)化器為SGD,momentum設(shè)置為0.9;epochs設(shè)置為150輪;初始學(xué)習(xí)率設(shè)置為0.005。
表1 實驗環(huán)境配置
本文實驗使用的數(shù)據(jù)集為文獻[18]中公開的作物雜草數(shù)據(jù)集。選擇自然環(huán)境下甜菜不同生長周期中伴隨的雜草為實驗對象,共1 500 張圖像。樣本數(shù)據(jù)集包含了甜菜在不同生長階段和土壤條件下的生長情況,真實地反映了自然環(huán)境下甜菜與雜草共生的情況。從中隨機抽取70%作為訓(xùn)練集,剩余30%作為測試集。數(shù)據(jù)集部分圖片如圖7所示。
圖7 不同生長階段和土壤下甜菜雜草數(shù)據(jù)集
(1)平均精確率(Average Precision,AP)
AP 被定義為以召回率R(Recall)為橫坐標(biāo)、精度P(Precision)為縱坐標(biāo)繪制的曲線。計算公式如下:
mAP 即平均準(zhǔn)確率均值(mean Average Precision,mAP),是所有類別的 AP 值之和的平均值,用來衡量分類器對所有類別的分類精度。對于本文數(shù)據(jù)集只涉及到甜菜和雜草兩類目標(biāo),計算公式如下:
式中N的取值為2。
(2)F1 分?jǐn)?shù)(F1 Score)
F1 分?jǐn)?shù)是用于評價模型綜合性能的一個重要指標(biāo),計算公式如下:
(3)FPS 表示每秒內(nèi)處理的圖片數(shù)量,是衡量速度的指標(biāo)。
3.4.1 消融實驗
為了深入研究網(wǎng)絡(luò)結(jié)構(gòu)中每個模塊對檢測精度的影響,本文在進行消融實驗時將各模塊逐一添加。消融實驗結(jié)果對比情況見表2所列,其中“√”表示使用該模塊。
表2 消融實驗結(jié)果對比
本文以YOLOv3 為基礎(chǔ)框架、DarkNet53 為特征提取網(wǎng)絡(luò),進行消融實驗來驗證改進與添加模塊的有效性。采用IOU 取值為0.5 時甜菜與雜草的AP 值、mAP 值作為模型評價指標(biāo)。從表2中可以看出,單模塊對比實驗中,添加FFM 對整體檢測準(zhǔn)確度的影響較大,雜草的AP 值較原模型提升了2.86%。因小目標(biāo)特征信息不明顯、分辨率低等問題導(dǎo)致細(xì)節(jié)信息難以學(xué)習(xí),F(xiàn)FM 分別用于檢測小目標(biāo)和中等目標(biāo),檢測層依次融合淺層豐富的位置信息和深層豐富的語義信息,能夠更好地保留細(xì)節(jié)特征信息,強化特征學(xué)習(xí)能力,進而解決因小尺寸雜草分辨率低、細(xì)節(jié)信息缺失造成的檢測精度低的問題。組合實驗時添加FFM 和新型上采樣的效果最好,在FFM 增強小目標(biāo)細(xì)節(jié)特征學(xué)習(xí)能力的前提條件下,通過使用新的上采樣方式能夠有效地減少特征圖上采樣過程中細(xì)節(jié)特征丟失的問題。在將三個模塊全部添加后YOLOv3模型達(dá)到了最佳檢測性能,雜草的AP 值提高了3.74%,甜菜的AP 值提高了1.46%,mAP 提高了2.6%??梢钥闯稣w改進后甜菜和雜草的檢測精度要優(yōu)于單個或組合改進后的精度。
3.4.2 模型比較
本文分別將YOLOv3 模型與改進后的YOLOv3 模型在訓(xùn)練集上進行訓(xùn)練后,采用mAP 作為評價指標(biāo),實驗結(jié)果如圖8所示,橫軸為迭代次數(shù)epoch,縱軸為評估指標(biāo)mAP值。圖中共有兩條曲線,分別代表改進前后的YOLOv3 模型訓(xùn)練時mAP 值隨著迭代次數(shù)的增加而變化的情況。首先,在迭代100 輪后,本文提出的改進后模型的mAP 值逐漸趨于平穩(wěn),而原YOLOv3 模型的mAP 值變化相對比較劇烈。其次,從mAP 指標(biāo)來看,在經(jīng)過150 輪迭代后,本文提出的改進后YOLOv3 模型的mAP 值達(dá)到了86.75%,相對于YOLOv3模型mAP 值提高了2.6%??傮w而言,在訓(xùn)練過程中改進后的模型相比于原模型曲線更加趨于平緩。
圖8 模型mAP 值對比
為了進一步驗證改進后的模型性能,本文從測試集中選取兩組具有代表性的圖片進行測試,結(jié)果如圖9所示。其中圖9(a)為標(biāo)準(zhǔn)YOLOv3 網(wǎng)絡(luò)的檢測結(jié)果,圖9(b)為改進后網(wǎng)絡(luò)的檢測結(jié)果。從圖9中看出,當(dāng)圖像中存在尺寸較小的雜草時,標(biāo)準(zhǔn)YOLOv3 模型只能檢測出尺寸較大的作物和雜草,無法檢測出細(xì)小雜草。原因是圖像中部分雜草像素較小、分辨率低且目標(biāo)背景復(fù)雜,從而造成漏檢現(xiàn)象。本文改進后的模型通過加強上下文的語義信息加深網(wǎng)絡(luò)的學(xué)習(xí)能力,提升了小尺寸雜草的檢測精度。
圖9 小目標(biāo)檢測結(jié)果對比
3.4.3 與其他目標(biāo)檢測算法的對比實驗
本文為了驗證改進后模型的性能,將改進后的YOLOv3算法與其他主流目標(biāo)檢測算法在本文數(shù)據(jù)集上進行了對比實驗。選取AP、mAP、FPS 和F1 作為算法的評價指標(biāo)。結(jié)果見表3所列。
表3 不同目標(biāo)檢測算法結(jié)果對比
從表3的對比實驗結(jié)果可知,改進后的YOLOv3 算法雜草AP 值達(dá)到75.56%,分別比Faster-RCNN、SSD、YOLOv2和YOLOv3 的雜草AP 值高18.44%、10.10%、7.14%、3.74%。本文提出的改進YOLOv3 算法F1 指標(biāo)為86.56%,得分超過其他目標(biāo)檢測算法。同時相比較于原YOLOv3 模型沒有損失過多的檢測速度,F(xiàn)PS 達(dá)到了58。改進后的算法既能滿足對雜草檢測的精度要求,也能滿足雜草檢測的實時性要求。
本文對原YOLOv3 算法的特征提取網(wǎng)絡(luò)進行了改進,提出了特征融合模塊FFM 和新的上采樣方式,并將Coordinate Attention 注意力機制嵌入到主干網(wǎng)絡(luò)殘差模塊中。在不損失較大檢測速度的前提下,本文模型的平均檢測精度比標(biāo)準(zhǔn)YOLOv3 模型提高了2.6%,對小尺寸作物和雜草具有較好的檢測精度。在今后的工作研究中模型輕量化是未來研究的重點方向,對模型進行壓縮,減少參數(shù)量,在不損失較多精度的前提下,提升網(wǎng)絡(luò)的檢測速度,進一步提升算法的性能。