苗海委 周慧玲
(北京郵電大學(xué)自動化學(xué)院,北京 100089)
蟲害是導(dǎo)致我國糧食產(chǎn)后儲藏?fù)p失的重要因素之一,不僅造成經(jīng)濟(jì)損失,還容易導(dǎo)致食品安全問題。目前,采用不同形式捕獲器獲得糧倉內(nèi)害蟲圖像信息的裝置已經(jīng)逐漸開始在倉庫內(nèi)應(yīng)用,對儲糧害蟲圖像進(jìn)行準(zhǔn)確的數(shù)量檢測和正確的類別識別是做出正確保糧決策的重要依據(jù)。有研究表明,除少數(shù)害蟲分布在糧堆深層外,大部分害蟲最早是糧堆表層被發(fā)現(xiàn)的[1]。及早發(fā)現(xiàn)糧堆表層害蟲,做到早預(yù)警早防治,對于保障儲糧安全是十分必要的。
近年來數(shù)字成像技術(shù)的快速發(fā)展使得圖像識別檢測成為主要方法。關(guān)于儲糧害蟲圖像檢測方面,不少學(xué)者基于傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)兩個(gè)方向做了很有意義的研究工作。傳統(tǒng)機(jī)器學(xué)習(xí)方法主要是通過提取顯式圖像特征然后將特征送入機(jī)器學(xué)習(xí)分類器進(jìn)行分類或檢測。張洪濤等[2]和吳一全等[3]分別使用了面積、周長等形態(tài)特征和紋理特征送入支持向量機(jī)進(jìn)行害蟲分類。Lu等[4]使用隱馬爾可夫模型在圖像像素?cái)?shù)據(jù)和紋理特征上建模對害蟲圖像分類,其通過實(shí)驗(yàn)驗(yàn)證了不同姿態(tài)的害蟲圖像識別效果。因?yàn)閭鹘y(tǒng)機(jī)器學(xué)習(xí)使用的特征大多是顯式的特征,特征提取過程煩瑣且表達(dá)圖像特征準(zhǔn)確性不高,受背景雜質(zhì)和光照影響較大[5]。Hu等[6]為了提高提取特征的有效性,將蟻群算法應(yīng)用到儲糧害蟲特征提取中,該算法從17種儲糧害蟲特征集中選取7種特征子空間,其實(shí)驗(yàn)證明了自動特征提取算法在儲糧害蟲特征提取任務(wù)上的有效性。近幾年,基于深度學(xué)習(xí)方法的抽象特征自動提取成為儲糧害蟲圖像識別特征提取的主流方法。程尚坤[7]和程曦等[8]分別基于深度學(xué)習(xí)技術(shù)進(jìn)行了甲蟲類害蟲圖像和7種高清害蟲標(biāo)本圖像的粗分類。Shen等[9]基于深度學(xué)習(xí)目標(biāo)檢測框架Faster R-CNN對瓦楞紙板型誘捕器誘捕的害蟲圖像進(jìn)行了種類識別,在實(shí)驗(yàn)室模擬糧倉環(huán)境下平均識別率達(dá)到88%。
本研究基于單發(fā)多盒目標(biāo)檢測器(Single Shot MultiBox Detector,SSD)[11],使用本實(shí)驗(yàn)室基于粘蟲板誘捕器開發(fā)的儲糧害蟲在線圖像采集設(shè)備(Online Insect Trapping Device,OITD)[10]進(jìn)行圖像采集,針對米象/玉米象、谷蠹、扁谷盜、鋸谷盜、擬谷盜和煙草甲六類儲糧害蟲設(shè)計(jì)了一套檢測算法。為了提高算法對粘蟲板圖像檢測的效果,在分析害蟲檢測與通用目標(biāo)檢測異同點(diǎn)的基礎(chǔ)上,結(jié)合儲糧害蟲目標(biāo)類間相似度較高、邊框比例與類別無關(guān)和圖像尺度相對固定的特點(diǎn),通過改進(jìn)SSD的目標(biāo)框回歸策略、損失函數(shù)、特征提取網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計(jì)適用于儲糧害蟲圖像定位和識別的算法,并對其有效性進(jìn)行了評估測試。
OITD是本實(shí)驗(yàn)室開發(fā)的監(jiān)控糧倉表面粘蟲板上害蟲的實(shí)時(shí)在線設(shè)備,可通過接入管理服務(wù)器實(shí)現(xiàn)粘蟲板圖像自動采集,其包括相機(jī)、支架和粘蟲板三部分,如圖1a所示。相機(jī)選用MindVsion-GE500C-T,具體參數(shù)如表1所示,可拍攝最大20cm×25cm的粘蟲板,拍攝的圖片如圖1b所示。數(shù)據(jù)集害蟲按六大種分類,粘蟲板圖像來源兩部分:實(shí)驗(yàn)室拍攝的粘蟲板圖像和糧倉環(huán)境下拍攝的粘蟲板圖像。人工標(biāo)記圖像中的所有害蟲目標(biāo)邊界框(以下簡稱目標(biāo)框),如圖1c所示。來自實(shí)驗(yàn)室的粘蟲板害蟲圖像中的害蟲由國家糧食和物資儲備局科學(xué)研究院糧食儲藏研究室養(yǎng)殖,對每頭害蟲的種類鑒定是明確的,因此標(biāo)注信息中包含類別信息和目標(biāo)框信息。為了保證模型在實(shí)際糧倉中的檢測性能,本研究在訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集中分別加入了1030張和100張來自實(shí)際糧倉的圖片,因?yàn)閷@些圖片中的單頭害蟲進(jìn)行類別鑒定難度較大,因此本研究只標(biāo)注目標(biāo)框。
圖1 OITD與拍攝圖片示例圖
表1 MindVsion-GE500C-T相機(jī)具體參數(shù)
OITD拍攝的圖像分辨率是1944×2592像素,由于高分辨率的圖像直接送入神經(jīng)網(wǎng)絡(luò)會占用較高內(nèi)存,增大訓(xùn)練和推理所需的硬件配置要求。因此需要對大尺寸圖像進(jìn)行處理,以獲小尺寸圖像,送入神經(jīng)網(wǎng)絡(luò)。因?yàn)檎诚x板圖像中的單頭害蟲平均只有30×40像素,為保證單頭害蟲圖像信息盡量少的丟失,采用了劃窗采樣方式,將整張大圖劃分成若干小圖送入定位網(wǎng)絡(luò)。表2是來自實(shí)驗(yàn)室的粘蟲板數(shù)據(jù)集中訓(xùn)練集和測試集圖片的數(shù)量以及害蟲的頭數(shù)。表3是整體粘蟲板圖像數(shù)據(jù)集的統(tǒng)計(jì),其中包含來自實(shí)驗(yàn)室的粘蟲板圖像和來自實(shí)際糧倉粘蟲板圖像。
表2 來自實(shí)驗(yàn)室的粘蟲板圖像數(shù)據(jù)集數(shù)量統(tǒng)計(jì)
表3 粘蟲板圖像數(shù)據(jù)集數(shù)量統(tǒng)計(jì)
粘蟲板圖像相比于其他的誘捕器圖像拍攝范圍較大,且害蟲較小,為了保留足夠多的圖像信息被送入神經(jīng)網(wǎng)絡(luò),需要先經(jīng)過劃窗操作再送入網(wǎng)絡(luò)進(jìn)行檢測,所以對檢測速度有要求。由于相機(jī)高度固定目標(biāo)尺度變化小,因此對多尺度檢測需求較小,故本研究基于SSD進(jìn)行算法改進(jìn)。改進(jìn)的SSD基本流程:1)通過劃窗采樣將分辨率為1944×2592像素的圖像切割成24張分辨率為512×512像素的圖像,采樣前的圖像如圖2a所示,采樣后單張圖像如圖2b所示;2)將切割后的圖像送入卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)進(jìn)行特征提取,如圖2c所示;3)使用默認(rèn)框生成器生成不同長寬比和不同尺寸的默認(rèn)框,如圖2d所示;4)使用提取到的不同尺度的特征圖進(jìn)行目標(biāo)框與默認(rèn)框偏移量的回歸和害蟲分類;5)使用默認(rèn)框坐標(biāo)和預(yù)測得到的偏移量可得到目標(biāo)框的預(yù)測坐標(biāo)和類別的預(yù)測數(shù)據(jù),如圖2e所示;6)根據(jù)框的置信度和框的坐標(biāo)應(yīng)用非極大值抑制算法去除多余預(yù)測框得到最終框的坐標(biāo)和類別如圖2f所示。
圖2 目標(biāo)定位算法基本流程
為了提高對不同尺寸目標(biāo)定位的效果,SSD 在不同尺度的特征圖上生成不同密度的默認(rèn)框。由于淺層特征和深層特征分別對小目標(biāo)和大目標(biāo)有較好的檢測性能,所以在淺層特征進(jìn)行回歸過程中使用生成較小的默認(rèn)框,在深層特征進(jìn)行回歸的過程中使用較大默認(rèn)框,圖3a分別展現(xiàn)了不同大小的默認(rèn)框。為了覆蓋所有不同長寬比的目標(biāo),同一層的特征圖中包含不同長寬比的默認(rèn)框,可分別使用不同大小的默認(rèn)框。通過將默認(rèn)框與目標(biāo)框坐標(biāo)真值做交并比(Intersection over Union, IoU)判定每個(gè)默認(rèn)框是正樣本還是負(fù)樣本,對于正樣本的默認(rèn)框要標(biāo)注其類別,對于負(fù)樣本默認(rèn)框要標(biāo)注為背景,如圖3b所示,有4組默認(rèn)框與目標(biāo)框匹配成為正樣本,如實(shí)線的橫框、正方形框、豎框代表不同的默認(rèn)框,虛線框代表目標(biāo)框。
圖3 默認(rèn)框生成示意圖
本研究的特征提取網(wǎng)絡(luò)基于VGG16進(jìn)行優(yōu)化,通用SSD算法分別使用第4組卷積(conv.4)和第7組到第12組卷積(conv.7~ conv.12)共7組卷積后的特征進(jìn)行目標(biāo)框坐標(biāo)的回歸和分類。特征的局部細(xì)節(jié)特征和全局語義特征對于定位任務(wù)來說同樣重要,使用單層特征分別進(jìn)行回歸不能同時(shí)利用細(xì)節(jié)特征和全局語義特征,F(xiàn)PN[12]和FSSD[13]都是基于這個(gè)觀點(diǎn)進(jìn)行改進(jìn)的。由于害蟲目標(biāo)較小,為了提高檢測算法對小目標(biāo)定位和分類效果,將后3組的特征合并后分別加入到conv.4、conv.7和conv.8的3組特征中。為了增大后3組特征圖的分辨率以保證特征中含有足夠多的信息,在通用SSD基礎(chǔ)上,刪除了conv.9、conv.10和conv.113組中的池化層,全部網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
通用SSD算法沒有設(shè)置定位置信度,判別目標(biāo)是否為害蟲、非極大值抑制等操作主要依賴類別標(biāo)簽預(yù)測置信度,這是因?yàn)橥ㄓ脵z測任務(wù)有2個(gè)特點(diǎn)[14]:1)類與類之間差異性較大,類別標(biāo)簽預(yù)測置信度與定位置信度有很大相關(guān)性;2)類別標(biāo)簽預(yù)測與目標(biāo)框坐標(biāo)的回歸有一定相關(guān)性,如通用目標(biāo)檢測任務(wù)中狗和人的目標(biāo)框具有相對穩(wěn)定的長寬比例。
圖4 改進(jìn)的SSD網(wǎng)絡(luò)結(jié)構(gòu)
本研究的檢測任務(wù)不具上述通用檢測的2個(gè)特點(diǎn),且類與類之間相似度較高,使用類別標(biāo)簽預(yù)測置信度作為定位置信度會產(chǎn)生漏檢和誤檢。本研究做出改進(jìn):1)加入前景分類模塊,負(fù)責(zé)定位置信度的預(yù)測,且與負(fù)責(zé)類別標(biāo)簽預(yù)測的類別分類模塊獨(dú)立;2)減小前景判別和坐標(biāo)回歸的耦合性,在類別分類卷積模塊、坐標(biāo)回歸卷積模塊和前景分類卷積模塊中分別加了一層非線性卷積層,卷積策略如圖5所示。
圖5 目標(biāo)框回歸策略結(jié)構(gòu)圖
(1)
式中:x為標(biāo)記當(dāng)前位置默認(rèn)框與目標(biāo)框是否匹配的三維數(shù)據(jù);xis_fore為前景指示數(shù)據(jù);l為神經(jīng)網(wǎng)絡(luò)對每個(gè)默認(rèn)框與匹配目標(biāo)框的偏移量的預(yù)測值,分為cx、cy、cw、ch四組,分別代表x坐標(biāo)方向上的偏移值、y坐標(biāo)方向上的偏移值、框的寬度偏移值、框的高度偏移值;α為控制目標(biāo)框坐標(biāo)回歸損失在總的損失函數(shù)中所占比重,設(shè)置為1;N為每個(gè)訓(xùn)練批次的大小,選N=4。
(2)
式中:Pos、Neg分別為正樣本集合和負(fù)樣本集合;類別編號包括0~K,選K=6,0代表背景。
(3)
(4)
(5)
(6)
使用訓(xùn)練數(shù)據(jù)集來訓(xùn)練神經(jīng)網(wǎng)絡(luò),以4張圖片為一批送入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。采用Adam算法[15]進(jìn)行更新網(wǎng)絡(luò)權(quán)重,Adam優(yōu)化算法結(jié)合了去除擺動方差和動量的思路,可以加快網(wǎng)絡(luò)訓(xùn)練收斂,是目前最好的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法之一。使用conv.4、conv.7、conv.8的特征與conv.9、conv.10和conv.11合并的特征進(jìn)行回歸,3層特征的默認(rèn)框大小分別設(shè)置為20、50、133,默認(rèn)框長寬比使用3種比例:1∶2、1∶1和2∶1。訓(xùn)練時(shí)統(tǒng)計(jì)3個(gè)損失值,分別為前景分類器損失、類別分類損失和目標(biāo)框坐標(biāo)回歸損失,3個(gè)損失值之和如圖6所示。
圖6 迭代70萬次的損失函數(shù)下降曲線
測試時(shí),將前景置信度閾值設(shè)置為0.7,非極大抑制閾值設(shè)置0.45,使用各類的平均正確率(average precision,AP)作為驗(yàn)證指標(biāo)。平均精度(mAP)為各個(gè)類別的平均正確率的平均值,召回率(recall),準(zhǔn)確率(precision)以及AP的計(jì)算公式為:
(7)
(8)
(9)
為了評估改進(jìn)的SSD的方法對于儲糧害蟲的檢測能力,訓(xùn)練通用SSD與本算法進(jìn)行對比(見表4和表5)。圖7展現(xiàn)的是改進(jìn)的SSD與通用SSD對粘蟲板圖像害蟲檢測效果對比,其中每個(gè)預(yù)測的目標(biāo)框上分別標(biāo)注預(yù)測的類別編號、前景置信度和類別置信度,類別編號范圍為1~6,分別代表玉米象、煙草甲、擬谷盜、谷蠹、鋸谷盜、扁谷盜,改進(jìn)的模型可以有效改善漏檢和多檢的情況。為了測試模型在實(shí)際糧倉內(nèi)的表現(xiàn)情況,對一些糧倉的圖片進(jìn)行測試(見圖8),可以看到本研究提出的模型要比通用SSD模型對復(fù)雜背景抗干擾性更強(qiáng),如圖8中第一列實(shí)際糧倉圖片中包含較多書虱、第二列和第四列的麥粒陰影等背景、第三列第五列中的圓圈背景,改進(jìn)的模型可以有效避免誤檢和漏檢。相比瓦楞紙型誘捕器中害蟲的識別算法[9],本數(shù)據(jù)集中包含實(shí)際糧倉的測試數(shù)據(jù),在實(shí)際糧倉應(yīng)用時(shí)泛化性能更強(qiáng),在采用相同相機(jī)設(shè)備的情況下,識別的誘捕面積更大,算法識別難度更高。
表4 通用SSD與改進(jìn)的SSD在實(shí)驗(yàn)室粘蟲板圖像測試集上的分類AP
圖7 兩種定位模型在粘蟲板圖像上的表現(xiàn)
圖8 各定位模型在實(shí)際糧倉圖像上的表現(xiàn)
表5 通用SSD與改進(jìn)后SSD在全部測試集上的定位AP、運(yùn)行時(shí)間和模型大小
本研究將SSD目標(biāo)檢測算法應(yīng)用于儲糧害蟲檢測領(lǐng)域,并且提出了改進(jìn)的SSD模型,能夠有效檢測糧倉內(nèi)放置的粘蟲板上的害蟲,并為小目標(biāo)檢測、類別間相似度較大的檢測任務(wù)提供了思路。改進(jìn)的SSD模型已應(yīng)用在本實(shí)驗(yàn)室設(shè)計(jì)開發(fā)的儲糧害蟲檢測系統(tǒng)中,該系統(tǒng)已成功部署在全國11個(gè)糧庫內(nèi)運(yùn)行使用,目前共收集共19000張圖片,其中包含9600張粘蟲板圖像,但系統(tǒng)對粘蟲板的拍攝環(huán)境有一定要求,后續(xù)研究中將不斷增加糧倉的典型負(fù)樣本數(shù)據(jù),以提高模型在實(shí)際糧倉粘蟲板圖像上的泛化能力。