国产色频,国产网站精品,成人在线综合网,精品一区二区三区毛片,亚洲无卡视频,黄色av观看,亚洲福利影视

干貨 | 目標(biāo)檢測(cè)入門(mén),看這篇就夠了(模型的評(píng)測(cè)與訓(xùn)練技巧)

2018-03-19 17:00:56 csdn  點(diǎn)擊量: 評(píng)論 (0)
文章結(jié)構(gòu)檢測(cè)模型的評(píng)測(cè)指標(biāo)目標(biāo)檢測(cè)模型本源上可以用統(tǒng)計(jì)推斷的框架描述,我們關(guān)注其犯第一類(lèi)錯(cuò)誤和第二類(lèi)錯(cuò)誤的概率,通常用準(zhǔn)確率和召回

文章結(jié)構(gòu)

 

 

檢測(cè)模型的評(píng)測(cè)指標(biāo)

 

目標(biāo)檢測(cè)模型本源上可以用統(tǒng)計(jì)推斷的框架描述,我們關(guān)注其犯第一類(lèi)錯(cuò)誤和第二類(lèi)錯(cuò)誤的概率,通常用準(zhǔn)確率和召回率來(lái)描述。準(zhǔn)確率描述了模型有多準(zhǔn),即在預(yù)測(cè)為正例的結(jié)果中,有多少是真正例;召回率則描述了模型有多全,即在為真的樣本中,有多少被我們的模型預(yù)測(cè)為正例。不同的任務(wù),對(duì)兩類(lèi)錯(cuò)誤有不同的偏好,常常在某一類(lèi)錯(cuò)誤不多于一定閾值的情況下,努力減少另一類(lèi)錯(cuò)誤。在檢測(cè)中,mAP(mean Average Precision)作為一個(gè)統(tǒng)一的指標(biāo)將這兩種錯(cuò)誤兼顧考慮。

 

具體地,對(duì)于每張圖片,檢測(cè)模型輸出多個(gè)預(yù)測(cè)框(常常遠(yuǎn)超真實(shí)框的個(gè)數(shù)),我們使用IoU(Intersection Over Union,交并比)來(lái)標(biāo)記預(yù)測(cè)框是否為預(yù)測(cè)正確。標(biāo)記完成后,隨著預(yù)測(cè)框的增多,召回率總會(huì)提升,在不同的召回率水平下對(duì)準(zhǔn)確率做平均,即得到AP,最后再對(duì)所有類(lèi)別按其所占比例做平均,即得到mAP。

 

在較早的Pascal VOC數(shù)據(jù)集上,常采用固定的一個(gè)IoU閾值(如0.5, 0.75)來(lái)計(jì)算mAP,現(xiàn)階段較為權(quán)威的MS COCO數(shù)據(jù)集上,對(duì)不同的IoU閾值(0.5-0.95,0.05為步長(zhǎng))分別計(jì)算AP,再綜合平均,并且給出了不同大小物體分別的AP表現(xiàn),對(duì)定位準(zhǔn)確的模型給予獎(jiǎng)勵(lì)并全面地展現(xiàn)不同大小物體上檢測(cè)算法的性能,更為科學(xué)合理。

 

在實(shí)踐中,我們不僅關(guān)注檢測(cè)模型的精度,還關(guān)注其運(yùn)行的速度,常常用FPS(Frame Per Second,每秒幀率)來(lái)表示檢測(cè)模型能夠在指定硬件上每秒處理圖片的張數(shù)。通常來(lái)講,在單塊GPU上,兩階段方法的FPS一般在個(gè)位數(shù),而單階段方法可以達(dá)到數(shù)十。現(xiàn)在檢測(cè)模型運(yùn)行的平臺(tái)并不統(tǒng)一,實(shí)踐中也不能部署較為昂貴的GPU進(jìn)行推斷。事實(shí)上,很多文章并沒(méi)有嚴(yán)謹(jǐn)討論其提出模型的速度表現(xiàn)(加了較多的trick以使精度達(dá)到SOTA),另外,考慮到目前移動(dòng)端專(zhuān)用芯片的發(fā)展速度和研究進(jìn)展,速度方面的指標(biāo)可能較難形成統(tǒng)一的參考標(biāo)準(zhǔn),需要謹(jǐn)慎看待文章中匯報(bào)的測(cè)試結(jié)果。

 

標(biāo)準(zhǔn)評(píng)測(cè)數(shù)據(jù)集

 

Pascal VOC(Pascal Visual Object Classes)

 

鏈接:http://host.robots.ox.ac.uk/pascal/VOC/

 

自2005年起每年舉辦一次比賽,最開(kāi)始只有4類(lèi),到2007年擴(kuò)充為20個(gè)類(lèi),共有兩個(gè)常用的版本:2007和2012。學(xué)術(shù)界常用5k的trainval2007和16k的trainval2012作為訓(xùn)練集(07+12),test2007作為測(cè)試集,用10k的trainval2007+test2007和和16k的trainval2012作為訓(xùn)練集(07++12),test2012作為測(cè)試集,分別匯報(bào)結(jié)果。

 

Pascal VOC對(duì)早期檢測(cè)工作起到了重要的推動(dòng)作用,目前提升的空間相對(duì)有限,權(quán)威評(píng)測(cè)集的交接棒也逐漸傳給了下面要介紹的COCO。

 

MS COCO(Common Objects in COntext-http://cocodataset.org)

 

檢測(cè)任務(wù)在COCO數(shù)據(jù)集上的進(jìn)展

 

COCO數(shù)據(jù)集收集了大量包含常見(jiàn)物體的日常場(chǎng)景圖片,并提供像素級(jí)的實(shí)例標(biāo)注以更精確地評(píng)估檢測(cè)和分割算法的效果,致力于推動(dòng)場(chǎng)景理解的研究進(jìn)展。依托這一數(shù)據(jù)集,每年舉辦一次比賽,現(xiàn)已涵蓋檢測(cè)、分割、關(guān)鍵點(diǎn)識(shí)別、注釋等機(jī)器視覺(jué)的中心任務(wù),是繼ImageNet Chanllenge以來(lái)最有影響力的學(xué)術(shù)競(jìng)賽之一。

 

iconic與non-iconic圖片對(duì)比

 

相比ImageNet,COCO更加偏好目標(biāo)與其場(chǎng)景共同出現(xiàn)的圖片,即non-iconic images。這樣的圖片能夠反映視覺(jué)上的語(yǔ)義,更符合圖像理解的任務(wù)要求。而相對(duì)的iconic images則更適合淺語(yǔ)義的圖像分類(lèi)等任務(wù)。

 

COCO的檢測(cè)任務(wù)共含有80個(gè)類(lèi),在2014年發(fā)布的數(shù)據(jù)規(guī)模分train/val/test分別為80k/40k/40k,學(xué)術(shù)界較為通用的劃分是使用train和35k的val子集作為訓(xùn)練集(trainval35k),使用剩余的val作為測(cè)試集(minival),同時(shí)向官方的evaluation server提交結(jié)果(test-dev)。除此之外,COCO官方也保留一部分test數(shù)據(jù)作為比賽的評(píng)測(cè)集。

 

COCO數(shù)據(jù)集分布

 

在分布方面,COCO的每個(gè)類(lèi)含有更多實(shí)例,分布也較為均衡(上圖a),每張圖片包含更多類(lèi)和更多的實(shí)例(上圖b和c,均為直方圖,每張圖片平均分別含3.3個(gè)類(lèi)和7.7個(gè)實(shí)例),相比Pascal VOC,COCO還含有更多的小物體(下圖,橫軸是物體占圖片的比例)。

 

COCO數(shù)據(jù)集物體大小分布

 

如本文第一節(jié)所述,COCO提供的評(píng)測(cè)標(biāo)準(zhǔn)更為精細(xì)化,提供的API不僅包含了可視化、評(píng)測(cè)數(shù)據(jù)的功能,還有對(duì)模型的錯(cuò)誤來(lái)源分析腳本,能夠更清晰地展現(xiàn)算法的不足之處。COCO所建立的這些標(biāo)準(zhǔn)也逐漸被學(xué)術(shù)界認(rèn)可,成為通用的評(píng)測(cè)標(biāo)準(zhǔn)。您可以在這里找到目前檢測(cè)任務(wù)的LeaderBoard。

 

錯(cuò)誤來(lái)源分解,詳見(jiàn)http://cocodataset.org/#detections-eval

Cityscapes(https://www.cityscapes-dataset.com)

 

Cityscapes數(shù)據(jù)示例

 

Cityscapes數(shù)據(jù)集專(zhuān)注于現(xiàn)代城市道路場(chǎng)景的理解,提供了30個(gè)類(lèi)的像素級(jí)標(biāo)注,是自動(dòng)駕駛方向較為權(quán)威的評(píng)測(cè)集。

 

檢測(cè)模型中的Bells and wisthles

 

本節(jié)介紹常見(jiàn)的提升檢測(cè)模型性能的技巧,它們常作為trick在比賽中應(yīng)用。其實(shí),這樣的名稱(chēng)有失公允,部分工作反映了作者對(duì)檢測(cè)模型有啟發(fā)意義的觀(guān)察,有些具有成為檢測(cè)模型標(biāo)準(zhǔn)組件的潛力(如果在早期的工作中即被應(yīng)用則可能成為通用做法)。讀者將它們都看作學(xué)術(shù)界對(duì)解決這一問(wèn)題的努力即可。對(duì)研究者,誠(chéng)實(shí)地報(bào)告所引用的其他工作并添加有說(shuō)服力的消融實(shí)驗(yàn)(ablation expriments)以支撐自己工作的原創(chuàng)性和貢獻(xiàn)之處,則是值得倡導(dǎo)的行為。

 

Data augmentation 數(shù)據(jù)增強(qiáng)

 

數(shù)據(jù)增強(qiáng)是增加深度模型魯棒性和泛化性能的常用手段,隨機(jī)翻轉(zhuǎn)、隨機(jī)裁剪、添加噪聲等也被引入到檢測(cè)任務(wù)的訓(xùn)練中來(lái),其信念是通過(guò)數(shù)據(jù)的一般性來(lái)迫使模型學(xué)習(xí)到諸如對(duì)稱(chēng)不變性、旋轉(zhuǎn)不變性等更一般的表示。通常需要注意標(biāo)注的相應(yīng)變換,并且會(huì)大幅增加訓(xùn)練的時(shí)間。個(gè)人認(rèn)為數(shù)據(jù)(監(jiān)督信息)的適時(shí)傳入可能是更有潛力的方向。

 

Multi-scale Training/Testing 多尺度訓(xùn)練/測(cè)試

 

輸入圖片的尺寸對(duì)檢測(cè)模型的性能影響相當(dāng)明顯,事實(shí)上,多尺度是提升精度最明顯的技巧之一。在基礎(chǔ)網(wǎng)絡(luò)部分常常會(huì)生成比原圖小數(shù)十倍的特征圖,導(dǎo)致小物體的特征描述不容易被檢測(cè)網(wǎng)絡(luò)捕捉。通過(guò)輸入更大、更多尺寸的圖片進(jìn)行訓(xùn)練,能夠在一定程度上提高檢測(cè)模型對(duì)物體大小的魯棒性,僅在測(cè)試階段引入多尺度,也可享受大尺寸和多尺寸帶來(lái)的增益。

 

multi-scale training/testing最早見(jiàn)于[1],訓(xùn)練時(shí),預(yù)先定義幾個(gè)固定的尺度,每個(gè)epoch隨機(jī)選擇一個(gè)尺度進(jìn)行訓(xùn)練。測(cè)試時(shí),生成幾個(gè)不同尺度的feature map,對(duì)每個(gè)Region Proposal,在不同的feature map上也有不同的尺度,我們選擇最接近某一固定尺寸(即檢測(cè)頭部的輸入尺寸)的Region Proposal作為后續(xù)的輸入。在[2]中,選擇單一尺度的方式被Maxout(element-wise max,逐元素取最大)取代:隨機(jī)選兩個(gè)相鄰尺度,經(jīng)過(guò)Pooling后使用Maxout進(jìn)行合并,如下圖所示。

 

使用Maxout合并feature vector

 

近期的工作如FPN等已經(jīng)嘗試在不同尺度的特征圖上進(jìn)行檢測(cè),但多尺度訓(xùn)練/測(cè)試仍作為一種提升性能的有效技巧被應(yīng)用在MS COCO等比賽中。

 

Global Context 全局語(yǔ)境

 

這一技巧在ResNet的工作[3]中提出,做法是把整張圖片作為一個(gè)RoI,對(duì)其進(jìn)行RoI Pooling并將得到的feature vector拼接于每個(gè)RoI的feature vector上,作為一種輔助信息傳入之后的R-CNN子網(wǎng)絡(luò)。目前,也有把相鄰尺度上的RoI互相作為context共同傳入的做法。

 

Box Refinement/Voting 預(yù)測(cè)框微調(diào)/投票法

 

微調(diào)法和投票法由工作[4]提出,前者也被稱(chēng)為Iterative Localization。微調(diào)法最初是在SS算法得到的Region Proposal基礎(chǔ)上用檢測(cè)頭部進(jìn)行多次迭代得到一系列box,在ResNet的工作中,作者將輸入R-CNN子網(wǎng)絡(luò)的Region Proposal和R-CNN子網(wǎng)絡(luò)得到的預(yù)測(cè)框共同進(jìn)行NMS(見(jiàn)下面小節(jié))后處理,最后,把跟NMS篩選所得預(yù)測(cè)框的IoU超過(guò)一定閾值的預(yù)測(cè)框進(jìn)行按其分?jǐn)?shù)加權(quán)的平均,得到最后的預(yù)測(cè)結(jié)果。投票法可以理解為以頂尖篩選出一流,再用一流的結(jié)果進(jìn)行加權(quán)投票決策。

 

OHEM 在線(xiàn)難例挖掘

 

OHEM(Online Hard negative Example Mining,在線(xiàn)難例挖掘)見(jiàn)于[5]。兩階段檢測(cè)模型中,提出的RoI Proposal在輸入R-CNN子網(wǎng)絡(luò)前,我們有機(jī)會(huì)對(duì)正負(fù)樣本(背景類(lèi)和前景類(lèi))的比例進(jìn)行調(diào)整。通常,背景類(lèi)的RoI Proposal個(gè)數(shù)要遠(yuǎn)遠(yuǎn)多于前景類(lèi),F(xiàn)ast R-CNN的處理方式是隨機(jī)對(duì)兩種樣本進(jìn)行上采樣和下采樣,以使每一batch的正負(fù)樣本比例保持在1:3,這一做法緩解了類(lèi)別比例不均衡的問(wèn)題,是兩階段方法相比單階段方法具有優(yōu)勢(shì)的地方,也被后來(lái)的大多數(shù)工作沿用。

 

OHEM圖解

 

但在OHEM的工作中,作者提出用R-CNN子網(wǎng)絡(luò)對(duì)RoI Proposal預(yù)測(cè)的分?jǐn)?shù)來(lái)決定每個(gè)batch選用的樣本,這樣,輸入R-CNN子網(wǎng)絡(luò)的RoI Proposal總為其表現(xiàn)不好的樣本,提高了監(jiān)督學(xué)習(xí)的效率。實(shí)際操作中,維護(hù)兩個(gè)完全相同的R-CNN子網(wǎng)絡(luò),其中一個(gè)只進(jìn)行前向傳播來(lái)為RoI Proposal的選擇提供指導(dǎo),另一個(gè)則為正常的R-CNN,參與損失的計(jì)算并更新權(quán)重,并且將權(quán)重復(fù)制到前者以使兩個(gè)分支權(quán)重同步。

 

OHEM以額外的R-CNN子網(wǎng)絡(luò)的開(kāi)銷(xiāo)來(lái)改善RoI Proposal的質(zhì)量,更有效地利用數(shù)據(jù)的監(jiān)督信息,成為兩階段模型提升性能的常用部件之一。

 

Soft NMS 軟化非極大抑制

 

NMS后處理圖示

 

NMS(Non-Maximum Suppression,非極大抑制)是檢測(cè)模型的標(biāo)準(zhǔn)后處理操作,用于去除重合度(IoU)較高的預(yù)測(cè)框,只保留預(yù)測(cè)分?jǐn)?shù)最高的預(yù)測(cè)框作為檢測(cè)輸出。Soft NMS由[6]提出。在傳統(tǒng)的NMS中,跟最高預(yù)測(cè)分?jǐn)?shù)預(yù)測(cè)框重合度超出一定閾值的預(yù)測(cè)框會(huì)被直接舍棄,作者認(rèn)為這樣不利于相鄰物體的檢測(cè)。提出的改進(jìn)方法是根據(jù)IoU將預(yù)測(cè)框的預(yù)測(cè)分?jǐn)?shù)進(jìn)行懲罰,最后再按分?jǐn)?shù)過(guò)濾。配合Deformable Convnets(將在之后的文章介紹),Soft NMS在MS COCO上取得了當(dāng)時(shí)最佳的表現(xiàn)。算法改進(jìn)如下:

 

Soft-NMS算法改進(jìn)

 

上圖中的f即為軟化函數(shù),通常取線(xiàn)性或高斯函數(shù),后者效果稍好一些。當(dāng)然,在享受這一增益的同時(shí),Soft-NMS也引入了一些超參,對(duì)不同的數(shù)據(jù)集需要試探以確定最佳配置。

 

RoIAlign RoI對(duì)齊

 

RoIAlign是Mask R-CNN([7])的工作中提出的,針對(duì)的問(wèn)題是RoI在進(jìn)行Pooling時(shí)有不同程度的取整,這影響了實(shí)例分割中mask損失的計(jì)算。文章采用雙線(xiàn)性插值的方法將RoI的表示精細(xì)化,并帶來(lái)了較為明顯的性能提升。這一技巧也被后來(lái)的一些工作(如light-head R-CNN)沿用。

 

拾遺

 

除去上面所列的技巧外,還有一些做法也值得注意:

 

  • 更好的先驗(yàn)(YOLOv2):使用聚類(lèi)方法統(tǒng)計(jì)數(shù)據(jù)中box標(biāo)注的大小和長(zhǎng)寬比,以更好的設(shè)置anchor box的生成配置

  • 更好的pre-train模型:檢測(cè)模型的基礎(chǔ)網(wǎng)絡(luò)通常使用ImageNet(通常是ImageNet-1k)上訓(xùn)練好的模型進(jìn)行初始化,使用更大的數(shù)據(jù)集(ImageNet-5k)預(yù)訓(xùn)練基礎(chǔ)網(wǎng)絡(luò)對(duì)精度的提升亦有幫助

  • 超參數(shù)的調(diào)整:部分工作也發(fā)現(xiàn)如NMS中IoU閾值的調(diào)整(從0.3到0.5)也有利于精度的提升,但這一方面尚無(wú)最佳配置參照

 

最后,集成(Ensemble)作為通用的手段也被應(yīng)用在比賽中。

總結(jié)

 

本篇文章里,我們介紹了檢測(cè)模型常用的標(biāo)準(zhǔn)評(píng)測(cè)數(shù)據(jù)集和訓(xùn)練模型的技巧,上述內(nèi)容在溯源和表述方面的不實(shí)之處也請(qǐng)讀者評(píng)論指出。從下一篇開(kāi)始,我們將介紹檢測(cè)領(lǐng)域較新的趨勢(shì),請(qǐng)持續(xù)關(guān)注。

大云網(wǎng)官方微信售電那點(diǎn)事兒

責(zé)任編輯:售電衡衡

免責(zé)聲明:本文僅代表作者個(gè)人觀(guān)點(diǎn),與本站無(wú)關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
我要收藏
個(gè)贊
?