周秋艷,肖滿生,范雙南
(1.湖南工業大學 計算機學院,湖南 株洲 412007;2.湖南交通工程學院 電氣與信息工程學院,湖南 衡陽 421001)
目標檢測是指從圖像中獲取感興趣的目標,確定每個目標的準確位置和類別,并在圖像上進行標注。近年來隨著目標檢測的快速發展,該技術被廣泛應用于智能駕駛、醫學圖像診斷、行人檢測和航天航空等領域[1-3]。
基于手工特征提取的傳統檢測算法主要包括以下步驟:圖像預處理、窗口滑動、特征提取和特征數據處理、分類器分類[4]。這些算法在特征提取階段常用的視覺特征有Harr 特征[5]、HOG 特征[6]、SIFT(scale-invariant feature transform)特征[7]等,但這些特征被用于識別特定的任務時往往存在一些缺陷。如依靠人工的先驗知識設計特征提取器,缺乏一定客觀性,因此對多樣性目標的檢測魯棒性差,在復雜場景下很難取得較好的效果,檢測精度和速度較低。近年隨著深度學習的迅速發展,許多學者利用深度卷積神經網絡(convolutional neural networks,CNN)進行特征提取,該模型的泛化能力較強,目標檢測精度和速度得到了較大提升。目前主流的目標檢測算法主要分為單階段和兩階段兩種策略,基于候選框的兩階段方法如R-CNN(region-based convolutional neural networks)[8]、Faster RCNN[9]、Cascade RCNN[10]等,其實現過程為:先對感興趣的區域進行候選框獲取,而后利用CNN 網絡生成對應的特征圖,對候選框進行分類識別和邊框回歸,完成目標檢測,此類方法檢測精度較高,但實時性不強。而基于回歸的單階段方法如SSD(single shot multibox detector)[11]和YOLO(you only look once)[12]等,此類方法利用CNN 網絡直接預測目標的類別與位置,無需獲取候選框,檢測的實時性較強,但精度不高。針對這些問題,專家學者提出了許多基于深度學習框架模型以改善目標檢測效果,對于不同尺度的目標需要不同大小感受野的特征去識別,而神經網絡的高層特征中包含了豐富的語義信息,因此許多方法是通過增加網絡層數來獲得語義信息更強的高層特征圖,從而提升網絡性能,但隨著卷積層數增加,圖像經過大量特征處理后,目標的位置信息變弱。高層特征圖的語義信息較強、分辨率較低,而低層特征圖的分辨率較高、語義信息較弱,同時相鄰層級的特征圖間的相關性在此過程中會愈加弱化,導致分類和回歸的精度不高。針對這些問題,一系列典型的多尺度特征融合模塊被提出,如特征金字塔網絡(feature pyramid network,FPN)[13]、神經結構搜索特征金字塔網絡(neural architecture Search Feature Pyramid Network,NAS-FPN)[14],以及許多運用了多尺度特征融合方法的網絡:如PANet(path aggregation network)[15]、HRNet(high-resolution representation learning for human pose estimation)[16]。Tan M.X.等[17]提出了一種加權雙向特征金字塔網絡(bi-directional feature pyramid network,Bi-FPN)實現快速的多尺度特征融合。Cao J.X.等[18]通過整合注意力引導的多路徑特征,利用了來自各種大感受野的判別信息,提出注意力引導的上下文特征金字塔網絡。Xing H.J.等[19]提出了基于雙重注意力機制的特征金字塔網絡,改善了小目標檢測效果,Hu J.等[20]對通道之間的相互依賴性進行建模以自適應地重新校準通道特征響應,提出了SENet(squeeze and excitation networks),極大改善了網絡性能。
受上述思想啟發,本文提出了一種基于注意力機制和多層次特征融合的目標檢測算法,能夠有效提高目標檢測精度,主要貢獻如下:
1)設計了簡單的注意力模塊(simple attention module,SAM),并將其應用于主干網絡,對網絡通道關系進行建模以增強網絡的表征能力;
2)針對檢測中的多尺度問題及網絡中不同分辨率的特征對網絡性能提升貢獻的不同,本文設計了基于深度可分離卷積的多層次特征融合模塊(multi-layer feature fusion module,MFFM),對多尺度特征進行融合,在保證效率的情況下豐富了特征信息,同時引入可學習的權重,獲取不同輸入特征的重要性程度,以更好地平衡不同尺度的特征信息。
注意力機制是在全局信息中獲得需要關注的部分的一種方式。本文融合了SAM,利用通道注意力機制整合特征圖來選擇性地強調互相關聯通道的重要性,增強包含更多關鍵信息的特征,并抑制無關或較弱關聯的特征,以平衡不同通道之間的特征信息。其結構如圖1 所示。如圖1 所示,SAM 結構主要作用在殘差模塊的分支,將殘差結構的輸出作為它的輸入,H、W分別表示輸入特征圖的高和寬,C表示通道數,即輸入特征圖大小為H×W×C。通過全局平均池化將特征圖壓縮為1×1×C的向量,將全局空間信息壓縮到通道描述子中,使其具有全局的感受野來對通道維度上的特征相關性進行建模。經過1×1 卷積將特征通道數調整為輸入通道數的1/r,r為縮放比例,通過實驗得出r取16 比較合適(詳見3.4 節),可以實現準確度和計算復雜度之間的良好平衡。對壓縮了通道數的特征圖經ReLU 激活,使其具有學習通道間的非線性交互能力,再通過一個1×1 卷積恢復通道數,最后以Sigmoid 函數進行歸一化處理,獲得0~1 之間的權重,通過Scale 操作將每個通道賦予權重值。其中涉及的理論過程推導如式(1)所示。

圖1 SAM 結構Fig.1 SAM structure

SAM 完成了通道相關性的構建,自適應地為不同通道學習到不同的通道注意力權重,讓網絡專注于有更多貢獻的通道,增強判別能力。
在目標檢測網絡中,深層特征語義信息強但分辨率低,淺層特征分辨率高但語義信息弱[21-22],本文融合了不同分辨率的特征,利用深層特征圖中含有目標豐富的語義信息和淺層特征圖的局部位置信息來提高網絡的性能,解決多尺度問題。
經過主干網絡自底向上路徑特征提取輸出的5層特征圖中,每層最后一個殘差塊輸出的特征圖為P1~P5,由于P1語義信息較弱、分辨率過大不利于計算,因此采用P2~P5作為加權特征融合網絡的輸入,用1×1 的卷積核對原始特征橫向連接,統一修正特征圖的通道數為256,進而進行自頂向下與復用的低層特征進行第一次融合,第一次只對P3和P4特征圖做此操作,得到過渡特征集合。此時過渡特征中高層的特征信息較低層特征來說更弱,底層特征分辨率高,包含了更多小目標檢測的細節信息,因此對過渡特征進行二次融合。采用1×1 的卷積核對過渡特征圖進行橫向連接,對每層特征圖利用下采樣操作使其與更高一層特征圖具有相同尺寸。再將低層特征自底向上與復用的高層特征融合,由于P2特征圖包含更多空間位置信息,因此將P2參與二次融合,與過渡特征圖P3融合,P5特征圖含有豐富的語義信息,也參與二次融合中。這種對同一層的原始輸入特征直接連接到輸出特征參與自底向上特征融合的做法能夠充分利用高層特征的強語義信息和底層特征的空間位置信息,最終得到輸出特征,送入RPN 網絡進行后續處理,MFFM 結構如圖2 所示。

圖2 MFFM 結構Fig.2 MFFM structure
為了降低其復雜度,本文利用深度可分離卷積代替3×3 普通卷積,深度可分離卷積通過兩次卷積操作實現,先分別對通道同時進行3×3 卷積,批量正則化后,通過1×1 逐點卷積,較之普通卷積,參數量大大減少。此外,不同的輸入特征具有不同的分辨率,通常它們對輸出特征所作出的貢獻有所不同[23],因此引入權重讓網絡學習每個輸入特征的重要性,更好地平衡不同尺度的特征信息。權重計算如式(3)所示:式中:wi(wi≥0)為可學習權重,用ReLU 函數將權重歸一化,表示每個輸入特征的重要性程度;ε為一個很小的值,設置為0.000 1,避免數值不穩定;L為計算的權重結果值。

以兩個特征圖融合為例進行說明,如式(4)(5)所示。

式(4)(5)中:為第4 層的輸入特征值;為自頂向下路徑上第4 層的過渡特征值,為便于區分同一層上不同類型的特征,本文采用上標in、td、out區分該層的輸出特征、過渡特征、輸出特征;為自底向上路徑上第4 層的輸出特征;Resize為用于分辨率匹配的上采樣或下采樣;DwConv為用于特征處理的深度可分離卷積操作。
經過特征融合的特征圖通過3×3 的卷積運算去除混疊效應后送到RPN 網絡。RPN 網絡的詳細介紹見文獻[9],圖3 所示為RPN 網絡結構圖。首先,在特征圖上初步提取檢測目標候選區域,本文采用4 種不同尺度面積{642,1282,2562,5122}、3 種不同長寬比{1 ∶2,1 ∶1,2 ∶1}生成12 種不同大小的anchor,進行1×1 卷積,輸出24 維的向量,輸入到Softmax 進行二分類。其次,RPN 對分類后舍棄背景的anchor 進行邊界框回歸操作,得到檢測目標的一系列候選區域。需要將這些候選區域映射到原圖中,由于得到的候選區域大小不同,本文采用ROI Align方法獲得固定尺寸的特征圖,通過全連接和Softmax激活函數,并結合邊界框回歸進行精確地分類識別和回歸定位,獲得檢測目標所屬類別的概率和邊框的準確位置。

圖3 RPN 網絡結構圖Fig.3 RPN network structure
前面設計了SAM 和MFFM 結構,本文基于此,提出了基于注意力機制和多層次特征融合的目標檢測算法,整體框架如圖4 所示。

圖4 目標檢測模型框架圖Fig.4 Target detection model frame diagram
如圖4 所示,其基于Cascade RCNN 改進,采用ResNet50 作為主干網絡,利用SAM,旨在通過它能使網絡執行動態通道特征重新校準以提高網絡的表征能力,從通道維度方面提高目標檢測精度。將原始圖像輸入主干網絡完成圖像特征提取,具體改進工作和實現細節詳見2.1 節。其次,本文設計了MFFM,將主干網絡提取到的不同層次特征圖進行多尺度融合,實現語義特征和位置特征的有效融合,得到融合后的特征圖,具體的多尺度特征融合思想和實現細節詳見2.2 節。最后利用改進的RPN 網絡[24]在特征圖上獲取包含面積種類更多的區域建議,利用ROI Align 方法進行特征映射,用softmax 進行分類和邊框回歸,其實現過程詳見2.3 節。至此完成目標檢測,得到含有目標類別、目標框和置信度的圖像。
本實驗使用2 個數據集,一個是圖像分類和目標檢測中常用的標準數據集PASCAL VOC 2012,在實驗過程中將其xml 標簽文件轉換為json 格式,該數據集中共有11 540 張已標注好的圖像數據和27 450個目標物體,其中訓練集含有5 717 張圖像數據,測試集有5 823 張,數據集中包含行人、汽車、狗、雨傘等20 個類別。另一個數據集是針對深度學習技術在醫學圖像診斷領域的應用,收集了胃腸道息肉圖像數據(GP Images)。胃腸道息肉是常見的消化系統疾病,可發生于胃腸道內多個部位,會隨著病情的發展出現癌變的情況,因此及時診斷發現胃腸道息肉非常重要。本文采用改進后的目標檢測算法對采集到的胃腸道息肉圖像進行檢測和識別,協助醫護人員準確捕捉到胃腸道息肉的精確位置。此數據集共有1 000 張標注好的圖像數據,包含一個類別:polyp。本實驗運行環境配置:操作系統Ubuntu 16.04,顯卡GeForce RTX 2080Ti,2.50 GHz CPU,CUDA 版 本10.2,基于Pytorch 框架和Python 編程語言實現。
為了驗證本文所提算法的性能,選用目標檢測任務中的平均精度AP(average precision)作為本文算法的評價指標,其中涉及到的精度p(precision)和召回率r(recall)的計算公式如式(6)所示,以檢測結果框與真實框的交并比(IOU)來判定正負樣本。

式中:TP為被模型預測為正類的正樣本數;FP為被預測為正類的負樣本數;FN為被預測為負類的正樣本數。
平均精度AP則為PR曲線下的面積,計算公式如式(7)所示。

式中p(r)為以r為參數的函數。
實驗中涉及的AP(平均值)、AP50、AP75分別表示當IOU 為0.50:0.95,0.50,0.75 時的AP值,APS、APM、APL分別表示像素面積小于322,322~962,962的目標框AP值。
在進行目標檢測時不僅要改善網絡模型結構,往往還需關注數據集的質量,可對數據集進行數據增強,即對輸入圖像的像素點的分布、值的大小進行一些根本性的變換,同時保證圖像的標簽數據與之對應。本文采用在線數據增強技術中常用的隨機翻轉,本質上目標本身類別在翻轉后未發生改變,但能增加數據集的多樣性,訓練過程中先對每個批次的訓練數據進行數據增強,設置隨機翻轉概率flip_ratio=0.5,即每張圖像有0.5 的概率進行翻轉操作,如圖5 所示為訓練集中圖像數據進行翻轉后的部分圖像,通過對圖像數據進行變換可以得到泛化能力更強的網絡,能一定程度上避免網絡訓練過擬合的情況。

圖5 PASCAL VOC 2012 數據增強圖像Fig.5 PASCAL VOC 2012 data image enhancement
針對胃腸道息肉數據集難以找到充足數據的問題,本文采用一些離線數據增強方法對數據集進行處理,如旋轉、亮度調整、平移變換、裁剪、鏡像變換。如圖6 所示為部分訓練集圖像原圖和經過離線數據增強后的圖像效果,以此增加了訓練樣本的數量、豐富了訓練數據的分布,能夠提升模型的魯棒性。


圖6 GP Images 數據增強圖像Fig.6 Images data image enhancement
網絡訓練時,設置初始學習率為0.002 5,權重衰減系數為0.000 1,優化動量參數為0.9。且訓練時RPN 網絡中IoU(intersection over union)閾值選為0.7 和0.3 來區分正負樣本,測試時采用SoftNMS 對區域建議進行分支預測,設置閾值為0.7。為了對本文提出的檢測算法的有效性進行評估,選取目標檢測領域中常用的幾種經典檢測算法:YOLOv3、SSD、CornerNet、faster RCNN 和Cascade RCNN,其中包含了單階段和兩階段的方法,將其與本文提出的算法在相同的實驗環境下進行訓練和測試。基于所給出的評價指標,對實驗結果進行對比和分析,如表1 所示。

表1 不同算法在PASCAL VOC 2012 的性能比較Table 1 Performance comparison of different algorithms on PASCAL VOC 2012
對比不同IoU 閾值對應的平均精度和目標框不同像素面積對應的平均精度,可以看出,本文提出的方法明顯優于其他檢測算法。相較于Cascade RCNN,分別在AP、AP50、AP75得到了2.1%,2.0%,2.5%的提升,對不同像素面積的目標檢測精度APS、APM、APL也分別提升了1.0%,2.1%,2.5%,實驗證明,該方法可有效提升目標檢測精度。對于數據集的20 個類別,進一步比較了不同算法在每個類別上的平均精度AP,結果如圖7 所示。

圖7 不同算法在PASCAL VOC 2012 數據集上的檢測結果Fig.7 Detection results of different algorithms on Pascal VOC 2012 dataset
圖7 中數據表明,相較于其他目標檢測算法,本文提出的基于注意力機制和多層次特征融合的檢測方法,在精度上有顯著提升,該方法在每個類別上的平均精度都優于其他方法,證明了該方法的有效性。
除了和目標檢測方法中經典算法相比之外,本文還選取了近年來采用其它注意力機制和特征融合方式的算法,在PASCAL VOC 2012 數據集上訓練和測試,并將測試結果與本文提出的算法進行比較,結果見表2。表中PANet、HRNet、NAS-FPN 采用了其它多尺度特征融合方法,DANet、ACNet 中則是引入了其它注意力機制方法。由表可知本文提出算法與上述算法相比,檢測精度都有所提升。其中HRNet、ACNet 在APS上的檢測結果分別為14.9%,14.8%,雖然本文提出的算法在APS上略低,但在AP、AP50、AP75、APM、APL上的檢測結果遠優于其它算法,總體上本文的算法能夠實現較好的檢測效果。

表2 相似算法在PASCAL VOC 2012 上的性能比較Table 2 Performance comparison of similarity algorithms on PASCAL VOC 2012
為了驗證本文所提出的方法中各個模塊對檢測性能的優化作用,分別對SAM 和MFFM 的有效性進行評估,并基于相同的實驗環境和參數配置,在PASCAL VOC 2012 數據集上進行消融實驗,分析實驗結果。具體實驗方案如下:1)在模型中單獨驗證SAM;2)在模型中單獨驗證MFFM;3)在模型中同時驗證SAM 和MFFM。
消融實驗的數據結果如表3 所示,本文提出的方法是在Cascade RCNN 模型的基礎上進行改進,因此相較于表1 中未添加SAM 和MFFM 的Cascade RCNN 的檢測結果,單獨添加通道注意力模塊后的模型在AP50、AP75上分別得到0.7%,0.8%的提升,單獨添加了多層次特征融合方法的模型在AP、AP50、AP75上分別得到0.2%,1.0%,0.8%的提升,當SAM和WFFM 都運用到模型中時,精度的提升效果最明顯,實驗結果表明使用SAM 和MFFM 能夠有效提升模型檢測精度。

表3 在PASCAL VOC 2012 數據集上的消融實驗結果Table 3 Ablation experimental results on PASCAL VOC 2012 dataset
對于GP Images 數據集經過同樣的策略訓練和測試,表4 給出了不同像素面積的目標檢測精度。表4中實驗數據表明,相較于Cascade RCNN,本文提出的算法在AP、AP50、AP75上分別提升了5.8%,1.5%,1.1%,能夠實現較好的檢測效果。

表4 不同算法在GP Images 上的性能比較Table 4 Performance comparison of different algorithms on GP Images
為了驗證對GP Images 數據集采取數據增強策略的作用,本文將所提出的模型在原GP Images 數據集和采取了數據增強策略的GP Images 數據集上分別進行訓練和測試,以不同像素面積的檢測精度作為評價指標,實驗結果如表5 所示。由表中數據可知,采取了數據增強策略得到的檢測效果有一定的提升,在AP和AP75上分別提升了3.4%和0.8%,對網絡模型的檢測精度具有優化作用。

表5 數據增強策略在GP Images 上的性能對比Table 5 Performance comparison of data enhancement strategies on GP Images
最后,對2.1 節簡單的注意力模塊(SAM)中涉及的縮放比例r的取值進行實驗驗證,本實驗在Cascade RCNN 模型中添加SAM,且r的取值分別為4,8,16,32,在GP Images 數據集上經過訓練測試,實驗結果如表6 所示。由表可知,當r=16 時,模型在精度和速度方面較好平衡,故本文r取16。

表6 不同縮放比例r 對模型性能的影響Table 6 Effects of different scaling ratios r on model performance
本文提出了基于注意力機制和多層次特征融合的目標檢測算法,通過在主干網絡中融合SAM,利用通道注意力機制有選擇的突出作用性更強的通道特征信息,從而提高網絡的判別能力;其次,本文針對目標檢測算法中的多尺度問題,改進了FPN,結合深度可分離卷積,設計了MFFM,充分融合深層特征豐富的全局語義信息和淺層特征的局部空間位置信息,使網絡提取的特征更具表征能力,并為不同層次的特征引入權重,更好地平衡不同尺度的特征信息。實驗結果表明,本文提出的算法在一定程度上大大提高了目標檢測精度,改善了檢測效果。接下來將進一步優化模型,致力于在保持精度的同時提升網絡的效率。