Paper Reading: YOLO9000: Better,Faster,Stronger

在這裏插入圖片描述
論文地址:YOLOv2

論文概述

YOLOv2在YOLOv1的基礎上進行改進,使用一種全新的多尺度的訓練方法在變化的輸入尺寸上進行訓練,在運行速度和精度之間達到極好的平衡。在67FPS情況下,YOLOv2在VOC2007訓練集上達到76.8mAP。在40FPS,YOLOv2在VOC2007上達到78.6mAP。在保持實時性的效果下,超過當前的最先進技術:使用ResNet的Faster R-CNN和SSD。同時本文也提出一種在目標檢測和目標分類數據集上進行聯合訓練的分層樹結構,使用該方法實現在coco檢測數據集和ImageNet分類數據集上同時訓練YOLO9000。該聯合訓練策略允許YOLO9000在沒有標註的檢測數據的情況下預測檢測目標的類別。

改進之處

考慮到YOLOv1相關工作的誤差來源主要有以下兩點:

  • 定位誤差
  • recall(召回率)太低

批歸一化

使用該方法在mAP上獲得2%的提升,同時有助於對模型進行正則化。使用批歸一化,可以移除模型dropout環節而不導致過擬合。

高分辨率分類器

該策略主要使用完全的448×448448 \times 448分辨率的輸入圖片訓練10輪神經網絡,然後用訓練得到的網絡來執行檢測任務,該策略提升4%的mAP。

使用anchor Boxes 進行卷積

借鑑Faster R-CNN的RPN網絡使用Anchor Boxes的策略,來爲每一個anchor box預測offset和置信度。由於預測層是卷積的,RPN網絡在feature map的每個位置預測對應的offsets而不是座標,這極大地簡化問題也使得網絡的學習更加簡單。

細節

  • 移除YOLOv1的全卷積層,使用anchor box來預測邊界框。將輸入尺寸由448改爲416,使其滿足feature map只有唯一中心位置而不是有四個鄰近中心。對416尺寸輸入圖像使用32的因子進行下采樣能夠得到13×1313 \times 13的feature map的輸出。
  • 對每個anchor box預測其對應類別和可能目標,這一點和YOLOv1基本相同。
  • 使用anchor box可以改變YOLOv1在每幅圖片上只預測98個邊界框的缺陷,能夠達到每幅圖預測數超過一千。

維度聚類

在YOLO上使用anchor box的缺陷:邊界框的維數是手動設置的,好的設置能是網絡的訓練更加簡單,預測效果更好。
在這裏插入圖片描述
爲克服上述手動調節的缺陷,本文采用k-means 聚類來自行選擇最合適的anchor box 尺寸。考慮到使用歐氏距離計算預測精度大的邊界框比小的產生更多錯誤,YOLOv2使用IOU評價指標進行距離度量:
在這裏插入圖片描述
下面對三種聚類策略和純粹的anchor box計算各自的Avg IOU進行比較,結果如下:
在這裏插入圖片描述

直接座標預測

在使用anchor boxes和YOLO結合時,會遇到第二個問題:模型不穩定,特別是在早期的網絡迭代過程中。絕大多數不穩定因素都是由於預測box的座標(x,y)(x,y)。爲此本文對該方法進行改進,預測位置座標和grid cell的相關關係。這樣能夠對真值進行限界,使其落入0-1之間,同時使用邏輯迴歸激活函數來約束預測值落入這個區間。
網絡在輸出的feature map上對每個cell預測5個邊界框,同時在每個邊界框上預測5個座標參數tx,ty,tw,th,tot_x,t_y,t_w,t_h,t_o。如果單元格偏離圖像的左上角(cx,cy)(c_x,c_y),並且前面的邊界框具有寬度和高度pwphp_w,p_h,則預測對應於:
在這裏插入圖片描述
對位置預測進行約束,參數的學習會更加簡單,同時網絡也更加穩定。使用維數聚類和直接預測邊界框的中心位置在使用anchor boxes的基礎上,在YOLOv1的基礎上實現5%的提升。

細粒度的特徵

經過修改的YOLOv1在13×1313\times13的feature map 上預測檢測目標。Faster R-CNN和SSD都通過在不同的feature map上運行網絡來得到一系列不同的分辨率。本文采用一種不同的方法,只需添加一個passthrough圖層,它可以從26 x 26分辨率的早期圖層中獲取特徵。
passthrough層將更高分辨率的特徵和更低分辨率的特徵通過在不同通道堆疊鄰近特徵聯繫起來。這提升了1%的執行效果。

多尺度訓練

爲了使YOLOv2在不同尺寸的圖片上運行時具備魯棒性,本文采取每進行10次迭代就改變網絡輸入尺寸的策略,而不固定輸入圖片的尺寸。考慮到下采樣器的尺寸爲32,選取下列32的倍數的尺寸:320352...608{320,352,...,608}
在這裏插入圖片描述

更進一步的實驗

在這裏插入圖片描述

全新特徵提取模塊(darknet19)

Darknet-19(更輕量級的特徵提取網絡)
作者提出的Darknet-19網絡包含19個卷積層和5個max pooling層,要比YOLOv1中使用的GoogleNet的參數要少。darknet-19的結構示意圖如下。
在這裏插入圖片描述
最終展示一下YOLOv2在darknet-13下的整體網絡結構圖。
在這裏插入圖片描述

分級分類

主要是使用多標籤模型合併ImageNet分類數據集和coco檢測數據集。

關鍵詞:WordNet 、 graph、a hierarchical tree
公式如下:
在這裏插入圖片描述
在這裏插入圖片描述

考慮到ImageNet是個更大的數據集,爲了平衡數據集需要對coco數據集進行上採樣,以使ImageNet數據集是coco數據集的4倍。

分層結構實際效果圖如下:
在這裏插入圖片描述
在這裏插入圖片描述

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