張寶,李小霞,張婧,卓亮,彭帆*
(1.四川中煙工業有限責任公司綿陽卷煙廠,綿陽 621000;2.西南科技大學 信息工程學院,綿陽 621000)
目標檢測作為機器視覺領域十分重要的一個分支,一直是研究者關注的熱點問題。其中小目標檢測更是由于其目標像素少和噪點多等問題長期困擾著研究者[1]。對于小目標來說,利用淺層特征的傳統方法已經滿足不了檢測需求,因此多層次的卷積神經網絡是目前小目標檢測技術的常用手段。
使用卷積神經網絡檢測小目標的主要難點在于獲得高層次語義信息的同時會丟失低層的細節信息,因此容易造成小目標漏檢。煙草甲是一種典型的小目標[2],并且具有與煙絲顏色相仿的保護色,而煙絲和粉塵也會造成檢測背景復雜,因此更容易出現誤檢和漏檢。自2017年Kaiming He等首次提出特征金字塔網絡(Feature Pyramid Network,FPN)后[3],FPN被廣泛的應用到了機器視覺領域,在目標檢測方面也發揮了巨大的優勢,FPN可融合高層特征信息與低層特征信息,既獲得了高層的語義信息,也保留了低層的細節信息,在小目標檢測上發揮了巨大的優勢。自FPN提出后,其改進算法層出不窮,目標均是獲得高層語義信息與低層細節信息之間更好的的融合方式。Ross等人提出RetinaNet[4],與FPN不同的是其特征融合從倒數第三層開始。Liu S等人提出PANet[5],提出了自頂向下的二次融合,對自底向上的FPN路徑進行增強,縮短了信息傳播路徑,同時更好地利用了低層特征的精準定位信息。Liu S等人還提出了ASFF,將每一層的特征信息都與其他層次的特征信息相融合,在融合時采用了注意力機制,控制不同層次特征的貢獻度。谷歌大腦團隊提出NAS-FPN[6],旨在使用神經架構搜索,學習到更好的目標檢測特征金字塔網絡架構,在此基礎上進一步提出BiFPN[7],在神經架構搜索的基礎上進行人為設計,獲得更好的特征金字塔網絡。除了直接對FPN網絡進行修改以外,還有些研究設計了可與FPN融合的模塊提高檢測效果,例如:Kai Chen等人提出的CARAFE[8]為一種全新的上采樣方式,可以替換傳統的上采樣方式融入特征金字塔中,與傳統的的上采樣方式不同,CARAFE分為兩個主要模塊,分別是上采樣核預測模塊和特征重組模塊,CARAFE首先利用上采樣核預測模塊預測上采樣核,然后利用特征重組模塊完成上采樣,得到輸出特征圖,使之更加輕量級,可以獲得更大的感受野,并隨意嵌入分割或檢測網絡中。Liang-Chieh 等人提出的空洞空間金字塔池化(Astrous Spatial Pyramid Pooling,ASPP)[9]將具有不同空洞率的空洞卷積并行地應用到輸入特征圖上,以多個尺度捕捉圖像的上下文信息。除此之外,其他基于FPN網絡[10~14]的改進均一定程度的獲得了檢測效果的提升。
以上網絡的改進大部分是在獲得高低層次融合信息后繼續增加路徑,在增加網絡復雜度的代價下提升了網絡的性能,但在本質上并沒有擴大網絡高層的感受野,高層特征圖語義信息不足,同時卷積網絡重復下采樣導致小目標信息丟失,網絡難以有效提取煙草甲特征進行精確的預測。針對上述問題,本文提出一種多路感受野引導的特征金字塔的小目標檢測方法,在傳統特征金字塔的基礎上融入多路擴大感受野模塊,在不增加網絡深度的情況下獲取更大的感受野,提供更多的語義信息,提升網絡模型的檢測性能。最后將本文提出的算法與當前主流算法在自建數據集上進行性能對比和分析。
在卷積神經網絡的學習中,質量優異的數據樣本是網絡訓練的一個重要前提,因此制作一個優質的數據集是訓練神經網絡的首要條件。本文以煙草甲這種典型的小目標為例,驗證本文提出算法的有效性。目前常用目標檢測數據集內無公開的大規模煙草甲圖片數據,為了獲得質量優良的煙草甲數據集,本文采用自建數據集的方式,實地采集大量煙草甲的圖片并且進行標注,使用自行設計的圖像采集終端對煙草甲圖片進行采集,選用的圖片分辨率為1920×1080像素,標注工具使用的是LabelImg軟件,圖片標注格式為VOC數據集標注格式。自建數據集中煙草甲圖片一共12861張,每張圖片上煙草甲的數量不一,圖片采集考慮到多種實際情況,具體各種情況數據分布如表1所示。

表1 煙草甲圖片情況分布
為了更好地構建算法框架,本文對自建數據集內圖片標注的實際目標框進行數據分析,統計了實際目標框的寬高以及實際目標框占整幅圖片的寬高占比,采用熱力圖的形式展示,實際目標框的寬高熱力圖以及寬高占比熱力圖如圖1所示。

圖1 實際目標框寬高/寬高占比熱力圖
圖1的熱力圖中,中間淺色部分代表目標數量多,外圍深色部分代表目標數量少,根據熱力圖可看出實際目標框集中在40×40的像素大小,當下采樣到32倍時,絕大部分目標只剩下一個像素,繼續進行下采樣會丟失絕大部分目標。
因此,根據以上數據統計,本文設定骨干網絡2倍下采樣次數不超過五次,保持下采樣倍數不超過32倍,由此保證大部分目標信息不丟失。
從以上分析可知,在小目標檢測時有必要對實際目標框寬高以及寬高占比進行統計,針對不同的小目標數據集,設定不同的下采樣層數,保留大部分目標信息,可以保證骨干網絡提取有效的目標特征。
特征金字塔網絡(FPN)是由Kaiming He等人在文獻[3]中提出的,FPN的提出解決了目標檢測在處理多尺度變化問題時的不足,也降低了使用圖像金字塔處理該問題時產生的高額計算量。FPN在圖像金字塔各層特征圖之間添加連接結構使特征圖進行融合,再對融合后的特征圖進行輸出預測,連接結構如圖2所示。

圖2 FPN連接結構圖
FPN通過骨干網絡自底向上的方法提取各層特征圖,再通過自頂向下進行上采樣的方式將頂層的小特征圖方法至與下一層特征圖相同的大小。FPN中上采樣的方式為最近鄰插值法,最近鄰插值法算法原理如圖3所示。

圖3 最近鄰插值法算法原理
最近鄰插值法的計算公式如式(1)、式(2)所示:

其中,s r c 表示舊圖、d s t 表示新圖,新圖坐標(dstX,dstY)對應舊圖坐標(srcX,srcY),srcWidth/dstWidth與srcHeight/dstHeight分別表示寬高縮放比。最近零插值法在計算坐標時,會將小數四舍五入至整數進行計算。
為了在不增加網絡復雜度的同時獲得更大感受野的特征圖,本文提出多路感受野引導的特征金字塔(Multiple Receptive Fields guided Feature Pyramid Network,MRFgFPN)小目標檢測網絡,如圖4所示。

圖4 整體網絡框架圖
該網絡包括獲取目標圖片特征的骨干網絡、融合多路擴大感受野模塊的特征金字塔網絡以及具有兩個分支的檢測頭網絡這三個模塊。本文選取可以更好地表征特征差異性以及擁有良好的特征提取性能的Resnet50網絡[15]作為骨干網絡;融合多路擴大感受野模塊的特征金字塔網絡將獲得的特征信息經過多路擴大感受野模塊后再進行特征融合,以引導網絡獲得不同層次感受野下的上下文信息,同時獲取足夠的語義信息和豐富的細節信息;最后通過兩個分支網絡得到目標的預測框以及分類置信度。
感受野是深度學習中的一個基本概念,表示輸出的特征圖中某個節點的響應對應的輸入圖像的區域。原始的卷積神經網絡主要以增加網絡深度的方式增加感受野。記rn為第n層的感受野大小,kn為第n層的卷積核大小,si為第i層的卷積步長,卷積神經網絡中感受野大小的計算公式為:

然而卷積神經網絡中感受野的增大也伴隨著圖片分辨率降低和細節損失等問題。我們希望在獲取更大感受野的同時不降低圖片分辨率,由此空洞卷積[16]應運而生,當設置步長為1時,通過設置不同的空洞率可以在增大感受野的同時不降低圖片的分辨率,從而解決在獲取更大感受野的同時丟失細節信息的問題,空洞卷積感受野的計算公式為:

其中,rn-1為n-1層特征圖的感受野大小,dn為空洞卷積的空洞率,(2?dn+1)為空洞卷積的卷積核大小。
在小目標的檢測任務中,為了保證大多數目標信息不丟失,在骨干網絡中限定下采樣的次數,但是有限次的下采樣并不能獲得足夠的語義信息,因此為了在不增加下采樣層數的同時獲得更大的感受野以及更多的上下文信息,本文在特征金字塔網絡融合多路擴大感受野模塊,可以使本文設計的網絡在保留細節信息的情況下獲得更大的感受野以及更多的上下文信息,由此獲得足夠的語義信息,提高檢測精度。
圖5為多路擴大感受野模塊示意圖,該模塊有四條并行支路,設置空洞率為1、3、5的三條并行支路對輸入特征圖進行空洞卷積,得到三個不同大小感受野的特征圖并進行融合,然后使用1×1的卷積降低通道數,再與輸入特征圖融合,最后獲得的輸出特征圖既保留了原有感受野下的細節信息,又獲得了更大感受野下的語義信息。多路擴大感受野模塊的計算公式如式(5)所示:

圖5 多路擴大感受野模塊

式(5)中,O為最終的輸出特征圖,I為輸入特征圖,M為對I進行空洞卷積后的三張特征圖的連接特征圖,Add表示特征圖相加,M的計算公式如式(4)所示。

式(6)中,y1、y2、y3為對輸入特征圖進行空洞率為1、3、5的空洞卷積后的特征圖,Concat表示將y1、y2、y3通道連接起來,y1、y2、y3的計算公式如公(7)所示:

式(7)中,DConv表示對I進行空洞卷積,括號內的第二列表示空洞率,第三列表示卷積核大小。
由于小目標的目標像素過小,不能采取傳統的多次下采樣的方式獲得足夠大的感受野,本文提出在傳統的特征金字塔網絡中融合多路擴大感受野模塊,在不繼續減小特征圖尺寸的條件下,獲取更大的感受野,提高小目標的檢測率。本文提出的多路擴大感受野模塊可以融入骨干網絡與特征金字塔網絡連接的任何一層,如圖6(d)所示,其中深色方塊為擴大感受野模塊,通過后續消融實驗發現在第四層特征圖添加擴大感受野模塊效果最好,因此本文對比試驗僅在第四層特征圖添加擴大感受野模塊。

圖6 特征金字塔網絡設計
與其他特征金字塔網絡相比,融合多路擴大感受野模塊的特征金字塔網絡并未在傳統的預測輸出后增加更多的融合路徑,而是在骨干網絡提取的特征信息的基礎上增加并行的特征信息進行融合,在不增加網絡復雜度的基礎上可獲得更大的感受野即更多的語義信息。
本文的實驗平臺:CPU型號為Inter(R)Core(TM)i7-7700K、GPU型號為GeForce GTX 1080Ti、顯存為11G、內存為32G的臺式電腦;本文實驗使用的深度學習框架為Pytorch1.2.0、Cuda10.1以及CuDNN7.6.4。在訓練階段,輸入圖片大小為1920×1080,然后經過縮放、裁剪補零操作后變換為1344×768,本文使用了隨機水平翻轉的數據增強方式,選用SGD優化器,初始學習率設定為0.01,訓練批次大小為4,共訓練70輪,為了微調模型,本文設定在訓練了16輪之后將學習率降低為原來的1/3,在訓練了30輪后,再次降低為上一次學習率的1/3。
為了客觀地評估小目標的檢測結果,使用平均精度(mean Average Precision,mAP)作為評價指標。mAP是度量模型預測框類別和位置是否準確的指標,由于本文的檢測只涉及到煙草甲蟲這一種類別,因此精度與平均精度含義相同,是精度-召回率(Precision-Recall)曲線P(R)下的面積,mAP的計算公式為:

本文在進行測試時設置了三種不同大小的交并比(Intersection-over-Union,IoU)進行測試,IoU為預測框與真實框的交集與并集的比值。mAP0.5、mAP0.6、mAP0.7分別對應IoU=0.5、0.6、0.7時的平均精度。
在煙草甲蟲的檢測實驗中,采用自建數據集中的2074張圖片以及對應的標簽作為實驗數據,將圖片按6:2:2隨機分成訓練集、驗證集以及測試集。本文選用兩種算法框架進行實驗,分別是Faster R-CNN[17]和Cascade R-CNN[18],使用的骨干網絡均為Resnet50。首先,對Faster R-CNN進行消融實驗,即對特征金字塔的每一層分別添加多路擴大感受野模塊進行結果對比。然后,在Faster R-CNN以及Cascade R-CNN的算法框架下將本文算法與目前主流的特征金字塔網絡進行對比,對比的特征金字塔網絡包括經典的FPN,二次融合的PANet,使用神經架構搜索的NasFPN,融合ASPP的特征金字塔網絡形成Aspp_FPN,除此之外,還包括將上采樣的CARAFE方法嵌入傳統FPN中形成的CARAFE_FPN,由此驗證本文提出算法的有效性。
表2為本文設計的多路擴大感受野模塊添加在特征金字塔網絡不同層的消融實驗,算法框架為Faster R-CNN。本文將Resnet50的第二個到第五個卷積塊的輸出表示為{C2,C3,C4,C5},將{C2,C3,C4,C5}經過特征金字塔后的輸出表示為{P2,P3,P4,P5}。由表2可知,多路擴大感受野模塊添加在特征金字塔的C5~P5層時平均精度mAP0.5、mAP0.6、mAP0.7分別為90.3%、87.4%、59.5%,在將IoU閾值設定為0.5以及0.6時實驗結果最好,這是因為相較于低層特征圖,高層特征圖的噪聲信息減小了,避免了煙絲等干擾對煙草甲檢測的影響,因此在高層添加多路擴大感受野模塊可以更加有效地提高檢測率,本文選擇在C5~P5層即第四層特征圖添加多路擴大感受野模塊。

表2 消融實驗結果
表3、表4為各種特征金字塔網絡與本文提出的融合多路擴大感受野模塊的特征金字塔網絡在Faster R-CNN以及Cascade R-CNN兩種算法框架下的對比試驗,表明本文提出算法的有效性和普適性。在Faster R-CNN框架下本文提出算法的平均精度分別為:90.3%(IoU=0.5)、87.4%(IoU=0.6)、59.5%(IoU=0.7),在Cascade R-CNN框架下本文提出算法的平均精度分別為:90.1%(IoU=0.5)、87.4%(IoU=0.6)、61.7%(IoU=0.7),在不同的IoU閾值下本文設計算法的平均精度均達到最高,兩種算法框架下的對比實驗表明本文提出的算法優于目前主流的算法。

表3 Faster R-CNN框架下不同方法實驗結果

表4 Cascade R-CNN框架下不同方法實驗結果
本文針對小目標檢測時下采樣次數有限而又需要足夠的語義信息的問題,提出了多路感受野引導的特征金字塔(MRFgFPN)小目標檢測方法。本文設計了一種多路擴大感受野模塊,使用不同空洞率的空洞卷積使輸出特征圖具有更大的感受野,融合四種感受野大小的特征圖可獲得多層次的語義信息,在骨干網絡和特征金字塔之間加入多路擴大感受野模塊,可在不改變網絡層數以及融合路徑的基礎上獲得多種感受野下的上下文信息,同時獲取足夠的語義信息和豐富的細節信息,從而提高小目標檢測精度。本文進行了大量的對比實驗,在不同的算法框架下,本文方法的平均精度均優于目前主流的檢測算法,表明本文方法對于煙草甲這樣具有與煙絲顏色相仿的保護色且背景復雜的小目標檢測具有更高的檢測精度和實用性。