張業星,陳 敏,潘秋羽
(中國電建集團華東勘測設計研究院有限公司 浙江華東工程數字技術有限公司,浙江 杭州 310000)

圖1 一階段與二階段方法對比
隨著深度學習應用研究的井噴式發展,與計算機視覺相關的任務需求也在日益增多。通用目標檢測作為一項結合了目標分類與定位的基礎視覺任務,其目的在于區分圖像中的復雜背景與潛在目標,并對每一個潛在目標預測其所屬的類別(Label)與位置(Bounding Box)。作為目標跟蹤、目標重識別等高級視覺任務的理論研究基礎,目標檢測任務對圖像內容表達、圖像信息理解等應用領域也有著深遠影響,越來越受到國內外研究學者的重視。隨著近些年機器視覺理論與特征建模技術的蓬勃發展,基于卷積神經網絡(convolutional neural networks,CNN)的通用目標檢測方法逐漸取代了傳統的檢測方法,在精度和速度上都實現了巨大的突破。現階段依賴CNN的檢測方法主要可以分為兩類,第一類是利用回歸的方式直接在特征圖上預測出目標類別與位置信息的一階段方法,其中代表性算法有YOLO系列[1-3]、SSD系列[4-6]等;第二類是先在特征圖上進行候選區域(region proposal,RP)生成,然后再利用RP有針對性地進行類別和位置信息預測的二階段方法,代表性算法有RCNN系列[7-9]等。如圖1所示,通過對比兩類方法發現,無論是一階段還是二階段的檢測方法,其首要步驟都是對輸入的圖像進行特征提取,進而得到含有豐富語義的抽象特征集合。因此,本文做出了基于統計的預測,CNN生成特征的好壞對于分類器和回歸器的學習過程尤為關鍵,這將直接決定模型表現的上限,而檢測的算法只是在盡可能逼近這個上限。
近些年,有越來越多的學者開始針對CNN的級聯特征進行探索,以期獲得更具計算機視角下的語義特征來增強模型的表達力和泛化力。其中FPN[10]針對Faster RCNN[8]中單一尺度特征圖預測缺少底層細節信息的問題,設計了自頂向下的融合鏈接,彌補了底層特征圖缺少的強語義信息,提升了對小目標的檢測效果;RSSD[11]算法針對原SSD算法中同一目標易被多個邊框檢測到的現象,提出了Rainbow Concat結構,增加了分類網絡中不同特征層級之間的關聯性;PoolNet[12]針對FPN[10]中融合鏈接帶來的高層抽象語義被稀釋問題,設計了GGM和FAM減少抽象語義流失,改進傳統特征金字塔在顯著性檢測方面的應用。
綜上這些方法[10-12]都對圖像的特征空間進行了建模,并利用多尺度特征融合對頂層強語義特征或底層弱語義特征進行彌補,提高模型表達力,這無疑表明CNN級聯特征的增強對于目標檢測任務而言是至關重要的。雖然這些方法一定程度上改善了之前僅使用單一尺度特征圖進行預測帶來的精度低、魯棒性差等問題,但由于其方法在建模過程中忽略了信息的逐層衰減,致使模型難以有效適應復雜場景下的多尺度檢測任務。因此,本文在此基礎上構建了全新的特征增強模塊(feature enhancement module,FEM),在彌補圖像全局信息的同時,增強了網絡級聯特征的表達力。本文所提出特征網絡的結構如圖2所示。

圖2 特征提取網絡
網絡首先通過CNN級聯對輸入圖像進行高維度特征提取,然后利用自頂向下鏈接將Backbone每階段的輸出進行融合建模,構建特征金字塔,最后再通過對其進行特征增強處理,生成含有豐富語義的最終特征用于后續的目標檢測和邊框回歸。
多維特征信息的融合互補可以增強圖像特征空間的表達能力。底層特征圖的分辨率偏大,但感受野過小,每個像元關注的多為潛在對象的微觀特征如紋理、線條;頂層特征圖的分辨率很小,但感受野較大,每個像元通過網絡級聯可以將細節信息抽象為更具機器視角的宏觀特征如輪廓、形狀。傳統的FPN和FSSD[6]等鏈式特征融合方法只針對單一方向缺失的語義信息進行了彌補,忽略了語義信息來源的多方向性,如圖3(a)所示,FPN模型中自頂向下鏈接的設計雖然彌補了特征金字塔中各個層級的頂層宏觀信息,但由于鏈接的單向性,使得頂層特征圖并未得到較低層微觀信息的補充;又比如圖3(b)中的FSSD模型,雖然先融合各個層級的信息去構建底層的基礎特征層,并依靠自底向上鏈接去級聯生成新的特征金字塔,但因為級聯路徑也是單向的,使得底層的特征圖無法獲得較高層宏觀信息的彌補。

圖3 FPN與FSSD融合模塊
本文針對上述問題,對傳統的鏈式融合結構進行了改進,通過在特征融合階段引入FEM來加強CNN級聯所得特征圖的表達力;除此之外,還利用特征金字塔各層級特征圖間的二次融合,減少了特征圖語義間的噪聲,構建具有更強表達力的特征空間,從而更好地表達原圖像的全局信息;最后,本文設計了消融實驗將未使用FEM和使用FEM的模型進行對比,印證了改進后方法的有效性。
高層語義特征有助于學習目標的類別信息,但是過于粗糙,不利于宏觀定位;底層特征有助于學習目標的位置信息,但語義太弱,不利于模型分類,這兩種特征對于目標檢測任務都尤為重要。傳統的多尺度融合檢測方法在建模時引入了縱向融合鏈接來構造特征金字塔,但由于融合鏈接的單向性,使得金字塔中的各層級特征只能獲得單方向的語義信息彌補,影響后續目標分類和邊框回歸任務的性能。基于此,本文方法對CNN的級聯特征進行了增強,構建FEM實現多方向語義信息的彌補,補充融合路徑中被不斷稀釋的宏觀信息和微觀信息。FEM的詳細結構如圖4所示。

圖4 特征增強模塊
FEM建模的樣本空間中共計有5個尺度的特征圖,即 {752,382,192,102,52} 分別對應特征金字塔 {P3,P4,P5,P6,P7} 中的每個層級,其通道維度都為256。該模塊的建模嚴格遵循了按通道拼接(Channel Concat)的融合方式,涉及到的計算方式一共有3種,其中方向向下的黑色曲線代表雙線性插值上采樣,方向向上的灰色曲線代表卷積核尺寸為3,寬高方向步長為2的卷積操作,虛線代表f(x)=x的網絡恒等映射。
模塊首先將 {P3,P4,P5,P6,P7} 中的每個樣本按照通道維度進行分割,得到4個尺度為W×H×64的特征圖;然后將這4個分割后的特征圖分別進行上采樣或下采樣變換,生成除自身尺度以外的其它4個特征層級的尺度,最后通過Concat操作,將變換后的4個W×H×64的特征圖與經過恒等映射(identity mapping,IM)得到的原始特征 {P3,P4,P5,P6,P7} 按通道進行拼接,重構富含各個層級信息的增強特征 {F3,F4,F5,F6,F7}。 FEM最終輸出的特征圖尺度為W×H×512, 其中W與H屬于集合 {752,382,192,102,52}, 整個過層涉及到的計算公式如下所示
Pi_a,Pi_b,Pi_c,Pi_d=Split{Pi},i∈{3,4,5,6,7}F3=Concat{P3,B*1(P4_a),B*2(P5_b),B*3(P6_c),B*4(P7_d)}F4=Concat{P4,B*1(P5_a),B*2(P6_b),B*3(P7_c),C*1(P3_d)}F5=Concat{P5,B*1(P6_a),B*2(P7_b),C*2(P3_c),C*1(P4_d)}F6=Concat{P6,B*1(P7_a),C*3(P3_b),C*2(P4_c),B*1(P5_d)}F7=Concat{P7,C*4(P3_a),C*3(P4_b),C*2(P5_c),C*1(P6_d)}
上述公式中的Split操作代表對所選特征圖進行通道分割;Concat操作代表對所選特征圖進行通道拼接;B*i(X) 代表對特征圖X進行i次寬高方向步長為2的雙線性插值上采樣;C*i(Y) 代表對特征圖Y進行j次卷積核尺寸為3,寬高方向步長為2的卷積下采樣,且保持特征深度為64不變。如此一來,FEM能夠對CNN級聯金字塔的各尺度特征進行建模,利用頂層宏觀特征和底層微觀特征的互補來構建融合特征,使得增強后的特征圖對原圖像的全局信息更敏感。
為了衡量FEM的設計對最終預測的影響,本小節設計了消融實驗進行驗證。實驗Backbone為殘差網絡ResNet-50[13],訓練、測試數據集為PASCAL VOC[14],訓練采用的損失函數為Multibox Loss,測試時IoU閾值為0.5。實驗結果見表1,其中baseline算法為未使用FEM的融合建模方法。

表1 消融實驗結果對比
由表1可知,本文方法所提出的FEM是一個正向積極的改進,該模塊在mAP為82.7%的baseline方法上取得了最高2.3%的提升。除此之外,本文實驗還對FEM中IM恒等映射帶來的mAP提示進行了單獨評估,IM的設計借鑒了Shortcut Connection的思想,其作用在于增加神經網絡中信息間的流動并保留盡可能多的初始信息用于后續的目標分類和邊框回歸。總的來說,本文方法利用FEM對傳統CNN的級聯過程進行特征建模,促使特征空間中各個層級的語義信息得到彌補,達到增強特征表達力的目的,最終使模型對于復雜場景進行預測時更魯棒。


表2 不同IoU閾值下的方法對比
可以發現,在各個IoU閾值情況下本文方法都帶來了可觀的mAP提升,最高情況是當IoU=0.7時,提升幅度為3.6個百分點,如圖5所示,這在一定程度上反映了FEM對于模型精準定位起到了不錯的效果。

圖5 實驗結果對比
本文實驗所使用的軟硬件環境為LINUX 64-bit Ubuntu 16.04操作系統,Intel?Xeon?Platinum 8163 CPU 2.5 GHz處理器,NVIDIA Tesla V100 32 GB GPU。實驗程序基于了Pytorch[15]深度學習框架。
3.2.1 參數共享
本文算法采用了one stage的檢測流程,選取了ResNet-50作為特征提取網絡。通過在FEM建模完成的增強特征后添加cls-branch與reg-branch兩個平行分支來進行目標類別置信度和坐標偏移量的預測。兩個分支都由4個卷積核尺寸等于3,輸出維度等于512,且經過ReLu非線性激活的卷積層組成子網頭部。本文實驗為了加快訓練時模型的收斂速度和降低過擬合風險,所以對網絡的參數數量進行了控制,通過讓各個預測模塊中的cls-branch與reg-branch頭部共享網絡參數,使其除了最后一層輸出維度之外的其它部分完全相同。預測網絡的結構如圖6所示,其中W、H屬于集合 {752,382,192,102,52}, 代表當前層級中特征圖的寬度和高度,K代表待檢測的類別總數(前景類別數加背景),A代表了錨點框的數量。

圖6 預測網絡結構
3.2.2 錨點框聚類
傳統的目標檢測算法為了將模型預測的精度最大化,通常在訓練階段會使用人為設計的多尺度、多橫縱比錨點框,使得回歸后的邊框能盡可能包含各個大小的目標尺寸,但這樣卻會帶來兩個問題:
(1)人為設計的錨點框尺寸沒有對當前數據的分布進行分析,難以利用到大數據的優勢;
(2)大量針對錨點框的計算會使模型在訓練階段難以收斂,且在推理階段速度變慢。
針對上述問題,本文實驗基于CNN級聯網絡具有輕易捕捉尺度空間信息的優勢,為了壓縮模型的計算時長,僅設計了單一尺度的錨點框,對于縱橫比的選取,則采用k=3的kmeans算法對數據集的真實坐標進行聚類,如此一來在避免主觀設定的同時,還減少了模型計算量。
3.2.3 正負樣本平衡
正負樣本間的失衡是通用目標檢測算法(尤其是one stage檢測算法)中普遍存在的問題。由于待檢測的圖像中經常是背景負樣本數量遠多于前景正樣本數量,這將使得以總體分類準確率為學習目標的分類子網過多的去關注多數類樣本,降低少數類樣本的分類性能,導致模型在訓練階段被大量背景樣本主導,從而難以收斂到優質解,給分類器造成性能瓶頸。針對此問題,本文方法引入了OHEM機制,首先將全部的負樣本按照損失大小進行遍歷,然后選取正樣本3倍數量的負樣本進行損失統計,最后僅針對這些統計好的部分損失進行反向傳播并更新網絡權重。
本文實驗訓練時的參數設置如下:
(1)初始學習率lr=0.0005;
(2)最大迭代次數maxiter=50 000;
(3)學習率衰減尺度deciter=40 000;
(4)批處理數量batchsize=24;
(5)非極大值抑制閾值[16]nmsthresh=0.45;
(6)優化動量參數momentum=0.9。
本文實驗采用了端到端的訓練方法,訓練過程如下所述:
(1)骨干網ResNet-50使用了Image Net[17]的預訓練參數進行初始化,其它網絡參數則使用了N(0,0.1) 的正態分布函數進行初始化;
(2)將網絡隨機獲取的每個批次的輸入圖像以二分之一的概率進行水平翻轉,以增強模型泛化能力;
(3)將輸入圖像轉換成像素矩陣,并按照均值參數means=[0.485,0.456,0.406], 標準差參數stds=[0.229,0.224,0.225] 進行歸一化預處理;
(4)將預處理完的圖像張量的分辨率進行標準化,固定為Backbone的輸入大小,即寬高皆為600;
(5)當模型訓練迭代到40 000次后,對學習率大小進行衰減控制,系數取值為0.1;
(6)采用momentum=0.9的隨機梯度下降算法對損失函數進行優化,直至達到最大迭代次數或損失收斂。
為了將本文方法與其它SOTA檢測算法的mAP進行量化對比,現將實驗結果與傳統特征融合建模方法FPN[10]、DSSD[5]、FSSD[6]、RSSD[11]進行比較,實驗中IoU閾值設定為0.5。由表3可知,本文方法在使用較淺Backbone的同時仍然取得了最高的mAP值,這主要得力于FEM的設計能夠有效緩解傳統鏈式融合帶來的長路徑語義稀釋問題,并通過對特征金字塔進行通道建模,增強CNN級聯特征的表達力,使模型在復雜場景下的檢測效果得到提升。
圖7展現了本文方法在PASCAL VOC 2007測試數據集中的部分檢測樣例,可以發現在使用了FEM后,檢測模型能夠對截斷、重疊、陰影、遮擋等復雜場景更加魯棒。

表3 算法mAP值對比

圖7 VOC 2007目標檢測樣例
傳統依賴CNN的目標檢測算法[5,6,10,11]大都利用了融合建模方法對不同層級的語義特征進行補充,但由于網絡的級聯太長,信息在融合路徑中的傳遞被逐漸地稀釋,使得模型在針對復雜場景進行檢測時不夠魯棒。基于此,本文設計了FEM對CNN級聯特征進行增強。首先對底層特征圖進行復用,利用自頂向下鏈接構建過度特征;然后對過度特征進行通道建模,生成適用于多尺度檢測的全局特征;最后通過兩個平行的CNN結構分別計算得到目標的類別和坐標。經過實驗驗證,并在公共數據集PASCAL VOC 2007上進行測試,本文方法取得了85.0%的mAP值,在baseline的基礎上取得了最高2.3%的提升。實驗結果表明,FEM能夠在保留圖像原始語義信息不被破壞的同時去重構富含全局描述的多尺度特征空間,這對于后續分類器與回歸器的學習是十分有利的。但是,由于本文方法對各層級特征圖進行了嚴格建模,計算量頗大,導致模型的推理速度有所降低,使得本文方法并不適用于實時性要求很高的場合。因此,下一步的研究工作主要集中在保留現有預測精度的同時,對算法的時間復雜度進行優化,取得預測速度和預測精度之間的平衡。