瑚 琦,卞亞林,王 兵
(1.上海理工大學 光電信息與計算機工程學院,上海 200093;2.上海理工大學 上海市現代光學系統重點實驗室,上海 200093)
目標檢測是數字圖像處理的基礎課題之一,同時也是計算機視覺領域的重要分支[1]。目標檢測的任務是確定圖像中目標的類別并給出位置信息。目標檢測對特征信息的提取及語義信息的應用都有很高要求,高質量的檢測結果對更為復雜的計算機視覺任務的完成有著至關重要的作用。
小目標檢測是目標檢測的一大難點,在醫療檢測、自動駕駛和工業檢測中都有著廣闊的應用需求和前景。因此,提升小目標的檢測效果有很強的現實需求。近年來,隨著深度學習和卷積神經網絡在計算機視覺領域取得重大突破,小目標檢測也逐漸成為研究熱點。
根據國際光學工程學會的定義,圖像中小于原圖尺寸0.12%的物體即為小目標。在通用目標檢測數據集(microsoft common objects in context,MS COCO)[2]中,小于32 像素×32 像素的物體會被定義為小目標。基于深度學習實現小目標檢測存在的難點主要有3 點:(1) 如何將小目標與其他目標的檢測區分開來;(2) 通用目標檢測數據集中小目標數目相對較少;(3) 小目標包含的特征信息較少。因此,基于深度學習實現的小目標檢測算法的研究現狀,可以總結為3 個方向。
多尺度檢測,圖像金字塔尺度歸一化(scale normalization for image pyramids,SNIP)[3]借鑒圖像金字塔,對圖像金字塔中不同尺度圖像分別訓練檢測器,再合并檢測結果以實現多尺度目標檢測。Liu 等[4]提出的一次多框檢測器(single shot multibox detector,SSD)直接利用主干網絡的不同尺度特征層負責不同尺度物體的檢測。Redmon 等[5]在只看一次目標檢測算法(you only look once version 3,YOLOv3)引入了特征金字塔(feature pyramid networks,FPN)[6]結構豐富特征信息,并通過設置不同大小的錨框實現多尺度物體的檢測效果。
數據增強,Mixup 方法[7]通過隨機選取訓練集中兩張圖像進行加權求和的方式進行數據集擴展。Cutmix[8]以及Mosaic[9]兩種方法分別混合兩個圖像和四個圖像來增強數據集的表達能力。Copy-pasting 增強方法[10]則通過復制小目標的方式豐富小目標的數目和分布情況。
特征增強,通道增強網絡(path aggregation network,PANet)[11]在特征金字塔后通過一個自下而上的路徑增強縮短低層級特征和特征圖的連接,增強了特征金字塔。卷積注意模塊(convolutional block attention module,CBAM)[12]即尺度變換模塊,通過池化層獲得小尺度特征圖,通過尺度轉換層減少特征圖通道數以獲得大尺度的特征圖。平衡特征金字塔網絡(libra feature pyramid networks,Libra-FPN)[13]將不同特征層做尺度變換并進行特征融合以增強特征金字塔的尺度表達平衡。
在特征金字塔結構中,通過水平融合低分辨率特征圖和高分辨率特征圖的方式雖然可以緩解多尺度目標檢測不同特征層間信息擴散的問題,但同時也會導致語義沖突,使小目標的特征信息被稀釋。因此,本文以YOLOv3 為基礎網絡,提出通過跳躍連接和多尺度特征融合的方式,豐富網絡提取的特征信息。通過在MS COCO 2017 數據集上的實驗表明,改進后的網絡在小尺度目標檢測上的平均精度均值(mean average precision,mAP)較原網絡提升了約3%。
FPN 通過卷積神經網絡前向過程形成的具有金字塔結構的特征層,加上一個帶有橫向鏈接的從上而下結構,既能豐富網絡中獲取的特征信息和語義信息,也能實現多尺度目標檢測任務。
一般認為,卷積神經網絡前向過程中,由于卷積核的作用,深層網絡中的節點具有較大的感受野,因此相較于淺層網絡,包含的語義信息更多,特征信息更少。因此,為了使多尺度目標檢測網絡中不同尺度目標獲得更多的特征信息和語義信息,特征融合是常用的手段。不同的特征融合方式會產生不同的效果。現階段通過特征融合實現特征增強的方法大多都是將淺層特征信息和深層特征信息分別融合,以實現多尺度目標檢測效果均有提升,但會增加網絡計算負擔,并且多尺度目標檢測精確度之間的不平衡現象沒有得到改善。
為實現通過較少計算量提升小尺度目標檢測精確度的目的,本文通過如圖1 所示的特征融合模塊,使原F5 特征層中由于主干網絡前向過程丟失的特征信息獲得直接的增補,從而對小目標的檢出提供特征信息上的幫助。特征融合階段沒有需要額外學習的參數,所有特征信息均從原主干網絡提取并進行尺度變換獲得。

圖1 改進的特征金字塔結構Fig.1 Improved feature pyramid network
特征融合過程主要包含3 個步驟:
(1)通過池化可以實現特征層尺度的統一。利用1×1 卷積核,可以通過控制卷積核的個數調整特征層的通道數,使得它們保持一致。這個過程可以表示為:

式中:Bn為從主干網絡中提取的第n層特征層;Frechannel代表通道數調整函數;Fmaxpool代表最大池化函數;Bn為調整后用于特征融合的特征層。
(2)將尺度和通道數均一致的特征層直接進行特征融合。這個過程可以表示為:

(3)將融合后的特征,運用注意力模塊(SENet[14])調整注意力,以增強特征圖表達能力。SENet 主要包括Squeeze 和Excitation 兩個操作:

Squeeze 操作將某一通道上的全部空間特征編碼為一個全局特征,然后使用Sigmoid 激活函數和ReLU 激活函數對通道特征編碼信息進行重新校正。式(4)中:σ表示ReLU 激活函數;δ表示Sigmoid 激活函數;W1和W2表示兩個用來限制模型復雜度的權重參數矩陣。
將式(4)提取到的激活值乘上式(2)中融合后的特征信息,得到最終改進后的特征層:

YOLOv3 是由YOLO 系列[15-16]發展而來,是單階段目標檢測網絡中的經典模型。YOLOv3主干網絡采用Darknet53,在原Darknet19 上結合殘差網絡結構思想,使用連續的3×3 和1×1 卷積層構成一個共包含53 個卷積層的主干網絡。YOLOv3 借鑒了特征金字塔的思想,用具有更大感受野的小尺寸特征圖檢測大尺寸的物體,而具有相對較小感受野的大尺寸特征圖檢測小尺寸物體。以預處理將輸入圖片的尺寸調整成416 像素×416 像素為例,則從主干網絡提取3 種尺度的特征圖,分別為52×52、26×26、13×13 像素值。然后,再引入9 種不同大小的先驗框,分別給每種尺度特征圖分配3 種,從而實現了多尺度的目標檢測。
YOLOv3 引入殘差網絡結構的目的是為了提取更深層次的語義信息,但更深的網絡結構也會造成不同尺度特征圖之間特征信息提取的差異,從而造成不同尺度目標檢測精確度之間的差異。以網絡輸入尺寸為416 像素×416 像素為例,依據MS COCO數據集的標準,YOLOv3 檢測網絡對大中小尺寸目標的檢測精度分別為44.8%、33.6%和14.6%,可以看出小目標的檢測精確度遠低于其他尺寸。因此,將針對小目標增強的特征金字塔結構應用于YOLOv3,如圖2 所示。

圖2 特征增強YOLOv3 示意圖Fig.2 Schematic diagram of feature enhanced YOLOv3
本文實驗設備為2.9 GHz,i5-9400F CPU,GeForce RTX 3060 GPU,16 G RAM 的計算機上運算。操作系統為Ubuntu18.04,軟件運行環境PyTorch1.6.0,CUDA10.1。訓練設置中,在數據集上的實驗進行275 輪訓練,設置batch_size 為8,初始學習率為0.002。
MS COCO 數據集是目前通用目標檢測研究領域廣泛使用的一個大規模數據集,包含80 個檢測類在內的33 萬張圖片。本文選取的COCO數據集2017 版本,共包含訓練集圖片118 287 張,驗證集圖片5 000 張。
在MS COCO 檢測任務中,主要的評估指標是平均精度均值mAP。mAP是對每個類別的目標的平均精度AP取均值,而AP是由準確率-召回率(precision-recall)曲線圍成的面積決定的。因此,需要分別計算準確率和召回率。
假設分類的目標有兩類,正類(positive)和負類(negative),通過網絡輸出的置信度值(confidence)判定。通過設定IoU 閾值判定預測結果是否正確,通常設定的閾值為0.5,不同數據集的評價標準會有浮動。據此,檢測結果可以被分為4 類:(1)被預測為正類的正類樣本(true positive,TP);(2)被預測為正類的負類樣本(false positive,FP);(3)被預測為負類的正類樣本(false negative,FN);(4)被預測為負類的負類樣本(true negative,TN)。則準確率和召回率的計算公式分別為:

通過式(6)和式(7)得到圖3 所示準確率-召回率曲線,計算曲線圍成的面積得到某類目標的AP,再根據式(8)可計算得到最終的mAP。


圖3 精確率-召回率曲線示意圖Fig.3 Figure of precision-recall curve
針對COCO 數據集中不同尺寸目標較多,分別對大、中、小3 類尺度的檢測精度進行評價,以衡量模型對不同尺度物體的檢測效果。其中,APS指原圖像中尺寸小于32 像素×32 像素的目標的mAP;APM指原圖像中尺寸在32像素×32像素與96像素×96像素之間的目標的mAP;APL指原圖像中尺寸大于96 像素×96 像素的目標的mAP。
為驗證本文的改進特征金字塔結構在小目標檢測特征提取和精確度上的變化,將本文網絡與改進前的YOLOv3 網絡及其他目標檢測網絡進行比較。在設定網絡的輸入尺寸為416 像素×416 像素的情況下,本文網絡與改進前的YOLOv3網絡提取小尺寸目標特征情況與檢測結果如圖4 所示。圖4 中,(a)列為包含小目標的原圖,(b)列和(c)列分別為模型改進前后輸出的特征圖,(d)列和(e)列分別為模型改進前后輸出的檢測結果。從特征圖的對比中可以看出,本文改進后的網絡能夠提取更豐富的小尺寸目標信息,從檢測結果對比中,小尺寸目標的檢測結果在本文模型上取得更高的精確度。如圖4 中第一行中,網球屬于需要被檢測的小目標,可從圖中看出,改進后的檢測網絡能夠獲得更多的網球特征信息,也能夠將網球的檢測精確度由0.96 提升至0.99。

圖4 本文網絡與原YOLOv3 實驗結果對比圖Fig.4 Schematic diagram of feature enhanced YOLOv3
由于本文側重提升小目標檢測的精確度,因此選取交并比(IoU)為0.5 的閾值以及小尺寸目標檢測精度APS作為評價指標,如表1 所示。從表1 中可以看出,將改進特征金字塔結構應用于YOLOv3檢測網絡,可以將網絡整體檢測精確度提升1.4%,小目標檢測精確度提升3.3%。小目標檢測相比YOLOv3 的精度提高了22.6%。與使用更復雜主干網絡的二階段目標檢測網絡Faster R-CNN 相比,本文網絡結構的檢測精確度也有所提高。

表1 MS COCO2017 數據集精確度測試結果Tab.1 mAP on MS COCO2017 dataset
綜合以上情況,本文提出的基于改進特征金字塔的小目標增強檢測網絡,可以增強檢測網絡對小尺寸目標的特征提取,從而提升其檢測精確度,并有助于目標檢測網絡的整體提升。
針對小目標包含特征信息少,檢出精確度差的特點,本文提出了一種基于改進特征金字塔的YOLOv3 目標檢測網絡,通過一個多尺度特征融合模塊取代原特征金字塔中局部特征層,使網絡獲得更豐富的小目標特征信息。與原算法模型相比,本文提出的小目標增強目標檢測算法在增加較少計算量的基礎上,增加了小目標物體特征檢出效果,小目標檢測精確度提升了3.3%。但本文算法還存在一定改善空間,如模型未考慮小目標被局部遮擋的情況。由于小目標本身包含像素信息較少,遮擋問題對小目標的檢出效果會產生很大影響,因此后續工作可以對算法模型作進一步優化,提升網絡在不同應用場景的檢測性能。