組合主幹網路帶來目標檢測新SOTA?北大等提出CBNet
- 2019 年 10 月 5 日
- 筆記
選自 arXiv
作者:Yudong Liu等
機器之心編譯
參與:魔王、思
導語:費力構建更強大的新型主幹網路還不如組合多個同樣的主幹網路?近日,來自北京大學王選電腦研究所和紐約州立大學石溪分校的研究者發表了一篇論文:集成多個相同的主幹網路可以構建更加強大的新型主幹網路,從而實現更好的檢測性能。
在現有的 CNN 檢測器中,主幹網路是特徵提取的重要組件,檢測器的性能很大程度上依賴於主幹網路。近日,來自北京大學王選電腦研究所和紐約州立大學石溪分校的研究者發表了一篇論文:基於現有主幹網路(如 ResNet 和 ResNeXt)構建更加強大的新型主幹網路,從而實現更好的檢測性能。
具體而言,研究者提出一種集成多個同樣主幹網路的新策略,即通過鄰近主幹網路之間的組合連接(composite connection)構建一個更強大的主幹網路——Composite Backbone Network (CBNet)。CBNet 按照階段迭代地將前一個主幹網路的不同輸出特徵(即高層抽象特徵)輸入到下一個主幹網路的對應層級中,一直到最後一個主幹網路(Lead Backbone),然後使用 Lead Backbone 的特徵圖進行目標檢測。
研究表明,CBNet 可以輕鬆整合到當前最優的檢測器,並大幅提升性能。例如,它將 FPN、Mask R-CNN 和 Cascade R-CNN 在 COCO 數據集上的 mAP 提升了 1.5%-3.0%。同時,實驗結果證明,CBNet 還可以提升實例分割結果:簡單地將 CBNet 集成到基準線檢測器 Cascade Mask R-CNN,即可實現單個模型在 COCO 數據集上的新 SOTA 結果(mAP 達到 53.3),這表明 CBNet 架構非常有效。
- 程式碼參見:https://github.com/PKUbahuangliuhe/CBNet
目標檢測任務中,主幹網路扮演了什麼角色?
目標檢測是電腦視覺領域中最基本的問題之一,可用於大量應用領域,如自動駕駛、智慧影片監控、遙感等。近年來,由於深度卷積網路的蓬勃發展,目標檢測實現了巨大的進步,研究人員提出了多個強大的檢測器,如 SSD、Faster R-CNN、Retinanet、FPN、Mask R-CNN、Cascade R-CNN 等。
典型的 CNN 目標檢測器通常使用主幹網路來提取基本特徵,進而用於目標檢測,而這些主幹網路通常是為影像分類任務設計,並在 ImageNet 數據集上進行預訓練。因此,如果主幹網路能夠提取更具表示性的特徵,則檢測器將獲得更好的性能。也就是說,主幹網路越強大,目標檢測性能越好(如下表 1 所示)。因此,從 AlexNet 開始,當前最優的檢測器紛紛使用深度更深、規模更大的主幹網路,例如如 VGG、ResNet、DenseNet、ResNeXt 等。
然而,儘管基於更深更大主幹網路的當前最優檢測器能夠獲得不錯的檢測結果,但是它們在性能方面仍有很大的提升空間。此外,通過設計更強大的新型主幹網路並在 ImageNet 數據集上進行預訓練來獲得更好的檢測性能,這種做法成本高昂。而且,由於幾乎所有現有主幹網路最初的設計目標是影像分類任務,因此,直接利用它們提取目標檢測基礎特徵可能導致次優性能。

表 1:當前最優檢測器 Cascade Mask R-CNN 使用現有主幹網路和 CBNet 時,在 COCO test-dev 數據集上的結果。該表說明,深度更深、規模更大的主幹網路可以帶來更好的檢測性能,而 CBNet 架構可以進一步強化現有強大目標檢測主幹網路的性能,如 ResNeXt152。
CBNet 是何方神聖?
為了解決上述問題,來自北大和紐約州立大學石溪分校的研究者提出了一種新方法:集成多個同樣主幹網路構建更強大的目標檢測主幹網路,如下圖 1 所示。
集成後的主幹網路被視為一個整體,叫做 Composite Backbone Network (CBNet)。具體而言,CBNet 包含多個同樣的主幹網路(最後一個主幹網路叫做 Lead Backbone,之前的叫做 Assistant Backbone),以及鄰近主幹網路之間的組合連接。從左到右,Assistant Backbone 每一階段的輸出(即高級特徵)作為輸入的一部分,通過組合連接流向下一個主幹網路的並行階段。最後,末尾主幹網路(即 Lead Backbone)的特徵圖被用於目標檢測。
顯然,CBNet 提取的目標檢測特徵融合了多個主幹網路的高級和低級特徵,從而提升檢測性能。值得一提的是,CBNet 無需預訓練。研究者僅需要使用單個主幹網路的預訓練模型對 CBNet 的集成主幹網路進行初始化即可,而單個主幹網路的預訓練模型在今天已經是觸手可得,比如 ResNet 和 ResNeXt。也就是說,相比設計一個更強大的新型主幹網路並在 ImageNet 數據集上進行預訓練,使用 CBNet 的成本更低,也更加高效。

圖 1:CBNet 架構圖示。
研究者在 MS-COCO 基準上進行實驗,將 CBNet 應用於多個當前最優目標檢測器,如 FPN、Mask RCNN、Cascade R-CNN。實驗結果表明,所有檢測器的 mAP 都有 1.5%-3.0% 的增長,證明了 CBNet 的有效性。此外,CBNet 還提升了實例分割的結果:Triple-ResNeXt152(3 個 ResNeXt152 組成的 CBNet 架構)在 COCO 數據集上實現了最新 SOTA 結果(mAP 達到 53.3),優於之前的目標檢測器。
該研究的主要貢獻包括兩部分:
- 提出了一種構建更強大目標檢測主幹網路的新方法:集成多個同樣的主幹網路,從而顯著提升不同當前最優檢測器的性能。
- 實現了單個模型在 MSCOCO 數據集上的最新 SOTA 結果——目標檢測 mAP 達到 53.3。
CBNet 方法詳解
CBNet 架構
CBNet 架構包括 K 個同樣的主幹網路(K ≥ 2)。研究者將 K = 2 的情況叫做 Dual-Backbone (DB),將 K=3 的情況叫做 Triple- Backbone (TB)。
如下圖所示,CBNet 架構包括兩種主幹網路:Lead Backbone B_K 和 Assistant Backbone B_1, B_2, …, B_K−1。每個主幹網路包含 L 個階段(通常 L = 5),每個階段包含多個卷積層,其特徵圖的規模一致。主幹網路的第 l 階段實現非線性變換 F^l (·)。

CBNet 架構圖示。
其他組合形式
CBNet 有多種組合形式,如下圖所示:

圖 3:Dual-Backbone 架構(一個 Assistant Backbone 和一個 Lead Backbone)的四種組合形式。
如上所示,a)鄰近高級組合(Adjacent Higher-Level Composition,AHLC);b)同級組合(Same Level Composition,SLC);c)鄰近低級組合(Adjacent Lower-Level Composition,ALLC);d)密集高級組合(Dense Higher-Level Composition,DHLC)。藍色框中的組合連接表示一些簡單運算,如元素級運算、縮放、1×1 卷積層和 bn 層。
實驗
研究者在 MS-COCO 基準的邊界框檢測任務和實例分割任務上進行了實驗,使用 trainval35k 數據集作為訓練數據(trainval35k 數據集包括 train 的 80k 影像和 val 的 35k 子集)。研究者在 test-dev 數據集上報告 COCO AP 結果,以方便對比。
檢測結果

表 2:在 MS-COCO test-dev 數據集上的檢測結果。
上圖顯示了四種檢測器的目標檢測和實例分割結果,以展示 CBNet 的效果。Single:基準線主幹網路;DB:Dual-Backbone 架構;TB:Triple-Backbone 架構。第 5-7 列展示了目標檢測的結果,第 8-10 列展示了實例分割的結果。

表 3:CBNet 方法和當前最優檢測器在 COCO test-dev 數據集上的目標檢測性能對比。* 表示使用了多尺度測試。
不同組合形式的對比

表 4:不同組合形式的對比,基準線主幹網路為 FPN ResNet101。
CBNet 的加速版
CBNet 的主要缺陷是:使用更多主幹網路來提取特徵導致計算複雜度增大,從而減緩了基準線檢測器的推斷速度。如下表 6 所示,DB 將 FPN 的 AP 提升了 1.6%,但檢測速度從 8.1 fps 降低到了 5.5 fps。
為了緩解該問題,研究者提出了 CBNet 的加速版,如下表 5 所示,加速版本移除了 Assistant Backbone 的兩個早期階段。加速版可以顯著提升速度(從 5.5 fps 提升到 6.9 fps),同時對檢測準確率沒有大的損害(從 41.0 到 40.8)。

圖 5:CBNet 的加速版(K = 2)。

表 6:原始 DB 和加速版的性能對比。DB:DualBackbone。Ψ:為加速所做的修改。
CBNet 在提取基礎特徵方面的效果
研究者認為 CBNet 性能優於單個目標檢測主幹網路的根本原因是:相比於後者,CBNet 提取出的基礎特徵更具表示性。為了驗證此觀點,研究者對 CBNet 和原始單個主幹網路提取的特徵圖進行了可視化和對比。如下圖 6 所示:

圖 6:CBNet (Dual-ResNet101) 和原始主幹網路 (ResNet101) 提取特徵的視覺對比,基準線檢測器為 FPN-ResNet101。
對於每一個主幹網路,上圖根據前景物體的大小,對 Res2 和 Res5 進行可視化。我們可以看到 CBNet 的特徵圖更具表示性,它的前景物體激活值更大,背景的激活值更小。
本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。