Gram Matrices理解
首先我們理一下Gram Matrices的計算過程:
假設輸入圖像經過卷積後,得到的feature map爲[b, ch, h, w]。我們經過flatten和矩陣轉置操作,可以變形爲[b, ch, h*w]和[b, h*w, ch]的矩陣。再對1,2維作矩陣內積得到[b, ch, ch]大小的矩陣,這就是我們所說的Gram Matrices。 (藍色條表示每個通道flatten後特徵點)
Gram Matrices爲什麼能捕獲風格信息呢?風格信息又是什麼呢?這裏我們首先對矩陣中單個元素作分析。
比如我們假設輸入圖像經過卷積後得到的[b, ch, h*w]的feature map,其中我們用
可以看到,
我們對每一通道對應特徵點乘完之後,再相加。這一步就去掉了特徵的空間信息。因爲我們可以猜測,一張圖片的風格信息應該是獨立於空間信息的,在表徵風格的時候我們需要去掉每個特徵(一個通道表示一個特徵)的空間信息。雖然我們在同一通道下消除了空間信息,但是在兩兩組合過程中我們卻有考慮同位置相乘來保留特徵間(不同通道下)的位置信息。所以我們得到的Gram Matrices就是用不同信息敏感的濾波器,在相同位置抽取到的不同特徵之間的兩兩組合。或者引用這篇博客的話:Gram矩陣的每個值可以說是代表m通道的特徵與n通道的特徵的互相關程度。
那濾波器到底抽取到了什麼東西呢?
由於濾波器的性質,它可以是高通可以是低通,或多或少會對諸如高光,陰影,飽和度等特徵敏感,這樣在濾波後就會在諸如高光,陰影,飽和度高的地區產生更高的響應幅值。這樣通過在特徵圖的同一個位置下兩兩融合該位置的不同特性濾波器得到的特徵響應,諸如高光響應幅值和高飽和度響應幅值的融合響應幅值,即得到了Gram Matrices的元素
就以上分析,我們可以解釋Gram Matrices抽取到的是:在圖片的同一位置下,不同特徵之間的組合。
而有人證明了Gram Matrices是MMD的二次多項式核變種,那MMD表徵的是什麼信息呢?
MMD的理解可以參考我的上一篇博客,或者這篇博客,這裏不多作介紹。我們可以根據MMD和Gram Matrices的證明過程來判斷:
由圖可知,
黃色和藍色分別代表兩個特徵位置下各個通道的特徵點集合,相乘後得到右邊結果。解釋類似上面Gram Matrices。 因爲濾波器濾波後得到的每個特徵點表徵的是輸入圖片的語義信息,所以
這裏我們可以解釋MMD抽取到的是:在圖片的同一特徵下,不同語義信息之間的組合。
綜上,個人理解CNN下的風格爲:圖片的語義信息的組合和特徵信息的組合。
reference
【1】Gatys L A, Ecker A S, Bethge M. Image Style Transfer Using Convolutional Neural Networks[C]// Computer Vision and Pattern Recognition. IEEE, 2016:2414-2423.
【2】http://blog.csdn.net/hungryof/article/details/60466513
【3】https://zhuanlan.zhihu.com/p/28478034
【4】Li Y, Wang N, Liu J, et al. Demystifying Neural Style Transfer[J]. 2017:2230-2236.