Neural Activation Constellations: Unsupervised Part Model Discovery with Convolutional Networks

本人是學生一枚,理解可能頗有偏頗~

寫在前面:個人理解的一些比較關鍵的點

過程:

正常卷積,對某層產生P(通道數)個的激活圖求梯度得到P個特徵梯度圖,在此圖上找響應最強烈的位置, 作爲原圖中的關鍵點。關鍵點的個數等於P,從P個關鍵點中選出M個(可以隨機選擇,也可以用paper中的星座算法檢出率更高一些),以選出的關鍵點爲中心產生根據公式產生M個邊框(相當於窗)。之後對這些邊框中的圖像進行CNN分類(即利用邊框提取特徵),具有最高分類信息的部分被用作估計邊界框(即最關鍵的部分,以此作爲分類依據)。

注意:

Paper用微調來進行數據增強(在選出M個之後進行的微調),具體不懂?

Paper中說與語義提取邊框相比,其更有普適性。

注意激活圖與概率圖的對應(未來)。


星座(Constellations)算法

利用卷積網絡特徵產生一些關鍵點, 並基於這些關鍵點來提取局部區域信息. 通過對卷積特徵進行可視化分析, Simon等人發現響應比較強烈的區域往往對應於原圖中一些潛在的局部區域點. 從這一角度來看, 卷積特徵還可以被視爲一種檢測分數, 響應值高的區域代表着原圖中檢測到的局部區域. 但是, 特徵輸出的分辨率與原圖相差懸殊, 很難對原圖中的區域進行精確定位. 受前期研究工 作[59, 60]的啓發, Simon 等人採用的方法是通過計算梯度圖來產生區域位置。

卷積特徵的輸出是一個W × H ×P維 的張量, P表示通道的數量, 每一維通道可以表示成 一個W × H維的矩陣. 通過計算每一維通道p對每一個輸入像素的平均梯度值, 可以得到與原輸入圖像 大小相同的特徵梯度圖:


可以通過反向傳播高效地完成計算。這樣, 每一個通道的輸入, 都可以轉換成與原圖同樣大小的特徵梯度圖. 於是, 在特徵梯度圖裏響應比較強烈的區域, 即代表原圖中的一個局部區域. 通過計算每一個梯度圖裏響應最強烈的位置, 作爲原圖中的關鍵點。

卷積層的輸出共有P維通道, 通過計算特徵梯度圖的方式能夠產生P個關鍵點位置. 但這些關鍵點中仍然存在一些無關的背景信息, 因此, 需要對關鍵點進行選擇. 這可以通過隨機選擇或者星座(Constellations)算法來完成. 進行特徵選擇之後, 關鍵位置點的個數就從P個 減少到了M個. 得到這些關鍵點之後, 將其作爲標註 框的中心, 取大小爲

(太懶了不想打公式~~)

其中λ ∈{ 1/5 , 1/16 }是 一個超參數, W′和H′是原圖的大小. 這樣就能夠利用標註框來從原圖中提取出局部區域, 再利用卷積網絡來提取特徵.


發佈了28 篇原創文章 · 獲贊 28 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章