天天看點

CVPR2021小目标檢測:上下文和注意力機制提升小目标檢測

原論文下載下傳:https://arxiv.org/pdf/1912.06319.pdf

摘要

       在各種環境中應用目标檢測算法有很多局限性。特别是小目标的檢測仍然是一個挑戰,因為它們的分辨率低,資訊有限。為了提高小目标檢測的準确性,我們提出了一種基于上下文的目标檢測方法。該方法通過融合多尺度特征,利用不同層次的附加特征作為上下文資訊。我們還提出了一種基于注意力機制的目标檢測方法,該方法能夠聚焦于圖像中的目标,并且能夠包含目标層的上下文資訊。實驗結果表明,該方法比傳統的SSD在檢測小目标上的精度更高。此外,在PASCAL VOC2007測試集上,對于300×300的輸入,我們的map達到了78.1%。

CVPR2021小目标檢測:上下文和注意力機制提升小目标檢測

一、介紹

       目标檢測是計算機視覺中的關鍵問題之一,其目标是找到目标的bounding box,并在給定圖像的情況下對目标進行分類。近年來,在深度學習技術的引領下,目标檢測的精度和速度都有了很大的提高:Faster R-CNN達到了73.2%的map,YOLO v2達到了76.8%的MAP,SSD達到了77.5%的map。然而,在檢測小物體方面仍然存在重大挑戰。例如,SSD在檢測小目标上map隻能達到20.7%。圖1展示了SSD無法檢測到小目标時的失敗案例。是以在小目标檢測方面還有很大的提升空間。 

       小目标檢測的難度很大,因為它的分辨率低,像素有限。例如,如果隻看圖2上的對象,人類甚至很難識别這些對象。然而,如果考慮到物體所處的天空環境,那麼目标将可以被識别為鳥類,是以,我們認為解決這一問題的關鍵在于如何将上下文作為額外資訊來幫助檢測小物體。

       在本文中,我們提出使用上下文資訊來解決小目标檢測這一具有挑戰性的問題。首先,為了提供足夠的關于小對象的資訊,我們從小對象的周圍像素中提取上下文資訊,利用更高層次的抽象特征作為對象的上下文。我們通過連接配接小目标的特征和上下文的特征增加了小目标的資訊,以便檢測器能夠更好地檢測目标。其次,為了聚焦于小目标,我們在淺層特征圖使用了一種注意力機制。這也有助于減少背景中不必要的淺層特征資訊。在我們的實驗中,我們選擇了SSD作為我們的基線。然而,這個想法可以推廣到其他網絡。為了評估我們所提出的模型的性能 ,我們在PASCAL VOC2007和VOC2012進行訓練,并與VOC2007上的基線方法和最新方法進行了比較。

CVPR2021小目标檢測:上下文和注意力機制提升小目标檢測

二、相關工作

1、基于深度學習的目标檢測

       深度學習技術的進步極大地提高了目标檢測的準确率,基于深度學習目标檢測的第一次嘗試是R-CNN。R-CNN使用卷積神經網絡(CNN)處理通過選擇性搜尋生成的區域建議(region proposals)。然而,由于每個建議的區域都順序地通過CNN,是以對于實時應用來說,R-CNN的速度就太慢了。Fast R-CNN比R-CNN更快,因為它對所有區域建議隻執行了一次特征提取階段。但R-CNN 和Fast RCNN這兩項工作仍然使用單獨的階段進行區域建議,這也就成為了Faster R-CNN的主要攻擊點。Faster R-CNN将區域建議階段和分類階段合并為一個階段,是以它也被稱為端到端的學習。YOLO和SSD顯示出足以進行實時目标檢測的高性能,甚至加速了目标檢測技術的發展。然而,它們對于小物體仍然沒有表現出良好的性能。

2 、小目标檢測

       最近,關于小目标檢測,人們提出了一些想法。Liu 等人通過減小大目标數量來增加小目标數量,以此來克服資料不足的問題,除了資料增強的方法之外,還有一些努力是在不增加資料集的情況下增加所需資訊。DSSD将反卷積技術應用于SSD的所有特征圖來得到分辨率更高的特征圖。然而,由于所有的特征圖都要使用反卷積子產品,所有DSSD模型具有增加模型複雜度和降低速度的局限性。R-SSD通過pooling 和deconvolution技術融合了不同尺度的feature map,與DSSD相比,獲得了更高的精度和速度。李等人使用生成對抗網絡(GAN),将低分辨率的特征作為GAN的輸入來生成高分辨率的特征。

3 、視覺注意網絡

       深度學習中的注意力機制可以廣義地了解為隻關注解決特定任務的部分輸入,而不是看它的全部輸入。是以,注意力機制與我們看到或聽到的東西非常相似。Xu 等人使用視覺注意力來生成圖像字幕。為了生成與圖像相對應的字幕,他們使用了LSTM,LSTM提取給定圖像的相關部分。Sharm等人應用注意力機制來識别視訊中的動作。Wang 等人通過堆疊殘差注意力子產品,提高了ImageNet資料集的分類性能。

三、方法

       本節将讨論基線網絡SSD,然後介紹我們建議用于提高小對象檢測能力的元件。首先,SSD引入特征融合來擷取上下文資訊,我們命名該網絡為F-SSD。第二,帶有注意力子產品的SSD使網絡能夠專注于重要部分,這裡我們命名此網絡為A-SSD。第三,我們将特征融合和注意力子產品結合起來,稱為FA-SSD。

3.1  Single Shot Multibox Detector (SSD)

       在這一部分,我們回顧了SSD算法,我們知道我們要提高對小物體的檢測能力。像YOLO一樣,SSD也是one-stage檢測算法,其目标是提高檢測速度,同時還通過處理不同層次的特征圖來提高不同尺度下的檢測效果,如圖3a所示。其思想是利用淺層特征圖的高分辨率來檢測較小的目标,而利用分辨率較低的較深層特征來檢測較大的目标。

       SSD以VGG16作為backbone,并且通過額外增加層來擷取不同分辨率的特征圖,如圖3a所示。根據每個特征圖,通過一個附加的卷積層來比對輸出通道,網絡預測包含邊界框回歸和對象分類的輸出。

       然而,SSD在小目标上的檢測性能仍然很低,在VOC 2007資料集上為20.7%,是以,SSD算法還有很多需要改進的地方。我們認為造成小目标檢測性能較低主要有兩個原因,首先是缺乏上下文資訊來檢測小目标。此外,用于小目标檢測的特征是從缺乏語義資訊的淺層特征中提取的。我們的目标是通過添加特征融合來改進SSD,以解決這兩個問題。此外,為了進一步改進SSD算法,我們增加了注意力機制,使網絡隻關注重要的部分。

CVPR2021小目标檢測:上下文和注意力機制提升小目标檢測

 3.2  F-SSD: SSD with context by feature fusion

       為了在我們想要檢測目标的給定特征圖(target feature map)上添加上下文資訊,我們将其與含有上下文特征的深層特征圖進行融合。例如在SSD中,給定我們來自conv4_3的目标特征圖,我們的上下文特征層來自conv7_2、conv8_2兩層(如圖3b所示)。雖然我們的特征融合可以推廣到任何目标特征及其任何更高的特征。然而,這些特征圖具有不同的size,是以我們提出了如圖4所示的融合方法。

CVPR2021小目标檢測:上下文和注意力機制提升小目标檢測

       在通過concat融合之前,我們通過對含有上下文資訊的feature map進行deconvolution操作,使其與目标特征圖(target feature map)擁有相同的size,我們将上下文特征通道數設定為目标特征的一半,是以上下文資訊量不會超過目标特征本身。對于F-SSD,我們還在不改變target feature map大小和通道數的情況下,在目标特征(target feature map)上增加了一個額外的卷積層。此外,在連接配接特征圖之前,歸一化步驟也非常重要,因為不同層中的每個特征值都有不同的尺度。是以,我們對每一層進行批量歸一化和RELU操作。最後,通過對目标特征圖和上下文特征圖進行concat操作,實作了目标特征和上下文特征的融合。

3.3  A-SSD: SSD with attention module

       視覺注意機制允許聚焦于圖像的一部分,而不是看到整個區域。受到Wang 等人提出的殘差注意力子產品成功的啟發,我們也将殘差注意力機制應用到了目标檢測中。對于我們的A-SSD(如圖3c所示),雖然殘差注意力子產品可以推廣到任何一層,但我們隻分别在conv4_3和conv7之後放置了two-stage的殘差注意力子產品。每一個殘差注意力階段都可以在圖5中描述,它包含了trunk分支和mask分支。trunk分支有兩個residual block,每個block中包含3個卷積層(如圖5d所示)。mask分支通過利用殘差連接配接執行下采樣和上采樣來輸出注意圖(圖5b為第一階段,圖5c為第二階段),然後利用sigmod函數激活,殘差連接配接可以保持下采樣階段的特征。然後将來自mask分支的注意圖與trunk分支的輸出相乘,生成已參與的特征。最後,将參與網絡的特征經過residual子產品、L2标準化和ReLU。

CVPR2021小目标檢測:上下文和注意力機制提升小目标檢測
CVPR2021小目标檢測:上下文和注意力機制提升小目标檢測

3.4  FA-SSD: Combining feature fusion and atten-tion in SSD

       我們提出了一種新的方法,該方法連接配接了章節3.2和3.3中提到的特征,它可以考慮來自目标層和不同層的上下文資訊。與F-SSD相比,我們不是在目标特征圖上執行一個卷積層,而是設定了一個one-stage注意力子產品,如圖3d所示,特征融合方式如圖4。

四、實驗

4.1  實驗環境

        除非特别指明,否則我們使用VGG16作為backbone,輸入大小為300x300的SSD。對于FA-SSD,我們将特征融合方法應用于SSD的conv4_3和conv7。我們以conv4_3為target feature,conv7和conv8_2為上下文特征,以conv7為target feature,conv8_2和conv9_2為上下文特征。在較低的兩層特征圖應用注意力機制檢測小目标。注意子產品的輸出與target feature的大小相等。我們在PASCAL VOC2007和VOC2012的訓練驗證集上訓練我們的網絡,第一個80000次疊代的學習率為10^−3,然後對于100000和120000次疊代學習率降為10^-4和10^-5,batch size為16。所有測試結果均是在VOC2007的測試集上測試得到,我們采用COCO标準對目标大小分類,小目标面積小于32*32,大目标面積大于96*96。我們使用PyTorch和Titan XP進行訓練和測試。

CVPR2021小目标檢測:上下文和注意力機制提升小目标檢測

4.2  消融研究

       為了測試特征融合和注意力機制對SSD的重要性,我們比較了SSD、F-SSD、A-SSD和FA-SSD的性能。Table 1顯示所有F-SSD、A-SSD都優于SSD,這意味着特征融合和注意力機制都有助于baseline的提高。雖然特征融合和注意力機制相結合的FA-SSD并沒有表現出比F-SSD更好的整體性能,但是FA-SSD在小目标檢測方面表現出了最好的性能和顯著的提升。

4.3  運作時間

       Table 1中結果的一個有趣之處在于,元件越多,速度并不總是越慢。這促使我們更加詳細的了解了推理時間。檢測中的推理時間分為網絡推理和包含非極大值抑制(NMS)的後處理兩部分。根據Table 2,雖然SSD的forward 時間最快,但它在後處理過程中最慢,是以總體上仍然比F-SSD和A-SSD慢。

4.4  運作結果

       圖7顯示了SSD和FA-SSD之間的定性比較,其中當FA-SSD成功時,SSD無法檢測到小對象。

CVPR2021小目标檢測:上下文和注意力機制提升小目标檢測

4.5  Attention visualization

       為了對注意力機制有更好的了解,我們可視化了來自FA-SSD的注意力 mask。該注意力 mask是在圖5a中sigmoid函數之後進行的。注意力mask上有許多通道,在conv4_3上有512個通道,conv7上有1024個通道。每個通道都關注不同的東西,既有對象也有上下文。在圖8中,我們對于注意力mask的一些樣本進行了可視化。

CVPR2021小目标檢測:上下文和注意力機制提升小目标檢測
CVPR2021小目标檢測:上下文和注意力機制提升小目标檢測

4.6  以ResNet為backbone

      為了了解SSD不同backbone的通用性,我們對ResNet結構進行了實驗,特别是ResNet18、ResNet34和ResNet50。為了使特征圖大小與以VGG16為backbone的原始SSD的特征圖大小相同,我們從layer2的結果(如圖6a)中提取特征,然後F-SSD(圖6b)、A-SSD(圖6c)和FA-SSD(圖6d)隻需遵循以VGG16為backbone的版本。如表3所示,除了以ResNet34為backbone的版本在小目标上的性能不是最好之外,其他一切都跟随表1中以VGG16為backbone的版本的趨勢。

CVPR2021小目标檢測:上下文和注意力機制提升小目标檢測

4.7  VOC2007測試結果

      為了與其他作品進行比較,我們在表4中進行了比較。所有比較的方法都用VOC2007 的trainval和VOC2012 的trainval資料集進行訓練。雖然與DSSD相比我們的性能更低,但我們的方法運作的FPS為30,而DSSD為12 。

五、結論

       在本文中,為了提高小目标檢測的準确率,我們提出了給SSD增加上下文感覺資訊的方法。該方法通過融合多尺度特征擷取不同層次上的上下文資訊,通過注意機制擷取目标層上的上下文資訊。實驗表明,與傳統的SSD相比,目标檢測的準确率有了很大的提高,特别是對小目标的檢測精度有了很大的提高。

繼續閱讀