卷積神經網絡圖像紋理合成 Texture Synthesis Using Convolutional Neural Networks


卷積神經網絡的圖像紋理合成

TextureSynthesis Using Convolutional Neural Networks

Taylor Guo, 2017年4月29日 星期六

 

摘要

本文介紹了一種基於卷積神經網絡特徵空間的自然紋理的新模型,可以用於物體識別。模型的樣本具有高感知度,顯示出在純分辨狀況下神經網絡的泛化能力。模型內部,用網絡幾個層上的特徵地圖之間的相關關係表示紋理。我們展示了在層之間,紋理表示越來越多地獲取了圖像的統計特徵,使得物體的信息越來越明顯。模型提供了一種新工具模擬神經科學,也提供了新視角來理解卷積神經網絡學習的深度表示。

 

1  簡介

視覺紋理合成的目標是從一個樣本紋理中推導一個泛化的過程,用來生成具有那種紋理的任意的新圖像。合成的紋理的質量評判標準通常是人工檢驗,如果人們無法分辨合成紋理,紋理就是成功合成的。

一般有兩種紋理生成方法。第一種方法是,對像素或原始紋理的整個區塊再採樣生成新紋理。這些非參數再採樣技術和大量擴展或改進方法可以非常有效地生成高質量的自然紋理。然而,它們無法定義爲自然紋理定義一個真正的模型,但只能提供一個機械式的過程,隨機選擇一個源紋理,不改變它的感知特點。

相反,第二種紋理合成的方法是明確定義一個參數化的紋理模型。模型通常由一組圖像空間統計值組成。在模型中,紋理由這些觀測值的結果唯一確定,每個生成相同結果的圖像應該具有相同的紋理。因此,一個紋理的新樣本可以通過尋找生成與原始紋理相同觀測結果的圖像來生成。這個思路是Julesz在論文13中第一次提出,他推測視覺紋理可以用像素的N階直方圖唯一地描述。後來,受哺乳動物早期的視覺系統的線性響應特性的啓發的紋理模型,與方向帶通濾波(Gabor)非常相似。這些紋理模型基於濾波響應的統計測量值,而不是直接作用在圖像像素上。目前,最好的紋理合成的參數模型,可能是論文21中的,計算一個稱爲方向金字塔(論文24)的線性濾波響應池的手工統計數據。然而,儘管這個模型在比較寬的紋理範圍上合成性能非常好,但無法捕捉自然紋理的所有範圍。

圖1:合成方法。紋理分析(左邊)。原始紋理傳入卷積神經網絡,計算大量層上的特徵響應克萊姆矩陣Gl。紋理合成(右邊)。白噪聲圖像傳入卷積神經網絡,計算包含紋理模型的每個層的損失函數El。在每個像素值的總損失函數上計算梯度下降,生成與原始紋理相同的克萊姆矩陣得到一個新圖像。


本文提出了一種新的參數紋理模型處理這個問題,如圖1所示。我們並不是基於早期的視覺系統模型來描述紋理,而是採用了卷積神經網絡,整個腹流功能模型,作爲我們紋理模型的基礎。我們合併了特徵響應的空間統計結構框架,強大的卷積神經網絡特徵空間在物體識別上訓練好了。卷積神經網絡的層級處理架構上構建的空間不變性表示,對紋理模型進行參數化。

 

2  卷積神經網絡

我們使用論文25的VGG-19網絡,它是一個在物體識別上訓練好的卷積神經網絡。這裏只總結一下它的架構。

我們使用了VGG-19網絡的16個卷積層和5個池化層的特徵空間。沒有使用全連接層。網絡架構基於如下兩類基本運算:

1.     線性修正卷積的濾波器大小爲3×3×k,其中k是輸入特徵地圖的數量。卷積的跨度和大小都等於1,這樣輸出特徵地圖就和輸入特徵地圖的空間維度是一樣的。

2.     不重疊的2×2區域的最大池化層,用因子2對特徵地圖降採樣。

這兩類運算是交互進行的,如圖1所示。卷積層後面是最大池化層。每三個池化層後,特徵地圖的數量都是2倍。空間維度降採樣,這個變換會導致因子爲2的特徵響應結果總數量減少。圖1提供了網絡架構圖和每層特徵地圖的數量。既然只使用了卷積層,輸入圖像就可以任意大。第一個卷積層的大小和圖像一樣大,後面層中特徵地圖大小比例保持不變。網絡中每層都定義了一個非線性濾波池,其複雜度隨着它在網絡中的位置而增加。

訓練好的卷積網絡已經公開,caffe框架可以支持它應用到新的應用中。對於紋理生成,我們發現用平均池化取代最大池化操作增強了梯度流,可以獲得更清晰的結果,這就是爲什麼下面的圖像都是用平均池化來生成的。最後,出於實踐上的需要,改變了網絡中權重的大小,每個圖像濾波的平均激活和位置都等於1。如果網絡中的非線性經過線性修正,這樣的縮放不會改變神經網絡的輸出結果。卷積神經網絡生成紋理的代碼和VGG-19網絡的修改源代碼如下所示:https://github.com/leongatys/DeepTextures

 

3  紋理模型

下面介紹的紋理模型很大程度上是受論文21啓發的。爲了生成給定源圖像的紋理,先提取不同大小下的這個同態圖像的特徵。然後,計算特徵響應的統計數據獲得對源圖像的靜態描述(如圖1A)。最後,用白噪聲初始化一個隨機圖像,執行梯度下降,尋找具有相同靜態描述的新圖像(如圖1B)。

與論文21工作的主要區別是,沒有使用線性濾波池和一組手工選擇的統計數據,本文使用了深度神經網絡提供的特徵空間,只有一個空間統計數據:每個網絡層之間的相關係數。

爲了確定一個給定向量化紋理的特徵,先將傳入卷積神經網絡計算網絡中每層l的激活值。既然網絡中每層都可以理解爲一個非線性濾波池,圖像對應的激活值就形成了一組濾波後的圖像(稱爲特徵地圖)。向量化時,一個有Nl個濾波器的層有Nl個特徵地圖每個大小是Ml。這些特徵地圖存儲在矩陣中,其中是第l層位置k上的第j個濾波器的激活值。紋理是靜態定義的,所以紋理模型對空間信息是未知的。丟掉特徵地圖上的空間信息,統計數據是從不同特徵間的相關係數得到的。這些特徵相關係數,是比例常數,由克萊姆矩陣表示,其中是層l上的特徵地圖i和j之間的內積:

  (1)

網絡層1,…,L的一組克萊姆矩陣對應給定的紋理,是紋理的靜態描述,在我們的模型中可以完全確定一個紋理,如圖1A所示。


4  紋理生成

爲了生成給定圖像的新紋理,使用白噪聲圖像的梯度下降查找另外一個圖像,可以匹配原始圖像的克萊姆矩陣表示。這個優化可以用原始整體圖像的克萊姆矩陣和生成圖像的克萊姆矩陣之間的平均平方距離的最小化來處理,如圖1B所示。分別表示原始圖像和生成圖像,分別是l層的各自的克萊姆矩陣表示,如等式1。第l層對總損失函數的貢獻就是:

 (2)

總損失函數是:

(3)

其中wl是每層對總損失函數的貢獻的權重因子。第l層的激活函數El的偏導數的計算爲:

 (4)

El的梯度,也就是的梯度,對應像素,可以用標準誤差反向傳播來計算,如論文18所示。

梯度可以作爲某些數值優化策略的輸入。本文使用L-BFGS算法,對於高維度優化問題看起來是比較合理的選擇。整個流程主要依賴於用於訓練卷積網絡的標準的前饋-反饋傳遞。因此,儘管模型比較複雜,紋理生成仍然可以在使用GPU和訓練深度神經網絡的優化工具時在合理的時間內完成。

 

5  結果

我們展示了我們的模型從4中不同的源圖像生成的紋理,如圖2所示。每一排生成的圖像使用了紋理模型上逐步增加的層數約束梯度下降(圖像中的標籤指的是最上面的層)。也就是說,對某層以上的損失函數,我們設置權重wl=0,但對某層或某層以下的那些層,我們設置權重wl=1。比如,第一排(conv1_1)的圖像只能從VGG網絡的第一層(conv1_1)的紋理表示中生成。第二排(pool1)的圖像從匹配紋理表示的conv1_1,conv1_2和pool1上聯合生成。用這種方法生成的紋理表現出紋理模型特定計算階段得到的自然紋理的結構。


圖2:生成過程模擬。每排對應網絡不同的處理階段。只有在最低層約束紋理表示,合成的紋理有很少的結構,與光譜噪聲非常相似(第一排)。隨着匹配紋理表示的網絡層數增加,生成圖像的自然度也增加(第2-5排;左邊的標籤指的是包含的最上層)。前3列的源紋理採用的是論文21的。爲了更好地對比,在最後一排現實了他們的結果。最後一列顯示的非紋理圖像生成的紋理,爲了更直覺地表現紋理模型是如何表示圖像信息的。

前3列是從自然紋理生成的圖像。可以發現約束所有的層,直到pool4,可以生成複雜的自然紋理,幾乎無法與原始紋理分開,如圖2第5排所示。相反,如果只約束最低層的特徵相關係數,紋理就包含很少的結構,與噪聲差不多,圖2第一排。可以只用從所有層到某一中間層的約束的兩個極值之間插值。我們發現當用於紋理生成的層數增加時自然圖像的統計結構的匹配尺度也會增加。既然層pool4之上的任何層都不會增強合成紋理的質量,就沒有包含任何pool4之上的任何層。爲了方便比較,我們使用了之前論文21中使用的源紋理,也顯示了他們的紋理模型的結果,如圖2最後一排。

爲了更好地直觀解釋紋理合成如何工作,我們展示了用ImageNet中非紋理圖像生成的紋理,如圖2最後一列所示。我們的算法生成的紋理保留了局部空間信息,但丟棄了圖像的全局空間結構。空間信息保留好的區域的大小隨着用於紋理生成網絡層數的增加而增加。這個特徵可以用深度卷積神經網絡層上的逐步增加的感受野的大小來解釋。

使用卷積神經網絡所有層的統計數據時,模型的參數數量非常大。對每個有Nl個特徵地圖的層來說,匹配Nl×(Nl+1)/2個參數,所以如果我們使用所有到且包含pool4的層,我們的模型大概有~852k個參數,圖3A,第4列所示。然而,我們發現這個紋理模型嚴重過參數化。事實上,網絡上每層只有一個尺度(比如,conv1_1和pool1_4),在幾乎不放寬任何質量時模型包含了~177k個參數(如圖3A第3列所示)。通過網絡不同層的特徵向量的主成分分析,我們進一步減少了參數的數量,只在前k個主成分上構建克萊姆矩陣。對層conv1_1和pool1_4用前64個主成分分析,可以將模型減少到~10k個參數,如圖3A第二列。有意思的是,只將特徵地圖平均分佈到conv1_1和pool1_4(1024個參數),也可以生成有趣的紋理(圖3A第一列)。這些減少參數的特定方法表明紋理表示可以被極大地壓縮,對合成的紋理的質量感知影響非常小。尋找可以複製全模型的質量的最小參數集是一個正在研究的非常有趣的課題,也超出了本文的範圍。大量的有~177k個參數的自然紋理合成在我們的網站上可以找到,www.bethgelab.org/deeptextures。可以看到在常規人爲結構上模型的一些失效,比如磚牆。


圖3:A,紋理模型中的參數數量。採用幾種不同的方法減小紋理模型中參數的數量,並比較了結果。B,從caffe網絡不同層生成的紋理。紋理比VGG網絡生成的質量稍差。C,VGG架構生成的紋理但是任意權重。紋理合成在這個案例中會失效,表明學習生成濾波器最紋理生成非常關鍵。

 

通常,我們發現非常深的VGG網絡架構中卷積濾波比較小非常適合用於紋理生成。使用caffe做相同的實驗時,與AlexNet非常相似,生成紋理的質量在兩個方面有所降低。首先,源紋理的統計結構無法完全匹配,甚至使用所有約束時,如圖3B,conv5。第二,可以看到一個人工網格,生成的紋理重疊在一起,如圖3B。我們認爲人工網格來源於caffe參考網絡中的大尺寸感受野和跨度。

Caffe參考網絡中結果表明網絡的架構非常重要,學習的特徵向量對於特徵生成同樣非常關鍵。VGG網絡架構隨機權重合成紋理時,紋理生成會失敗,如圖3C,強調了使用訓練好的網絡的重要性。

爲了更好地理解物體識別任務中的紋理特徵,我們評估了物體識別如何能夠從網絡不同層的紋理特徵中線性解碼。我們計算了ImageNet訓練集的每層每幅圖像的克萊姆矩陣表示,訓練了線性柔性最大分類器識別物體。我們並沒有興趣優化預測性能,沒有使用任何數據增強,訓練、測試都是用的224×224的一批圖像。我們在ImageNet驗證集上計算了這些線性分類器的精度,比較了它們與VGG-19的性能,也評估了224×224的驗證集圖像。


圖4:線性分類器的性能對比,ImageNet數據集上的物體分類不同層上的紋理表示。高層信息隨着紋理層級明顯增加。

分析表明紋理表示持續分解物體識別信息,如圖4所示。物體識別可以隨層數遞增式解碼。事實上,最後池化層的線性解碼結果幾乎與原始圖像一樣,也就是說紋理表示保留了幾乎所有的高階信息。第一眼這可能比較奇怪,紋理表示沒有必要保留非紋理圖像的物體全局結構,如圖2最後一列。然而,我們認爲這種不一致正是所希望的,可能提供了一種觀點去理解卷積神經網絡如果對物體識別編碼。網絡中的卷積表示是等距移動的,網絡中的物體識別任務對空間信息是不知道的,因此我們認爲可以從特徵地圖中的空間信息中獨立地讀出。我們發現確實是這樣的:pool5的克萊姆矩陣的線性分類器與全網絡的性能非常接近,前5個精度87.7%對比88.6%,如圖4所示。

6  討論

本文介紹了基於高性能卷積神經網絡的一種新的參數化紋理模型。我們的紋理模型超過了之前的工作,紋理合成的質量與之前的參數化紋理合成方法相比有了實質的改進。

這個模型與非參數紋理合成方法相比可以生成自然的紋理,這個合成過程的計算代價可能更高。然而,在工業界和學術界,很多人都在想辦法使深度神經網絡更有效率。紋理合成過程構建在相同的操作上,深度卷積網絡的通用領域的過程都可以用於紋理合成方法中。因此,可以期望在實際應用中紋理模型有可觀的改進。

計算特徵地圖的克萊姆矩陣,紋理模型可以將卷積神經網絡中的表示轉換成靜態特徵空間。這個策略可以應用於增強物體識別和檢測或者紋理識別和分割的性能。尤其是Cimapoi用靜態Fisher-Vector表示在已經訓練好的最高層卷積神經網絡,在物體識別和場景風格應用中的性能非常突出。與我們的實驗結果一致,當使用更高層卷積層作爲Fisher-Vector表示的輸入時,他們的性能在天然紋理識別中持續增強。我們的主要目的是合成紋理,並沒有評估紋理識別對比上的克萊姆矩陣表示,但可以期待的是對那些任務它也可以提供比較好的特徵空間。

最近幾年,受生物視覺啓發紋理模型提供了豐富的分析工具用於研究視覺感知器。尤其是論文21啓發了大量神經科學和心理學的研究。我們的紋理模型基於深度卷積神經網絡,是第一個人工系統在困難感知推理任務上可以與生物相媲美,比如物體識別。同時,它們的層級架構和基本運算特點在基礎上與真實的神經系統類似。與卷積神經網絡和腹流視覺路徑中的表示類似,這些特點使得它們對研究大腦的視覺信息處理是最佳候選模型。事實上,性能優化的卷積網絡的表示生產的紋理在感器和心理研究中可能是非常有用的模擬。我們感覺我們的紋理模型是這個方向上的一大進度,使得它提供了一個激動人心的工具用於生物系統的視覺信息處理的研究。


Taylor Guo, 2017年4月30日,20:50 @Shanghai

 

參考文獻

[1] B. Balas, L. Nakano, and R.Rosenholtz. A summary-statistic representation in peripheral vision explainsvisual crowding. Journal of vision, 9(12):13, 2009.

[2] C. F. Cadieu, H. Hong, D. L.K. Yamins, N. Pinto, D. Ardila, E. A. Solomon, N. J. Majaj, and J. J. DiCarlo.Deep Neural Networks Rival the Representation of Primate IT Cortex for CoreVisual Object Recognition. PLoS Comput Biol, 10(12):e1003963, December 2014.

[3] M. Cimpoi, S. Maji, and A.Vedaldi. Deep convolutionalfilter banks for texture recognition and segmentation. arXiv:1411.6836[cs], November 2014. arXiv: 1411.6836.

[4] E. L. Denton, W. Zaremba, J.Bruna, Y. LeCun, and R. Fergus. Exploiting Linear StructureWithin Convolutional Networks for Efficient Evaluation. In NIPS, 2014.

[5] A. Efros and T. K. Leung.Texture synthesis by non-parametric sampling. In Computer Vision, 1999. TheProceedings of the Seventh IEEE International Conference on, volume 2, pages1033–1038. IEEE, 1999.

[6] A. A. Efros and W. T.Freeman. Image quilting for texture synthesis and transfer. In Proceedings ofthe 28th annual conference on Computer graphics and interactive techniques,pages 341–346. ACM, 2001.

[7] J. Freeman and E. P.Simoncelli. Metamers of the ventral stream. Nature Neuroscience,14(9):1195–1201, September 2011.

[8] J. Freeman, C. M. Ziemba, D.J. Heeger, E. P. Simoncelli, and A. J. Movshon. A functional and perceptualsignature of the second visual area in primates. Nature Neuroscience,16(7):974–981, July 2013.

[9] K. He, X. Zhang, S. Ren, andJ. Sun. Spatialpyramid pooling in deep convolutional networks for visual recognition.arXiv preprint arXiv:1406.4729, 2014.

[10] D. J. Heeger and J. R.Bergen. Pyramid-based Texture Analysis/Synthesis. In Proceedings of the 22NdAnnual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH’95, pages 229–238, New York, NY, USA, 1995. ACM.

[11] M. Jaderberg, A. Vedaldi,and A. Zisserman. Speedingup Convolutional Neural Networks with Low Rank Expansions. In BMVC 2014,2014.

[12] Y. Jia, E. Shelhamer, J.Donahue, S. Karayev, J. Long, R. Girshick, S. Guadarrama, and T. Darrell.Caffe: Convolutional architecture for fast feature embedding. In Proceedings ofthe ACM International Conference on Multimedia, pages 675–678. ACM, 2014.

[13] B. Julesz. Visual PatternDiscrimination. IRE Transactions on Information Theory, 8(2), February 1962.

[14] S. Khaligh-Razavi and N. Kriegeskorte.Deep Supervised, but Not Unsupervised, Models May Explain IT CorticalRepresentation. PLoS Comput Biol, 10(11):e1003915, November 2014.

[15] A. Krizhevsky, I. Sutskever,and G. E. Hinton. Imagenet classification with deep convolutional neural networks.In Advances in Neural Information Processing Systems 27, pages 1097–1105, 2012.

[16] V. Kwatra, A. Sch¨odl, I.Essa, G. Turk, and A. Bobick. Graphcut textures: image and video synthesisusing graph cuts. In ACM Transactions on Graphics (ToG), volume 22, pages277–286. ACM, 2003.

[17] V. Lebedev, Y. Ganin, M.Rakhuba, I. Oseledets, and V. Lempitsky.Speeding-up Convolutional NeuralNetworks Using Fine-tuned CP-Decomposition. arXiv preprint arXiv:1412.6553,2014.

[18] Y. A. LeCun, L. Bottou, G.B. Orr, and K. R. M¨uller. Efficient backprop. In Neural networks: Tricks ofthe trade, pages 9–48. Springer, 2012.

[19] A. J. Movshon and E. P.Simoncelli. Representation of naturalistic image structure in the primatevisual cortex. Cold Spring Harbor Symposia on Quantitative Biology: Cognition,2015.

[20] G. Okazawa, S. Tajima, andH. Komatsu. Image statistics underlying natural texture selectivity of neuronsin macaque V4. PNAS, 112(4):E351–E360, January 2015.

[21] J. Portilla and E. P.Simoncelli. A Parametric Texture Model Based on Joint Statisticsof Complex Wavelet Coefficients. International Journal of Computer Vision,40(1):49–70, October 2000.

[22] R. Rosenholtz, J. Huang, A.Raj, B. J. Balas, and L. Ilie. A summary statistic representation in peripheralvision explains visual search. Journal of vision, 12(4):14, 2012.

[23] O. Russakovsky, J. Deng, H.Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M.Bernstein, A. C. Berg, and L. Fei-Fei. ImageNet Large Scale Visual RecognitionChallenge. arXiv:1409.0575 [cs], September 2014. arXiv: 1409.0575.

[24] E. P. Simoncelli and W. T.Freeman. The steerable pyramid: A flexible architecture for multi-scalederivative computation. In Image Processing, International Conference on,volume 3, pages 3444–3444. IEEE Computer Society, 1995.

[25] K. Simonyan and A.Zisserman. Very Deep Convolutional Networks for Large-Scale Image Recognition.arXiv:1409.1556 [cs], September 2014. arXiv: 1409.1556.

[26] C. Szegedy, W. Liu, Y. Jia,P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich.Going Deeper with Convolutions. arXiv:1409.4842 [cs], September 2014. arXiv:1409.4842.

[27] L. Wei, S. Lefebvre, V.Kwatra, and G. Turk. State of the art in example-based texture synthesis. InEurographics 2009, State of the Art Report, EG-STAR, pages 93–117. EurographicsAssociation, 2009.

[28] L. Wei and M. Levoy. Fasttexture synthesis using tree-structured vector quantization. In Proceedings ofthe 27th annual conference on Computer graphics and interactive techniques,pages 479–488. ACM Press/Addison-Wesley Publishing Co., 2000.

[29] D. L. K. Yamins, H. Hong, C.F. Cadieu, E. A. Solomon, D. Seibert, and J. J. DiCarlo. Performanceoptimizedhierarchical models predict neural responses in higher visual cortex. PNAS,page 201403112, May 2014.

[30] C. Zhu, R. H. Byrd, P. Lu,and J. Nocedal. Algorithm 778: L-BFGS-B: Fortran subroutines for large-scalebound-constrained optimization. ACM Transactions on Mathematical Software (TOMS),23(4):550–560, 1997.







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章