姜福煥 ,嚴祥輝,范明登
(1.福建省龍巖金葉復烤有限責任公司,福建 龍巖 364102;2.廈門煙草工業有限責任公司,福建 廈門 361026)
在原煙倉儲中除了需要對溫度、濕度有極高的要求外,對于倉庫中的蟲情也需要進行嚴格的控制。以最常見的煙草粉螟、煙草甲蟲為例,該類害蟲通過啃食煙葉為生,除了對煙葉的品相、重量造成影響外,其排泄物也會對煙葉的品質造成影響[1]。而在對于煙草害蟲的防治上,需要根據蟲口數量、密度選擇不同的治理方式,這需要通過監測蟲情以獲得相關數據[2]。目前主要的監測方式為人工記錄監測,受限于倉庫數量、人工數量等客觀因素影響,蟲情監測流程工作效率低下,且隨著記錄員的工作時間增加,記錄的精度也受到影響[3]。為此,如何提高蟲情監測效率是目前行業中主要研究方向。
經過多年的研究,國內外學者已提出了很多種糧蟲種類信息識別的先進技術方法,其中最具代表性的主要有以下幾種:
1)聲音檢測法:聲音檢測法是一種通過對糧堆中儲糧害蟲發出的聲音進行數據采樣,隨后采用技術手段對聲音數據進行檢測、分析,特征提取與匹配,據此來實現糧蟲種類識別的方法[4]。
2)近紅外法:近紅外法是一種通過將近紅外光向不同的儲糧害蟲進行照射,然后對所得到的近紅外光頻譜進行圖像分析,來區分不同種類糧蟲的方法。由于不同類別的糧蟲身體成分有差異,其反射和吸收的近紅外光譜也有差異,根據這些差異化表現便可以分辨出不同種類的儲糧害蟲[5]。
3)電導率測量法:電導率測量法是基于電導、電壓的物理特性,根據所測導體水分對電導率的影響,來判斷糧食中的害蟲情況。通常,受到害蟲侵害的糧食濕度要比無蟲害糧食大,濕度越高則電導率越小[6]。
4)圖像識別法:圖像識別法是指利用攝像手段獲取糧蟲圖像,通過圖像處理、機器學習等技術提取儲糧害蟲的圖像特征,然后進行圖像特征的特征向量分類,從而識別不同儲糧害蟲的類別的方法[7]。
以上各種方法雖然技術手段先進、豐富,對糧蟲種類的檢測精度在特定環境下也能達到要求,但都存在著一定的問題,這些問題阻礙了各方法的進一步應用與推廣[8]。具體問題如下:
1)聲音檢測法對采樣設備周圍環境的安靜程度要求很高,在有環境噪聲的情況下,聲音檢測法難以達到理想的檢測效果。
2)近紅外法對個體體積差異較大的糧蟲分辨效果較好,但對體積差異小的糧蟲而言,其反射的紅外光譜圖差異化較小,區分難度大。
3)由于糧堆電導率的數值大小與蟲量成正比,所以該法只能檢測糧堆內是否有蟲以及蟲量的多少,不能對糧蟲的種類進行區分,實際意義不大,應用場景不多。
4)關于圖像識別法,雖然取得了一些進展,但大部分研究中使用的儲糧害蟲圖像過于理想化,糧蟲圖像背景簡單,背景色與糧蟲顏色區分度大,所采用的訓練集皆為理想角度、完整、高清晰度的圖像,甚至一張圖像中僅有一只糧蟲,這與實際的儲糧環境不符。
得益于人工智能熱潮,計算機視覺技術在近年有了快速發展。相比于傳統目標檢測算法基于人工先驗知識設計特定目標的特征檢測器,基于卷積神經網絡的目標檢測算法則可通過學習樣本數據由網絡自動提取目標特征值,在泛化性及魯棒性上相比于傳統算法都有了大幅度的提升進步[9]。
綜上,為解決目前煙葉蟲情管理模式的弊端以及將深度學習算法更好地應用于煙蟲監測任務中,本文基于深度學習算法設計了專門適用于原煙倉庫的蟲害檢測網絡,通過對網絡結構進行優化,使其在保證高精度的同時兼具有輕量化的特性,通過對蟲情數據的實時采集,實現原煙倉儲蟲情的預警與分析,有效提升原煙倉儲煙葉養護水平,進而為倉儲養護管理供數據化的支撐,使其成為煙葉質量保障的新亮點。
為了提高對小目標的檢測精度,本文主要采用了Transformer模塊搭建特征提取網絡,依靠Transformer的全局自注意力機制,實現對小目標特征的加權提取。Transformer最初應用于自然語言領域中,而通過對其輸入端進行結構改造后,其可應用于計算機視覺領域[10]。標準的Vision Transformer模塊結構及對數據特征的處理流程如圖1所示。

圖1 Vision Transformer模塊結構

結合網絡模型的應用場景,模型需要盡可能地輕量化,以盡可能滿足在多種設備上嵌入運行,其次為檢測的目標具有小、密等特點,不易于檢測[12]。從第一方面考慮本文選用了單階段的檢測網絡,通過精簡的檢測流程達到快速的檢測的目的[13]。而對于目標小而密的檢測難點,單階段網絡具有一定的不足性[14]。綜上,對于蟲害檢測網絡的設計本文主要圍繞模型輕量化與提升密集目標檢測精度兩方面進行。在網絡的設計中,本文將Transformer模塊與標準的卷積模塊進行組合,構建了魯棒性更強的特征提取網絡,網絡結構如圖2所示。

圖2 特征提取網絡結構
本文所設計的結構為“Conv+Transformer+Conv”的組合形式,該結構的優勢在于整合了卷積網絡的局部感知性與Transformer的全局感知型,使得網絡整體對于目標具有更高的敏感性,降低漏檢、誤檢的概率。
在主干網絡的首尾部本文采用了標準卷積層進行構建,由于卷積對于圖片像素更加敏感,因此在網絡的輸入端部分采用標準卷積能夠將圖片快速轉換為包含有低級形態的特征的特征圖,使得后續的Transformer模塊不需要進行特征轉換可直接進行全局特征的提取[15];而在網絡的尾部,為了銜接檢測器的輸入仍采用了卷積層對特征圖進行處理[16]。在首尾模塊的設計中本文基于特征圖金字塔結構進行優化在原基礎上加入通道注意力機制,利用了FPN網絡編解碼及特征傳遞的特性,以提升特征圖的豐富性。特征金字塔網絡(FPN,feature pyramid network)是一種用于計算機視覺任務的神經網絡結構。如圖3所示,FPN可以從多個尺度的特征圖中提取特征信息,從而提高模型的性能和魯棒性。FPN的主要組成部分包括:1)自底向上的特征提取網絡,從輸入圖像中提取多個尺度的特征圖,每個特征圖對應不同的物體大小和尺度;2)自頂向下的特征融合網絡,將高層特征圖與低層特征圖進行融合,以便在不同尺度上提取更加豐富和準確的特征信息;3)橫向連接,在特征融合的過程中,FPN還通過橫向連接將相鄰尺度的特征圖進行連接,從而進一步提高特征的準確性和豐富性。FPN在計算機視覺任務中的應用非常廣泛,例如目標檢測、語義分割和實例分割等任務。通過使用FPN,可以使模型在不同尺度上都能夠有效地提取特征信息,從而提高模型的性能和魯棒性。

圖3 特征金字塔網絡示意圖
優化后的網絡結構如圖4所示。

圖4 通道注意力FPN網絡
在網絡的首部卷積層以編碼的形式通過下采樣的形式進行組合逐層縮小特征圖,而在尾部則是通過上采樣以解碼的形式逐層放大特征圖。由于本文所檢測的目標較小,特征圖尺寸越大目標,所能在特征圖上體現的特征信息也越多,也利于檢測,因此在主干網絡的尾部采用上采樣卷積將特征圖擴大。同時,在網絡的首部與尾部本文設計了特征圖通道注意力機制映射模塊,將淺層網絡輸出的特征圖映射輸入到深層網絡所輸出的特征圖中,對特征圖種的信息進行補充。這種傳遞方式提高了對于特征信息的復用,但同樣也會將背景等無效信息傳輸到深層網絡,引入一定的噪聲干擾。為了消除背景信息的噪聲干擾,本文在鏈接通道中加入了通道注意力機制模塊,通過對特征圖的通道額外增加權值,以表示不同的通道與特征圖中目標信息的相關性,權值越大說明相關性越強,通過加權的方式對噪聲特征的通道進行降權抑制,對包含目標特征的通達進行提權增強,所設計的通道注意力機制如圖5所示。

Transformer模塊的引入主要為補充網絡對于全局信息不夠敏感的弊端。卷積模塊側重于對局部特征進行提取,如果依靠卷積模塊獲取全局特征需要通過多層網絡迭代縮小特征圖,使得在相同感受野大小下能夠覆蓋更多特征圖區域[16]。而采用Transformer模塊,如第一小結所述其能夠采用少量的層結構構建特征圖的全局特征信息。但由于標準的Transformer模塊需要對特征圖劃分的每一塊特征區域進行關聯性計算,需要消耗較大的計算資源,不利于網絡的輕量化構建[17]。為解決標準Transformer模塊計算復雜,參數量多的問題,本文采用了稀疏Transformer模塊進行構建。
稀疏Transformer模塊的功能實現主要由“局部-全局-局部”三個子模塊組成實現,先將局部相似特征進行整合,之后將整合的特征塊進行全局關聯性計算,最后在將計算結果重新分布的局部特征塊中。每個稀疏模塊的結構如圖6所示。

圖6 稀疏Transformer模塊
如圖6所示,為稀疏Transformer模塊的結構及特征圖在其對數據的計算過程:首先輸入的特征圖先進行Patch Embed塊分割操作,將特征圖分為多個大小為K×K的塊區域,完成分割后會由局部特征聚合模塊對每個塊區域的特征進行聚合,該過程如圖中1號虛線框所示,特征聚合模塊采用了K×K大小的深度可分離卷積進行構建,其將特征塊聚合為一個像素點進行表示,即該點代表了塊特征(以上操作將特征圖的大小進行K×K倍的縮小,能夠減小后續自注意力計算的參數量及計算量)。之后由前饋網絡將這些特征點進行組合,并再次進行Patch Embed操作,將每個特征點重新分割并通過編碼轉換為一維向量以進行Transformer自注意力計算。對于每個全局注意力權值的計算,本文采用了稀疏注意力的計算方式,該方式如圖中2號虛線框所示,原特征圖在每個K×K大小的區域內由一個特征點進行稀疏表示,之后僅對這些特征點進行自注意力計算,獲取點與點之間的特征關聯度。最后通過局部傳播模塊將獲取到的注意力權值進行轉發,使得該權值覆蓋整張特征圖。局部傳播的實現為通過轉置卷積將具有注意力權值的特征點轉換為特征塊,即每個特征塊共享一個注意力權值,轉置后即可獲得每個塊與塊之間的關聯度,在通過映射的方式將輸入稀疏Transformer模塊的特征圖與轉置后的特征圖進行融合以獲得空間層面上的注意力權值。通過這種方式能夠在保證獲取全局特征的同時,有效降低網絡的計算量,并且可以通過控制分割特征圖區域大小的K值決定參數的減小倍數,使其具有靈活性。
綜上,網絡整體的檢測流程為輸入的圖片首先由卷積模塊的編碼器進行目標形態特征的提取及特征圖的快速構建;之后由稀疏Transformer模塊組對特征圖進行空間層面上的全局自注意力計算,獲取目標在特征圖中的分布關系。完成之后輸入到卷積模塊的解碼器中,將特征圖進行還原,同時在卷積模塊的編碼器會將其輸出的特征圖通過通道注意力機制映射至解碼器中,將低級形態特征與高級語義特征進行融合,提高了特征圖的豐富性。最后,本文采用了目前單階段網絡中檢測級精度較高的YOLO檢測器對輸出的特征圖進行檢測,獲取目標在圖中的數量及位置。由于網絡的設計方案以輕量化為目的,且結合當下熱門的Transformer多頭自注意力機制,并采用YOLO檢測器進行檢測,因此將優化后的網絡命名為YOLO TLite以便后續實驗進行區分。
為驗證本文所構建網絡適用于煙草倉儲間的蟲情檢測任務,本文通過對倉儲間內的真實蟲情環境進行拍照采樣,制作了煙草粉螟、煙草甲兩類蟲害的數據集,所采樣圖片如圖7所示。

圖7 采樣示例圖
對于數據集的樣本制作,本文通過拍攝誘蟲板上的蟲害為目標樣本,為提升模型的泛化性與增強其魯棒性,在拍攝的過程中,本文選擇了不同蟲害密度的誘蟲板已經通過控制拍攝的距離獲取不同大小的樣本目標。經統計,本文共采集圖片1 638張,煙草粉螟樣本數8 718個、煙草甲蟲樣本數6 539個。
對于模型性能的評估,本文結合混淆矩陣采用以下量化指標進行客觀評估:
混淆矩陣中共有TP、TN、FP、FN四個參數,每個參數所代表的含義分別如下:
TP:對于正樣本,模型預測正確的個數;
TN:對于負樣本,模型預測正確的個數;
FP:對于負樣本,模型錯誤預測為正樣本的個數;
FN:對于正樣本,模型錯誤預測為負樣本的個數。
精確率(Precision):評估模型對于目標類別的分類精度;
召回率(Recall):評估模型對于目標總數的查全能力;
F1綜合得分:評估模型在均衡精確率與召回率情況下的綜合性能。
檢測精度均值(average precision):評估某一類別的檢測置信度;

平均檢測精度均值(mean average precision):評估模型的綜合檢測置信度;
模型復雜度(FLOPs):模型浮點運算計算量,評估模型復雜度;
檢測速度(FPS):幀率,評估模型每秒能夠檢測圖片的數量。
對于模型性能的分析,本文以目前在輕量化網絡領域中應用較為常用的YOLO v5s為參照對比模型,并將本文對于主干網絡的優化方法分別移植至YOLO v5s上進行消融實驗;并且為驗證本文所設計稀疏Transform模塊在該任務中的適用性,本文選取了標準Transformer模塊與之進行對比。首先對網絡的基礎性能進行比較分析,對比結果如表1所示。

表1 基礎性能對比
如表1所示,在模型1的測試結果中,YOLO v5s模型對于目標辨別的精確率較低,分析其原因主要為網絡結構較為精簡,無法對目標特征記性充分提取造成。而模型2、模型3與模型4相比較與模型1 YOLO v5s均有一定的提升,分析其原因為模型2采用了FPN結合通道注意力機制進行高低特征融合,在網絡深層融入低級形態特征;模型3與模型4采用多頭自注意力機制Transformer模型能夠對特征圖的全局特征進行提取,與卷積模塊所提取到的局部特征進行互補。但對于模型4采用的標準Transformer模塊與模型3所采用本文所設計的稀疏Transformer模塊相比,在檢測精度與召回率賞要略低于模型3,分析其原因主要由于標準Transformer模塊對于特征圖的塊區域分割為等分,各個塊區域無關聯,對于每個塊區域的特征關聯性相較于稀疏Transformer模塊的計算方式更低,使得所提取到的特征信息在全局性上與模型3相比有所欠缺。模型5與模型6采用了本文所設計的網絡結構,兩個模型的不同主要在于所采用的Transformer模塊不同,結合模型3與模型4的對比分析,模型6采用標準Transformer模塊與模型5相比,在檢測性能上也略低于模型5。以上這5個網絡均能提升網絡特征的豐富度以提升分類精度。而對于召回率,由于誘蟲板的背景為白色,蟲害為黑色有較大的色差易于區分前景與背景,故各網絡均有出色表現。綜上模型5 YOLO TLite網絡結合了通道注意力機制與稀疏Transformer模塊,在分類精度上相比于其他網絡都有明顯提升,在F1綜合得分指標也反映了YOLO TLite的檢測性能更優。
在表2的檢測精度對比中,同表1的數據相關聯,特征的豐富性與全面性同樣對檢測精度有一定的影響。對比結果驗證了本文所設計的模型5 YOLO TLite網絡在檢測精度上同樣優于其他網絡模型。

表2 檢測精度對比
在表3中,主要對模型的輕量化性能進行比較。FLOPs指標為客觀評估指標,FPS數據則與模型搭載的硬件參數相關,本文選用了兩種硬件環境進行對比測試。基于FLOPs指標,模型2由于在原網絡的基礎上引入了輕量化通道注意力機制,因此其計算量相比于模型1 YOLO v5s有一定的增加;而模型3采用稀疏Transformer模塊對原網絡殘差卷積模塊進行替換,且模塊使用數量與原先相比有所減少,因此在計算量上低于YOLO v5s。但模型4采用標準Transformer模塊,由于Transformer模塊計算的復雜度,使得模型的計算量要高于模型1,在計算速度同樣低于模型1,結合表1與表2的檢測性能對比結果,雖然標準Transformer模塊與稀疏Transformer模塊精度相似,但在計算量與檢測速度上有明顯差距。在模型5 YOLO TLite網絡結構中,其另外將檢測器的數量由3個改為1個,同時結合輕量化通道注意力機制與稀疏Transformer模塊,因此其計算量整體也要低于YOLO v5s。反之模型6采用了標準Transformer模塊,雖然網絡做了一定的精簡,但由于模塊計算的復雜度使得計算量仍要要高于YOLO v5s。實際檢測速度對比,以上網絡在搭載由GPU的硬件設備中均能達到實時檢測效果,而在CPU上也能滿足間時檢測。

表3 檢測速度對比
以上消融實驗證明了相比于優化前的YOLO網絡,本文所設計的YOLO TLite網絡在倉儲煙蟲檢測中更具有優勢。并且所設計的稀疏Transformer模塊與標準Transformer模塊相比也更適用于該場景,在具有高檢測精度的同時,兼具了輕量化的特性。
為進一步驗證YOLO TLite在該任務中的通用性,本文選用了目前主流的目標檢測算法PANet、Cascade RCNN、Detection Transformer及Swin Transformer在本文所制作數據集上進行訓練測試,并與YOLO TLite進行對比,對比結果如表4所示。

表4 多類模型對比測試
在表4中,SENet與CBAM Net為卷積神經網絡,Detection Transformer與SWin Transformer為Transformer模型網絡。測試結果CBAM Net因同時采用了空間加權注意力機制與通道加權注意力機制提高了模型對于目標的感知能力、SWin Transformer網絡通過滑動分割計算的方式提高了Transformer模型中每個token的交互性,這兩個網絡模型在該任務中同樣具有較好的魯棒性,但與本文的YOLO TLite相比,在檢測性能與檢測速度上能仍有一定的差距,特別是在檢測速度上,由于Transformer模型的計算較為復雜整體的計算量高,使得模型在檢測速度上較慢。而對于SENet與Detection Transformer網絡在網絡性能上相比與其他網絡均較有一定差距,主要體現在于SENet僅采用了通道加權注意力機制,對于目標在特征圖空間上的分布定位感知能力較弱,而Detection Transformer則缺乏了特征圖分割后token與token間的關聯性。綜上,YOLO TLite綜合了卷積模型與Transformer模型的特點,在保證檢測精度的同時,仍具有較快的檢測速度。同時YOLO TLite模型對于不同距離、密度場景下的實際檢測結果如圖8所示,均能夠將圖中的蟲害目標正確框選。

圖8 實際檢測效果圖
綜上實驗,驗證了本文所設計的YOLO TLite在煙草倉儲間蟲害檢測任務中兼具有較高的檢測精度與速度,適用于蟲情監測模型中。對于監測模型的實現方案,本文主要通過計算蟲害密度進行預警模型構建,通過在倉促間內鋪設多個0.5的誘捕區,使用YOLO TLite模型計算區域內蟲害個數,以得出相應密度等級。為驗證模型的實用性,本文在區域內設置了不同蟲害個數以及在不同的外界光照環境下進行檢測實驗,測試結果分別如圖9所示。

圖9 標準光照條件計數準確性檢測
首先圖9的測試結果來源于正常光照條件下的檢測結果。圖中,對相同區域面積大小下,不同蟲害個數的平均計數精度對比結果上看,當蟲害個數低于50時,模型的計數精度較高;而蟲害個數在120只以上時,密度較高,使得模型的計數精度有一定幅度的下降。但蟲害個數在200只左右時,模型的計數精度仍有0.924,網絡模型在整體魯棒性強,能夠用于統計蟲數。
其次,本文模擬了在夜間或照明條件不充足情況下的檢測結果,以證明模型在不同環境下對于不同密度的蟲害仍具有出色的檢測性能,如圖10所示。由于當光照條件不夠充足時,畫面會出現噪點,且蟲害自身呈現灰黑色,因此檢測結果相比于標準光照條件下略微有點下降,其檢測精度的“拐點”出現于蟲害個數為80只左右,但當蟲害個數大于180只時檢測精度仍達0.90以上,說明模型能夠應付光照條件不足等復雜環境下的檢測任務。

圖10 弱光條件計數準確性檢測
本文針對于煙草行業倉儲環節中蟲情檢測難的問題,提出了一種基于深度學習的解決方案。該方案主要依靠深度學習網絡計算單位面積內的蟲害個數,進而換算出密度以得到相應蟲情數據。為此本文主要基于Transformer模塊優化設計了YOLO TLite輕量化檢測網絡,通過輕量化的結構設計,同時增強主干網絡的特征提取能力,以提高檢測精度。經實驗驗證,本文所設計的網絡具有較強的魯棒性,在不同密度環境下均能以較高的精度計算出蟲害個數,具有一定的使用性能。