(11)NMS與Soft-NMS

(1)NMS算法介紹

????物體檢測(cè)是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)經(jīng)典問(wèn)題,它為特定類別的物體產(chǎn)生檢測(cè)邊框并對(duì)其分類打分。傳統(tǒng)的物體檢測(cè)流程常常采用多尺度滑動(dòng)窗口,根據(jù)每個(gè)物體類別的前景/背景分?jǐn)?shù)對(duì)每個(gè)窗口計(jì)算其特征。然而,相鄰窗口往往具有相關(guān)的分?jǐn)?shù),這會(huì)增加檢測(cè)結(jié)果的假陽(yáng)性。為了避免這樣的問(wèn)題,人們會(huì)采用非最大抑制的方法對(duì)檢測(cè)結(jié)果進(jìn)行后續(xù)處理來(lái)得到最終的檢測(cè)結(jié)果。目前為止,非最大抑制算法仍然是流行的物體檢測(cè)處理算法并能有效的降低檢測(cè)結(jié)果的假陽(yáng)性。

????在現(xiàn)有的物體檢測(cè)框架中,每一個(gè)檢測(cè)框均會(huì)產(chǎn)生檢測(cè)分?jǐn)?shù),那么對(duì)于圖片中的一個(gè)物體可能對(duì)應(yīng)多個(gè)檢測(cè)分?jǐn)?shù)。在這種情況下,除了最正確(檢測(cè)分?jǐn)?shù)最高)的一個(gè)檢測(cè)框,其余的檢測(cè)框均產(chǎn)生假陽(yáng)性結(jié)果。非最大抑制算法針對(duì)特定物體類別分別設(shè)定重疊閾值來(lái)解決這個(gè)問(wèn)題。


NMS 計(jì)算過(guò)程

????傳統(tǒng)的非最大抑制算法首先在被檢測(cè)圖片中產(chǎn)生一系列的檢測(cè)框B以及對(duì)應(yīng)的分?jǐn)?shù)S。當(dāng)選中最大分?jǐn)?shù)的檢測(cè)框M,它被從集合B中移出并放入最終檢測(cè)結(jié)果集合D。于此同時(shí),集合B中任何與檢測(cè)框M的重疊部分大于重疊閾值Nt的檢測(cè)框也將隨之移除。非最大抑制算法中的最大問(wèn)題就是它將相鄰檢測(cè)框的分?jǐn)?shù)均強(qiáng)制歸零。在這種情況下,如果一個(gè)真實(shí)物體在重疊區(qū)域出現(xiàn),則將導(dǎo)致對(duì)該物體的檢測(cè)失敗并降低了算法的平均檢測(cè)率(average precision, AP)。


含重疊區(qū)域的bbox

(2)Soft-NMS

? ??針對(duì)NMS存在的這個(gè)問(wèn)題,我們提出了一種新的Soft-NMS算法,它只需改動(dòng)一行代碼即可有效改進(jìn)傳統(tǒng)貪心NMS算法。在該算法中,我們基于重疊部分的大小為相鄰檢測(cè)框設(shè)置一個(gè)衰減函數(shù)而非徹底將其分?jǐn)?shù)置為零。簡(jiǎn)單來(lái)講,如果一個(gè)檢測(cè)框與M有大部分重疊,它會(huì)有很低的分?jǐn)?shù);而如果檢測(cè)框與M只有小部分重疊,那么它的原有檢測(cè)分?jǐn)?shù)不會(huì)受太大影響。在標(biāo)準(zhǔn)數(shù)據(jù)集PASCAL VOC 和 MS-COCO等標(biāo)準(zhǔn)數(shù)據(jù)集上,Soft-NMS對(duì)現(xiàn)有物體檢測(cè)算法在多個(gè)重疊物體檢測(cè)的平均準(zhǔn)確率有顯著的提升。同時(shí),Soft-NMS不需要額外的訓(xùn)練且易于實(shí)現(xiàn),因此,它很容易被集成到當(dāng)前的物體檢測(cè)流程中。


算法修改部分

? ??假設(shè)我們對(duì)一個(gè)與M高度重疊的檢測(cè)框bi的檢測(cè)分?jǐn)?shù)進(jìn)行衰減,而非全部抑制。如果檢測(cè)框bi中包含不同于M中的物體,那么在檢測(cè)閾值比較低的情況下,該物體并不會(huì)錯(cuò)過(guò)檢測(cè)。但是,如果bi中并不包含任何物體,即使在衰減過(guò)后,bi的分?jǐn)?shù)仍然較高,它還是會(huì)產(chǎn)生一個(gè)假陽(yáng)性的結(jié)果。因此,在使用NMS做物體檢測(cè)處理的時(shí)候,需要注意以下幾點(diǎn):

????相鄰檢測(cè)框的檢測(cè)分?jǐn)?shù)應(yīng)該被降低,從而減少假陽(yáng)性結(jié)果,但是,衰減后的分?jǐn)?shù)仍然應(yīng)該比明顯的假陽(yáng)性結(jié)果要高。

????通過(guò)較低的NMS重疊閾值來(lái)移除所有相鄰檢測(cè)框并不是最優(yōu)解,并且很容易導(dǎo)致錯(cuò)過(guò)被檢測(cè)物體,特別是在物體高度重疊的地方

????當(dāng)NMS采用一個(gè)較高的重疊閾值時(shí),平均準(zhǔn)確率可能會(huì)相應(yīng)降低。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容