論文筆記《Spatial Memory for Context Reasoning in Object Detection》


  好久不寫論文筆記了,不是沒看,而是很少看到好的或者說值得記的了,今天被xinlei這篇paper炸了出來,這篇被據老大說xinlei自稱idea of the year,所以看的時候還是很認真的,然后最后確實也發現了不少干貨。

一、introduction

  這篇文章主要還是解決detection中如何有效的利用context信息的問題,這里作者提出了有兩種context信息:1、image-level的信息,也就是當前場景的信息,例如一張床出現在卧室里面,一個籃球出現在籃球場里面,都是極其合理的  2、obeject-object relationship,例如一個人手上拿着一個球,比一個人手上拿着一輛車還是要合理很多很多的。。  

  首先傳統的faster rcnn的pipeline中幾乎沒有利用過任何的context信息,作者提出特別實在NMS的時候,暴力去除掉那些候選框並不是一個好主意,因此提出來spatial memory network來解決這個問題。這個方法的核心就是,當你在圖片中檢測到車,記住它,然后在下次迭代的時候作為先驗知識會幫助下一次的檢測得到一些之前漏檢的結果。

 

二、insight&&contribution

具體的內容其實還是要看paper,文章太長了然后mac截圖好麻煩,記幾點關鍵的吧。

1.首先將在圖片中的檢測物體的行為model成一個公式

   隨后為了實現obeject-obeject的這種conditional的關系,可以將原式近似為:
  再后來引入state變量,其實就是memory,也就是把上式的O0:n-1 encode成state,並且編程了spatial memory。

 

  這些推導當然都是合理的,不過其實一般DL的論文,怎么解釋都有道理。。

2.下圖式整個算法的pipeline,灰色的是原來的faster rcnn的步驟,只不過把conv5的feature換成了m_conv5的feature,並且在每次迭代的時候,通過memory S得到更好的detection結果,然后再根據新的結果更新S,如此迭代優化。

這里為決定memory S的選擇也是比較合理的,如下圖所示:

    細節就不說了,主要是融合了conv5_3的feature以及softmax的的score,前者具有spatial的fearure,后者更多的是semantic的信息。

3.最后一個比較合理的地方就是訓練的一個關鍵了,很多時候你有一個很好的idea,最后的結果不好,未必是你的idea不好,而是有些地方沒有處理好。

  如下圖所示,一開始訓練的時候並不收斂,作者經過實驗和推導發現了問題所在,那就是memory和detection的在bp的時候是有contract的,我們希望第一次之后的迭代是不會檢測到前面的物體的,所以網絡會不停的接受矛盾的signal,一個希望它盡量檢測一切物體,一個希望不要檢測太多,這樣的矛盾是的detecor的更新是不合理的,所以最后作者發現,第一次沒有memory的時候更新detector M,后面的迭代就不BP了。

 

三、conclusion

  讓我最喜歡的是兩點,一個是context信息的object-obejct的闡述,還有一個是訓練的時候bp的細節,到了這個份上,這個工作到底work不work對於我來說已經不是關鍵了。。。。

 

    


免責聲明!

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



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