陳鴻坤 羅會蘭
(江西理工大學信息工程學院 贛州 341000)
目標檢測是計算機視覺領域的熱點研究課題,它的主要任務是對輸入圖像中的目標物體進行定位和分類。近年來,基于卷積神經網絡的目標檢測算法相對于傳統算法取得了突破性的進展,已經得到廣泛應用,但是由于檢測圖像中的小尺度目標僅具有少量的像素點,所包含的特征信息非常少,而且小尺度目標的特征經過多次下采樣后容易丟失,使得特征提取網絡很難提取到小尺度目標的特征,這就造成小尺度目標難以精確檢測。而在密集目標檢測場景中,不但存在大量小尺度目標,而且目標間有較嚴重的遮擋問題,使得密集目標的特征提取變得更加困難,所以小尺度目標和密集目標的檢測仍然是目標檢測領域中的難點和挑戰。
圖像中經常存在著大量尺度變化劇烈的目標物體,為了解決尺度變化問題,Liu等人[1]提出了單極多盒檢測器(Single Shot multibox Detector, SSD)算法,其采用了多尺度特征檢測思想,利用多個不同卷積層的不同尺度特征實現預測各種尺度的物體。但是,由于淺層特征缺乏語義信息,高層特征缺乏空間細節信息,SSD算法簡單提取多尺度特征,沒有考慮到不同尺度間的相關性,以至于不同層的語義信息[2]沒有得到充分利用,所以其對小目標物體的檢測準確度較低。為了更好地解決這個問題,文獻[3]提出了特征金字塔網絡(Feature Pyramid Network, FPN),通過最近鄰上采樣操作額外構建了一個自頂向下的路徑,并通過橫向連接將高、低層中相同尺度的特征融合,有效減少了不同尺度特征間的語義信息差異,檢測精度得到提高。在此基礎上,基于SSD網絡模型的改進研究DSSD[4],利用反卷積操作構建FPN結構提取多尺度特征,獲得了較高的檢測精度,但是它的性能提升依賴于龐大的ResNet101[5]模型,導致檢測效率大幅度下降。FSSD[6]算法和感受野模塊網絡(Receptive Field Block Network,RFB-Net)算法[7]在SSD算法的基礎上進行改進,大幅度提高檢測精度的同時保持了實時的檢測速度。FSSD算法將淺層中3個不同尺度特征進行簡單的拼接融合作為基準特征,并在基準特征的基礎上進行一系列卷積下采樣提取不同尺度特征,通過淺層特征間的信息融合,有效提高了檢測器對小尺度目標的檢測效果。RFB-Net則是利用3個不同擴張率的卷積層以Inception結構構建了RFB模塊,增強網絡的感受野,對大尺度物體的檢測效果有很好的提升。上述方法都是在SSD算法的基礎上,采用了不同的特征融合方式改進不同尺度特征的表征能力,從而提高模型對目標尺度變換的魯棒性,雖然在一定程度上提升了模型對小物體的檢測效果,但是沒有著重關注淺層特征的作用,提取的淺層特征缺乏足夠的語義信息,導致沒有足夠的能力來檢測小目標,存在較為嚴重的小目標漏檢和誤檢問題。
對于目標檢測任務來說,卷積神經網絡中的淺層特征保留了豐富的空間細節特征,對小尺度目標和密集目標的檢測至關重要,但語義信息的缺乏限制了淺層特征的作用。為了提高小目標和密集目標檢測性能,本文提出了一種新的融合多尺度語義信息以增強淺層特征的目標檢測方法,旨在通過注意力機制強化有目標區域的淺層特征,從而獲得更好的目標檢測效果。本文的貢獻主要體現在以下幾個方面:
(1) 設計了多尺度語義信息融合模塊對基礎融合特征進行語義信息增強;
(2) 設計了特征重利用模塊,通過語義特征指導基礎融合特征進行通道注意力加權;
(3) 提出方法的檢測精度在PASCAL VOC2007[8]數據集上相對于SSD512算法提高了2.7%,在MS COCO2014[9]數據集上相對于SSD512算法提高了4.9%。提出的淺層增強特征網絡有效地提高了網絡模型對小尺度目標和密集目標的檢測效果,在MS COCO2014數據集上,對小目標檢測精度相較于RFB512網絡提高了1.6%,小目標召回率提高了1.8%。
本文提出了結合多尺度語義信息和特征重利用來獲取淺層增強特征的目標檢測模型,簡稱為淺層特征增強網絡(Shallow Enhanced Feature Network,SEFN)算法。具體框架如圖1所示,主要設計了3個融合模塊對淺層特征進行多尺度語義信息融合和特征重利用,從而獲取淺層增強特征,并在此基礎上提取多尺度特征進行檢測,使模型在小目標檢測上的性能獲得顯著提高。拼接融合模塊是將多層淺層特征進行融合,獲得具有更多詳細空間細節信息的淺層特征,其通過將VGG16中Conv4_3層和Conv5_3層的特征進行拼接融合,得到基礎融合特征。多尺度語義信息融合模塊借鑒了語義分割任務中文獻[10]的啟發,采用特征金字塔結構使得基礎融合特征引入了多尺度特征的語義信息,獲得具有豐富上下文語義信息的語義特征,增強模型對小目標的分類能力。特征重利用融合模塊則考慮到語義特征經過了一系列卷積和反卷積操作,會丟失部分細節紋理信息,所以重利用具有豐富空間細節信息的基礎融合特征,并且依據語義特征進行通道注意力加權融合,更加關注包含目標的區域,有效提高了模型對小目標的檢測精度和召回率。
卷積神經網絡的淺層特征包含豐富的紋理、邊緣等細節空間信息,有利于對物體進行定位,但缺乏全局語義信息,不利于物體的分類。而高層特征具有豐富的語義信息,但丟失了許多空間細節信息,不利于小目標的檢測。為了緩解這個問題,FSSD[6]算法通過簡單拼接融合Conv4_3層、FC7層和Conv7_2層的特征,并在融合特征[11]的基礎上進行卷積提取多尺度特征,因為融合特征建立了3個不同尺度特征間的聯系,在一定程度上增加了語義信息和豐富了細節信息,所以在小目標檢測效果上有一定的提升,但不同尺度間的聯系過于單薄,增加的語義信息不足以很好地提高淺層特征的分類能力。本文在FSSD[6]算法思想的基礎上,更加關注淺層特征的作用,首先設計了淺層特征的拼接融合模塊,獲得基礎融合特征,如圖2所示(示例中的輸入圖像尺寸為300×300)。淺層特征拼接融合模塊的工作原理如式(1)所示
其中,X1, X2表示選取的是VGG16網絡中Conv4_3層和Conv5_3層卷積特征進行融合;T1,T2表示選取的特征在融合前進行的變換函數,將特征圖變換到相同尺度以進行拼接融合,如圖2所示,Conv4_3層提取的特征大小為38×38×512,而其變換函數是1×1的卷積層,目的是減少輸入通道數,避免計算量過大,而Conv5_3層提取的特征大小為19×19×1024,其變換函數是具有雙線性插值上采樣的1×1卷積層,不僅降低輸入通道數,而且統一了特征圖的大小;下標f表示的是特征融合函數,本文采用的是拼接(Concatenation)操作;Xf表示獲得的基礎融合特征。
通過簡單拼接融合獲取的基礎融合特征,僅僅加強了空間細節特征,缺乏不同尺度間的語義信息,為了給淺層特征添加有效的多尺度語義信息,受語義分割研究領域中文獻[10]提出的空間金字塔注意結構實現精確的像素級語義分割任務的啟發,本文設計了一個類似特征金字塔結構的多尺度語義信息融合模塊,結構如圖3所示。

圖3 多尺度語義信息融合模塊
多尺度語義信息融合模塊的輸入是基礎融合特征,由于輸入特征的尺度較大,為了減少網絡的計算負擔,采用小型的1×1或3×3卷積核。該模塊由3個分支組成,分別如圖3中黃色、綠色和黑色的虛線框,分別命名為全局語義分支、局部信息補充分支、多尺度語義分支。全局語義分支采用了一個全局平均池化層和一個1×1的卷積層,目的是提取基礎融合特征的全局語義信息。局部信息補充分支只采用了一個1×1的卷積層,目的是為接下來的特征融合保留更多的空間細節信息。多尺度語義分支則構建了小型的特征金字塔結構,用于提取其他3個尺度特征的語義信息。在圖3中黑色虛線框表示的多尺度語義分支中,藍色的連線表示卷積下采樣操作,紅色的連線表示反卷積上采樣操作,它們之間采用了卷積核大小為3×3,步長為2的卷積層進行連接,能夠在不改變特征尺度的同時減少不同尺度間的語義相似性,隨后采用對應元素相加操作逐步將3個不同尺度特征的語義信息進行融合。對局部信息補充分支的輸出和多尺度語義分支的輸出,采用對應元素相乘方式進行融合,使得特征不僅具有充分的空間細節信息,而且融合了多個尺度的語義信息。隨后,為了更加關注圖像物體的定位信息,對全局語義分支的全局語義信息,進行相加融合,最終得到了與輸入特征相同尺度的語義特征。通過融合3個分支的不同信息,有效地對淺層特征嵌入了多個不同尺度的語義信息,加強對小目標檢測的能力。多尺度語義信息融合模塊的過程如式(2)所示

卷積神經網絡中的高層特征具有豐富的類別語義信息,有利于指導低層特征進行通道注意力加權,使得具有較大空間分辨率的淺層更加關注存在目標的區域。借鑒文獻[10]中全局注意力上采樣模塊的結構,本文設計了利用全局注意力信息的特征重利用模塊,以進一步加強語義特征,結構如圖4所示。首先對輸入的語義特征進行全局平均池化操作,以獲得各個特征通道的注意力權重,通過包含批處理歸一化和ReLU操作的1×1卷積層后對基礎融合特征相乘進行通道注意力加權,實現全局語義信息的增強。基礎融合特征先經過了一個3×3卷積層處理,目的是保持與語義特征通道數一致,同時可以減少特征融合后的混疊效應,消除各級特征間特征分布的差異。最后將加權后的基礎融合特征與語義特征進行對應元素相加融合,形成淺層增強特征。隨后以淺層增強特征為基準,進行一系列卷積下采樣操作,同時提取不同尺度的特征送入檢測分支中進行檢測(圖1)。實驗證明融合了不同尺度的語義信息,且具有豐富空間細節特征的淺層增強特征能夠更加關注小目標的檢測,不僅對小目標的檢測精度有顯著的提高,而且在密集目標檢測中能取得好的效果。

圖4 特征重利用模塊
損失函數由定位損失函數和分類置信度損失函數兩部分組成,表達式如式(3)所示:


為了驗證本文方法的有效性,在目標檢測任務中常用的PASCAL VOC2007[8]和MS COCO2014[9]數據集上進行了實驗分析。PASCAL VOC2007數據集包含20個常見類別,2501張訓練圖片、2510張驗證圖片和4952張測試圖片。MS COCO2014數據集包含了80個類別,82783張訓練圖片、40504張驗證圖片和81434張測試圖片,數據集中的目標大部分來自自然場景,目標間的尺度變化大,具有較多的小目標物體,評估標準也更加嚴格,要求算法具有更精確的定位能力。
本文的模型是基于Pytorch1.0框架,Python版本為3.7,實驗訓練使用的是NVIDIA Tesla P100-PCIE-16 GB GPU, VGG16骨干網絡的權重在ImageNet進行了預訓練。采用隨機梯度下降(SGD)算法來優化淺層特征增強網絡的權重,其動量設置為0.9,衰減為0.0005,初始學習率為0.001。輸入圖像尺度設置為300×300時,訓練PASCAL VOC數據集時設置每個GPU的batch size為32,訓練MS COCO數據集時設置每個GPU的batch size為16。在輸入圖像尺度設置為512×512的情況下,訓練PASCAL VOC數據集時設置每個GPU的batch size為16,訓練MS COCO數據集時設置每個GPU的batch size為8。對于PSACAL VOC數據集,設置最大訓練epoch為250代,在訓練到150代和200代時,分別將學習率減少為原來的1/10;對于MS COCO數據集設置最大訓練epoch為160代,在訓練到90代和120代時,分別將學習率減少為原來的1/10。


本小節比較了本文提出的淺層特征增強網絡SEFN與近些年基于卷積神經網絡的目標檢測算法的性能,展現了本文提出的目標檢測網絡模型在小目標和密集目標檢測方面的良好性能。
3.3.1 PASCAL VOC2007數據集上的檢測性能對比
表1給出了近些年流行的目標檢測算法與本文方法在PASCAL VOC2007數據集上的實驗結果對比,這些方法都是聯合使用PASCAL VOC2007和PASCAL VOC2012數據集中的訓練集和驗證集作為訓練數據,在表1中“檢測精度mAP(%), IOU=0.5”指的是在區分正負樣本的區域交并比(Intersection Over Union, IOU)閾值選取在0.5的基礎上,檢測器獲取的各類別平均精度的平均值,即平均精度均值(mean Average Precision, mAP)。“檢測速度fps”表示的是檢測器每秒能夠處理的圖片張數,其不僅與網絡模型有關,而且與運行模型的硬件配置也相關。表1中算法簡稱后面的數字表示輸入圖像的尺度。
從表1的實驗結果可以看出,本文提出的SEFN方法,在網絡輸入尺度為300×300時,獲得了79.6%的檢測精度,在網絡輸入尺度為512×512時,獲得了81.2%的檢測精度,能夠在保證實時檢測速度的同時,取得不錯的檢測效果。本文SEFN300方法與經典的2階段目標檢測算法R-FCN[12]取得了相當的檢測精度,相較于經典的SSD300[1]算法提高了2.4%,與基于SSD算法的改進研究(如DSSD321[4],RSSD300[13], FSSD300[6])相比,分別提高了1%,1.1%, 0.8%。而且相對一階段流行的檢測算法YOLOv1[14], YOLOv2[15],在檢測精度上有顯著的提升,但相較于檢測性能非常好的RFB300[7]算法,略低0.9%。本文的SEFN512方法的檢測性能都明顯高于表1中2階段的目標檢測算法,相較于經典的SSD512[1]算法提高了2.7%,較于RSSD512[13],kFSSD512[6]分別有0.4%,0.3%的提升,本文方法相較于DSSD512[4]略低0.3%,相較于RFB512[7]低1%,因為DSSD[4]采用了龐大的ResNet101[5]作為特征提取網絡,其在512×512輸入尺度下能夠提取到表征能力更強的不同尺度特征進行檢測,但在檢測速度上犧牲很大,而RFB方法[7]則通過擴張卷積對多個不同尺度特征進行感受野增強,有效增強了大、中型尺度目標的檢測能力,但本文方法在小目標和密集目標的檢測效果具有明顯的優勢(如圖5所示)。

表1 在PASCAL VOC2007測試集本文方法與其他方法的結果對比
3.3.2 不同檢測方法定性檢測效果對比
如圖5所示為本文方法與SSD[1]算法、RFB[7]算法在PASCAL VOC2007數據集上的圖片檢測效果對比。從圖5的實驗結果可以看出,SSD算法對小目標和密集目標的檢測效果較差,經常出現嚴重的小物體誤檢和漏檢的情況。RFB算法雖然在檢測精度上高于本文的方法,但對小目標和密集目標的檢測也存在較大不足,容易漏檢小目標,并在密集目標的場景產生了目標誤檢問題,而本文采用多尺度語義信息增強淺層特征的方式,能夠有效地加強對小目標和密集目標的檢測性能,特別是模型在較大輸入尺度的情況下(如512×512)。

圖5 不同算法在PASCAL VOC2007數據集上的檢測結果
3.3.3 MS COCO數據集上的檢測性能對比
為了進一步體現本文方法在小目標和密集目標檢測方面的優勢,在MS COCO數據集的minival2014測試集上進行了本文方法與其他文獻方法的實驗結果對比,如表2所示,其中“IOU=0.5: 0.95”表示的是設定10個IOU閾值(0.5~0.95,以0.05為步長),對每個IOU閾值求取算法的平均精度均值,再對所有IOU閾值對應的平均精度均值求平均。表中“S,M,L”分別表示小目標,中等目標,大目標。從表2的實驗結果可以看出,本文提出的SEFN512方法在檢測精度和召回率上相較于YOLOv2[15],SSD512[1], DSSD513[4], FSSD512[6]都有明顯的提升,相比RFB512[7],雖然總體檢測精度低了0.7%,但本文的方法在小目標的檢測精度上提高了1.6%,在中等目標上提高了1%,在小目標的召回率上提高了1.8%,有效證明了本文方法在小目標和密集目標檢測上具有良好優勢。本文方法主要關注淺層特征的作用,沒有加強高層特征的表征能力,而高層特征的感受野相對較大,有利于大尺度目標的檢測,RFB方法[7]更是增強了多個不同尺度特征的感受野,所以本文方法在大尺度目標檢測上弱于RFB方法[7],這是下一步改進工作的研究方向。

表2 在MS COCO2014_minival測試集上本文方法與其他方法的結果對比
為了更好地檢測小目標和密集目標,本文提出了一種新的融合多尺度語義信息以增強淺層特征的目標檢測方法。通過以SSD網絡為基礎框架,設計了3個不同的特征融合模塊:拼接融合模塊、多尺度語義信息融合模塊和特征重利用模塊。通過豐富多尺度語義信息和空間細節信息,使得淺層特征中包含目標的區域得到增強。最后在增強的特征上進行一系列的卷積提取多個不同尺度特征用以檢測,有效地提高了對小目標和密集目標的檢測性能。與主流的目標檢測算法在PASCAL VOC2007數據集和MS COCO2014數據集上進行了實驗結果對比,表明了本文方法能有效提高小目標和密集目標的檢測效果。下一步工作將優化融合模塊,從而更有效地利用淺層和高層特征之間的聯系,使其獲得更高的準確率。