又快又準確,新目標檢測器速度可達每秒200幀

又快又準確,新目標檢測器速度可達每秒200幀

來自專欄 機器之心

選自arXiv,作者:Rakesh Mehta等,機器之心編譯。

目標檢測技術的很多實際應用在準確度和速度上都有很高的要求,但目前大多數相關研究都更注重準確度表現的突破。在另一個方向上,愛爾蘭聯合技術研究中心的兩位研究者近日在 arXiv 上發布了一份研究成果,介紹了他們在保證準確度的同時達到了 200 FPS 速度的目標檢測研究進展。

目標檢測是計算機視覺領域內的一個基本問題。得益於深度卷積網路的成功,近些年來,我們已經見證了目標檢測器準確度的顯著提升 [25, 27, 22, 26, 7, 10, 21]。事實已經表明,基於深度學習的現代目標檢測器能以相當高的準確度和合理的速度檢測多個一般目標 [22, 26]。這樣的進展讓目標檢測被應用在了多種行業應用中,比如監控、自動駕駛和機器人。這一領域的大多數研究都關注的是在公共基準上實現當前最佳表現。

這些研究所取得的進展大都依賴於更深度的架構(Inception [33]、VGG [32]、Resnet [11]),其代價是更高的計算複雜度和更多內存需求。儘管這些結果已經表明了目標檢測在多種問題上的可用性,但對全面行業部署而言,可擴展性仍是一個懸而未決的問題。比如,有 50 個攝像頭和 30 幀/秒速率的安保系統即使使用最快速的檢測器 SSD(512 解析度時速度為 22 FPS),也將需要帶有 60 個 GPU 的專用伺服器 [22]。對於某些行業問題(大型建築內的安保應用)而言,這些數字還會更大。在這些情況下,速度和內存需求會變得很關鍵,因為其能在單個 GPU 上實現多個數據流的處理。讓人驚訝的是,研究者們並不很重視設計快速有效且內存需求低的目標檢測器 [17]。在本研究中,我們試圖填補這一漏洞,我們的研究重點是開發出一種高效的目標檢測器,其有較低的內存需求且能在單個 GPU 上高速處理多個數據流。

圖 1:我們所提出的檢測器與其它競爭方法的速度和表現比較。對於 SSD 和 Yolo-v2,我們還給出了更準確的模型的結果。

鑒於簡單快速的架構存在局限性,我們調查研究了可以提升表現的有效訓練方法。從準確度合理的輕量級檢測器開始,我們利用了有更優表現的更深度的網路來進一步改進訓練策略。為此,我們考慮了網路 distillation [12, 2, 1],其中更大網路的知識會被用來高效地學習更小網路的表徵。儘管這一思想最近已經在目標檢測上得到過應用,但我們的工作在我們應用 distillation 的方式上有關鍵性的貢獻。

(1)我們最早將 distillation 應用到了單流程檢測器(Yolo)上,這使得我們的工作不同於之前的將其應用於區域建議網路(region proposal network)的工作。(2)我們的方法的關鍵基於這一觀察:目標檢測涉及非極大抑制(NMS)步驟,而這個步驟在端到端學習之外。在 NMS 步驟之前,檢測網路的最後一層由檢測區域中的密集激活構成,如果它被直接遷移給學生網路,就會導致過擬合和表現下降的問題。因此,為了將 distillation 應用於檢測,我們提出了特徵圖非極大抑制(Feature Map-NMS 或 FM-NMS),其會抑制對應於重疊檢測的激活。(3)通過強調教師檢測中有更高目標性(objectness)值的檢測結果,我們將該問題形式化為了一個目標性縮放的 distillation 損失問題。我們的結果表明,這種 distillation 是一種在保持複雜度較低的同時提升表現的有效方法。

最後,我們在目標檢測語境中調查研究了「數據的有效性」[8]。有標註數據是有限的,但使用高準確度的目標檢測器和無限量的無標註數據,我們探索了我們提出的輕量級檢測器的表現可以提升的程度。我們的思路遵循半監督學習 [29, 35, 4],這是深度學習目標檢測器領域一個尚未得到深入研究的領域。Radosavovic et. al. [23] 是與我們的方法密切相關的一項近期研究,其中的標註是使用組合在一起的檢測器生成的。我們的思路與他們的方法有兩個主要差異:(1)我們是遷移來自教師網路的卷積特徵圖的軟標籤,事實表明這在網路 distillation 上更高效 [28]。(2)我們通過目標性縮放和 distillation 權重得到了損失公式,這讓我們可以根據教師標籤控制權重。這個公式提供了靈活性,能為基本真值(ground-truth)的檢測結果賦予高權重,為不準確的教師預測結果提供相對更低的權重。此外,我們的訓練損失公式無縫整合了檢測損失與 distillation 損失,這讓該網路可以從有標註數據和無標註數據的混合數據中學習。就我們所知,這是第一個通過聯合使用有標註數據和無標註數據來訓練深度學習目標檢測器的研究。

圖 2:我們的檢測器的基本架構。為了保證架構簡單,我們限制了網路的深度,並且保證特徵圖的數量少且使用了較小的過濾器核(3×3 或 1×1)。

圖 3:distillation 方法的整體架構。distillation 損失在有標註數據和無標註數據上都會使用。FM-NMS 被應用在教師網路的最後一層特徵圖上以抑制重疊的候選項。

圖 4:教師網路在最後一層同時預測邊界框坐標和類別概率。藍色和綠色表示的每一列對應 N 個檢測結果,其中 N 是錨定框(anchor box)的數量。相鄰的列通常會得到具有同一類別標籤的高度重疊的邊界框。我們提出的 FM-NMS 只會保留相鄰單元中最強的候選項。這個候選項會被作為軟標籤而遷移給學生網路。

表 2:不同架構修改方法的速度比較。

表 3:在 Pascal VOC 2007 上使用不同策略的 distillation 的表現比較。這裡給出的結果是兩個教師網路在兩個有標註訓練數據集(Pascal VOC 數據集以及 Pascal VOC 和 COCO 的組合數據集)上的結果。

論文:每秒 200 幀的目標檢測(Object detection at 200 Frames Per Second)

論文地址:arxiv.org/abs/1805.0636

在本論文中,我們提出了一種高效快速的目標檢測器,其每秒可處理數百幀圖像。為了實現這一目標,我們調查研究了目標檢測框架的三個主要方面:網路架構、損失函數和訓練數據(有標註的和無標註的)。為了得到緊湊的網路架構,我們引入了多種基於近期研究的改進措施,以開發出一個計算上輕量級的且能達到合理表現水平的架構。為了在保證同等複雜度的同時進一步提升表現,我們使用了 distillation 損失函數。使用 distillation 損失,我們可將更準確的教師網路的知識遷移給我們提出的輕量級學生網路。為了讓 distillation 能高效用於我們提出的單階段檢測器流程,我們提出了多種創新:目標性縮放的 distillation 損失、特徵圖非極大抑制、用於檢測的單個統一 distillation 損失函數。最後,基於 distillation 損失,我們探索了通過使用無標註數據我們可以給表現帶來多大提升。我們使用教師網路的軟標籤,通過無標註數據訓練了我們的模型。在 Pascal 數據集上,與基於 VGG 的目標檢測網路相比,我們的最終網路的參數數量少十幾倍,並且能實現超過 200 FPS 的速度,另外我們提出的修改能讓檢測準確度超過基準 14 mAP。


推薦閱讀:

SSD:Single Short MultiBox Detector
Tensorflow object detection API之faster_rcnn_resnet101_coco_2018_1_28 with TF 1.7出錯
優於MobileNet、YOLOv2:移動設備上的實時目標檢測系統Pelee
檢測相關筆記-pytorch
目標檢測|YOLOv2原理與實現(附YOLOv3)

TAG:人工智慧 | 計算機視覺 | 目標檢測 |