摘要:基於當前用預訓練分類器開發目標檢測器的方法的固有缺陷,來自清華大學和曠視的研究者提出了專用於目標檢測的骨幹網絡
DetNet。 DetNet可在保持高分辨率特徵圖和大感受野的同時,高效地執行目標檢測任務
基於當前用預訓練分類器開發目標檢測器的方法的固有缺陷,來自清華大學和曠視的研究者提出了專用於目標檢測的骨幹網絡
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] 瓶頸和1×1 的捲積投影(圖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
數據集基准上取得了目標檢測和示例分割的當前最佳結果。 復現代碼將在近期發布。
版權聲明
本文僅代表作者觀點,不代表百度立場。
本文係作者授權百度百家發表,未經許可,不得轉載。