論文閱讀:Adaptive NMS: Refining Pedestrian Detection in a Crowd


論文閱讀:Adaptive NMS: Refining Pedestrian Detection in a Crowd

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接: https://blog.csdn.net/qq_37014750/article/details/89222334

Adaptive-NMS(CVPR 2019)

文章
  又是一篇在NMS上面做文章的paper。。讀完之后感覺,哇!自己再想的深一點也能想出來呀,可是想出來和做出好效果真是兩碼事。。尤其是沒有人告訴你這個idea的價值只能靠自己判斷的時候。扯遠了。。。還是說一說這篇文章吧。
  NMS是目前基於深度學習的目標檢測模型的重要的后處理步驟,針對目標檢測來講,NMS具體操作就是將所有檢測結果(設為集合A)中score最大的結果取出來加入到最后的檢測結果集合(設為集合B),然后將A中其它檢測結果i中與該結果進行比較,如果如該結果的相似度(往往使用IoU)超過一個閾值就將i從A中去掉。重復上述操作,直到A為空空集,偽代碼如下(greedy-NMS就是普通的NMS):

  然而普通NMS的問題在於,如果兩個ground truth本身就有overlap的話,這個時候就不好辦了,如果overlap較小,沒有問題,但如果overlap較大呢?比crowd這種場景,這時候要想能檢測出兩個gt,只能設置較大的閾值來保證較小score的結果不被抑制。可矛盾在於,在crowd這種情況下,人群有時候密集有時候稀疏,高的閾值又會導致對於稀疏的情況下產生過多的False Positive(即被錯認為positive的結果)。為了嘗試解決這個問題呢,ICCV 2017一篇soft-NMS橫空出世(靠一行代碼就發了ICCV,牛逼。。。。)。soft-NMS的思想是,NMS所謂的“抑制”可以看做將檢測結果的分數置0了,從而就不要該結果了,那么可不可以不置0,而是減小score呢,不過是IoU越大,score減小的越多。

為什么可以這樣弄呢?其實細想一下,雖然會存在gt之間存在overlap的情況,但我們的目的是抑制那些overlap更大的(比如有三個結果ABC,分數分別為0.9,0.8,0.7,其中AC是正確結果,A和B的overlap大於A和C的,這樣經過一輪NMS后BC的分數可能就變了0.6,0.5,從而將B抑制了)最后實驗證明。。。這個想法還真有效!
  這篇論文呢,針對crowd中的行人檢測這一特殊的應用場景,對soft-NMS又進行了優化,使得在人群密集的地方,NMS閾值較大,而人群稀疏的地方NMS閾值較小。但是問題在於怎么判斷人群是否密集,又怎么根據密集程度定NMS閾值呢?對於第一個問題。。。當然是用CNN啦!於是文章就定義了第i個物體處的密度如下:


 

因此在訓練CNN時,每次還需要求出密度作為監督信號,訓練網絡能夠擬合這個密度函數,即輸入一張圖片,能輸出每個位置的物體密度,但這個參數怕是作者調了不短的時間,模型如下:

有了密度之后,soft-NMS就改進成了

  emmmm,文章的方法就是這樣,感覺也是很自然的發現一個問題然后想辦法去解決,不過個人以為這個模型恐怕真不好調參。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM