本文轉(zhuǎn)載自AI公園。
作者:Vikas S Shetty
編譯:ronghuaiyang
導(dǎo)讀
模型集成是一種提升模型能力的常用方法,但通常也會(huì)帶來推理時(shí)間的增加,在物體檢測(cè)上效果如何,可以看看。
介紹
集成機(jī)器學(xué)習(xí)模型是一種常見的提升模型能力的方式,并已在多個(gè)場(chǎng)景中使用,因?yàn)樗鼈兘Y(jié)合了多個(gè)模型的決策,以提高整體性能,但當(dāng)涉及到基于DNN(深度神經(jīng)網(wǎng)絡(luò))的目標(biāo)檢測(cè)模型時(shí),它并不僅僅是合并結(jié)果那么簡單。
集成的需求
為了在任何模型中獲得良好的結(jié)果,都需要滿足某些標(biāo)準(zhǔn)(數(shù)據(jù)、超參數(shù))。但在真實(shí)場(chǎng)景中,你可能會(huì)得到糟糕的訓(xùn)練數(shù)據(jù),或者很難找到合適的超參數(shù)。在這些情況下,綜合多個(gè)性能較差的模型可以幫助你獲得所需的結(jié)果。在某種意義上,集成學(xué)習(xí)可以被認(rèn)為是一種通過執(zhí)行大量額外計(jì)算來彌補(bǔ)學(xué)習(xí)算法不足的方法。另一方面,另一種選擇是在一個(gè)非集成系統(tǒng)上做更多的學(xué)習(xí)。對(duì)于計(jì)算、存儲(chǔ)或通信資源的相同增加,集成系統(tǒng)使用兩種或兩種以上的方法可能會(huì)比使用單一方法增加資源的方法更有效地提高整體精度。
看起來挺好,有沒有缺點(diǎn)呢?
更難調(diào)試或理解預(yù)測(cè),因?yàn)轭A(yù)測(cè)框是根據(jù)多個(gè)模型繪制的。
推理時(shí)間根據(jù)模型和使用的模型數(shù)量而增加。
嘗試不同的模型以獲得合適的模型集合是一件耗時(shí)的事情。
不同的模型集成
OR方法:如果一個(gè)框是由至少一個(gè)模型生成的,就會(huì)考慮它。
AND方法:如果所有模型產(chǎn)生相同的框,則認(rèn)為是一個(gè)框(如果IOU >0.5)。
一致性方法:如果大多數(shù)模型產(chǎn)生相同的框,則認(rèn)為是一個(gè)框,即如果有m個(gè)模型,(m/2 +1)個(gè)模型產(chǎn)生相同的框,則認(rèn)為這個(gè)框有效。
加權(quán)融合:這是一種替代NMS的新方法,并指出了其不足之處。
在上面的例子中,OR方法的預(yù)測(cè)得到了所有需要的對(duì)象框,但也得到了一個(gè)假陽性結(jié)果,一致性的方法漏掉了馬,AND方法同時(shí)漏掉了馬和狗。
驗(yàn)證
為了計(jì)算不同的集成方法,我們將跟蹤以下參數(shù):
True positive:預(yù)測(cè)框與gt匹配
False Positives:預(yù)測(cè)框是錯(cuò)誤的
False Negatives:沒有預(yù)測(cè),但是存在gt。
Precision:度量你的預(yù)測(cè)有多準(zhǔn)確。也就是說,你的預(yù)測(cè)正確的百分比[TP/ (TP + FP)]
Recall:度量gt被預(yù)測(cè)的百分比[TP/ (TP + FN)]
Average Precision:precision-recall圖的曲線下面積
使用的模型
為了理解集成是如何起作用的,我們提供了用于實(shí)驗(yàn)的獨(dú)立模型的結(jié)果。
1. YoloV3:
2. Faster R-CNN — ResNeXt 101 [X101-FPN]:
集成實(shí)驗(yàn)
1. OR — [YoloV3, X101-FPN]
如果你仔細(xì)觀察,F(xiàn)Ps的數(shù)量增加了,這反過來降低了精度。與此同時(shí),TPs數(shù)量的增加反過來又增加了召回。這是使用OR方法時(shí)可以觀察到的一般趨勢(shì)。
2. AND — [YoloV3, X101-FPN]
與我們使用OR方法觀察到的情況相反,在AND方法中,我們最終獲得了較高的精度和較低的召回率,因?yàn)閹缀跛械募訇栃远急粍h除了,因?yàn)閅oloV3和X101的大多數(shù)FPs是不同的。
檢測(cè)框加權(quán)融合
在NMS方法中,如果框的IoU大于某個(gè)閾值,則認(rèn)為框?qū)儆趩蝹€(gè)物體。因此,框的過濾過程取決于這個(gè)單一IoU閾值的選擇,這影響了模型的性能。然而,設(shè)置這個(gè)閾值很棘手:如果有多個(gè)物體并排存在,那么其中一個(gè)就會(huì)被刪除。NMS丟棄了冗余框,因此不能有效地從不同的模型中產(chǎn)生平均的局部預(yù)測(cè)。
NMS和WBF之間的主要區(qū)別是,WBF利用所有的框,而不是丟棄它們。在上面的例子中,紅框是ground truth,藍(lán)框是多個(gè)模型做出的預(yù)測(cè)。請(qǐng)注意,NMS是如何刪除冗余框的,但WBF通過考慮所有預(yù)測(cè)框創(chuàng)建了一個(gè)全新的框(融合框)。
3. Weighted Boxes Fusion — [Yolov3, X101-FPN]
YoloV3和X101-FPN的權(quán)重比分別為2:1。我們也試著增加有利于X101-FPN的比重(因?yàn)樗男阅芨?,但在性能上沒有看到任何顯著的差異。從我們讀過的加權(quán)融合論文中,作者注意到了AP的增加,但如你所見,WBF YoloV3和X101-FPN并不比OR方法好很多。我們注意到的是,大部分的實(shí)驗(yàn)涉及至少3個(gè)或更多模型。
4. Weighted Boxes Fusion — [Yolov3, X101, R101, R50]
在最后的實(shí)驗(yàn)中,我們使用了YoloV3以及我們?cè)贒etectron2中訓(xùn)練的3個(gè)模型[ResNeXt101-FPN, ResNet101-FPN, ResNet50-FPN]。顯然,召回率有一個(gè)跳躍(約為傳統(tǒng)方法的0.3),但AP的跳躍并不大。另外,需要注意的是,當(dāng)你向WF方法添加更多模型時(shí),誤報(bào)的數(shù)量會(huì)激增。
總結(jié)
當(dāng)使用相互補(bǔ)充的模型時(shí),集成是提高性能的一種很好的方法,但它也會(huì)以速度為代價(jià)來完成推理。根據(jù)需求,可以決定有多少個(gè)模型,采用哪種方法,等等。但從我們進(jìn)行的實(shí)驗(yàn)來看,性能提升的數(shù)量似乎與一起運(yùn)行這些模型所需的資源和推斷時(shí)間不成比例。
審核編輯:湯梓紅
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4771瀏覽量
100712 -
模型
+關(guān)注
關(guān)注
1文章
3226瀏覽量
48806 -
目標(biāo)檢測(cè)
+關(guān)注
關(guān)注
0文章
209瀏覽量
15605
原文標(biāo)題:目標(biāo)檢測(cè)多模型集成方法總結(jié)
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論