無需預訓練分類器,清華&曠視提出專用於目標檢測的骨幹網路DetNet
選自arXiv,作者:Zeming Li、Chao Peng、Gang Yu、Xiangyu Zhang、Yangdong Deng、Jian Sun,機器之心編譯。
基於當前用預訓練分類器開發目標檢測器的方法的固有缺陷,來自清華大學和曠視的研究者提出了專用於目標檢測的骨幹網路 DetNet。DetNet 可在保持高解析度特徵圖和大感受野的同時,高效地執行目標檢測任務,並可以自然地擴展到實例分割任務上。在 MSCOCO 數據集的目標檢測和實例分割任務上,DetNet 都取得了當前最佳的結果。
目標檢測是計算機視覺中最基礎的任務之一。由於深度卷積神經網路(CNN)的快速發展,目標檢測的性能也隨著顯著提升。
近期的基於 CNN 的目標檢測器可以被分類為 1 階段檢測器(例如 YOLO、SSD 和 RetinaNet),以及 2 階段檢測器(例如 R-CNN、R-FCN、FPN)。它們都是基於在 ImageNet 分類任務上預訓練的骨幹網路。然而,圖像分類和目標檢測問題之間有一個顯著的區別,後者不僅僅需要識別目標實例的類別,還需要對邊界框進行空間定位。具體來說,使用分類骨幹網路對於目標檢測任務有兩個問題:(1)近期的檢測器如 FPN,包含額外的階段以在不同尺度上進行目標檢測;(2)傳統的骨幹網路基於大的下採樣因子可以生成更高的感受野,這對於視覺分類很有幫助。然而,這卻犧牲了空間解析度,從而使網路難以準確地定位大型目標和識別小型目標。
一個設計良好的檢測骨幹應該解決以上所有問題。在此論文中,研究者提出了 DetNet,這是專門來做目標檢測的全新骨幹。更特別的是,因為不同的物體尺度,DetNet 具體來說,由於不同的目標尺度,DetNet 包含了額外的階段,在其它目標檢測器中的作用類似於 FPN。和傳統的利用在 ImageNet 分類任務上預訓練的模型不同,即使包含了額外的階段,DetNet 也能保持特徵的空間解析度。然而,由於計算和內存開銷,高解析度的特徵圖給建立深度神經網路帶來了更大的挑戰。為了保持 DetNet 的效率,研究者部署了一個低複雜度的擴張瓶頸結構。通過整合這些改進,DetNet 不僅保持了高解析度的特徵圖,還保持了大的感受野,兩者對目標檢測任務都很重要。
本研究的貢獻如下:
- 本文首次分析了傳統的將 ImageNet 預訓練模型微調來開發目標檢測器的固有缺陷。
- 本研究通過保持空間解析度和擴大感受野,提出了一種新型的專為目標檢測任務而設計的骨幹網路 DetNet。
- 作者利用基於低複雜度的 DetNet59 骨幹網路,在 MSCOCO 目標檢測和實例分割追蹤任務上取得了當前最佳結果。
圖 1:FPN(特徵金字塔網路)中使用的不同骨幹網路的對比。(A)FPN 結合傳統骨幹網路;(B)傳統圖像分類網路;(C)本文提出的 DetNet 骨幹網路,其擁有更高的空間解析度,和 FPN 有完全相同的各階段。由於圖像尺寸限制,圖中沒有顯示階段 1 的特徵圖(步幅=2)。
3.2 DetNet 設計
這部分介紹 DetNet 的結構細節。研究者使用 ResNet-50 作為基線模型,其作為骨幹網路廣泛用於大量目標檢測器中。為了公平地與 ResNet-50 進行對比,研究者使 DetNet 的階段 1、2、3、4 與原始 ResNet-50 的階段保持一致。
創建高效的目標檢測骨幹網路存在兩項挑戰:保持深度神經網路的空間解析度需要耗費大量時間和內存;降低下採樣因子等於減少有效的接受野,這對很多視覺任務都是有害的,如圖像分類和語義分割任務。
DetNet 經過仔細設計以解決這兩項挑戰。具體來說,DetNet 遵循 ResNet 的 4 個階段。區別從第 5 個階段開始,用於圖像分類的 DetNet 圖示詳見圖 2D。下面我們來看從 ResNet50 擴展而來的 DetNet59 實現細節。類似地,DetNet 可以使用深度層(正如 ResNet101)輕鬆擴展。DetNet59 的設計細節如下:
- 研究者引入了額外的階段,例如 P6,其在骨幹網路中的作用與 FPN 中一樣。同時,研究者固定空間解析度為 16x 下採樣,即使在第 4 階段之後也是如此。
- 由於第 4 階段後的空間解析度是固定的,為了引入新的階段,研究者在每個階段剛開始時使用了擴張 [29,30,31] 瓶頸和 1x1 的卷積投影(圖 2B),並發現圖 2B 中的模型對於多階段檢測器(如 FPN)非常重要。
- 研究者使用擴張瓶頸作為基礎網路模塊,以高效擴大感受野。由於擴張卷積仍然消耗大量時間,階段 5 和階段 6 保持與階段 4 相同的通道(瓶頸模塊有 256 個輸入通道)。這與傳統的骨幹網路設計不同,後者會在後面的階段中將通道數量擴展為之前的 2 倍。
將 DetNet 和任意具備/不具備特徵金字塔的檢測器整合到一起是很容易的。在不損害代表性的前提下,研究者採用檢測器 FPN 作為基線網路,來驗證 DetNet 的效用。由於 DetNet 只改變了 FPN 的骨幹網路,因此研究者不改變 FPN 的其他結構(除了骨幹網路)。由於在階段 4 之後並未減少 Resnet-50 的空間解析度大小,因此只需按照自上而下的路徑將所有階段的輸出相加即可。
4 實驗
圖 2:DetNet(D)和基於 DetNet 的 FPN(E)的細節結構。(A,B)展示了 DetNet 中使用的不同的瓶頸模塊。(C)展示了原始瓶頸模塊。在階段 4 之前,DetNet 和 ResNet 的設計是相同的,而在階段 4 之後將保持空間解析度(例如階段 5 和 6)。
表 1:FPN 結合不同的骨幹網路得到的結果。包括在 ImageNet 分類任務上的標準 top-1 誤差。FLOPs 是指計算複雜度。還展示了 FPN 在 COCO 數據集上的結果以探索這些骨幹網路對目標檢測的有效性。
表 3:FPN 在不同 IoU 閾值和不同邊框尺度上的平均精度(AP)的對比。AP50 是一個有效的評估分類能力的指標。AP85 的評估需要對邊框預測的準確定位。因此它可以驗證本文方法的回歸能力。上表還展示了不同尺度的 AP 以捕捉骨幹網路中高解析度特徵圖的影響。
圖 3:DetNet-59-NoProj 的細節結構,它使用了圖 1A 中的模塊以分離階段 6(而原始的 DetNet-59 使用圖 1B 中的模塊來分離階段 6)。設計 DetNet-59-NoProj 的目的是驗證包含一個新型的語義階段用於目標檢測(正如 FPN)的重要性。
圖 4:基於 DetNet-59 的 FPN 檢測器結果。
表 7:在 MSCOCO 數據集上,本文的方法與其他頂尖方法目標檢測結果的對比,基於簡單、有效的骨幹 DetNet-59,該模型超越了先前所有的頂尖方法。值得注意的是,DetNet-59 在更少 FLOPs 情況下就得到了更好的結果。
表 8:在 MSCOCO 數據集上,本文的方法與其他頂尖方法做實例分割的結果對比。得益於 DetNet-59,在實例分割任務上 DetNet 取得了新紀錄。
圖 5:基於 DetNet-59 的 Mask R-CNN 的實例分割結果展示。
論文:DetNet: A Backbone network for Object Detection
論文鏈接:https://arxiv.org/pdf/1804.06215.pdf
摘要:無論是當前 YOLO、SSD、RetinaNet 這樣的一階段方法,還是 Faster R-CNN、R-FCN 和 FPN 這樣的二階段檢測器,這些基於 CNN 的目標檢測器通常都嘗試直接從 ImageNet 預訓練模型進行微調。而很少有研究探討用骨幹特徵提取器專門做目標檢測。更重要的是,圖像分類和目標檢測任務間有多個區別:(i)FPN 和 RetinaNet 這樣的目標檢測器通常要比圖像分類任務有更多階段,從而處理多尺度的物體。(ii) 目標檢測不只需要識別物體樣例的類別,也需要空間定位其位置。大的下採樣因子帶來大的有效感受野,這對圖像分類有好處,卻會折損目標定位的能力。因為圖像分類和目標檢測間的差距,我們在此論文中提出了 DetNet,這是一種專門為目標檢測設計的全新骨幹網路。此外,在更深層中維持高空間解析度的同時,DetNet 還包含與傳統圖像分類骨幹網路不同的額外階段。基於我們提出的 DetNet(4.8G FLOPs)骨幹,在 MSCOCO 數據集基準上取得了目標檢測和示例分割的當前最佳結果。復現代碼將在近期發布。
推薦閱讀: