肖進勝 趙 陶 周 劍 樂秋平 楊力衡
1(武漢大學電子信息學院 武漢 430072)
2(測繪遙感信息工程國家重點實驗室(武漢大學)武漢 430079)
小目標檢測作為目標檢測中的難點技術,被廣泛應用于自動駕駛、醫(yī)學領域、無人機導航、衛(wèi)星定位和工業(yè)檢測等視覺任務中.近些年基于深度學習的目標檢測算法發(fā)展迅猛.以YOLO(You Only Look Once)[1]和SSD(Single Shot MultiBox Detector)[2]為代表的一階段算法直接預測出目標的位置和類別,具有較快的速度.而二階段算法[3-4]在生成候選框的基礎上再回歸出目標區(qū)域,具有更高的精度.但是這些算法在檢測只含有較少像素的小目標(小于32×32 像素)時表現較差,檢測率甚至不到較大目標的一半.因此,小目標檢測仍然具有很大的改進空間.
小目標檢測效果差主要是由于網絡本身的局限性以及訓練數據不平衡所導致[5].為了獲得較強的語義信息和較大的感受野,檢測網絡不斷堆疊下采樣層,使得小目標信息在前向傳播的過程中逐漸丟失[6],限制了小目標的檢測性能.特征金字塔網絡(feature pyramid network,FPN)[7]將低層特征圖和高層特征橫向融合,可以在一定程度上緩解信息丟失的問題[1-2].然而FPN 直接融合不同層級的特征會造成語義沖突,限制多尺度特征的表達,使小目標容易淹沒于沖突信息中.同時,目前主流的公開數據集中,小目標的數量遠遠小于較大目標,使得小目標對損失的貢獻小,網絡收斂的方向不斷向較大目標傾斜.
針對小目標檢測效果差的問題,本文提出一種上下文增強和特征提純相結合的復合FPN 結構,該結構主要包括上下文增強模塊(context augmentation module,CAM)和特征 提純模 塊(feature refinement module,FRM).同時,提出一種復制—縮小—粘貼(copy-reduce-paste)的數據增強方法,具體有3 點:
1)CAM 融合多尺度空洞卷積特征以獲取豐富的上下文信息,補充檢測所需信息;
2)FRM 引入通道和空間自適應融合的特征提純機制以抑制特征中的沖突信息;
3)通過copy-reduce-paste 數據增強來提高小目標在訓練過程中對損失的貢獻率.
目標檢測是一種基礎的計算機視覺任務,經過多年的發(fā)展,基于卷積神經網絡(convolutional neural network,CNN)的目標檢測器逐漸成為主流.RCNN[3]首先生成候選區(qū)域以匹配不同尺寸的目標,然后通過CNN 篩選候選區(qū)域.FasterR-CNN[4]將候選區(qū)域生成階段和分類階段結合在一起,以提高檢測速度.EFPN[8]提出超分辨率FPN 結構以放大小目標的特征[9].一階段網絡SSD 將錨盒密集的布置在圖像上以回歸出目標框,同時充分利用不同尺度的特征,以檢測較小目標.YOLOV3[1]利用特征金字塔的3 層輸出分別檢測大、中、小目標,明顯提高小目標檢測性能.RefineDet[10]引入一種新的損失函數以解決簡單樣本和復雜樣本不平衡的問題.同時也有研究者提出基于anchor-free架構的檢測器[11].盡管目標檢測算法發(fā)展迅速,但是小目標檢測率卻一直較低.本文選用帶有FPN 的YOLOV3 作為基礎網絡,并在此基礎上做出改進.
多尺度特征是一種提高小目標檢測率的有效方法.SSD[2]首次嘗試在多尺度特征上預測目標位置和類別.FPN[7]自上而下地將含有豐富語義信息的高層特征圖和含有豐富幾何信息的低層特征圖橫向融合.PANet[12]在FPN 的基礎上添加了額外的自下而上的連接以更高效地傳遞淺層信息到高層.NAS-FPN[13]利用神經架構搜索技術搜索出了一種新的連接方式.BiFPN[14]改良了PANet 的連接方式,使其更加高效,并在連接處引入了簡單的注意力機制.雖然文獻[12?14]中的結構都能提升網絡多尺度表達的能力,但是都忽略了不同尺度特征之間沖突信息的存在可能會阻礙性能的進一步提升,本文則充分考慮了沖突信息對檢測精度的影響.
深度學習是基于數據的方法,因而對訓練數據的預處理是其關鍵的一環(huán).常見的數據預處理方法如旋轉、變形、隨機擦除、隨機遮擋和光照畸變等.Stitcher[15]將4 張訓練圖像縮小為原圖的1/4,并且將它們拼接為1 張圖像來實現小目標的數據增強,同時將損失值作為反饋信號以指導數據增強的進行.YOLOV4[16]將4 張訓練圖像縮小為不同大小并且拼接為1 張來實現小目標的數據增強.文獻[15?16]中的方式對于目標尺寸普遍很大的圖像來說,會將大目標圖像縮小為中等目標大小,最終提高中等目標圖像的檢測率.Kisantal 等人[5]采用將圖像的小目標區(qū)域復制然后粘貼回原圖的方式實現小目標數據增強.但這種方式只能增加小目標個數而不能增加含有小目標的圖像個數,也會造成一定的不平衡.本文提出的數據增強算法則基于較大目標廣泛分布于訓練的各個批次的事實,保證訓練平衡進行.本文算法結構圖如圖1 所示:
Fig.1 Overall network structure of FPN圖1 FPN 總體網絡結構
圖1 中{C2,C3,C4,C5}分別表示圖像經過{4,8,16,32}倍下采樣后的特征圖,{C3,C4,C5}經過1 層卷積后分別生成{F1,F2,F3},其中C2由于含有大量噪聲而未被使用.{L1,L2,L3}分別是{F1,F2,F3}經過FPN后的結果,{P1,P2,P3}為{L1,L2,L3}經過FRM 的輸出.
CAM 啟發(fā)于人類識別物體的模式.如,我們很難分辨很高天空中的小鳥,但是考慮天空作為其背景,我們就很容易分辨出,因為從我們學習到的知識中可知,在天空背景下的微小目標很有可能是小鳥,而這種背景信息,即是目標的上下文信息.因此如果目標檢測網絡也在圖像中學習到這樣的“知識”將會有助于檢測小目標.
由于FPN 不同層的特征密度不同,因而含有大量的語義差異,在實現信息共享的同時也引入了很多沖突信息.因此,本文提出了FRM 用于過濾沖突信息,減少語義差異.FRM 通過將不同層間的特征自適應融合,以達到抑制層間沖突信息的目的.
針對小目標對損失貢獻低的問題,提出了一種copy-reduce-paste 數據增強方法,以提高小目標對損失的貢獻.
2.1.1 上下文增強模塊(CAM)
目標檢測需要定位信息也需要語義信息,處于FPN 最低層的L3含有較多的定位信息而缺少語義信息.FPN 自上而下的信息共享結構在通道數減少之后才進行融合,使得L3未能獲取充分的語義信息.為此我們利用不同空洞卷積率的空洞卷積來獲取上下文信息,并將其注入到FPN 中,以補充上下文信息.
圖2(a)是CAM 的結構圖.對于大小為[bs,C,H,W]的輸入分別進行空洞卷積率為1,3,5 的空洞卷積[17].bs,C,H,W分別為特征圖的批次大小、通道數、高和寬.由于該模塊輸入的尺寸較小,為了獲取更多的細節(jié)特征,不宜使用大卷積,因此選用3×3 的卷積.同時為了避免引入較多的參數量,選取卷積核的個數為C/4,即首先壓縮通道數為輸入的1/4,然后再通過1×1 的卷積擴張通道數為C,得到3 種大小相同而感受野不同的輸出,最后融合得到的特征.特征融合可采用的方式如圖2(b)~(d)所示.圖2(b),(c)分別為拼接融合和加權融合,即分別在通道和空間維度上直接拼接和相加.圖2(d)是自適應融合方式,即通過卷積、拼接和歸一化等操作將輸入特征圖壓縮為通道為3 的空間權重,3 個通道分別與3 個輸入一一對應,計算輸入特征和空間權重的加權和可以將上下文信息聚合到輸出中.
本文通過消融實驗驗證各個融合方式的有效性,實驗結果如表1 所示.
由表1 可知,對于小目標來說,拼接融合所取得的增益最大,APs和ARs分別提高了1.8%和1.9%.自適應融合對中目標的提升最為明顯,APm提升了2.6%.相加融合帶來的提升則基本介于拼接融合和自適應融合兩者之間,因此本文選擇拼接融合的方式.
Fig.2 The structure of CAM圖2 CAM 結構圖
Table 1 Ablation Experimental Results of CAM表1 CAM 消融實驗結果%
本文將部分特征圖可視化以說明CAM 的效果,可視化結果如圖3 所示.
圖3(b)為CAM 輸入特征圖,從中可以發(fā)現在圖像的目標處有微小響應,呈現為較小的“白點”.圖3(c)為CAM 輸出特征圖,可以明顯看到目標處的響應明顯增強,并且響應范圍更大,這是因為CAM將目標周圍的上下文信息也融入特征中,使得目標處的響應更強.因此將CAM 提取的上下文信息注入網絡中將有助于小目標的檢測.
2.1.2 特征提純模塊(FRM)
FPN 用于融合不同尺度大小的特征,然而不同尺度的特征具有不可忽視的語義差異,將不同尺度的特征直接融合可能引入大量的冗余信息和沖突信息,降低多尺度表達的能力.為了抑制沖突信息,本文提出FRM,該模塊結構如圖4 所示.
圖4(a)為接在FPN 第2 層后的FRM 結構圖.從圖(4)可看出,X1,X2,X3(FPN 的3 層輸出)為該模塊的輸入,首先將X1,X2,X33 個輸入縮放到同一大小,分別為R1,R2,R3,然后再利用拼接和卷積操作將所有輸入特征的通道數壓縮為3,隨后接上并聯的通道提純模塊和空間提純模塊.
通道提純模塊的具體結構如圖4(b)所示,為了計算通道注意力,采用平均池化和最大池化相結合的方式來聚合圖像的全局空間信息.用Xm表示FRM的第m(m∈{1,2,3})層輸入特征圖,其輸出可表示為其中RS表示resize 函數,在式(1)中將X1和X3特征縮放到和X2同一尺度.α,β,γ為通道自適應權重,其尺度為1×1×1.經過歸一化的 α,β,γ 代表3 個輸入的相對權重,這3 個值越大表示具有更大的響應,將它們與輸入相乘,響應大的輸入將被放大,響應小的輸入將被抑制,以此將更加有用的信息增強而抑制不重要的噪聲.α,β,γ可表示為
Fig.3 Context information augmentation effect diagrams圖3 上下文信息增強效果圖
Fig.4 The structure of FRM圖4 FRM 結構
其中F為圖4(a)中標識的特征圖,AvgPool和MaxPool分別為平均池化和最大池化操作.
空間提純模塊利用softmax 函數將特征圖在空間上歸一化,得到特征圖中某點關于其他所有位置的相對權重,然后將其與輸入分別相乘.其輸出可表示為
(x,y)表示特征圖的空間坐標.μ,ν,ω為空間自適應權重,目標區(qū)域的響應較大,將會獲得更大的權重,反之背景區(qū)域獲得的權重較小.μ,ν,ω與輸入具有相同的空間大小,因此將它們和輸入直接相乘可以達到將目標特征放大和背景噪聲抑制的目的.μ,ν,ω可由式(4)表示.
softmax 函數用于歸一化特征參數以提高模型的泛化能力.那么此模塊的總輸出為
FPN 所有層的特征都在自適應權重的引導下融合,融合的結果作為整個網絡的輸出.
為更加直觀地說明特征提純模塊的作用,圖5 展示了部分可視化的特征圖.由于小目標的檢測由FPN的最低層主導,因此我們僅可視化了最低層的特征.圖5 中F3,L3,P3分別對應圖1 中的標簽F3,L3,P3.
Fig.5 Visualization results of FRM圖5 FRM 可視化結果
由圖5 可知,F3特征可大致定位目標位置,但是包含較多背景噪聲,具有較大誤檢的可能.L3相比于F3,背景信息明顯減少,這是FPN 融合高層信息的結果.高層信息更加關注于物體的抽象信息而不關注背景信息,因此背景信息會被中和.但是由于特征的細膩度不同,引入了沖突信息,使得目標的響應被削弱.而P3的目標特征被強化,并且目標和背景之間的邊界更加明顯.由可視化分析可知,本文提出的FRM可減少干擾小目標的沖突信息,提高判別性,以此提高小目標的檢測率.
當前主流的公開數據集中,小目標的數量或包含小目標的圖片數量遠遠小于較大目標的,如VOC數據集,統(tǒng)計情況如表2 所示.同時,如圖6(a)所示,小目標產生的正樣本數量遠遠小于較大目標的,因而小目標對損失的貢獻率遠遠小于較大目標的,使得網絡收斂的方向不斷向較大目標傾斜.
Table 2 Statistical Results of Target Size on VOC Datebase表2 VOC 數據集目標尺寸統(tǒng)計結果%
為了緩解這個問題,我們在訓練過程中復制、縮小、粘貼圖像中的目標,以增加小目標產生的正樣本數量以及對損失的貢獻值,使得訓練更為平衡.數據增強效果如圖6(b)和圖6(c)所示.
Fig.6 Data augmentation examples圖6 數據增強示例
圖6(b),圖6(c)是粘貼1 次的結果示例,實線框是原有的目標,虛線框為粘貼的目標.首先復制大目標圖像塊,然后對圖像塊進行縮小,最后粘貼到原圖的不同位置.我們提出的數據增強方法并沒有直接復制小目標圖像區(qū)域粘貼到不同位置,這是考慮到數據集中含有小目標的圖像數量較少,如果僅僅復制粘貼小目標,在很多批次中小目標對損失的貢獻仍然很低.此外,我們研究了粘貼次數對小目標檢測性能的影響,實驗結果如表3 所示.
從表3 中可知,隨著粘貼次數的增加,小目標的檢測率逐漸減小,甚至會造成低于基線模型的情況.這可能是由于隨著粘貼次數的增加,逐漸破壞了原始數據的分布,使得在測試集的表現較差.在粘貼1 次時,APs提高了2.5%,ARs提高了1.9%,同時中目標的檢測率也略有提升,結果表明粘貼1 個目標是最佳的設定.
Table 3 Ablation Experimental Results of Data Augmentation表3 數據增強消融實驗結果%
本文實驗在VOC 和TinyPerson 兩種數據集[18]上進行.VOC 有22 136 張訓練圖像和4 952 張測試圖像,共20 個類別.TinyPerson 數據集包含2 個類別,798 張訓練圖片和816 張測試圖片,其場景多為遠距離大背景下的圖像,所標注目標的平均大小為18 像素,是一個真正意義上的小目標數據集.
本文所使用的評估指標為:
精度(precision,P),用來檢測結果中相關類別占總結果的比重;
召回率(recall,R),用來檢測結果中相關類別占總類別的比重.由P-R曲線可計算所有大、中、小目標平均檢測精度的均值(mAP):
其中N為測試集總數,P(n)表示n張圖像的精確度,?r(n)表示從n?1 增加到n時召回率的變化量,k為類別數.同時,使用下標s,m,l 分別表示在小尺度、中尺度和大尺度目標上的性能.本文所有的實驗在同樣的軟件和硬件條件下進行(pytorch[19]框架,Intel Core i7-5820k CPU@3.30 GHz 處理器,16 GB 內 存,GeForce GTX TITAN 顯卡).
圖7 為訓練時的損失變化曲線,我們采用SGD優(yōu)化器訓練50 輪次(前2 個輪次預熱),批次設定為8,學習率初始值為 0.000 1,訓練的損失值平滑下降.部分特征可視化結果如圖8 所示.
Fig.7 The curve of loss圖7 損失曲線
Fig.8 Visualization results of feature maps in training圖8 訓練特征圖可視化效果
如圖8 所示,圖8(b)為淺層特征,網絡更關注物體的紋理信息.圖8(c)為深層特征,圖像的信息逐漸抽象,網絡更關注物體的高層語義信息.
為驗證本文算法在小目標檢測上的有效性,本文在TinyPerson 和VOC 數據集上分別進行了實驗.
本文復現了4 種算法在TinyPerson 數據集上的檢測結果,由于該數據集幾乎全是小目標,因此只進行APs指標的對比,對比結果如表4 所示.
由表4 可知,本文算法在該數據集上的APs達到55.1%.相比YOLOV5 和DSFD 算法,本文算法分別有0.8%和3.5%的提升,而相比于AL-MDN 和MaskRCNN 則分別高出21%和12.6%.
Table 4 Detection Results on TinyPerson Dataset表4 TinyPerson 數據集上的檢測結果%
本文復現了3 種較為前沿的目標檢測算法在VOC 上的結果,并且比較這些算法在小目標、中目標上的AP和AR,實驗結果如表5 所示:
Table 5 Results of Small Targets Detection on VOC Dataset表5 VOC 數據集上的小目標檢測結果%
由表5 可知,本文算法相比于YOLOV4,APs高3.9%,ARs高11.3%;相比于RefineDet,APs高5.3%,ARs高9.2%;而相比于CenterNet,本文算法的APs和ARs分別具有7.7%和12.0%的優(yōu)勢.不難發(fā)現,本文算法在小目標的召回率上具有較大優(yōu)勢,說明本文算法具有較強的小目標查找能力.
將本文算法和近幾年的一階段算法和二階段算法在VOC 數據集上的mAP進行對比,對比結果如表6所示.
由表6 可知,與一階段算法相比,本文算法比PFPNet 的mAP高1.3%,具有最好的表現.與二階段算法相比,本文算法優(yōu)于大部分的二階段算法,但比IPG-Net 的mAP低1.2%,這主要是由于本文算法的主干網絡性能較差以及輸入圖像大小較小.如果本文采用多尺度測試的方法,則在VOC 數據集上的檢測率可達到85.1%,高于所有的對比算法.
Table 6 Experimental Results on VOC Dataset (IOU=0.5)表6 VOC 數據集上的實驗結果(IOU=0.5)
本文算法對小目標的檢測具有較大優(yōu)勢,不管是總體檢測效果還是小目標的檢測率、召回率都表現良好,優(yōu)于大多數檢測算法.
本文以消融實驗驗證每個模塊的貢獻.通過逐個添加數據增強方法、CAM 和FRM 到基線模型YOLOV3中,得出實驗結果如表7 所示:
Table 7 Ablation Experimental Results表7 消融實驗結果
總體來說,本文提出的算法可顯著提高目標檢測率,尤其是小目標和中等目標的檢測率,這也符合本文算法的初衷.如表7 所示,APs提升5.4%,APm提升3.6%,而APl提升1.0%.同時對于不同尺度目標的召回率也有不同程度的提升.具體來說,ARs提升6.9%,ARm提升1.3%,ARl提升1.1%.
copy-reduce-paste 數據增強方法將APs和APm分別提高2.5%和2.2%.而APl略有下降.由此可知,該方法可有效提高小目標檢測率.
CAM 分別提高小目標的APs和ARs1.8%和0.6%.證實了補充上下文信息對于小目標檢測的重要性.
FRM 將APs和APm分別提高2.8%和1.6%,而APl基本持平.由此可見,FRM 可濾除特征的沖突信息,提高較小目標特征的判別性.
小目標特征模糊,能夠提取的特征少,是目標檢測領域的難點.為了解決小目標特征消散的問題,本文引入CAM,通過不同空洞卷積率的空洞卷積提取上下文信息,以補充小目標的上下文信息.由于小目標容易淹沒在沖突信息中,本文提出FRM,該模塊結合通道和空間自適應融合來抑制沖突信息,提高特征的判別性.同時,提出一種copy-reduce-paste 的小目標增強方法來提高小目標對損失函數的貢獻,使得訓練更加平衡.通過實驗結果可知,本文提出的小目標檢測網絡在TinyPerson 和VOC 數據集上均表現良好,優(yōu)于大多數的目標檢測算法.
致謝感謝武漢大學超級計算中心對本文的數值計算提供的支持.
作者貢獻聲明:肖進勝和趙陶設計網絡并實踐;肖進勝和周劍負責論文撰寫;樂秋平和楊力衡提供數據支持和文章的潤色