1. 程式人生 > >Yolo-lite:實時的適用於移動裝置的目標檢測演算法(比ssd和mobilenet更快)

Yolo-lite:實時的適用於移動裝置的目標檢測演算法(比ssd和mobilenet更快)


YOLO-LITE: A Real-Time Object Detection Algorithm Optimized for Non-GPU Computers

論文:Yolo-lite paper

專案:Yolo-lite

摘要:

  作者提出了一種可以應用於行動式裝置中執行的實時的目標檢測演算法,例如:手機或者沒有gpu的筆記本.在PASCAL VOC和coco資料集上的map是33.81%和12.26%比ssd和mobilenet-v1訓練的模型更快,目的就是為了得到更小,更快,更高效的模型.

引言:

  近年來,目標檢測演算法在計算機視覺領域中有著廣泛的應用,是一個十分熱門的領域,包括人臉識別、面部檢測、姿態估計等其他應用。目標檢測就是預測物件的位置,通過給定的邊界框,並對框內目標進行分類。隨著技術的發展,檢測的精度和準確性不再是主要的因素和技術指標,例如自動駕駛汽車。需要實時監測車輛周邊的實時環境,高效快捷演算法是關鍵。目前,最先進的自動駕駛中使用的演算法嚴重依賴昂貴的雷達和深度感測器,計算也需要大量的GPU,這增加了計算成本。建立更高更深的神經網路,提升演算法的準確性成為一種趨勢,但是對於現實生活中的運用並沒有幫助,相反則需要提升自己的計算成本去執行。R-CNN和YOLO演算法已經實現了很高的平均精確度,但是在沒有Gpu的電腦上的FPS卻十分感人。因此,作者打算採用一種輕量化的目標檢測演算法能夠執行在移動裝置中。

圖1 yolo-lite檢測圖片
圖1 YOLO-LITE目標檢測效果圖

 

相關概念:

A.R-CNN

     基於區域的卷積神經網路,採用選擇性搜尋的演算法對於輸入的圖片進行區域選取,生成幾千個區域,並將生成的區域放入卷積神經網路中去進行特徵向量的提取,最後採用SVM對與特徵向量進行評估.雖然精度高,但是需要昂貴的GPU以及漫長的訓練時間,實際應用的效果不好.

B.YOLO

  YOLO=you only look once.建立一個可以同時實現邊框預測和分類的演算法.首先,輸入的影象被分成了s×s的網格,每個網格中都有一個邊界框,每個框格都有一個置信度分數。物件存在於每個邊界框的概率是:C = P r (Object) ∗ IOUpred,IOU就是交併比,預測邊界框和實際物體重疊區域的比值Iou=(AnB)/(AUB),理想的IOU=1

圖2 交併比

 

在確定邊界框的同時,每個網格還對區域進行分類
 

YOLO採用的損失函式如下;

 損失函式用來校正中心和預測的邊界框. 每個影象分為一個S×S網格,每個網格有一個邊界框。 bx並且通過變數指的是每個預測的中心,而bw和bh指的是邊界框尺寸。 λcoord和.coordλnoobj變數用於增加對框的重視物件,並降低對沒有物件的框的重視。 C是指置信度,p(c)是指分類預測。 如果物件在單元格i中則為1,否則為0。 損失表示模型的效能,損失較低表明效能更高。雖然損失函式用來衡量模型的效能,但是在目標檢測中由模型作出的預測的準確性可以通過平均精確度來表示:

這裡的P(k)是指閾值k的精度,而Δr(k)是指召回的變化。 

Yolo-lite結構

我們與YOLO-LITE的目標是開發一種架在a上至少可以執行~10幀/秒(FPS)PASCAL上的mAP為30%的非GPU供電計算VOC這個目標是通過檢視該狀態來確定的。藝術並創造一個合理的基準來達到。 YOLO-LITE為物件檢測領域提供了兩個主要貢獻:
1)展示淺網路的能力
  快速非GPU物件檢測應用程式。
2)建議不需要批量標準化
事實上,整體上放慢了速度網路的速度。有些作品專注於創作原始卷積層或修剪方法以便縮小網路規模,YOLO-LITE專注於服用
已存在的東西,並將其推向極限的準確性和速度。此外,YOLO-LITE專注於速度和速度不是網路的整體物理尺寸和重量。實驗以敏捷的心態進行。運用以Tiny-YOLOv2為起點,不同層次重新移動並新增然後培訓Pascal VOC 2007&2012年約10-12小時。所有迭代都使用了與Tiny-YOLOv2相同的最後一層。這一層負責將要素圖分割為SxS網格以進行預測邊界框。然後在驗證上測試試驗一套Pascal 2007來計算mAP.對於架構的發展,因為它的體積小允許更快的培訓。 表現最好的模型是用作下一輪迭代的平臺。雖然有一個重點是試圖直覺提高mAP和FPS,很難找到好的指標。從一開始,就假設FLOPS計數與FPS相關; 事實證明這是事實。 然而,新增更多過濾器,使過濾器更大,並新增更多層不容易轉化為改進的mAP。

A.設定
Darknet,用於開發YOLO的框架被使用
訓練和測試模型。 培訓是在a
Alienware Aura R7,配備Intel i7 CPU和Nvidia 1070
GPU。 每秒測試幀數是在戴爾上完成的
XPS 13膝上型電腦,使用Darkflow的現場演示示例指令碼。

B. PASCAL VOC和COCO資料集
YOLO-LITE在兩個資料集上進行了訓練。 模型是首先使用PASCAL VOC 2007和
2012 。 它包含20個類,大約5,000個訓練資料集中的影象。效能最高的PASCAL VOC培訓模型
然後再對第二個資料集COCO 2014 [19]進行了再訓練,包含80個課程,約40,000個培訓
圖片。 圖3顯示了一些帶物件的示例影象從COCO資料集中獲取的分段。

兩個資料集中的訓練集圖片總數和種類

 C.速度和精度指標
表III揭示了什麼是成功的,什麼是不成功的在開發YOLO-LITE時。 報告的損失表III,不是mAP的良好指標。 雖然損失很大
表示低mAP之間沒有確切的關係二。 這是由於公式3中列出的損失沒有完全由mAP定義,而是組合不同的功能。 訓練時間,在結合時進行隨著時代的數量,是FPS的一個非常好的指標從試驗3,6等看,FLOPS計數也很好指標,但考慮到FLOPS計數沒有考慮到考慮批次所需的計算和時間正常化,它沒有在時代考慮那麼訓練速率。試驗4,5,8和10表明,新增更多層和過濾器與改進之間沒有明確的關係準確性。

 D.影象大小
在將試驗2與Tiny-YOLOv2進行比較時確定將輸入影象大小減半可以超過網路速度加倍(6.94 FPS對2.4 FPS)但會也會影響mAP(30.24%對40.48%)。 減少輸入影象大小意味著較少的影象通過網路。 這允許網路更精簡,但也意味著有些資料丟失了。 為了我們的目的,我們確定最好是加快mAP的速度。

E批量標準化

BN可以用來加快培訓時間,提高網路的準確度,但是很多研究表明,沒有bn的網路可以提升執行速度.

F修剪

修剪是基於它們削減某些權重的想法重要性。 已經證明了一種簡單的修剪方法刪除任何低於某個閾值的東西都可以減少
Alexnet中的引數數量為9×和VGGnet13×對精度影響不大.也有人建議修剪權重和霍夫曼編碼的量化可以很大縮小網路規模,並將網路速度提高3倍或4次(Alexnet,VGGnet)。修剪YOLO-LITE顯示沒有任何改善準確性或速度。 結果並不奇怪 YOLO-LITE主要由con構成卷積層。 這解釋了缺乏結果。

結果(與其他的快速目標檢測演算法比較)

當談到實時物體檢測演算法時非GPU裝置,YOLO-LITE的競爭非常激烈。 YOLO的小型架構,這是起點對於YOLO-LITE有一些最快的物體檢測演算法。 雖然它們比更大的更快YOLO架構,它們幾乎不能在非GPU上實時執行電腦(~2.4 FPS)。Google有一個具有模型的物件檢測API有幾個輕量級架構的選。 最多令人印象深刻的是SSD Mobilenet V1。 這種架構時在非GPU膝上型電腦上的5.8 FPS,mAP為21%。MobileNet使用深度可分離卷積,如反對YOLO的方法,為實時減輕模型物體檢測。 深度可分離卷積的想法結合深度卷積和逐點卷積。然後,深度卷積在每個通道上應用一個濾波器逐點卷積應用1x1卷積。 這個技術旨在減輕模型,同時保持相同每個卷積中學到的資訊量。 這些想法MobileNet中的深度卷積可能解釋了SSD MobileNet COCO的mAP結果更高。

 

 表VIII顯示了YOLO-LITE如何比較。YOLO-LITE比SSD快3.6倍,比Tiny-YOLOV2快8.8倍。

結論:

YOLO-LITE實現了實現物體檢測的目標到非GPU電腦。 此外,YOLO-LITE提供以下服務,對物體檢測領域的貢獻。 首先,YOLO-LITE表明,淺層網路具有巨大的潛力用於輕量級實時物件檢測網路。執行在非GPU計算機上21 FPS是非常有希望的
這麼小的系統。 YOLO-LITE表明了批量標準化的使用應該受到質疑來到較小的淺網路。 在這個領域的運動輕量級實時物件檢測是最後的前沿使物件檢測在日常例項中可用。