YOLO-V1

1 introduction

改善目標檢測作爲單一回歸問題, 直接在整個圖像上檢測目標的邊界框和類別概率

相比於其他架構的優點:

1: 很快

2: 在整個圖像上預測, 雖然錯誤率比Fast R-CNN高, 但是Fast R-CNN在Proposal上預測, 由於缺乏上下文信息, 導致背景的預測錯誤率是YOLO的兩倍.

3: YOLO學習對象的一般化表示, 具有通用性, 對於新的domain或者意外輸入很少發生中斷.

 

2 unified detection

把輸入圖像分割爲S*S個格子, 如果一個目標的中心在一個格子中, 那麼這個格子將會負責檢測這個目標.

 

每個格子預測B(本文B=2)個邊界框和每個框的置信度. 置信度反映了箱子中是否程度包含目標和這個邊框的精準度是多少. 形式上置信度 = Pr(Object) * IOU. 第一項是如果目標落在箱子裏取1, 否則取0, 如果沒有目標存在箱子中, 那麼置信度就是0.

 

每個邊界框有5個預測:x,y,w,h和置信度, (x,y)表示框的中心對於當前格子的座標, w和h表示相對於整個圖像的邊界框大小(本文正則化爲佔全圖w和h的比例, 即編輯框的大小爲0到1之間的數), 置信度表示IOU.

 

每個cell同時預測每個類別的概率Ci = Pr(Class i | Object) , 測試時表示特定類別的置信度

最後的輸出是S*S*(B*5+C)個

 

2.1 網絡設計

dataset: PASCAL VOC

YOLO: 24層, 和GoogleNet一樣, 把Inception改爲1X1conv+3X3conv, 最後FCX2

Fast YOLO: 9層

 

2.2 訓練

ImageNet預訓練. 在預訓練時使用20conv+1average+1FC.

前面的層使用leaky rectified linear activation:

最後一層爲ReLU.

 

損失採用均方誤差.

 

均方誤差的缺點是和mAP不一致, 由於不包含目標則置信度就趨向0, 這對於包含目標的梯度下降有壓倒性優勢, 使得模型過早出現分支, 對於是否包含目標增加了權重, 不包含目標的損失的權重是 λ noobj = 0.5, 邊界框的損失權重(邊界框就代表包含目標) λ coord = 5.

 

另外誤差應該反映大box的偏差比小box中的小. 本文實際預測邊界框的平方根.

 

損失函數:

訓練參數:

2.3 推論

 

2.4 YOLO的侷限

YOLO對相互靠的很近的物體,還有很小的羣體 檢測效果不好,這是因爲一個網格中只預測了兩個框,並且只屬於一類。

 

對測試圖像中,同一類物體出現的新的不常見的長寬比和其他情況是。泛化能力偏弱。

 

由於損失函數的問題,定位誤差是影響檢測效果的主要原因。尤其是大小物體的處理上,還有待加強。

 

實驗結果

 

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