暢青,馮晶明,洪偉杰,薛凱
(四川大學計算機學院,成都610065)
目標的檢測與跟蹤技術在計算機視覺領域有著廣泛的應用,例如在視頻監控、無人駕駛、機器人等領域都有著舉足輕重的價值。隨著深度學習算法與技術的飛速發展,更是帶動了該技術在性能、速度等方面取得了質的飛躍。然而隨著社會的發展,需求的不斷提高,我們在研究算法高效性的同時還要考慮算法所訓練出的模型在實際應用上的性能與速度。
在深度學習出現之前,目標檢測需要根據一定的先驗知識,通過建立某種數學模型來完成目標檢測,應用比較廣泛的有:幀差法[1]、Hough 變換[2]、光流法[3]、滑動窗口模型[4]、可變形部件模型[5]等。這些傳統的目標檢測方法通過手工設計的特征來組合并進行分類。然而由于需要依賴于研究人員的經驗,因此,傳統的方法的泛化能力較差,魯棒性較低。
受益于深度學習的發展,最近幾年,目標檢測作為計算機視覺的基礎性任務取得了長足的進步。尤其是R-CNN[6]創造性的將檢測任務劃分為兩個階段:產生候選區域和目標識別。隨后眾多優秀的工作[7-9],都采用這種兩階段的管道實現了巨大的性能提升。與此同時,眾多單階段檢測算法[10-12]也在不斷刷新著COCO 挑戰賽的記錄。
盡管不斷有新的檢測框架問世,視覺識別任務仍然容易受到各種圖像退化的影響,包括圖像模糊和圖像低分辨率。COCO 數據集上的檢測結果表明:識別不同尺度的目標依然是檢測任務一項重大挑戰。進一步提高對小目標和模糊目標的檢測精度和召回率是優化目標檢測框架總體性能的核心方式。
小目標本身在圖片中所占區域較小,所涉及的像素數量少。模糊目標本身含有大量的噪聲導致像素質量過低。本身像素信息的匱乏加上卷積神經網絡池化操作對特征圖的濃縮,導致神經網絡難以對小目標及模糊目標提取出充足的特征。圖像超分辨率可以作為一種輸入數據增強消除這些弊病并以此為目標檢測提供積極的影響。
針對圖像模糊和低分辨率問題以及目標檢測高實時性要求,本文提出了基于圖像超分辨率的多尺度檢測算法。該算法首先依靠一個輕量級的圖像超分辨網絡對輸入圖片進行重建;然后在重建圖片上搭建目標檢測網絡對各種類型的目標進行檢測和定位;最終,將超分辨圖像上的檢測結果映射回原始圖像。
超分辨重建模塊是我們算法的核心。它負責豐富圖片中微弱目標的像素信息和局部細節。對輸入圖片的重建質量將直接關系微弱目標的檢測。為了和之后的檢測任務相兼容,我們采用深度卷積神經網絡設計該模塊,而不是采用傳統的超分辨算法。其詳細的結構圖1 所示。
圖像超分辨重建模塊可以很清晰的被拆解為3 個階段:特征提取,非線性映射和反卷積重建。前兩個階段主要是對輸入圖片進行特征提取和處理,最后一個階段根據所提取的特征進行圖片的恢復和重建。我們使用Conv(ci,wi,hi,fi)代表一個卷積層,并且定義反卷積層為DeConv(ci,wi,hi,fi)。其中,c 是指卷積核的通道數;w、h 代表卷積核的寬和高;而f 指示卷積核的個數。

圖1 超分辨重建網絡示意圖
特征提?。撼直婺K并不直接對RGB 圖像進行處理。該模塊對于輸入的RGB 格式的3 通道圖片,首先轉化為YCrCb 模式,并且只將Y 通道通過CNN 網絡;然后將輸出的結果再和另外兩個合成生成新的YCbCr 模式圖片,最后再轉回BGR 模式。在特征提取這個階段,我們使用3 次3×3 的卷積層來提取特征,目的是為了加深重建網絡的深度,從而提升圖片的重建性能。
非線性映射:非線性映射是影響圖片重建性能的最重要的階段。同樣是最有可能節約計算成本的階段。直接由高維低分辨的特征映射到高分辨特征空間SRCNN[13],會帶來巨大計算量?;谶@樣的考慮,我們參照FSRCNN[14]的網絡設計。首先,使用16 個3×3 的卷積核對高維的特征進行壓縮,這個策略可以極大的降低參數的數量;然后,為了加深網絡的深度,我們使用3 個3×3 卷積層在低緯度的特征空間完成特征映射。最后,為了確保重建圖像的修復質量,我們使用64個卷積核去擴充高分辨率特征的維度。
反卷積重建:超分辨重建模塊的最后一個階段是使用一系列反卷積核上采樣和聚合高分辨率特征,產生高分辨率的重建圖像。反卷積本質是卷積的逆過程,所以本算法設定反卷積步長s=2。這決定了圖像的上放大倍數為2。

圖2 目標檢測模塊示意圖
骨架網絡結構:如圖2 所示,目標檢測模塊的輸入是一張經超分辨重建網絡重建過后的600×600×3 的圖像,其中3 代表圖像的R、G、B 這三個通道。我們首先使用64 個7×7 的卷積核以步長為2 對輸入圖片進行卷積運算。三后經過64 個3×3 的卷積和以及max pooling 之后形成特征圖B0。然后我們使用128 個3×3的卷積核對B0 進行卷積并池化,以進一步進行特征提取產生特征圖b1;之后的特征圖B2、B3、B4 均是在前一層特征圖的基礎上使用殘差網絡中的“瓶頸結構”獲得?!捌款i結構”包括數次卷積運算(2 次3×3 卷積和1次1×1 卷積)和一次特征圖元素級相加。這些大小不同的特征圖(feature map)大小不同,感受野不同,對應的默認框(default box)也不同。
預測子模塊:本文算法在多個尺度的特征圖上進行目標分類和標定框位置回歸。預測子模塊負責在每一個特征層級上檢測不同尺度的物體。它本質上是兩個任務明確的子網,第一個子網對各個尺度的特征圖進行卷積對象分類。第二個子網對各個尺度的特征圖進行卷積標定框回歸。
目標分類子網預測每一個默認框關于C 個目標類別的概率。我們采用全卷積結構而非全連接層去設計該模塊。對于256 通道的特征圖,我們首先使用兩次3×3 的卷積層進一步進行特征提取與整合,然后使用ReLU 函數進行激活;最后,使用一個3×3 的卷積層來進行得分預測,而最終的概率值將會通過sigmoid 激活函數得到。
平行于目標分類子模塊,我們將另一個小的全網絡同樣附加到每個特征圖之后,以便將每個默認框的偏移量回歸到附近的ground-truth Box?;貧w子網同樣2 次3×3 的卷積結構進行特征整合,并最終使用4A 個3×3 的卷積核獲得每個空間位置上的回歸預測值,其中A 是每個空間位置上設定的默認框的數量。盡管分類子模塊與回歸子模塊結構十分相似,但必須注意的是,分類子網與回歸子網并不共享參數。
超分辨網絡采用均方誤差作為損失函數:

目標檢測模塊訓練的代價函數是focal 損失[12]和標準smooth L1 損失的加權和:

其中,N 是正樣本的數量and 權重因子α 經交叉驗證后設置為0.5。pr 和gr 分別是預測的偏移量和ground truth 偏移量。
本文實驗在Win10 操作系統下進行程序編寫、調試以及效果展示。算法所依賴的硬件配置為:四核CPU、8G 運行內存、GTX1080Ti 顯卡。實驗所利用的數據集為MS COCO 數據集。超分辨網絡的重建效果圖如圖3 所示,在MS COCO 數據集上的目標檢測評估效果如表1 所示。
通過實驗表明,本算法可以有效地對低分辨圖像進行重建,其效果要好于雙三次差值的結果。對于目標檢測任務而言,本算法可以有效地提升目標檢測的性能,尤其是對小目標的檢測有著巨大的促進作用。此外,我們設置重構圖片為輸入圖片的兩倍,是一個性能與精確度的較好折中。整體算法相當的高效,并且滿足魯棒性的要求。但本文算法也存在一定的不足,對于輸入圖像過大的圖像,本文算法會帶來巨大的內存消耗而不能取得很好的效果。

圖3 超分辨效果圖,圖片數據來源于為MS COCO標準數據集

表1 MS COCO 數據集上的檢測結果
本文使用超分辨重構網絡對輸入圖片進行重建之后,應用目標檢測網絡對目標進行檢測。該方法使用超分辨網絡,有效地豐富了圖片中目標的像素信息以及局部細節;同時采用深度卷積特征,有效地解決了傳統的檢測模型對手工特征的依賴問題;另外,通過使用focal 損失,類別不平衡的問題也得到了緩解。試驗結果表明,該模型對于低分辨率的圖像能夠實現很好的檢測效果。但對于較大的圖片,該方法會造成不小的內存消耗,而且檢測的精確度仍然有待提高,性能仍然需要改善,這將是后期需要研究和改進的地方。