天天看點

YOLO v2算法詳解優勢:Better FasterStronger總結

論文位址:YOLO9000: Better, Faster, Stronger

優勢:

YOLO9000能夠預測超過9000個不同類别。

在voc07資料集上,YOLO v2表現勝過Faster R-CNN,67FPS,76.8mAP;40FPS,78.6mAP。

Better

YOLO算法産生大量定位誤差,并且具有低召回率。是以我們在維持分類準确性的前提下,提高召回率和定位準确度。

1、Batch Normalization

BN為對每一層輸入進行歸一化處理,一般放在卷積層後,激活層前。

  1.  加入BN層,在沒有正則項時,也可加速收斂。
  2. mAP提升2%。
  3. 加入BN層,即使去掉dropout層,也不會出現過拟合現象。

2、High Resolution Classifier

YOLO在

YOLO v2算法詳解優勢:Better FasterStronger總結

分辨率上訓練網絡,在

YOLO v2算法詳解優勢:Better FasterStronger總結

分辨率上檢測,導緻網絡模型在轉換到目标檢測時,需要調整分辨率。

YOLO v2在

YOLO v2算法詳解優勢:Better FasterStronger總結

分辨率ImageNet資料集訓練160個epoch,之後改變分辨率為

YOLO v2算法詳解優勢:Better FasterStronger總結

,訓練10個epoch,資料集仍為ImageNet;最後在檢測資料集上fine-tune,最終mAP提升4%。

3、Convolutional With Anchor Boxes

YOLO通過全聯接層直接預測bounding box坐标,而Faster R-CNN中RPN通過卷積層預測anchor的偏移和置信度,因為預測層是卷積層,預測偏移而不是坐标使得網絡更易于學習。

YOLO v2移除YOLO網絡中的全聯接層,使用anchor box預測bounding box。首先,去除一個池化層,使卷積層輸出有較高分辨率;其次縮減網絡,更改輸入圖檔

YOLO v2算法詳解優勢:Better FasterStronger總結

YOLO v2算法詳解優勢:Better FasterStronger總結

,之是以做如此更改,是因為這樣特征圖有奇數個位置,存在中心單元;輸入圖檔

YOLO v2算法詳解優勢:Better FasterStronger總結

,通過卷積層降采樣32倍,得到

YOLO v2算法詳解優勢:Better FasterStronger總結

的特征圖。是以中心單元為1個而不是4個,對于大目标,通常占據圖檔中心,是以希望用一個中心單元預測目标,而不是4個。

YOLO每張圖檔預測98個box,引入anchor box後,YOLO v2每張圖檔預測超過1000個box。引入anchor box之前,模型mAP為69.5%,召回率81%;引入anchor box之後,模型mAP略微下降,為69.2%,但召回率提高明顯,為88%

4、Dimension Clusters

作者引入anchor遇到第一個問題:box大小通過人工選擇。

在Fast R-CNN中,anchor box大小根據經驗設定,然後通過訓練不斷調整。但是若一開始標明恰當尺寸,可以幫助網絡進行更好的預測。作者k-means的方式對訓練集的bounding boxes做聚類,找到合适大小anchor box。

由于使用标準k-means的方法,即使用歐式距離進行聚類,則大的box産生的誤差必然比小box要大很多。是以采用評估公式為:

YOLO v2算法詳解優勢:Better FasterStronger總結

 centroid表示簇的中心。

YOLO v2算法詳解優勢:Better FasterStronger總結

左圖表示不同資料集上簇的個數與平均IOU關系,k=5時是比較好的權衡點,平衡召回率與模型複雜度。右圖展示在不同資料集得到的簇,即5個box大小。聚類得到的anchor box與手動選擇的anchor box有顯著不同,聚類得到的box大多為高瘦型,很少有矮胖型。

表1中作者采用的5種anchor(Cluster IOU)的Avg IOU是61%。通過聚類産生bounding box的方法,使得模型訓練更容易。

YOLO v2算法詳解優勢:Better FasterStronger總結

5、 Direct location prediction

作者引入anchor遇到第二個問題:模型穩定性。作者認為模型不穩定性主要來自box的(x,y)坐标。

RPN中預測偏移量

YOLO v2算法詳解優勢:Better FasterStronger總結

以及bounding box中心坐标(x,y)可根據下面公式計算:

YOLO v2算法詳解優勢:Better FasterStronger總結
YOLO v2算法詳解優勢:Better FasterStronger總結

個人認為論文中公式寫錯。

這個公式不受限制,是以任何anchor box都可能擴張到圖檔邊界大小,當模型進行随機初始化時,需花費大量時間使模型穩定預測出合适偏移量。

YOLO v2沒有預測偏移量,沿用YOLO方法,預測與網格位置相關的坐标。YOLO v2在

YOLO v2算法詳解優勢:Better FasterStronger總結

的特征圖上的每個單元(cell)預測5個bounding box,每個bounding box需要預測5個坐标:

YOLO v2算法詳解優勢:Better FasterStronger總結

(類似于置信度)。

YOLO v2算法詳解優勢:Better FasterStronger總結

經過sigmoid函數處理後範圍在0到1之間,這樣的歸一化處理也使得模型訓練更加穩定;

YOLO v2算法詳解優勢:Better FasterStronger總結

表示每個cell和圖像左上角的橫縱距離;

YOLO v2算法詳解優勢:Better FasterStronger總結

表示bounding box的寬和高,即一開始設定的anchor大小,是以bounding box的坐标

YOLO v2算法詳解優勢:Better FasterStronger總結

可根據

YOLO v2算法詳解優勢:Better FasterStronger總結

這個cell附近的anchor來預測tx和ty得到的結果。公式如下:

YOLO v2算法詳解優勢:Better FasterStronger總結
YOLO v2算法詳解優勢:Better FasterStronger總結

6、 Fine-Grained(細粒度) Features

YOLO v2算法詳解優勢:Better FasterStronger總結

的特征圖上預測大目标足夠,但對于小目标效果不理想,Faster R-CNN及SSD在不同大小特征圖上進行預測。YOLO v2隻是單純增加 passthrough層,将前面

YOLO v2算法詳解優勢:Better FasterStronger總結

特征圖與本層連接配接。passthrough層将

YOLO v2算法詳解優勢:Better FasterStronger總結

特征圖轉變為

YOLO v2算法詳解優勢:Better FasterStronger總結

的特征圖與本層

YOLO v2算法詳解優勢:Better FasterStronger總結

特征圖結合,得到

YOLO v2算法詳解優勢:Better FasterStronger總結

的特征圖,由此增加細粒度,在此特征圖上做預測。

7、 Multi-Scale Training

為了讓YOLO v2在不同大小圖檔上檢測穩定,引入多尺度訓練。在檢測資料上(非ImageNet資料集)訓練網絡時,每10個batch,網絡随機選擇一個圖檔尺寸,由于模型下采樣倍數為32,是以選擇32的倍數,{320,352,...,608},即圖檔最小為

YOLO v2算法詳解優勢:Better FasterStronger總結

,最大為

YOLO v2算法詳解優勢:Better FasterStronger總結

。這種結構使得網絡學着在各種分别率輸入都有較好預測結果。此網絡在小圖檔上檢測更快,YOLO v2在速度與準确率上找到一個權衡點。

在voc資料集上,YOLO v2與其他模型檢測效果比較如表3所示。

YOLO v2算法詳解優勢:Better FasterStronger總結

在較高分辨率的輸入圖檔下,YOLO v2檢測mAP為78.6%,40FPS,達到實時檢測效果。

表四與表五展示不同檢測模型在VOC及COCO資料集上檢測效果。

YOLO v2算法詳解優勢:Better FasterStronger總結
YOLO v2算法詳解優勢:Better FasterStronger總結

表二總結YOLO到YOLO v2的過渡過程。使用anchor及新網絡對mAP提升不大,但是使用anchor box提高了召回率,使用新網絡縮減33%計算量。

YOLO v2算法詳解優勢:Better FasterStronger總結

 Faster

 VGG-16有 30.69 billion  operations, Googlenet比 VGG-16計算速度快,有8.52 billion operations,但是在ImageNet資料集上,基于Googlenet的YOLO top-5準确率為88%,而基于VGG-16的模型top-5準确率為90%.

1、Darknet-19

作者提出一種新的網絡作為YOLO v2的基礎——Darknet-19.

  1. 該網絡與VGG-16類似,大量使用
    YOLO v2算法詳解優勢:Better FasterStronger總結
    的卷積層,每次進行池化後,都将chanel層翻倍。
  2. 使用global average pooling代替全聯接層。
  3. 在兩個
    YOLO v2算法詳解優勢:Better FasterStronger總結
    的卷積層之間使用
    YOLO v2算法詳解優勢:Better FasterStronger總結
    的卷積層壓縮特征。
  4. 使用BN層,使得訓練過程穩定,加速收斂,正則化模型。

Darknet-19網絡有19個卷積層,5個maxpooling層,網絡結構如表6所示,最後用其有5.58 billion operations,在ImageNet資料集上取得top-1的72.9%的準确率以及top-5的91.2%的準确率。

YOLO v2算法詳解優勢:Better FasterStronger總結

2、Training for classification

首先在1000類的ImageNet資料集上進行訓練Darknet-19網絡,訓練160個epoch,輸入圖像的大小是224*224,初始學習率為0.1。訓練過程使用标準資料增強方法:随機裁剪,旋轉,色調、飽和度及曝光度變化。

接下來在448*448圖像上fine tune網絡,訓練10個epoch,學習率為0.001,其他參數不變。此時在ImageNet資料集上取得top-1的76.5%的準确率以及top-5的93.3%的準确率。

3、Training for detection

接下來将上面訓練的網絡移植到檢測網絡,基于檢測資料進行fine-tune,首先更改網絡結構,去除最後一個卷積層,增加3個

YOLO v2算法詳解優勢:Better FasterStronger總結

的卷積層,每個卷積層有1024個filters,每個

YOLO v2算法詳解優勢:Better FasterStronger總結

的卷積層後面跟随

YOLO v2算法詳解優勢:Better FasterStronger總結

的卷積層,filter數量為待檢測的的輸出數量。比如:voc資料集上,我們需要預測5個box,每個box預測5個坐标及20個類别,是以需要

YOLO v2算法詳解優勢:Better FasterStronger總結

個filters,注意與YOLO的不同,YOLO中每個網格預測

YOLO v2算法詳解優勢:Better FasterStronger總結

個參數。最後在最後一層

YOLO v2算法詳解優勢:Better FasterStronger總結

卷積層與倒數第二層卷積層之間加入paathrough層,是以模型增加細粒度特性。

作者在檢測資料集上,訓練160個epoch,初始學習率為0.001,在第60與90個epoch時,學習率分别縮小10倍,weight decay采用0.0005。采用與YOLO、SSD相同的資料擴充政策。

Stronger

作者提出一種聯合訓練分類資料和檢測資料的方法。在檢測資料上學習特别的檢測資訊比如bounding box坐标及常見對象的分類;隻有類别資訊的資料用來擴充模型可檢測的類别數量。

檢測資料和類比資料混合後,在訓練時,對于檢測資料可以根據YOLO v2的損失函數反向傳播對應資訊,對于類别資料,隻反向傳播類别資訊。

大多數對待分類的方法是使用softmax層,但是softmax使得類别之間互相排斥,這對類别有包含關系的資料集不适用,比如ImageNet中的“Norfolk terrier”和COCO中的“dog”。對此作者使用一種多标簽的模型進行聯合資料。

1、Hierarchical classification

ImageNet的标簽分布為WordNet,這種結構是圖結構而不是樹結構。因為樹結構不存在交集,而圖結構可以。比如:狗這個label即屬于犬科也屬于家畜。作者沒有使用全圖結構而是構造一種多層次樹——WordTree,簡化這一問題。我們可以預測每個節點處條件機率值,如下所示,

YOLO v2算法詳解優勢:Better FasterStronger總結

進而如果想判斷某張圖檔是否屬于某一類别,可以計算下面的式子,依次在各個類别條件機率相乘,

YOLO v2算法詳解優勢:Better FasterStronger總結

Imagenet 1k有1000類,使用WordTree後,類别擴充到1369,在Imagenet 1k和WordTree1k上預測情況如圖5所示,在ImageNet上使用一個softmax,在WordTree上使用多個softmax,每一層次類使用一個softmax,

YOLO v2算法詳解優勢:Better FasterStronger總結

作者使用與之前相同的訓練參數,Darknet-19模型在WordTree1k資料集上top-1 accuracy為71.9%,top-5 accuracy為90.4%。盡管增加了額外369類,但準确率值下降了一點兒。

2、Dataset combination with WordTree

使用WordTree可以将多個資料集整合到一起,如圖6所示, 将ImageNet和COCO資料集整合。

YOLO v2算法詳解優勢:Better FasterStronger總結

3、Joint classification and detection

作者通過WordTree聯合COCO資料集與ImageNet資料集前9000類,最終形成9418類的資料集。由于ImageNet資料集遠大于COCO資料集,作者通過過采樣方法(oversample),使ImageNet與COCO資料集比例為4:1.

作者使用新的資料集訓練YOLO9000,其結構與YOLO v2相同,但是每個特征圖中每個cell輸出3個box,而不是5個。

YOLO9000在是以資料上mAP為19.7%,在互斥的156類沒有檢測資訊隻有類别資訊的資料上,mAP為16.0%。YOLO9000可以很容易學習新的動物種類,但是難以學習類似衣服、裝備等類别。動物容易學習是因為從COCO中動物資料很好概括出動物特征,相反,對于衣服、裝備等類别,COCO沒有相應的bpunding box資訊,是以難以檢測。檢測結果如表7所示,

YOLO v2算法詳解優勢:Better FasterStronger總結

總結

主要介紹YOLO v2和YOLO9000兩種實時檢測系統。YOLO v2在各種檢測資料集上檢測速度快,而且對一些不同分辨率的圖檔,YOLO v2找到一個速度和準确率的權衡點。

YOLO 9000通過将有檢測資訊的資料集和隻有類别資訊的資料集合并(WordTree的方法),可以預測超過9000種目标類别。

繼續閱讀