很久不寫論文筆記了,不是沒看,而是不多看到好的或者說值得記的了,今天被xinlei這篇paper炸了出來,這篇被據老大說xinlei自稱idea of the year,因此看的時候仍是很認真的,而後最後確實也發現了很多幹貨。算法
1、introduction編程
這篇文章主要仍是解決detection中如何有效的利用context信息的問題,這裏做者提出了有兩種context信息:一、image-level的信息,也就是當前場景的信息,例如一張牀出如今臥室裏面,一個籃球出如今籃球場裏面,都是極其合理的 二、obeject-object relationship,例如一我的手上拿着一個球,比一我的手上拿着一輛車仍是要合理不少不少的。。 網絡
首先傳統的faster rcnn的pipeline中幾乎沒有利用過任何的context信息,做者提出特別實在NMS的時候,暴力去除掉那些候選框並非一個好主意,所以提出來spatial memory network來解決這個問題。這個方法的核心就是,當你在圖片中檢測到車,記住它,而後在下次迭代的時候做爲先驗知識會幫助下一次的檢測獲得一些以前漏檢的結果。ide
2、insight&&contribution優化
具體的內容其實仍是要看paper,文章太長了而後mac截圖好麻煩,記幾點關鍵的吧。idea
1.首先將在圖片中的檢測物體的行爲model成一個公式 spa
這些推導固然都是合理的,不過其實通常DL的論文,怎麼解釋都有道理。。code
2.下圖式整個算法的pipeline,灰色的是原來的faster rcnn的步驟,只不過把conv5的feature換成了m_conv5的feature,而且在每次迭代的時候,經過memory S獲得更好的detection結果,而後再根據新的結果更新S,如此迭代優化。xml
這裏爲決定memory S的選擇也是比較合理的,以下圖所示:blog
細節就不說了,主要是融合了conv5_3的feature以及softmax的的score,前者具備spatial的fearure,後者更多的是semantic的信息。
3.最後一個比較合理的地方就是訓練的一個關鍵了,不少時候你有一個很好的idea,最後的結果很差,未必是你的idea很差,而是有些地方沒有處理好。
以下圖所示,一開始訓練的時候並不收斂,做者通過實驗和推導發現了問題所在,那就是memory和detection的在bp的時候是有contract的,咱們但願第一次以後的迭代是不會檢測到前面的物體的,因此網絡會不停的接受矛盾的signal,一個但願它儘可能檢測一切物體,一個但願不要檢測太多,這樣的矛盾是的detecor的更新是不合理的,因此最後做者發現,第一次沒有memory的時候更新detector M,後面的迭代就不BP了。
3、conclusion
讓我最喜歡的是兩點,一個是context信息的object-obejct的闡述,還有一個是訓練的時候bp的細節,到了這個份上,這個工做到底work不work對於我來講已經不是關鍵了。。。。