比NMS更優(yōu)的Confluence論文復(fù)現(xiàn)
【GiantPandaCV導(dǎo)語】主要介紹 Confluence: A Robust Non-IoU Alternative to Non-Maxima Suppression in Object Detection 這篇論文的原理,并復(fù)現(xiàn)了算法。覺得有些地方原文沒有講的很明白,在復(fù)現(xiàn)過程中才搞懂。不過目前復(fù)現(xiàn)算法的運(yùn)行速度較慢,如果哪位小伙伴有更好的復(fù)現(xiàn),記得分享一下。
arxiv 論文地址:https://arxiv.org/pdf/2012.00257.pdf
代碼:https://github.com/Huangdebo/Confluence
1. 介紹

用以替代 NMS,在所有 bbox 中挑選出最優(yōu)的集合。NMS 僅考慮了 bbox 的得分,然后根據(jù) IOU 來去除重疊的 bbox。而 Confluence 則是利用曼哈頓距離作為 bbox 之間的重合度,并根據(jù)置信度加權(quán)的曼哈頓距離還作為最優(yōu) bbox 的選擇依據(jù)。
2. 算法原理
2.1 曼哈頓距離
兩點(diǎn)的曼哈頓距離就是坐標(biāo)值差的 L1 范數(shù):

推廣到兩個(gè) bbox 對(duì)的哈曼頓距離則為:

該算法便是以曼哈頓距離作為兩個(gè) bbox 的重合度,曼哈頓距離小于一定值的的 bbox 則被認(rèn)為是一個(gè) cluster。
2.2 歸一化
因?yàn)?bbox 有個(gè)各樣的 size 和 position,所以直接計(jì)算曼哈頓距離就沒有可比性,沒有標(biāo)準(zhǔn)的度量。所以需要對(duì)其進(jìn)行歸一化:

2.3 置信度加權(quán)曼哈頓距離
NMS在去除重合 bbox 是僅考慮其置信度的高低,Condluence 則同時(shí)考慮了曼哈頓距離和置信度,構(gòu)成一個(gè)置信度加權(quán)曼哈頓距離:

3. 算法實(shí)現(xiàn)

算法:
(1)針對(duì)每個(gè)類別挑出屬于該類別的 bbox 集合 B
(2)遍歷 B 中所有的 bbox bi,并計(jì)算 bi 和其他 boox的 曼哈頓距離 p,并歸一化
2.1 選出 p < 2 的集合,作為一個(gè) cluster,并計(jì)算加權(quán)曼哈頓距離 wp。
2.2 在該 cluster 中挑選出最小的 wp 作為 bi 的 wp。
(3)遍歷完畢后,挑出 wp 最小的 bi 作為最優(yōu) bbox,添加進(jìn)最終結(jié)果集合中,并將其從 B 去除
(4)把與最優(yōu) bbox 的曼哈頓距離小于閾值 MD 的的 bbox 從 B 中去除
(5)不斷重復(fù) (2) - (4),每次都選出一個(gè)最優(yōu) bbox,直到 B 為空
注意:
(1)原文偽代碼第 5 行:optimalConfuence 初始化成一個(gè)比較大的值就可以,不一定要是 Ip
(2)原文偽代碼第 12 行:應(yīng)該是 Proximity / si
4. 實(shí)驗(yàn)結(jié)果

歡迎關(guān)注GiantPandaCV, 在這里你將看到獨(dú)家的深度學(xué)習(xí)分享,堅(jiān)持原創(chuàng),每天分享我們學(xué)習(xí)到的新鮮知識(shí)。( ? ?ω?? )?
有對(duì)文章相關(guān)的問題,或者想要加入交流群,歡迎添加BBuf微信:
為了方便讀者獲取資料以及我們公眾號(hào)的作者發(fā)布一些Github工程的更新,我們成立了一個(gè)QQ群,二維碼如下,感興趣可以加入。
