馬宏興 張 淼 董凱兵 魏淑花 張 蓉 王順霞
(1.北方民族大學電氣信息工程學院,銀川 750021;2.寧夏農林科學院植物保護研究所,銀川 750002;3.寧夏回族自治區(qū)草原工作站,銀川 750002)
蝗蟲是造成全球農業(yè)和草原畜牧業(yè)經(jīng)濟損失的重要原因之一,每年因蝗蟲造成的經(jīng)濟損失高達千億美元[1-3]。
對蟲情的預測和防控,較為先進的方法是利用遙感、地理信息系統(tǒng)等技術宏觀上對蝗蟲蟲群進行監(jiān)測,但這種方法成本較高,監(jiān)測精度受限于遙感影像的分辨率,只適合大面積的蝗災檢測,且這種檢測是在蝗蟲已泛濫成災之后,沒有預見性[4-6]。近些年來,部分學者利用機器學習技術,在微觀方面對蝗蟲識別進行了研究。例如通過訓練神經(jīng)網(wǎng)絡模型來自主學習蝗蟲的生物特征[7-9]。LIMA等[10]提出了將蟲類特征與支持向量機(Support vector machine,SVM)相結合的方法,建立了一個能分類64科的昆蟲分類系統(tǒng),識別率為93%。YE等[11]提出的ResNet-Locust-BN模型能夠識別三齡幼蟲,準確率為77.20%,識別五齡幼蟲準確率為88.40%,識別成蟲準確率為93.8%。這些分類模型能對蝗蟲進行分類,但不能確定蝗蟲的具體位置信息。武英潔等[12]提出了基于Faster RCNN的野外蝗蟲快速識別網(wǎng)絡,準確率為75.6%。李林等[13]設計了K-SSD-F算法,可對視頻數(shù)據(jù)中的東亞飛蝗進行檢測,平均精度為88.94%。這些方法雖然能夠確定蝗蟲的位置,但對蝗蟲的檢測精度較低,且只能對單類蝗蟲進行檢測。
在微觀上對蝗蟲的檢測識別精度不高的原因是自然環(huán)境中蝗蟲圖像背景復雜,很難對蝗蟲進行有效的分割,而且由于蝗蟲樣本收集困難,不同種類的蝗蟲樣本分布不均勻,拍攝所獲取的蝗蟲圖像尺度不一,這都造成了蝗蟲圖像檢測識別的困難。為有效解決蝗蟲圖像樣本少、小目標和目標多尺度等識別難點,基于YOLO v5網(wǎng)絡,擬提出一種復雜背景下多尺度蝗蟲目標檢測識別模型。該模型可利用生成式對抗網(wǎng)絡CycleGAN來擴充數(shù)據(jù)集[14],使用ConvNeXt來保留小目標蝗蟲特征[15],使用Bi-FPN結構增強網(wǎng)絡提取蝗蟲特征的能力[16]。并將改進后的網(wǎng)絡模型結合研發(fā)的草原生態(tài)環(huán)境數(shù)據(jù)采集設備,構建基于Web的蝗蟲識別檢測平臺,提高對自然環(huán)境中蝗蟲檢測和識別精度,應用在寧夏草原地區(qū)的蝗蟲實時檢測中,為寧夏草原蟲情防治等提供生態(tài)信息和決策依據(jù)。
寧夏荒漠草原中常見蝗蟲有亞洲小車蝗、短星翅蝗、中華劍角蝗等,主要分布在寧夏中衛(wèi)、鹽池、固原等地[17-18]。
由于蝗蟲在自然環(huán)境中與背景高度相似,不利于蝗蟲特征的研究與分析,為豐富蝗蟲數(shù)據(jù)多樣性,提高識別模型泛化能力,在不同角度、不同光照環(huán)境下,在自然環(huán)境、捕蟲網(wǎng)、仿真草皮和粘蟲板上采集了蝗蟲圖像數(shù)據(jù),如圖1所示。
圖1 蝗蟲圖像
在采集過程中,共得到寧夏草原常見蝗蟲圖像335幅,刪除圖像數(shù)據(jù)集中拍攝模糊、枝葉遮擋等特征不明顯的蝗蟲圖像,最終得到208幅有效圖像。該數(shù)據(jù)集屬于少樣本數(shù)據(jù)集,需對蝗蟲數(shù)據(jù)集進行預處理。
為了擴充數(shù)據(jù)集,提高識別的準確性,采用生成對抗網(wǎng)絡生成新的蝗蟲圖像,對蝗蟲樣本進行擴充,并采用馬賽克數(shù)據(jù)增強來提高識別網(wǎng)絡的泛化能力。
生成對抗網(wǎng)絡(Generative adversarial network,GAN)由生成網(wǎng)絡和判別網(wǎng)絡組成,通過兩個神經(jīng)網(wǎng)絡相互博弈進行非監(jiān)督學習。判別網(wǎng)絡輸入真實樣本,生成網(wǎng)絡盡可能的誤導判別網(wǎng)絡,兩個網(wǎng)絡不斷調整參數(shù),相互對抗,生成以假亂真的圖像數(shù)據(jù),盡量模仿訓練集中的真實樣本,完成少樣本數(shù)據(jù)集擴充[19-21]。
CycleGAN結構如圖2所示,其中X表示輸入的真實樣本,Y表示生成的對抗樣本,G、F為生成網(wǎng)絡,DX、DY為對抗性網(wǎng)絡。
圖2 CycleGAN網(wǎng)絡結構
采用生成對抗網(wǎng)絡CycleGAN對寧夏草原蝗蟲圖像進行數(shù)據(jù)擴充,擴充前后蝗蟲圖像數(shù)據(jù)對比效果如圖3所示。
圖3 使用CycleGAN擴充數(shù)據(jù)樣本
除了使用對抗網(wǎng)絡擴充數(shù)據(jù)樣本外,還可以采用馬賽克數(shù)據(jù)增強和傳統(tǒng)圖像增強相結合的方法,擴展蝗蟲圖像樣本的豐富度。
在對蝗蟲圖像增強時,將4幅蝗蟲圖像進行隨機裁剪拼接,并對蝗蟲圖像進行位移、大小變換、剪切、復制粘貼等操作,增強結果如圖4所示。
圖4 數(shù)據(jù)增強結果
通過對數(shù)據(jù)集進行馬賽克數(shù)據(jù)增強,能夠增加模型每次訓練所選取的樣本數(shù),間接降低計算開銷。
為使網(wǎng)絡模型能夠學習蝗蟲的特征與位置信息,提高模型輸出的準確性,可對圖像中的蝗蟲進行標注。在此使用標注工具LabelImg對圖像中的蝗蟲進行矩形標注,標注結果如圖5所示。
圖5 圖像標注
對自然環(huán)境中的蝗蟲圖像標注時盡可能使邊界框最小,以減小背景的影響。標注完成,得到記錄蝗蟲位置和種類信息的文件,圖像和標注文件均作為模型的訓練集。
YOLO v5模型更適合中、大型目標檢測,對于復雜背景和尺度變化較大的蝗蟲等小目標圖像檢測效果達不到預期目標。為了正確識別復雜背景中小目標,本文首次通過將YOLO v5原主干網(wǎng)絡Darknet改進為ConvNeXt,來解決Darknet對小目標特征提取能力不足的問題;同時,將Neck特征融合部分改進為雙向融合特征網(wǎng)絡Bi-FPN,來解決多尺度特征融合問題。通過這些改進,來提升網(wǎng)絡模型對復雜背景中不同尺度蝗蟲目標的識別能力。改進后的網(wǎng)絡模型命名為YOLO v5-CB。
目標檢測算法中,YOLO v5因運算速度較快,識別正確率較高等原因,應用范圍較廣。YOLO v5由特征提取(Backbone)、特征融合(Neck)和檢測頭(Head)3部分組成,結構模型如圖6所示。
圖6 YOLO v5結構模型
YOLO v5對于大中型、顯著性目標的檢測具有良好的效果,但對于小目標、少樣本且背景復雜的蝗蟲圖像,YOLO v5的檢測識別性能并不理想,需要在特征信息提取和特征融合方面進行改進,使其適應自然背景中蝗蟲的檢測和識別。
由于數(shù)據(jù)集中存在小目標的蝗蟲圖像,在特征提取時,YOLO v5的下采樣方式會丟失小目標蝗蟲特征。為有效解決小目標蝗蟲圖像特征提取不充分的問題,本文改進模型YOLO v5-CB在特征提取部分采用性能更為優(yōu)異的ConvNeXt網(wǎng)絡。
ConvNeXt是一種純卷積網(wǎng)絡,在相同的計算開銷下,擁有更快的推理速度和更高的準確率,網(wǎng)絡結構如圖7所示。其中h、w、dim分別表示特征圖的高、寬和層數(shù)。
圖7中,ConvNeXt網(wǎng)絡將原ResNet模塊堆疊block的次數(shù)從(3, 4, 6, 3)調整成(3, 3, 9, 3),通過一個卷積核尺寸等于步長的卷積層進行下采樣,采用深度可分離卷積平衡精確率與計算開銷,調整通道數(shù)到96;ConvNeXt Block采用倒瓶頸層設計,使用3×3深度可分離卷積用于提取特征后,先用1×1卷積升維,將通道數(shù)由96升到384,再用1×1卷積降維,將通道數(shù)從384降到96,用以減少高維信息的損失;ConvNeXt通過4個階段的特征提取,得到尺寸為7×7×768的特征圖,通過全局平均池化和LN層,最終通過線性分類器輸出。
圖7 ConvNeXt網(wǎng)絡結構圖
ConvNeXt模型因其特殊的倒置瓶頸層結構,有效地避免了降采樣過程中小目標蝗蟲特征信息的丟失。ConvNeXt在每次降采樣前后和全局均值池化之后的位置都添加了一個LN層,這種歸一化策略使得模型更加穩(wěn)定,減少了梯度的振蕩。此外,由于借鑒了Swin Transformer[22]的結構,減少激活函數(shù)和BN層的使用,ConvNeXt模型不僅提升了蝗蟲目標檢測的準確率,也使網(wǎng)絡降低了浮點運算次數(shù)。
網(wǎng)絡訓練過程中,隨著網(wǎng)絡層數(shù)越深,獲得的特征信息越高級,但是目標的位置信息會變得越弱,對小目標的位置損失就越大。因此在提取蝗蟲特征后,需要通過Neck進行特征融合提高檢測頭(Head)對蝗蟲位置與類別信息預測的準確性。
YOLO v5使用不同尺度來預測并用特征金字塔(Feature pyramid network,F(xiàn)PN)結合像素聚合網(wǎng)絡(Pixel aggregation network,PAN)結構對特征進行多尺度融合。由于拍攝獲得的寧夏草原蝗蟲目標尺度變化較大,使用YOLO v5的PANet結構會破壞不同尺度蝗蟲特征的一致性。為解決蝗蟲目標多尺度檢測問題,本文改進模型YOLO v5-CB在特征融合部分采用Bi-FPN結構,通過引入權值,來解決不同尺度的特征圖對特征融合的貢獻不同的問題。PANet結構如圖8所示,Bi-FPN結構如圖9所示。
圖8 PANet 結構圖
圖9 Bi-FPN結構圖
Bi-FPN結構為了學習不同分辨率特征圖對特征融合的重要程度,反復進行多尺度特征融合。
Bi-FPN帶權特征融合公式為
(1)
式中Ii——輸入特征
wi、wj——權值,用于衡量不同分辨率的特征對特征融合的貢獻情況
e——數(shù)值極小的學習率,用以約束數(shù)值的振蕩
O——輸出,加權特征融合的值
Bi-FPN在第6層融合特征的計算公式為
(2)
(3)
Pin——對輸入進行下采樣操作
Resize——上采樣函數(shù)
ω——學習到的參數(shù)
Pout——融合的輸出特征
Conv——卷積運算函數(shù)
Bi-FPN在融合不同尺度的特征圖中,因其特有的雙向交叉尺度連接結構,能夠高效融合到更多的蝗蟲特征;同時運用加權特征融合的設計,通過學習不同層輸入特征的權重,得到不同尺度的輸入特征對輸出特征的貢獻情況,從而解決了蝗蟲圖像尺度變化較大的問題。
模型在服務器上完成訓練,服務器配置為Intel(R)Core(TM)i7-7820x CPU,GeForce RTX 2080Ti 11GB GPU。軟件環(huán)境采用Python 3.7,深度學習框架采用Pytorch 1.8.1。
采用本文改進模型YOLO v5-CB對寧夏草原蝗蟲圖像進行檢測和識別,結果如圖10所示。從圖中可以看出,YOLO v5-CB能夠對圖像中的亞洲小車蝗、短星翅蝗和中華劍角蝗進行準確定位和識別。
圖10 寧夏草原蝗蟲圖像識別結果
為進一步驗證改進模型YOLO v5-CB的性能,選擇與Faster R-CNN[23]、YOLO v3[24]、YOLO v4[25]和YOLO v5模型進行比較,結果如圖11所示。
圖11 不同網(wǎng)絡識別結果
圖11中,存在亞洲小車蝗、短星翅蝗兩類蝗蟲,背景復雜且蝗蟲尺度變化較大。Faster R-CNN 能夠定位所有蝗蟲,但存在亞洲小車蝗與短星翅蝗錯檢和重復檢測的情況;YOLO v3網(wǎng)絡與YOLO v4網(wǎng)絡存在亞洲小車蝗漏檢,將非蝗蟲錯檢成短星翅蝗的情況;YOLO v5網(wǎng)絡能夠識別出多數(shù)蝗蟲,但對目標較小的短星翅蝗存在漏檢的情況;本文改進模型YOLO v5-CB能夠準確定位并識別出亞洲小車蝗、短星翅蝗,且無錯檢漏檢情況。說明改進模型YOLO v5-CB能有效提高復雜背景中多尺度蝗蟲檢測和識別的準確率。
為了客觀評估模型性能,對Faster R-CNN、YOLO v3、YOLO v4、YOLO v5和本文改進模型YOLO v5-CB的精確率、召回率、平均精度均值(mAP)、F1值進行比較[26],如表1所示。
表1 網(wǎng)絡模型評價指標
由表1可見,在對寧夏草原常見亞洲小車蝗、短星翅蝗和中華劍角蝗檢測識別時,YOLO v3、YOLO v4與Faster R-CNN相比,網(wǎng)絡性能有了較大的改善,但略遜于YOLO v5。YOLO v5對小目標蝗蟲的識別精確率和平均精度均值偏低;YOLO v5-CB的精確率、召回率、平均精度均值和F1值均為最優(yōu),其中,精確率比Faster R-CNN提高27個百分點,比YOLO v3提高9.1個百分點,比YOLO v4提高11.9個百分點,比YOLO v5提高5.8個百分點;召回率比 Faster R-CNN提高13.3個百分點,比YOLO v3提高6個百分點,比YOLO v4提高8.2個百分點;比YOLO v5提高6.1個百分點;F1值比Faster R-CNN提高21個百分點,比YOLO v3提高8個百分點,比YOLO v4提高10個百分點,比YOLO v5提高6個百分點。
為了得到亞洲小車蝗、短星翅蝗和中華劍角蝗的平均精度,使用Faster R-CNN、YOLO v3、YOLO v4、YOLO v5和YOLO v5-CB在訓練過程中得到的精確率和召回率繪制亞洲小車蝗、短星翅蝗和中華劍角蝗精確率-召回率曲線,如圖12所示。
圖12 精確率-召回率曲線
由Faster R-CNN、YOLO v3、YOLO v4、YOLO v5和本文模型YOLO v5-CB的精確率-召回率曲線可得,亞洲小車蝗、短星翅蝗和中華劍角蝗的平均精度如表2所示。
由圖12和表2可以得出,本文模型YOLO v5-CB檢測亞洲小車蝗的平均精度比Faster R-CNN提高9.9個百分點,比YOLO v3提高2.7個百分點,比YOLO v4提高2.8個百分點,比YOLO v5提高3.7個百分點;檢測短星翅蝗的平均精度比
表2 不同蝗蟲的平均精度
Faster R-CNN提高 27.5個百分點,比YOLO v3提高14.8個百分點,比YOLO v4提高24.1個百分點;比YOLO v5提高11.4個百分點;檢測中華劍角蝗的平均精度比Faster R-CNN提高10.8個百分點,比YOLO v3提高0.8個百分點,比YOLO v4提高0.9個百分點;比YOLO v5提高0.5個百分點。綜上所述,本文改進網(wǎng)絡模型YOLO v5-CB對亞洲小車蝗、短星翅蝗、中華劍角蝗檢測的平均精度表現(xiàn)最優(yōu)。
為了進一步驗證本文模型YOLO v5-CB的有效性和實用性,在訓練時長和檢測時間上與YOLO v5進行了對比實驗。
在訓練時長的對比實驗中,訓練150個迭代周期后,得到的YOLO v5和YOLO v5-CB的蝗蟲類別損失值和蝗蟲位置損失值如圖13和圖14所示。
圖13 類別損失值對比
圖14 位置損失值對比
由圖13、14可知,由于改進模型YOLO v5-CB引入了ConvNeXt網(wǎng)絡和Bi-FPN結構,導致收斂速度略慢于YOLO v5,訓練時長增加,但充分訓練后,收斂結果優(yōu)于YOLO v5。
檢測時間對比實驗中,選取50幅復雜背景下的小目標蝗蟲圖像,對訓練好的YOLO v5和YOLO v5-CB網(wǎng)絡進行對比,為了消除偶然性,使結果更加準確,將50個結果每10個分成一組,共分成5組,分別記為T1~T5,求得每一組檢測時間的平均值,結果如表3所示。
由表3可知,訓練后YOLO v5-CB的檢測時間最多比YOLO v5增加了0.004 s,對實際應用基本沒有影響。
表3 檢測時間對比
為了更好地模擬蝗蟲真實的生存環(huán)境,驗證模型的實際應用效果,針對含有負樣本的圖像,YOLO v5和YOLO v5-CB的檢測結果如圖15所示。
圖15 引入噪聲檢測結果
由圖15可見,對于含有負樣本的復雜背景下小目標蝗蟲檢測,YOLO v5存在錯檢,而YOLO v5-CB檢測更加準確。
由此可知,YOLO v5-CB因其主干部分的深度可分離卷積,只增加了空間維度上的信息混合,配合其特殊的倒置瓶頸層結構,有效地平衡了準確度與計算量,部署在服務器端是可行的。
為了驗證改進方案的有效性,需要通過消融實驗進行對比分析,結果如表4所示。
表4 消融實驗結果
模型1是YOLO v5網(wǎng)絡;模型2是將YOLO v5的特征提取部分替換為ConvNeXt后得到的網(wǎng)絡;模型3是將YOLO v5的特征融合部分替換為Bi-FPN得到的網(wǎng)絡;模型4是本文改進網(wǎng)絡YOLO v5-CB。實驗時,各網(wǎng)絡模型訓練100個周期。
由表4可知,相比YOLO v5,模型2的精確率提高0.8個百分點,召回率提高3.4個百分點,F(xiàn)1值提高2個百分點,平均精度均值提高3.7個百分點,說明采用ConvNeXt網(wǎng)絡,能夠較好地提取小目標特征,有效提高網(wǎng)絡對蝗蟲的檢測性能。相比YOLO v5,模型3的精確率提高4個百分點,召回率提高7.4個百分點,F(xiàn)1值提高5個百分點,平均精度均值提高4.19個百分點,說明采用Bi-FPN,可增加網(wǎng)絡對多尺度蝗蟲特征的融合能力,保留了不同尺度蝗蟲特征的一致性。相比YOLO v5,模型4的精確率提高5.8個百分點,召回率提高6.1個百分點,F(xiàn)1值提高6個百分點,平均精度均值提高5.48個百分點。說明本文改進方法YOLO v5-CB可更好地檢測和識別多目標、尺度不一的蝗蟲圖像,提高蝗蟲目標檢測的準確性。
為了探索蝗蟲數(shù)量與生態(tài)因子之間的內在聯(lián)系,需要對觀測點的蝗蟲圖像進行長期采集并檢測。在實際應用中設計了分布式可擴展生態(tài)環(huán)境數(shù)據(jù)采集系統(tǒng)[27-28],結構如圖16所示。
圖16 分布式可擴展生態(tài)環(huán)境數(shù)據(jù)采集系統(tǒng)架構圖
系統(tǒng)主要由邊緣端數(shù)據(jù)采集模塊和云端處理模塊兩部分組成。邊緣端數(shù)據(jù)采集模塊實物如圖17所示,主要完成各類生態(tài)環(huán)境數(shù)據(jù)采集并通過4G網(wǎng)絡發(fā)送至云端處理模塊,云端處理模塊不僅對邊緣端數(shù)據(jù)采集模塊數(shù)據(jù)進行接收、校驗、存儲,還對邊緣端進行監(jiān)控、分析、反饋與調控。
圖17 邊緣端數(shù)據(jù)采集模塊實物
分布式可擴展生態(tài)環(huán)境數(shù)據(jù)采集系統(tǒng)主要應用于山地、荒漠、草原、戈壁等惡劣環(huán)境中的生態(tài)數(shù)據(jù)監(jiān)測,可完成觀測點光照強度、降雨量、空氣溫濕度、土壤主要元素及不同深度溫濕度等10余類生態(tài)環(huán)境數(shù)據(jù)的實時監(jiān)測和跟蹤,同時可對觀測點圖像數(shù)據(jù)進行實時采集并進行昆蟲、植物識別。
為了對觀測點的圖像進行實時采集并查看,通過Flask構建Web界面,通過邊緣端數(shù)據(jù)采集模塊的高清圖像采集設備,使用RTMP推流的方式,結合螢石云開放平臺,可實時獲取寧夏草原蝗蟲圖像,利用部署在云端處理模塊中的YOLO v5-CB模型,可完成觀測點蝗蟲圖像的實時識別。生態(tài)環(huán)境圖像采集界面如圖18所示。
圖18 生態(tài)環(huán)境圖像采集界面
目前,該設備已安裝在寧夏回族自治區(qū)鹽池縣大水坑、黃記場和麻黃山等地,主要用于長期跟蹤觀測點各類生態(tài)環(huán)境數(shù)據(jù)。
為了測試本文改進模型YOLO v5-CB在Web端的實際識別效果,選取60只蝗蟲,其中亞洲小車蝗25只、中華劍角蝗20只、短星翅蝗15只,并與YOLO v5模型進行對比測試,結果如表5所示。
表5 改進前后模型識別檢測結果
由表5可以看出,YOLO v5網(wǎng)絡存在將短星翅蝗錯檢成亞洲小車蝗的情況,而本文模型YOLO v5-CB可以正確檢測3類蝗蟲,且無漏檢錯檢情況。
在草原蝗蟲實時識別時,對采集設備區(qū)域地面進行平整并鋪上比較單一的草皮背景,結果如圖19所示,在此僅顯示某段視頻中第256~270幀的識別結果。
圖19 運動蝗蟲圖像識別結果
由于YOLO v5顯示蝗蟲種類的標簽是拼音字母,在視覺上不夠友好,不利于應用的擴展,因此在YOLO v5-CB中采用Unicode編碼方式,將視頻中的蝗蟲檢測結果以中文輸出。
(1)針對寧夏草原蝗蟲樣本較少、尺度大小不一,目標與背景相近等識別難題,提出了一種復雜背景下多尺度蝗蟲目標檢測識別模型YOLO v5-CB,通過CycleGAN擴充數(shù)據(jù)集,使用ConvNeXt提取特征,結合Bi-FPN結構進行特征融合,構建了復雜背景下的寧夏草原蝗蟲檢測模型,并采用對比實驗和消融實驗對改進模型的性能進行評估與分析。
(2)在寧夏草原蝗蟲檢測識別時,本文改進模型YOLO v5-CB識別精確率為98.6%,召回率為96.6%,F(xiàn)1值為98%,平均精度均值為96.8%。與Faster R-CNN、YOLO v3、YOLO v4、YOLO v5模型相比,本文改進網(wǎng)絡模型對寧夏蝗蟲具有更好的檢測性能。
(3)設計并開發(fā)了分布式可擴展生態(tài)環(huán)境數(shù)據(jù)采集平臺,通過Flask構建Web界面,基于YOLO v5-CB+平臺,實現(xiàn)了對寧夏草原包括蝗蟲圖像在內的生態(tài)環(huán)境數(shù)據(jù)實時檢測和長期跟蹤。