筆記:Deep attributes from context aware regional neural codes

泡溫水澡的青蛙發表於2016-02-17

這篇文章是基於CNN特徵結合傳統分類器的一個文章,可以算是當前的一大熱點方向,最後的實驗結果在Pascal Voc07以及12上的效果也相當好,說明這個工作確實是很有價值的。
從兩個方面對文章進行說明:
1)特徵:文章的一個亮點就是採用了proposal來提取特徵,用於分類等等一些任務。這個的創新在於之前的特徵都是基於整幅圖,將整個圖片用在pre-trained CNN,然後將中間層的結果作為特徵,這種特徵一方面無法解釋, 另一方面整幅圖的特徵往往重點不突出,這個就是我理解的semantic information。本文采用的deep attributes(DA)採用的步驟如下:首先對整個影像提取proposal(本文提到的提取proposal的方法包括edge box或者是selective search),然後將這些proposal作為輸入,提取相應區域的regional feature;最後將這些feature作為輸入,做一個CRP(cross region pooling).作為最後訓練分類器的特徵。下面這個圖很好的表示了這個過程:
這裡寫圖片描述
關於region features這塊確實很巧妙,不過它對於傳統的方法應該也是可以用的,將目標跟蹤的proposal引入到分類任務中,可以有效的區分背景與分類目標,當然這裡需要訓練集裡的目標也比較清晰。不知道這個是否之前在傳統的模型就有人試過。
2)訓練分類器:提取到DA之後,可以直接用於訓練傳統的分類器了,比如SVM或者其他線性分類器。文章在這個基礎上,進一步結合proposal的選取做了一個工作。我們知道一幅圖不同proposal對應影像不同的region,這樣的話每個region對與最終分類的貢獻也就不一樣,可以分為三類:目標region:本身包含了分類目標(比如人);context region:上下文,比如出現了一匹馬通常就會有人(一般是人騎馬);還有就是背景區域:比如一棵樹和人同時出現在影像中,而樹和人在日常生活中並沒有太相關的聯絡,所以可以把樹看成背景區域,包含噪聲。這三種很明顯的target region對分類的貢獻高於其他兩者,context region高於background noise region。如何利用這些資訊進行refining?文章提出了CARR(context aware region refining):
這裡寫圖片描述
通俗的說就是依靠訓練的分類器給每個region一個分數,根據這個分數來進行排序;然後選取region中分數最高的(可以看作對分類貢獻最大的) 一部分做CRP構造整個圖的特徵用於訓練分類器。通過這種方式降低了圖片中的噪聲資訊對訓練階段的影響。
文章給出了對應的預測階段的分類演算法:
這裡寫圖片描述
這裡有個地方不明白,測試階段為什麼還有for t=1:T那層迴圈,按照我的理解,應該只需要用訓練階段最終的分類器去判別不同region的分數,然後排序即可,也就是for t=T:T這個一層迴圈即可,而且也看不懂T-1層迴圈的結果對最終T層迴圈的結果有什麼影響。這個還有待看過文章的人的指點。

學習筆記,不當之處敬請指點~

相關文章