視頻人工智能論文系列:Object Detection CVPR2016 YOLO

CVPR2016: You Only Look Once:Unified, Real-Time Object Detection

視頻人工智能論文系列:Object Detection CVPR2016 YOLO

YOLO,You Only Look Once,摒棄了RCNN系列方法中的region proposal步驟,將detection問題轉為一個迴歸問題

網絡結構

  • 輸入圖片:resize到448x448
  • 整張圖片輸入卷積神經網絡(24層卷積+2層全連接,下面這張示意圖是Fast YOLO的)
視頻人工智能論文系列:Object Detection CVPR2016 YOLO

  • 將圖片劃分為SxS個格子,S=7
  • 輸出一個SxS大小的class probability map,為圖片上每個格子所屬的分類
視頻人工智能論文系列:Object Detection CVPR2016 YOLO

  • 輸出為每個格子輸出B個bounding box,每個bounding box由x,y,w,h表示,為每個bounding box輸出一個confidence,即屬於前景的置信度

於是輸出可以表示為一個SxSx(B*(4+1)+C)的tensor,訓練只需要根據數據集準備好這樣的tensor進行regression就行

  • 對所有bounding box按照confidence做非極大抑制,得到檢測結果

訓練

Loss

視頻人工智能論文系列:Object Detection CVPR2016 YOLO

  • 前兩行為定位loss,λcoord為定位loss的權重,論文中取5
  • 第三行為一個bounding box屬於前景時的置信度迴歸loss,
  • 當格子中有對象出現時,真實Ci為1,
  • 1ijobj是一個條件表達式,當bounding box“負責(is responsible for)”圖中一個真實對象時為1,否則為0,
  • 所謂“負責”,指的是在當前這個格子的所有bounding box中,這個bounding box與真實的bounding box重疊率最大
  • 第四行為一個bounding box屬於背景時的置信度迴歸loss,
  • 為了避免負樣本過多導致模型跑偏, λnoobj=0.5,
  • 1ijnoobj是一個條件表達式,為1ijobj取反
  • 於是我們可以發現一個格子的兩個bounding box的分工:一個貢獻前景loss,一個貢獻背景loss ,不論是前景背景box,我們都希望它們的confidence接近真實confidence,實際上,如果 λ
    noobj=1, 第四五行可以合併為一項求和,但由於背景box太多,所以才單獨拆開加了權重約束
  • 第五行為分類loss,1iobj是一個條件表達式,當有對象出現在這個格子中,取1,否則取0

YOLO裡最核心的東西就講完了,其實可以把YOLO看作固定region proposal的Faster RCNN,於是可以省掉Faster RCNN裡region proposal部分,分類和bounding box regression跟Faster RCNN是差不多的

細節

Leaky Relu

網絡中只有最後的全連接層用了線性的激活函數,其他層用了leaky Relu:f(x)=max(x, 0.1x)

對比Relu和leaky Relu

視頻人工智能論文系列:Object Detection CVPR2016 YOLO

視頻人工智能論文系列:Object Detection CVPR2016 YOLO

在x小於0的時候,用了0.1x,避免使用relu的時候有些單元永遠得不到激活(Dead ReLU Problem)

Fast YOLO

卷積層更少,只有9層卷積+2層全連接,每層filters也更少,於是速度更快

實驗效果

  • 對比當前最好方法:
視頻人工智能論文系列:Object Detection CVPR2016 YOLO

Fast YOLO速度最快,準確率不太高,但還是比傳統方法好,YOLO則比較中庸,速度不慢,準確率也不太高,但也還行。

  • 再看看具體是在哪些類型的圖片上出錯的:
視頻人工智能論文系列:Object Detection CVPR2016 YOLO

主要是定位不準(畢竟沒有精細的region proposal),但是在背景上出錯較少(不容易把背景當成對象)

缺點

  • 固定的格子是一種很強的空間限制,7x7的格子決定了整張圖片最多預測98個對象,對於對象數量很多的圖片(比如鳥群)無能為力
  • 難以泛化到其他形狀或角度的物體上
  • 損失函數沒有考慮不同尺寸物體的error權重,大box權重和小box權重一樣

Summary

Anyway,YOLO結構還是挺優雅的,比Faster RCNN黑科技少多了,更重要的是,它是當時最快的深度學習檢測模型,也是很值得肯定的。


分享到:


相關文章: