0
本文作者: 汪思穎 | 2017-08-08 18:41 |
雷鋒網(wǎng) AI科技評(píng)論按:雖然CVPR 2017已經(jīng)落下帷幕,但對(duì)精彩論文的解讀還在繼續(xù)。下文是Momenta高級(jí)研發(fā)工程師李俊對(duì)此次大會(huì)收錄的Speed/Accuracy trade-offs for modern convolutional object detectors 一文進(jìn)行的解讀。
如何選擇物體檢測(cè)器
——對(duì)當(dāng)下主流CNN物體檢測(cè)器的評(píng)測(cè)
自2014年RCNN被提出以來,基于卷積神經(jīng)網(wǎng)絡(luò)的物體檢測(cè)已經(jīng)成為主流。Faster RCNN、SSD、YOLO、 R-FCN等諸多檢測(cè)算法百花齊放,每種方法都在各自的維度上達(dá)到當(dāng)時(shí)的state-of-the-art。而由于各種不同方法在實(shí)驗(yàn)時(shí)所使用的特征提取網(wǎng)絡(luò)、圖像分辨率、軟硬件架構(gòu)等諸多因素不盡相同,目前對(duì)于不同的檢測(cè)方法一直缺乏一個(gè)實(shí)際的公平比較。這篇論文主要討論多種物體檢測(cè)算法在速度、精度做不同權(quán)衡時(shí)的表現(xiàn),進(jìn)而指導(dǎo)實(shí)際應(yīng)用中對(duì)物體檢測(cè)器的選擇。
在這篇文章里面我們主要討論以下幾點(diǎn):
本文為什么要做檢測(cè)器對(duì)比
如何對(duì)不同檢測(cè)器做對(duì)比
對(duì)比的結(jié)論是什么
總結(jié)與思考
1.為什么要做檢測(cè)器對(duì)比
近年來由于CNN的發(fā)展與應(yīng)用,物體檢測(cè)領(lǐng)域得到了快速發(fā)展,如Faster RCNN, R-FCN, Multibox, SSD, YOLO等算法已經(jīng)成功應(yīng)用于實(shí)際產(chǎn)品中,并在各種計(jì)算設(shè)備上展現(xiàn)出可觀的性能。在實(shí)際應(yīng)用中,由于不同的場(chǎng)景下有不同的限制和需求,需要根據(jù)實(shí)際情況權(quán)衡選擇最適合的檢測(cè)方法。這就需要我們對(duì)不同檢測(cè)器的性能有更客觀的認(rèn)識(shí)。
然而,從這些算法的原始文章很難直接獲得對(duì)不同算法在多個(gè)維度的對(duì)比。一方面,不同方法的原始論文在特征提取網(wǎng)絡(luò)、框匹配方式、框的表示、回歸的Loss函數(shù)選擇等方面存在差異(如下表所示)。另一方面,我們?nèi)狈陀^的評(píng)價(jià)標(biāo)準(zhǔn):Pascal VOC或者COCO數(shù)據(jù)集上標(biāo)準(zhǔn)的評(píng)價(jià)準(zhǔn)則mAP只能反映精度,而比賽獲勝的方法通常會(huì)采用多模型融合,如multi-crop和multi-scale等方法來犧牲時(shí)間提升精度。
我們需要系統(tǒng)客觀地對(duì)不同算法在速度、精度、空間占用等多個(gè)維度進(jìn)行評(píng)測(cè),以用于指導(dǎo)選擇在不同實(shí)際情景下所需要的最佳物體檢測(cè)器。
2.如何對(duì)不同檢測(cè)器做對(duì)比
本文對(duì)比了Faster RCNN, SSD和R-FCN三種方法,每種方法都基于TensorFlow的實(shí)現(xiàn),對(duì)比單模型、單次前傳的性能。每一種方法都首先在TensorFlow中復(fù)現(xiàn)了原論文的報(bào)告精度,然后在此基礎(chǔ)上進(jìn)行修改對(duì)比。具體地:特征提取器采用了VGG16, Resnet101, Inception V2, Inception V3, Inception Resnet V2, MobileNet等多個(gè)模型;Faster RCNN和R-FCN選用同樣的feature map層來預(yù)測(cè)region proposal;SSD在最上層的feature map基礎(chǔ)上加入多個(gè)2倍大小的額外層做預(yù)測(cè);Faster RCNN和R-FCN的proposal數(shù)量從10變化到300;本文同時(shí)探索了feature map的stride從32變化到16、8的影響;保持參數(shù)量不變;匹配方式統(tǒng)一為二分圖,匹配框統(tǒng)一encode為[10*x_c/w_a, 10*y_c/h_a, 5*logw, 5*logh],回歸的loss統(tǒng)一設(shè)置為Smooth L1 Loss;輸入圖像分辨率統(tǒng)一resize到短邊為600,同時(shí)對(duì)比了短邊為300分辨率的情況;計(jì)算時(shí)間包含了一次forward加上post-processing的時(shí)間。
3. 對(duì)比的結(jié)論是什么
對(duì)比不同方法的速度-精度圖如下:
Faster RCNN使用更少的proposal,可以顯著加速但僅僅小幅度影響了精度。另外SSD受feature extractor的影響沒有Faster RCNN和R-FCN大。最后本文指出了滿足速度要求情況下的最佳速度精度權(quán)衡的物體檢測(cè)器。如下圖所示:
最快的模型為低分辨率下MobileNet+SSD,精度最高網(wǎng)絡(luò)為Inception Resnet v2 + 300 proposal Faster RCNN。速度精度權(quán)衡到最佳的模型為Resnet 101 + 100 proposal Faster RCNN和Resnet 101 + 300 proposal R-FCN。
4.總結(jié)與思考
論文的價(jià)值體現(xiàn)在,在相對(duì)公平的環(huán)境中對(duì)比了當(dāng)前最好的一些檢測(cè)算法,通過大量不同配置的對(duì)比,對(duì)于實(shí)際應(yīng)用中檢測(cè)任務(wù)的方法選擇給出了一定的指導(dǎo)。實(shí)際應(yīng)用中Faster RCNN和R-FCN可以達(dá)到更好的速度與精度權(quán)衡折衷, 兩步迭代的方案一邊保證了高recall, 一邊保證高precision。另外不考慮運(yùn)行時(shí)間的話Faster RCNN仍然是刷榜的首選。
CVPR 作者現(xiàn)場(chǎng)QA:
1. 不考慮時(shí)間,當(dāng)參數(shù)量相同時(shí),哪種方法的精度更高?
A:Faster RCNN > R-FCN > SSD,其中SSD的主要優(yōu)勢(shì)是快(同樣參數(shù)量情況下)。
2. 為什么two-stage的方案(Faster RCNN、R-FCN)會(huì)比SSD的精度更高?
A:Faster RCNN第一步關(guān)注proposal的效果,第二步關(guān)注refine的效果。提取的ROI區(qū)域會(huì)有一個(gè)zoom in的效果,因而會(huì)比SSD混雜在一起單步學(xué)習(xí)精度更高。
論文地址:https://arxiv.org/abs/1611.10012
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。