1. 程式人生 > >曠視科技提出物體檢測專用Backbone——DetNet

曠視科技提出物體檢測專用Backbone——DetNet

全球計算機視覺三大頂會之一 ECCV 2018 (European Conference on Computer Vision)即將於9月8 -14日在德國慕尼黑拉開帷幕。屆時,曠視科技首席科學家、研究院院長孫劍博士將帶領團隊遠赴盛會,助力計算機視覺技術的交流與落地。而在此之前,曠視將陸續推出 ECCV 2018 接受論文系列解讀。本文是第 1 篇解讀,一個專門為物體檢測任務而設計的 Backbone——DetNet。

論文名稱:DetNet: A Backbone network for Object Detection

目錄

  • 導語
  • 背景
  • 設計思想
  • 網路架構
    • 動機
    • 設計
  • 實驗結果
    • 主要結果
    • 結果分析
    • 對比當前最優
  • 結論
  • 參考文獻

導語

人工智慧的爆發與深度學習的發軔來自於計算機視覺領域,是從機器之眼開始,正如五億四千萬年之前,寒武紀生物大爆發的一個主要原因是眼睛的出現。能看的機器之眼,是計算機視覺技術與應用的共同目標,只不過技術是第一步。本文創新性地提出 DetNet——一個專為物體檢測而設計的骨幹網路,從底層技術的維度更新了計算機視覺網路,將會進一步推動其相關應用落地,優化產品服務。DetNet 將會更快更準地檢測和分割一張給定影象之中的物體,完善在智慧城市、新零售、倉儲物流、消費終端等諸多領域的技術應用。

背景

物體檢測是計算機視覺研究領域的三大基礎課題之一,旨在檢測一張給定影象中每個物體的位置和分類。傳統檢測器藉助手工設計的物體元件描述子,比如 HOG,SIFT,Edge Box 等,以從影象提取特徵。長久以來,DPM 及其變體成為了傳統物體檢測領域的主導方法;直到深度神經網路再次崛起,基於 CNN 的方法取得矚目成果,掀起一股物體檢測新風潮。

隨著時間推移,基於 CNN 的物體檢測器也開始暴漏出一些弊端,其 backbone 往往針對 ImageNet 分類任務而設計,並不適用於檢測任務,不管是 one-stage(比如 YOLO,SSD,RetinaNet)還是 two-stage(比如 Faster R-CNN,RFCN,FPN)的。針對檢測任務而設計的 backbone 仍是一項空白,所以才有了 DetNet,一個針對物體檢測的更優的 backbone。

設計思想

設計 DetNet 的起因是影象分類與物體檢測任務之間存在的落差,後者不僅要識別物體的分類,還需藉助邊界框定位物體。具體而言,把分類 backbone 用於物體檢測存在兩個問題:1)相較於 ImageNet backbone,最新的檢測器比如 FPN 通常有額外的 stage;2)傳統的 backbone 感受野通常較大,這有利於影象分類,卻會折中空間解析度,導致無法精確定位大物體和識別小物體。

DetNet 是一個針對上述問題而設計的全新 backbone。詳細講,DetNet 針對不同大小的物體而像 FPN 一樣使用了更多的 stage。即便如此,它優於 ImageNet 預訓練模型的地方在於成功保留了特徵的空間解析度,但同時也會增加神經網路的計算和記憶體成本。為保證 DetNet 的效率,本文引入了低複雜度的 dilated bottleneck。由此,DetNet 做到了較高解析度和較大感受野的兼得。

網路架構

動機

由於分類模型的設計原則並不適用於檢測任務,從而在一些標準網路比如 VGG 16 和 ResNet 中特徵圖的空間解析度逐漸降低。因此一些技術如 FPN(如圖 1 A 所示)和 dilation 被應用在這些網路之中以保證空間解析度。但是依然存在如下三個問題:

  • backbone 網路和檢測網路的 stage 數量不同。
  • 大物體可視性較差:過大的下采樣導致大物體看不清邊界地區。
  • 小物體不可見:同樣過大的下采樣也可能會丟失小物體的資訊。

圖 1:FPN 中使用的不同 backbone。

為解決上述問題,DetNet 具有以下特性:1)stage 的數量直接專為物體檢測而設計;2)儘管相比傳統分類網路,DetNet 有更多 stage(比如 6 stages 或者 7 stages),但是同時兼具空間解析度和感受野。

相較於把傳統分類網路用於物體檢測而言,DetNet 有以下優勢:1)DetNet stage 的數量與 FPN 相同,因此額外的 stage 比如 P6 可在 ImageNet 中完成預訓練;2)受益於最後 stage 中的高解析度特徵圖,DetNet 在定位大物體邊界框和發現小物體方面更為強大。

設計

本節將詳細展示 DetNet 結構。DetNet 基線為 ResNet-50,它被廣泛用於眾多物體檢測器的 backbone。為了公平對比 ResNet-50,本文讓 DetNet stage 1,2,3,4 與 ResNet-50 相同。

打造一個有效而高效的物體檢測 backbone 面臨兩個挑戰:一方面,保證深度神經網路的空間解析度非常消耗時間和記憶體;另一方面,減少下采樣等於減小有效感受野,這將會影響很多視覺任務,包括影象分類和語義分割在內。

圖 2: DetNet 及基於 DetNet 的特徵金字塔網路(FPN)的結構細節。

通過精心設計的 DetNet 可攻克這兩項挑戰。具體而言,DetNet stage 1,2,3,4 與 ResNet 設定相同;不同的是 stage 5,以及用於影象分類的 DetNet 的概覽,如圖 2 D 所示。下面探討一下(擴充套件了 ResNet-50 的)DetNet-59 的細節:

  • 本文在 backbone 中引入額外的 stage,比如 P6,它稍後用於物體檢測,正如在 FPN 中一樣。同時,在 stage 4 之後把空間解析度固定為 16x 下采樣。
  • 由於空間尺寸在 stage 4 之後是固定的,為引入一個新 stage,本文在每個 stage 開始使用一個帶有 1x1 卷積投影(圖 2 B)的 dilated bottleneck。
  • 藉助 dilated bottleneck 作為基礎模組以加大感受野。由於 dilated conv 依然耗時,DetNet stage 5,6 與 stage 4 通道數量相同(bottleneck 有 256 個輸入通道),這不同於傳統的 backbone 設計,其在新的 stage 需要雙倍的通道。

實驗結果

主要結果

本文首先在 ImageNet 分類任務中訓練 DetNet-59,結果如表 1 所示,在計算量為 4.8 G FLOPS 的情況下,DetNet-59 top-1 error 為 23.5,效能顯著優於 ResNet-50(mAP 漲點 2+)。

表 1:FPN 中使用不同 backbone 的結果。

由於 DetNet-59 相比 ResNet-50 有更多引數,一個自然的假設是提升主要來自引數的增多。為驗證 DetNet-59 的有效性,本文在計算量為 7.6 G FLOPS 的情況下也訓練了一個 backbone 為 ResNet-101 的 FPN,結果 mAP 為 39.8。可見 DetNet 在這方面要優於 ResNet。

由於 DetNet 直接專為物體檢測而設計,為進一步驗證其優勢,本文分別從頭訓練了 DetNet-59/ResNet-50-baesd FPN。結果如表 2 所示。為了從頭開始,本文在訓練期間使用了跨卡同步批歸一化。由結果可知,DetNet-59 依然優於 ResNet-50 1.8 個點,從而進一步證明 DetNet 更適用於物體檢測。

表 2:不同 backbone 的 FPN 結果,訓練從頭開始。

結果分析

本節將分析 DetNet 是如何提升物體檢測效能的。

表 3:在不同 IoU 閾值和不同邊界框大小的情況下,FPN AP 結果的對比。

表 4:在不同 IoU 閾值和不同邊界框大小的情況下,FPN AR 結果的對比。

相較於 ResNet-50,DetNet-59 在發現小物體方面更為強大,AR_50 漲點達到 6.4(66.4 vs 60.0);DetNet 在較深的 stage 比 ResNet 保有更高的解析度,從而可以檢測更小的物體。由於在圖 1 A 中使用上取樣,淺層也可以獲取語義線索以發現小物體。但是 AR_85 @small 漲點並不明顯(18.7 vs 19.6)。這是合理的,DetNet 無益於小物體定位,因為 ResNet-based FPN 已經使用大特徵圖檢測小物體。

DetNet 擅長大物體定位,其 AR_85 為 56.3(vs 50.2)。但是 AR_50 並沒有變化太多(95.4 vs 95.0)。一般來講,DetNet 更擅長定位大物體而不是查漏大物體。

對比當前最優

本文在 COCO test-dev 上評估 DetNet-59-based FPN,並對比表其他當前最優的方法(見表 7)。沒有任何花哨的東西,DetNet 作為簡單而高效的 backbone 在 COCO 物體檢測上獲得了新的當前最優,甚至超過強勁的對手 ResNet-101。

表 7:在 COCO test-dev 上,本文方法與其他當前最優方法在物體檢測結果方面的對比。

為驗證 DetNet 泛化能力,本文方法也用於了基於 Mask R-CNN 的 COCO 例項分割任務中。結果如表 8 所示。由於 DetNet-59 的優異效能,本文在例項分割方面同樣重新整理了當前最優結果。

表 8:在 COCO test-dev 上,本文方法與其他當前最優方法在例項分割結果方面的對比。

一些視覺化結果如圖 4、5 所示。本文只展示了分類分值不低於 0.5 的邊界框和例項分割。

圖 4:DetNet-59 based FPN 結果圖示。

圖 5:DetNet-59 based Mask R-CNN 結果圖示。

結論

本文專門針對物體檢測任務設計了一個全新的 backbone——DetNet。一般來講,backbone 多是針對影象分類任務而設計,當遷移至物體檢測任務時,兩者之間往往存在一定差異。為此,本文提出 DetNet,它不僅針對分類任務做了優化,對定位也很友好,並在 COCO 上的物體檢測和例項分割任務中展現了出色的結果。

參考文獻

  1. Lin, T.Y., Doll´ar, P., Girshick, R., He, K., Hariharan, B., Belongie, S.: Feature pyramid networks for object detection
  2. He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition.
  3. Girshick, R., Radosavovic, I., Gkioxari, G., Doll´ar, P., He, K.:Detectron. https: //http://github.com/facebookresearch/detectron (2018)
  4. He, K., Gkioxari, G., Doll´ar, P., Girshick, R.: Mask r-cnn.
  5. Lin, T.Y., Maire, M., Belongie, S., Hays, J., Perona, P., Ramanan, D., Doll´ar, P., Zitnick, C.L.: Microsoft coco: Common objects in context.