【目標檢測】[論文閱讀][yolo] You Only Look Once: Unified, Real-Time Object Detection
阿新 • • 發佈:2019-01-24
論文名稱《You Only Look Once: Unified, Real-Time Object Detection》
摘要
1、之前的目標檢測方法採用目標分類思想解決檢測問題,本文提出一個基於迴歸的框架,用於目標的定位及識別。
2、一個網路,一次預測即可獲得目標的檢測框(bounding boxs)和 類別概率。
3、所提目標檢測框架運算速度非常快。基本YOLO 模型45幀/S。簡化版本Fast YOLO模型可達到155F/s.
4、相比其他檢測器,yolo定位誤差較大,但是flase positive 較少。
5、YOLO泛化能力較高。
1、引言
1、現有目標檢測框架典型的有滑窗檢測(如 DPM演算法)和Region proposal方式(如 RCNN)。
2、YOLO將目標檢測是為迴歸問題。通過畫素值直接預測bboxes和類別概率。
3、YOLO通過全圖訓練網路,並優化檢測器效能,該方式有如下優勢:
1)YOLO fast.因為基於迴歸的框架簡單,不需要額外複雜流程
2)YOLO 檢測目標時,利用全圖資訊
3)YOLO學習泛化的目標資訊。
在精度上相差很多。
2、統一的檢測器
2.1網路設計:特徵提取層+額外分類檢測層
- 受GoogleLetnet 網路設計啟發。(腦補一下:googleLenet共22層,考慮pooling 層,共27層。後接平均池化層,並送入分類器)GoogleLetNet連結
- YOLO網路設計共24層卷積層,後接2層全連結層。
- 預訓練對前20層進行分類訓練(參考GoogleNet ,修改 *1、*3組合)。後面4個卷積層和2個全連結層用於檢測。預訓練影象尺寸用224*224(imageNet 影象集)
- 檢測影象輸入尺寸變尺寸至448*448。
2.2 關鍵點設計
- 將輸入影象分為
S∗S 個grid cell,目標中心所在的 cell,負責對此目標的檢測及識別。 - 每個cell預測B個 bboxes和相應的置信度
confidence=Pr(object)∗IOUtruthpred 。如果沒目標Pr(object)=0 ,confidence為0,有目標Pr(object)=1 ,則confidence為IOU值。(預測階段咋整?) - 每個bboxes 包含5個引數:
x,y,w,h 和置信度confidence 。其中(x,y) 座標代表所檢測目標的中心點,該值是相對於grid cell的邊緣,因此取值範圍【0,1】。w 相對於整個影象尺寸,取值範圍【0,1】。 - 目標。
2.3 訓練
從網路圖可以看出,448影象輸入,經過6次pooling,影象大小變為 448/2^6=448/64=7
網格設定S=7是否與最終輸出的featureMap大小有關?
輸出大小 為7*7*(2*5+20)=7*7*30=1470,每一個點都是前一層向量迴歸而來(全連結,內積計算預測)。
訓練誤差採用均方差。考慮存在目標的(座標預測誤差、置信度誤差、類別誤差)+不是目標的置信度。
訓練中的誤差函式如下,加重有目標的位置比重λcoord=5 ,不是目標的置信度λnoobj=0.5 。
2.4 測試
Test的時候,每個網格預測的class資訊
說白了,就是預測置信度與類別概率的乘積。