YOLO_v2論文詳解YOLO9000: Better, Faster, Stronge

論文地址: https://arxiv.org/abs/1612.08242 

或者https://pjreddie.com/media/files/papers/YOLO9000.pdf

代碼地址: http://pjreddie.com/yolo9000/ 

相關內容YOLO_v1論文詳解You Only Look Once,Unified, Real-Time Object Detection

目錄

一、概覽

1.1 貢獻點

1.2 創新點

二、方法

2.1 Better

Batch Norm

High Resolution Classifier

Ancher Box

Dimension Clusters

Direct location prediction

Multi-scale training

2.2 faster

DarkNet-19

2.3 Stronger

Dataset combination and WordTree

Joint classification and detection

三、實驗及結論


一、概覽

1.1 貢獻點

YOLO9000,可以檢測超過9000個物體的目標檢測模型。

  • 在YOLO的基礎上,引入了各種改進。
  • 在PASCAL VOC與COCO數據集上達到了SOTA
  • 可以實現速度與準確率的trade off
  • 模型可以進行多尺度訓練,並且可以對任意尺寸的圖片進行檢測。
  • 比目前最佳的SSD或者faster RCNN更快且準確率更佳。
  • 在VOC數據集上,67FPS的時候達到76.8mAP,40FPS的時候達到78.6mAP

1.2 創新點

改進訓練方法,訓練模型時不僅使用目標檢測的數據,也使用大量的目標分類數據。

  • 引入了數據集結合的方法
  • 創建了目標檢測SOTA的實時模型。
  • 從COCO數據集與ImageNet數據集結合模型可以分類9000樣本的目標檢測模型。

二、方法

2.1 Better

從之前的模型中引入了一系列新的方法

Batch Norm

BatchNorm的作用詳見:

批歸一化Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift論文詳解

  • BN的引入使得YOLO的mAP提升了2%
  • BN可以有效的對模型進行正則化,避免過擬合。

High Resolution Classifier

YOLO是以224*224分辨率訓練分類器網絡,隨後將分辨率提高到448*448進行檢測,意味着網絡需要可以將較低分辨率的圖片泛化到較高分辨率。所以前期訓練用224*224的圖像,最終的10個epoch用448*448的圖像進行微調。

  • 提升了4%的mAP
  • 所有的SOTA目標檢測模型均需要通過ImageNet預訓練。
  • 初始YOLO訓練時候用224*224大小的圖像,然後需要將尺寸增加到448*448.相當於需要用大尺寸高分辨率的圖像對模型進行Fine-tune。
  • 對於YOLOv2,作者將ImageNet的448*448的圖像在ImageNet上進行了10個epoch的fine-tune
  • 我們產生了一個疑問,如果一開始直接用448*448的圖像對模型進行訓練,會產生什麼樣的結果呢?

Ancher Box

Ancher box即先驗框,即網絡在先驗框的基礎上進行預測,

  • 借鑑了Faster-RCNN的做法。
  • 對於Faster-RCNN來講,region proposal network(RPN) 用於生成相應的offset與confidence。因此,作者經過改進,將YOLOv1中的全連接層刪掉,運用ancher box預測相應的備選框。YOLO通過圖像提取,輸入圖像經過縮放係數是32的尺寸縮小到feature上,例如416的圖片會被縮小爲13 (416/32=13).
  • 無ancher box的模型,mAP 69.5,recall 81%,加入ancher box之後,mAP 69.2,recall 88%。即mAP少量降低,但是recall大量增加。

Dimension Clusters

先驗框的尺寸可以手動來選擇,也可以通過聚類的方法選擇,作者引入聚類的方法針對ancher box的尺寸進行選擇。

(聚類是否只聚類了box的尺寸,對box的位置是否有聚類?)

  • 關於ancher box的尺寸,可以通過手動選擇,選擇較好的尺寸可以提升網絡性能。作者通過K-means的聚類來選取ancher box。

聚類的距離d的衡量

k-means聚類需要有一個衡量樣本之間的距離的距離度量d

  • 之前採用的聚類距離d,採用幾何距離,這樣就會使得聚類的中大邊框的聚類距離更大。
  • 爲了更好的平衡上面說的大邊框的聚類距離d過大的問題,作者引入了IOU來實現距離d的衡量。

運用IOU作爲衡量標準之後,模型精度確實得到了提升,下圖是實驗證明了這一點。在VOC2007上,聚類採用IOU距離取得了更高的mAP:

聚類的k值

k值表示聚類數量的個數,即備選框聚類爲幾類。

  • 此值表示聚類出的備選框的尺寸的個數,比如k=1表示聚類結果只有一個尺寸的備選框。
  • k越大則聚類的框的大小數量越多,因此準確率越高。
  • 但是k值過大,運算量會增加,因此作者取了一個trade-off 的結果,k=5,相對平衡運算量和IoU精度。

Direct location prediction

此方法用於對模型的先驗框的範圍進行約束,可以提升5%的mAP

對於模型而言,主要的非穩定性來自於備選框的中心位置(x,y), 特別是初始的幾個epoch,預測結果很不穩定。

按照原始的做法:

  • x,y是預測邊框的中心,模型需要將此結果作爲最終的預測邊框
  • xa, ya是先驗框ancher box的中心,是確定的量
  • wa,ha是先驗框的寬和高,是確定的量
  • tx,ty是網絡需要預測的參數,即網絡根據已知的先驗框和輸入圖片,預測出tx,ty
  • 因爲tx,ty沒有任何約束,導致中心可能出現在任何位置,不確定性很高,因此需要加以約束。

約束後的公式如下:

加入限定之後,可以將藍色區域限制在藍色框內,預測更爲穩定。

限定的公式如下:

  • cx,cy是先驗框左上角的座標
  • pw,ph是先驗框的寬和高
  • tx,ty,tw,th,to是網絡需要預測的量。
  • 經過上面公式的映射,相應的備選框可以被限定在虛線框內,相對更穩定。

Multi-scale training

多尺度訓練,提升了1.4的mAP

  • 原始的YOLO輸入圖象是448*448大小,加入ancher box之後,輸入尺寸變爲416*416大小。
  • 因爲模型有卷積和pooling層,因此可以適應任意大小的圖像。(YOLO是可以對任意尺寸的圖像進行目標檢測。這裏的同尺寸是指訓練與測試同尺寸且任意尺寸?還是訓練與測試可以不同尺寸?)
  • 訓練每10個batch,YOLO隨機選擇一個新的圖像尺寸。尺寸有{320, 352, ... , 608}
  • 因爲YOLO可以針對尺寸的圖片進行目標檢測,因此,YOLO可以用低分辨率的圖片實現高幀率。
  • 在228*228大小的時候,YOLO可以實現90FPS的幀率,並且具有與fast R-CNN幾乎相同的mAP
  • 高分辨率模式之下,YOLO在VOC2007數據集上達到了最佳的78.6的mAP,下圖即爲各個分辨率下YOLO的識別準確率以及同類網絡的對比。

2.2 faster

不少目標檢測模型將VGG作爲基本框架。但是VGG較爲耗費運算,例如對於224*224大小的圖像,VGG需要進行30.69billion(30.69*10^9)次浮點運算進行一次預測,因此運算量巨大。

DarkNet-19

YOLO在VGG的基礎上進行更改,只需要8.52Billion次浮點運算即可進行一次前饋運算。

YOLOv2運用darknet-19結構(如下表),19個conv,5個max_pooling,相比VGG浮點運算量降低1/5,只需要5.58 billion次浮點運算,但是精度並不弱。在ImageNet上可以達到72.9%的top-1準確率與91.2%的top-5準確率。

 分類任務訓練過程

在ImageNet上,1000類,160次epoch迭代訓練,使用隨機梯度下降算法,同時用起始的學習率0.1,decay power of 4,weight decay of 0.0005 and momentum of 0.9.

訓練過程中,使用相應的訓練技巧,包括: random crops, rotations, and hue, saturation, and exposure shifts

訓練過程:初始用224*224大小的圖像訓練,之後改用448*448進行fine-tune,達到了top-1 準確率76.5%和top-5準確率93.3%

目標檢測任務的訓練過程

刪掉最後的卷積層,只保留1024給3*3的卷積核,每個卷積核加一個1*1的卷積。

2.3 Stronger

作者提出一種機制,將分類任務與目標檢測任務共同進行訓練。

識別對象更多,且分層識別的結構Hierarchical classification。

Dataset combination and WordTree

Joint classification and detection

將分類任務與檢測任務共同執行。

三、實驗及結論

YOLO2通過一些改進明顯提升了預測準確性,同時繼續保持其運行速度快的優勢。

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