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