Weighted Boxes Fusion 是2019年cvpr的一篇文章,文章非常之短(只有三頁不到),並且對bounding box 的融合又非常有效的方法。
原文鏈接:https://arxiv.org/pdf/1910.13302.pdf
源碼https://github.com/ZFTurbo/Weighted-Boxes-Fusion
下面是WBF的算法步驟:
- 每個模型的每個預測框都添加到List B,並將此列表按置信度得分C降序排列
- 建立空List L 和 F(用於融合的)
- 循環遍歷B,並在F中找到於之匹配的box(同一類別MIOU > 0.55)
- 如果 step3 中沒有找到匹配的box 就將這個框加到L和F的尾部
- 如果 step3 中找到了匹配的box 就將這個框加到L,加入的位置是box在F中匹配框的Index. L中每個位置可能有多個框,需要根據這多個框更新對應F[index]的值。
上圖爲F[index]更新方法,x,y對應的是座標值,對座標值根據置信值進行加權求和。 - 遍歷完成後對F中的元素再進行一次置信值的調整,下圖爲調整的方法
這樣調整的原因是減少某些box只被少數模型預測到的置信值。
實驗對比了其他幾種目標框融合的方法:
WBF 的一些缺陷:
- 速度慢,大概比標準NMS慢3倍
- WBF實驗中是在已經完成NMS的模型上進行的