SqueezeDet:一種應用於自動駕駛實時目標檢測中的標準、小型、低功耗的全卷積神經網絡(一)

論文原文:SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving
源代碼下載:https://github.com/BichenWuUCB/squeezeDet
論文翻譯:XJTU_Ironboy
時間:2017年8月

摘要

  目標檢測是自動駕駛技術中一個至關重要的部分,除了要求很高的準確度以保證駕駛中的安全之外,對於自動駕駛技術中的目標檢測也要求有足夠快的響應速度以保證對車輛的精準控制,同樣對於嵌入式系統的部署,還需要保證小的模型尺寸較高的能源利用效率
  在我們這篇論文中,我們提出了SqueezeDet的概念,一種應用於目標檢測中同時滿足上述所有約束條件的全卷積神經網絡結構。在我們的網絡中,使用卷積層不只是用來提取特徵圖,同時也是作爲輸出層去計算邊界框(bounding box)和分類概率。我們模型中的檢測管道(detection pipeline)只包含一個神經網絡的前向通路,因此它運行起來是極其迅速的。我們的模型是全卷積結構的,因此可以達到小的模型規模和很高的能量利用效率。最後的實驗表明我們的模型能達到很高的精度,在 KITTI 基準上達到了最高的精確度。並且SqueezeDet的代碼已經開源(見開頭的源代碼鏈接)。

1.介紹

  一個安全穩健的自動駕駛系統是依賴於系統對環境的精準感知的,更具體地來說,一個自動駕駛的車輛需要能夠準確實時地檢測出車輛、行人、騎行的人、馬路標識和其他的對象,從而做出正確的控制行爲來保證安全。更重要的是,爲了能夠得到更高的經濟效益和通用性,目標檢測系統必須能夠部署到相比於GPU(一種用於典型計算機視覺實驗中測試的硬件設備)來說更加低能耗的嵌入式系統中。
  目標檢測是自動駕駛技術中一個十分關鍵的任務。不同的自動駕駛解決方案可能有不同的感知傳感器組合,但基於圖像的目標檢測技術幾乎是不可替代的。圖像傳感器相比於其他如 LIDAR(激光雷達系統)是十分廉價的,然而圖像數據(包括視頻數據)中的信息比 LIDAR cloud points(激光雷達雲點)更加豐富,並且更容易收集和標註解釋。最近一段時間以來在深度學習方面的新進展顯示了一個重要的趨勢,那就是越來越多的數據涵蓋了各種長的場景,我們總是可以設計出更強大的神經網絡,用更多的參數來消化數據,使其變得更加精確和健壯。
  最近很多人的研究工作都基本關注於提高網絡的準確度,然而在實際的自動駕駛車輛的實際部署中,圖像目標檢測的其他問題同樣關鍵。對於自動駕駛,圖像目標檢測的一些基本要求包括以下幾點:
  (a) 精度,更具體地說,是指探測器在理想情況下實現對目標對象的100%高精度識別;
  (b) 速度,檢測器應該實時地或者更快地進行運算以減少對車輛控制週期的延時;
  (c) 小的模型尺寸,正如SqueezeNet原著所敘述的,較小的模型尺寸有利於模型的分佈式訓練,通過線上更新、更少的能耗和更可行的嵌入式系統部署, 將新機型導出到客戶端的通信開銷將減少;
  (d) 能源效率,臺式機和機架系統可能在運行神經網絡計算中需要消耗 250W的能量,但是針對自動駕駛市場的嵌入式處理器必須具有更小的功率和能量包絡。雖然精確數字不同,但例如來自NVIDIA(英偉達)的Xavier處理器針對的是20W 的能耗功率而設計的。而針對移動應用處理器有一個更小的功率預算,必須在3W–10w範圍。
  如果不徹底解決(a) 精度 (b) 速度 (c) 小的模型尺寸 (d) 能源效率 這些問題,那麼我們將無法真正利用深度神經網絡在自動駕駛方面的能力。
  在本篇論文中,我們通過提出了一種用於目標檢測的全卷積神經網絡SqueezeDet解決了以上存在的問題。 SqueezeDet中檢測管道(detection pipeline)的提出是受到了YOLO(You only look once)的啓發:首先,我們使用層疊卷積濾波器( stacked convolution filters)從輸入圖像中提取高維度、低分辨率的特徵圖,然後我們使用ConvDet,一個將特徵圖作爲輸入,計算大量的目標邊界框並預測它們的類別的卷積層,最後,我們過濾這些邊界框,以獲得最終的檢測結果。這個核心的卷積神經網絡結構(CNN)是SqueezeNet, 它使用了不到5MB大小的模型(並且可以更進一步壓縮到0.5MB),在ImageNet數據集上達到了AlexNet 同樣的精度結果。在用ConvDet中額外的層來強化SqueezeDet之後,整個模型的規模仍然小於8MB,並且在輸入圖片的分辨率爲1242x375時模型的運行速度達到57.2FPS。得益於小模型尺寸和激活尺寸,SqueezeDet只佔用非常小的內存和更少的DRAM連接,因此它在一個 TITAN X GPU上運行時每張圖片僅消耗1.4J的能量,相當於Faster R-CNN的八十四分之一。並且SqueezeDet的精度非常的高,我們的一個訓練好的模型在KITTI目標檢測挑戰中的三個檢測騎行者的高難度檢測中達到了最佳的平均精度。
  本文其餘部分的結構如下所述,我們首先在第2節中回顧相關工作,然後介紹我們的檢測管道(detection pipeline)、ConvDet層、訓練中數據傳遞的方式和第3節SqueezeDet的網絡結構設計。第4節中我們陳述了我們在KITTI數據庫上的實驗,並且探討了模型的精度、速度和參數的規模。由於論文篇幅的限制,我們把對能量效率的討論放在了論文的補充材料中,並且在第5節對我們的論文做了一個總結。

2. 相關的工作

2.1 目標檢測中的CNN

  從2005年到2013年,各種各樣的技術被應用到了提高數據庫上目標檢測的精度上,例如PASCAL。最近幾年, HOG+SVMDPM的各種版本在這些數據集上達到了較好的精度水平。然而在2013年,Girshick提出的基於區域的卷積神經網絡(R-CNN),使得目標檢測的精度有了較大的提高。這R-CNN的方法以region proposals(可能包含對象的區域)開始,並且使用CNN對這些區域進行分類。R-CNN的一個缺點是它在每一個region proposal上的CNN計算不是完全獨立的,導致了時間的消耗(<1 fps)和較低的能量利用效率(>200J/frame),爲了改進這個問題,GirshickFaster R-CNN上使用了很多的策略在所有的region proposals中分攤這種計算量。在其他的模型中,R-FCN是一個全卷積結構並且能夠達到R-CNN的精度,但是R-FCN是一個能夠在所有的region proposals中分攤計算量的全卷積結構。
  目前已經有很多項目採用了R-CNN的方法做自動駕駛中的目標檢測。幾乎所有在 KITTI 排行榜上排名靠前的方法都是基於Faster R-CNN,通過修改 CNN 體系結構以使用較淺的網絡來提高精確度的。另一方面人們更加關注的是怎麼生成更好的region proposals,大多數方法的關注點都是怎樣獲得更好的精度,並且據我們瞭解,之前的那些方法都沒有宣佈在 KITTI 數據集上的實時的響應速度。
  region proposals是我們迄今爲止討論過的所有目標檢測方法的基礎,然而,在YOLO(You Only Look Once)中,region proposals和目標分類是可以集成在同一個結構中的。相比於那些基於R-CNNFaster R-CNN的方法,YOLO的單個統一結構運行是非常快的,這也使得YOLO成爲第一個能夠滿足實時目標檢測中運行速度要求的通用的卷積神經網絡。

2.2 小規模的CNN

  對於計算機視覺基準的任何特定精度級別,通常情況下會設計一個多層的CNN來達到那個精度級別。假定要求達到同一個精度級別,設計規模越小的CNN(模型參數更少)是越有利的,AlexNetVGG-19都是被設計用來進行圖像分類的CNN的結構,並且已經被應用到了其他的計算機視覺的任務中了。AlexNet的模型包含240MB的參數,並且在ImageNet top-5圖像分類任務中達到約80%的準確度。VGG-19模型包含575MB的參數,並且能夠在ImageNet top-5圖像分類任務中達到87%的準確度。然而,包含更少參數的網絡結構也能達到相似的準確度,如SqueezeNet只有4.8MB的參數量(比AlexNet小50倍),並且它在ImageNet上面的測試能夠達到和AlexNet相同級別的準確度。GoogLeNet-V1模型只有53MB的參數量,他在ImageNet能達到VGG-19相同的級別的準確度。

2.3 全卷積網絡

  全卷積網絡(FCN)的潮流是被Long帶動起來的,它將其運用到了語義分割領域。FCN定義了一個通用的神經網絡類, 其最終參數化層的輸出是一個網格(grid)而不是一個向量,這在語義分割領域是非常有用的,在網格中的每個位置都對應於一個像素的預測類。
  其實FCN模型也可以被應用到了其他的領域。爲了去解決圖像分類的問題,一個CNN的結構需要最終輸出一個一維的表示分類概率的向量,一個通用的方法就是通過定義輸出爲1 x 1 x Channels的向量,添加一個或者多個全連接層。然而還有一個可選擇的辦法是使得最後一層爲卷積層輸出一個網格(W x H x Channels即:寬x高x通道數),然後用平均池化的方法對輸出網格進行下采樣,輸出能表示分類概率的1 x 1 x Channels的向量。最後我們注意在這節之前提到的R-FCN的方法是一個全卷積的網絡結構。

由於本論文較長,中文翻譯分爲三個部分連載:

SqueezeDet:一種應用於自動駕駛實時目標檢測中的標準、小型、低功耗的全卷積神經網絡(二)
SqueezeDet:一種應用於自動駕駛實時目標檢測中的標準、小型、低功耗的全卷積神經網絡(三)

注:第一次寫博客,且水平有限,有些地方翻譯的很不到位,望諒解!
如有問題需要討論,可發送問題到我的郵件:[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章