繼2015的YOLO后,2016年作者對(duì)YOLO升級(jí)到Y(jié)OLO2,另外一個(gè)版本YOLO9000是基于wordtree跨數(shù)據(jù)集達(dá)到檢測(cè)9000個(gè)分類,卷積層模型稱為darknet-19,達(dá)到速度和效果的雙提升,文章里充滿了作者的自豪,也值得自豪;
作者正視了YOLO的兩個(gè)大問題:回歸框不精準(zhǔn)和召回不夠;一般的解決思路都是把網(wǎng)絡(luò)加深加寬,不過本文不屑,作者反而要通過優(yōu)化網(wǎng)絡(luò)學(xué)習(xí)在準(zhǔn)確率不降的情況下提升精度和召回!
升級(jí)點(diǎn)
Batch Normalization:每個(gè)卷積層加了BN,正則都不要了,droupout也省了,過擬合也沒了,效果還好了,+2%mAP;
High Resolution Classifier - 高分辨率分類:模型訓(xùn)練時(shí)經(jīng)典做法都是先在ImageNet上pre-train,然而ImageNet上的圖片是低分辨率小于256*256的,而要檢測(cè)的圖片是高分辨率448*448的,這樣模型需要同時(shí)在高分辨的圖片上做fine-tune和檢測(cè),所以作者提出了三步驟 1) 在ImageNet低分辨率上pre-train;2) 在高分辨率數(shù)據(jù)集上fine-tune;3) 在高分辨率數(shù)據(jù)集上檢測(cè);使得模型更容易學(xué)習(xí),+4%mAP
Convolution with Anchor Boxer - 加Anchor機(jī)制:YOLO是通過最后的全連接層直接預(yù)估絕對(duì)坐標(biāo),而FasterRCNN是通過卷積層預(yù)估相對(duì)坐標(biāo),作者認(rèn)為這樣更容易學(xué)習(xí),因此YOLOv2去掉了全連接層,在最后一層卷積層下采樣后用Anchor,yolo有7*7*2 = 98個(gè)框,而YOLOv2有超過1k的anchor,最終效果上雖然mAP略有下降3個(gè)千分點(diǎn),但是召回提升7個(gè)百分點(diǎn),值了!
Dimension Clusters - 維度聚類: Anchor的尺寸faster rcnn里人工選定的,YOLOv2通過k-mean聚類的方法,將訓(xùn)練數(shù)據(jù)里gt的框進(jìn)行聚類,注意這里不能直接用歐式距離,大框會(huì)比小框影響大,我們的目標(biāo)是IOU,因此距離為: d(box, centroid) = 1 IOU(box, centroid);下圖是結(jié)果,左圖是k和IOU的trand-off,右圖是5個(gè)中心的框尺寸,明顯看出和人工指定的差異很大;
Direct location prediction - 直接預(yù)測(cè)位置:直接預(yù)測(cè)x,y會(huì)導(dǎo)致模型訓(xùn)練不穩(wěn)定,本文預(yù)測(cè)如下tx,ty,tw,th,to,通過sigmolid歸一化到(0,1),結(jié)合dimension clusters,+5%mAP
Fine-Grained Freture - 細(xì)粒度特征:引入passthrough layer,將低維度特征傳遞給高維度,類似于resnet的shortcut,+1%mAP;
Multi-Scale Training - 多尺度訓(xùn)練:這里的多尺度是圖片的尺寸,多了迫使模型適應(yīng)更大范圍的尺寸,每隔一定的epoch就強(qiáng)制改變輸入圖片的尺寸;
效果
如下是在VOC數(shù)據(jù)集上效率(每秒處理幀數(shù))和效果(mAP)空間里不同算法的變現(xiàn),其中YOLOv2為藍(lán)色,有不同的trade-off,效率和效果都超過已有的方法;
如下是更多的實(shí)驗(yàn)結(jié)果:
如下是COCO上的效果,看得出COCO數(shù)據(jù)集還是很難的,小物體上YOLO2依然是差一些;
YOLO9000: Better, Faster, Stronger
-
算法
+關(guān)注
關(guān)注
23文章
4631瀏覽量
93437 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1209瀏覽量
24851 -
voc
+關(guān)注
關(guān)注
0文章
105瀏覽量
15732
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論