修订版 | 目标检测:速度和准确性比较(Faster R-CNN,R-FCN,SSD,FPN,RetinaNet和YOLOv3)...
很難在不同的目標(biāo)檢測(cè)器之間進(jìn)行公平的比較。對(duì)于哪個(gè)模型是最好的?這個(gè)問(wèn)題是沒(méi)有直接的答案。對(duì)于現(xiàn)實(shí)生活中的應(yīng)用,我們選擇平衡準(zhǔn)確性和速度。除了檢測(cè)器類(lèi)型外,我們還需要了解影響性能的其他選擇:
Feature extractors (VGG16, ResNet, Inception, MobileNet).
Output strides for the extractor.
Input image resolutions.
Matching strategy and IoU threshold (how predictions are excluded in calculating loss).
Non-max suppression IoU threshold.
Hard example mining ratio (positive v.s. negative anchor ratio).
The number of proposals or predictions.
Boundary box encoding.
Data augmentation.
Training dataset.
Use of multi-scale images in training or testing (with cropping).
Which feature map layer(s) for object detection.
Localization loss function.
Deep learning software platform used.
Training configurations including batch size, input image resize, learning rate, and learning rate decay.
最糟糕的是,技術(shù)發(fā)展如此之快,以至于任何比較都很快變得過(guò)時(shí)。在這里,我們總結(jié)了各個(gè)論文的結(jié)果,因此您可以完整分析和對(duì)比它們。然后,我們根據(jù)Google Research中總結(jié)得出一篇綜述。通過(guò)在一種情況下提出多種觀點(diǎn),我們希望我們可以更好地了解性能指標(biāo)。
Performance results
在本節(jié)中,我們總結(jié)了相應(yīng)論文報(bào)告的性能。隨時(shí)快速瀏覽本節(jié)。
Faster R-CNN(https://arxiv.org/pdf/1506.01497.pdf)
這是PASCAL VOC 2012測(cè)試集的結(jié)果。我們對(duì)代表Faster R-CNN性能的最后3行感興趣。第二列代表RPN網(wǎng)絡(luò)制定的RoI數(shù)量。第三列代表使用的訓(xùn)練數(shù)據(jù)集。第四列是測(cè)量精度的平均平均精度(mAP)。
mAP:https://medium.com/@jonathan_hui/map-mean-average-precision-for-object-detection-45c121a31173
PASCAL VOC 2012測(cè)試集的結(jié)果
VOC 2012 for Faster R-CNN
MS COCO上的結(jié)果
COCO for Faster R-CNN
使用PASCAL VOC 2007測(cè)試集在K40 GPU上計(jì)時(shí),以毫秒為單位。
R-FCN?(https://arxiv.org/pdf/1605.06409.pdf)
PASCAL VOC 2012測(cè)試集的結(jié)果
VOC 2012 for R-FCN
(對(duì)某些結(jié)果使用了多尺度的訓(xùn)練和測(cè)試。)
MS COCO上的結(jié)果
COCO for R-FCN
SSD?(https://arxiv.org/pdf/1512.02325.pdf)
這是使用300×300和512×512輸入圖像的PASCAL VOC 2007、2012和MS COCO的結(jié)果。
SSD
(SSD300 *和SSD512 *對(duì)小對(duì)象應(yīng)用數(shù)據(jù)增強(qiáng)以改善mAP。)
性能:
Speed is measure with a batch size of 1 or 8 during inference
(此處的YOLO是指比YOLOv2或YOLOv3慢的v1)
MS COCO的結(jié)果:
COCO for SSD
YOLO(https://arxiv.org/pdf/1612.08242.pdf)
PASCAL VOC 2007測(cè)試集的結(jié)果。
VOC 2007 for YOLOv2
(我們?cè)诖颂幪砑恿薞OC 2007測(cè)試,因?yàn)樗哂嗅槍?duì)不同圖像分辨率的結(jié)果。)
PASCAL VOC 2012測(cè)試集的結(jié)果。
VOC 2012 for YOLOv2
MS COCO上的結(jié)果。
COCO for YOLOv2
YOLOv3?(https://pjreddie.com/media/files/papers/YOLOv3.pdf)
MS COCO上的結(jié)果
COCO for YOLOv3
YOLOv3的性能
YOCO2在COCO上的性能
FPN?(https://arxiv.org/pdf/1612.03144.pdf)
MS COCO上的結(jié)果。
COCO for FPN
RetinaNet?(https://arxiv.org/pdf/1708.02002.pdf)
MS COCO上的結(jié)果
COCO for RetinaNet
MS COCO測(cè)試開(kāi)發(fā)上的速度(ms)與準(zhǔn)確性(AP)。
COCO for RetinaNet
比較論文結(jié)果
并排比較不同論文的結(jié)果是不明智的。這些實(shí)驗(yàn)是在不同的設(shè)置下完成的。盡管如此,我們還是決定將它們繪制在一起,以便至少您對(duì)它們的大致位置有一個(gè)大致了解。但是請(qǐng)注意,我們絕對(duì)不要直接比較這些數(shù)字。
對(duì)于以下呈現(xiàn)的結(jié)果,使用PASCAL VOC 2007和2012數(shù)據(jù)對(duì)模型進(jìn)行了訓(xùn)練。mAP是使用PASCAL VOC 2012測(cè)試儀測(cè)量的。對(duì)于SSD,該圖表顯示了300×300和512×512輸入圖像的結(jié)果。對(duì)于YOLO,其結(jié)果為288×288、416×461和544×544圖像。同一模型的高分辨率圖像具有更好的mAP,但處理速度較慢。
*表示應(yīng)用了小目標(biāo)數(shù)據(jù)增強(qiáng)。
**表示結(jié)果是根據(jù)VOC 2007測(cè)試集測(cè)得的。之所以包含這些內(nèi)容,是因?yàn)閅OLO論文并沒(méi)有許多VOC 2012測(cè)試結(jié)果。由于VOC 2007的結(jié)果總體上比2012年更好,因此我們添加了R-FCN VOC 2007的結(jié)果作為交叉參考( cross reference)。
輸入圖像分辨率和特征提取器會(huì)影響速度。以下是相應(yīng)論文報(bào)告的最高和最低FPS。但是,下面的結(jié)果可能會(huì)有很大的偏差,特別是在不同的mAP下進(jìn)行測(cè)量。
COCO數(shù)據(jù)集上的結(jié)果
在最近幾年中,許多結(jié)果都是使用COCO目標(biāo)檢測(cè)數(shù)據(jù)集專(zhuān)門(mén)測(cè)量的。COCO數(shù)據(jù)集很難進(jìn)行對(duì)象檢測(cè),通常檢測(cè)器的mAP會(huì)低得多。這是一些關(guān)鍵檢測(cè)器的比較。
FPN和Faster R-CNN *(使用ResNet作為特征提取器)具有最高的精度(mAP @ [.5:.95])。RetinaNet使用ResNet構(gòu)建在FPN之上。因此,RetinaNet實(shí)現(xiàn)的最高mAP是結(jié)合金字塔特征的效果,特征提取器的復(fù)雜性和focal loss的綜合影響。但是,請(qǐng)注意,這不是蘋(píng)果與蘋(píng)果的比較(apple-to-apple comparison)。稍后我們將展示Google調(diào)查,以便進(jìn)行更好的比較。但是最好先查看每個(gè)模型的聲明。
Takeaway so far
Single shot detectors 使用較低分辨率的圖像時(shí),每秒幀數(shù)(FPS)令人印象深刻,但以準(zhǔn)確性為代價(jià)。這些論文試圖證明它們可以擊敗基于區(qū)域的探測(cè)器(region based detectors)的準(zhǔn)確性。但是,由于高分辨率圖像通常用于此類(lèi)聲明,因此結(jié)論性較差。因此,他們的情況正在發(fā)生變化。另外,應(yīng)用了不同的優(yōu)化技術(shù),這使得很難隔離每個(gè)模型的優(yōu)點(diǎn)。實(shí)際上,single shot and region based detectors 現(xiàn)在在設(shè)計(jì)和實(shí)現(xiàn)上越來(lái)越相似。但是有些保留,我們可以說(shuō):
如果不需要實(shí)時(shí)速度,基于區(qū)域的檢測(cè)器(如Faster R-CNN)將顯示出較小的精度優(yōu)勢(shì)。
Single shot detectors在這里用于實(shí)時(shí)處理。但是應(yīng)用程序需要驗(yàn)證它是否滿足其準(zhǔn)確性要求。
比較SSD MobileNet,YOLOv2,YOLO9000和Faster R-CNN
實(shí)測(cè)視頻已上傳到b站【30分鐘時(shí)長(zhǎng)】https://www.bilibili.com/video/av75557343/
Report by Google Research (https://arxiv.org/pdf/1611.10012.pdf)
Google Research提供了一份調(diào)查報(bào)告,研究Faster R-CNN,R-FCN和SSD的速度和準(zhǔn)確性之間的權(quán)衡。(本文不涉及YOLO。)它使用MS COCO數(shù)據(jù)集進(jìn)行訓(xùn)練,從而在TensorFLow中重新實(shí)現(xiàn)了這些模型。它建立了一個(gè)更加受控的環(huán)境,并使權(quán)衡比較變得更加容易。它還引入了MobileNet,該技術(shù)可以以較低的復(fù)雜度實(shí)現(xiàn)高精度。
Speed v.s. accuracy
最重要的問(wèn)題不是哪個(gè)檢測(cè)器最好。可能無(wú)法回答。真正的問(wèn)題是,哪種檢測(cè)器以及哪種配置可以為我們提供您的應(yīng)用所需的速度和準(zhǔn)確性之間的最佳平衡。以下是準(zhǔn)確性與 速度權(quán)衡(時(shí)間以毫秒為單位)。
通常,Faster R-CNN更準(zhǔn)確,而R-FCN和SSD更快。
使用帶有300 proposals的Inception Resnet進(jìn)行Faster R-CNN,可在所有測(cè)試案例中以1 FPS提供最高的準(zhǔn)確性。
在針對(duì)實(shí)時(shí)處理的模型中,MobileNet上的SSD具有最高的mAP。
該圖還幫助我們找到最佳交易點(diǎn),以實(shí)現(xiàn)良好的速度回報(bào)。
使用殘差網(wǎng)絡(luò)(Residual Network)的R-FCN模型在準(zhǔn)確性和速度之間取得了很好的平衡,
如果我們將proposals數(shù)量限制為50個(gè),則使用Resnet的Faster R-CNN可以達(dá)到類(lèi)似的性能。
特征提取器
本文研究了特征提取器的準(zhǔn)確性如何影響檢測(cè)器的準(zhǔn)確性。Faster R-CNN和R-FCN都可以利用更好的特征提取器,但對(duì)于SSD來(lái)說(shuō)意義不大。
(x軸是每個(gè)特征提取器分類(lèi)時(shí)top 1%的準(zhǔn)確率。)
目標(biāo)大小
對(duì)于大物體,即使使用簡(jiǎn)單的提取器,SSD的性能也很好。使用更好的提取器,SSD甚至可以匹配其他探測(cè)器的精度。但是與其他方法相比,SSD在小物體上的性能要差得多。
例如,SSD在檢測(cè)下表中的瓶子時(shí)有問(wèn)題,而其他方法則可以。
輸入圖像分辨率
更高的分辨率可以顯著改善小物體的目標(biāo)檢測(cè)能力,同時(shí)也可以幫助大物體。當(dāng)在兩個(gè)維度上將分辨率降低兩倍時(shí),準(zhǔn)確度平均降低15.88%,但預(yù)測(cè)時(shí)間(inference time)也平均降低27.4%。
Number of proposals
所生成的proposals數(shù)量可以顯著影響Faster R-CNN(FRCNN),而不會(huì)大大降低準(zhǔn)確性。例如,使用Inception Resnet,使用50個(gè)proposals而不是300個(gè)proposals時(shí),Faster R-CNN可以將速度提高3倍。準(zhǔn)確性下降僅4%。由于R-FCN的每個(gè)ROI的工作量要少得多,因此速度提高的意義遠(yuǎn)不那么重要。
GPU時(shí)間
這是使用不同特征提取器的不同模型的GPU時(shí)間。
盡管許多論文使用FLOPS(浮點(diǎn)運(yùn)算的數(shù)量)來(lái)衡量復(fù)雜性,但不一定反映準(zhǔn)確的速度。模型的密度(sparse v.s. dense model)會(huì)影響所需的時(shí)間。具有諷刺意味的是,密度較小的模型通常平均需要更長(zhǎng)的時(shí)間才能完成每個(gè)浮點(diǎn)運(yùn)算。在下圖中,大多數(shù)密集模型的斜率(FLOPS和GPU比率)大于或等于1,而較淺模型小于1。也就是說(shuō),即使整體執(zhí)行時(shí)間較短,密度較小的模型效果也不佳。但是,該原因尚未得到本文的充分研究。
Memory
MobileNet具有最小的占用空間。它需要少于1Gb(總)的內(nèi)存。
2016年COCO目標(biāo)檢測(cè)比賽
2016年COCO目標(biāo)檢測(cè)挑戰(zhàn)賽的獲勝作品是使用Resnet和Inception ResNet的五個(gè)Faster R-CNN模型的集合。它在COCO測(cè)試儀上的mAP @ [.5,.95]達(dá)到41.3%,并且在定位小物體方面取得了顯著改進(jìn)。
Lessons learned
Google Research論文的一些主要發(fā)現(xiàn):
R-FCN和SSD模型的平均速度更快,但如果不考慮速度的話,其準(zhǔn)確性就無(wú)法擊敗Faster R-CNN。
Faster R-CNN每個(gè)圖像至少需要100毫秒。
僅使用低分辨率特征圖進(jìn)行檢測(cè)會(huì)嚴(yán)重影響準(zhǔn)確性。
輸入圖像分辨率會(huì)嚴(yán)重影響準(zhǔn)確性。將圖像的寬度和高度減小一半,平均準(zhǔn)確率降低15.88%,但預(yù)測(cè)時(shí)間平均降低27.4%。
特征提取器的選擇會(huì)影響“Faster R-CNN”和“ R-FCN”的檢測(cè)精度,但對(duì)SSD的依賴性較小。
后處理包括非最大抑制(僅在CPU上運(yùn)行),用于最快型號(hào)的運(yùn)行時(shí)間大約為40毫秒,這將速度限制為25 FPS。
如果僅使用一個(gè)IoU計(jì)算mAP,則使用mAP@IoU=0.75。
使用Inception ResNet網(wǎng)絡(luò)作為特征提取器時(shí),使用步幅8而不是16可以將mAP改善5%,但運(yùn)行時(shí)間增加63%。
最準(zhǔn)確
最準(zhǔn)確的單一模型使用Inception ResNet的Faster R-CNN和300個(gè)建議。每個(gè)圖像運(yùn)行1秒。
最準(zhǔn)確的模型是具有多作物預(yù)測(cè)的集成模型。它實(shí)現(xiàn)了對(duì)2016年COCO挑戰(zhàn)的最新檢測(cè)精度。它使用平均精度向量選擇五個(gè)最不同的模型。
最快的
具有MobileNet的SSD可在最快的檢測(cè)器中提供最佳的準(zhǔn)確率折衷。
SSD速度很快,但與其他物體相比,對(duì)小物體的性能較差。
對(duì)于大型物體,SSD可以以更快,更輕的提取器勝過(guò)Faster R-CNN和R-FCN。
準(zhǔn)確率和速度之間達(dá)到良好的平衡
如果我們將proposal數(shù)量減少到50,則Faster R-CNN可以與R-FCN和SSD的速度達(dá)到32mAP。
翻譯原文:https://medium.com/@jonathan_hui/object-detection-speed-and-accuracy-comparison-faster-r-cnn-r-fcn-ssd-and-yolo-5425656ae359?
備注:公眾號(hào)菜單包含了整理了一本AI小抄,非常適合在通勤路上用學(xué)習(xí)。
往期精彩回顧那些年做的學(xué)術(shù)公益-你不是一個(gè)人在戰(zhàn)斗適合初學(xué)者入門(mén)人工智能的路線及資料下載機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)在線手冊(cè)備注:加入本站微信群或者qq群,請(qǐng)回復(fù)“加群”加入知識(shí)星球(4500+用戶,ID:92416895),請(qǐng)回復(fù)“知識(shí)星球”喜歡文章,點(diǎn)個(gè)在看
總結(jié)
以上是生活随笔為你收集整理的修订版 | 目标检测:速度和准确性比较(Faster R-CNN,R-FCN,SSD,FPN,RetinaNet和YOLOv3)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: YOLOv3最全复现代码合集(含PyTo
- 下一篇: 清晰易懂的马尔科夫链原理介绍