俞超 盧山富
摘 要: 風格遷移是一項困難的專注于渲染不同風格的圖像內容處理任務,深度神經網絡已被廣泛應用于該任務中并取得了顯著的性能。然而,先前的方法將圖像內容與風格分開缺少一些明確的語義表達。文章介紹了一種簡單而有效的深度學習方法來提取圖像風格和內容,從而實現風格的轉換。具體來說,就是使用對抗分支來解碼圖像中的風格和內容,然后利用自動編碼器將一個圖像的風格和另一個圖像的內容進行重建構成新圖像。通過實驗驗證了算法的可靠性。
關鍵詞: 風格遷移; 深度學習; Info-autoencoder; 圖像處理
中圖分類號:TP391 文獻標志碼:A 文章編號:1006-8228(2019)03-45-04
Image style transfer based on Info-autoencoder
Yu Chao, Lu Shanfu
(Hangzhou Dianzi University School of Computer, Hangzhou, Zhejiang 310018, China)
Abstract: Style transfer is a difficult image processing task which focuses on rendering image contents in different styles. Deep neural networks have been widely used in this task and obtained remarkable performance. However, the previous methods lack certain explicit semantic expressions to separate the image content from the style. To address this issue, this paper introduces a simple but effective deep learning method to extract image style and content and thus realize style transfer. Specifically, an adversarial branch is used to decode the pure style and content of images. Then an auto-encoder is utilized to reconstruct a new image based on the style of one image and the content of another. The reliability of the algorithm is verified by experiments.
Key words: style transfer; deep learning; Info-autoencoder; image processing
0 引言
圖像風格遷移是將圖像風格從一個圖像轉移到另一個圖像的任務,這也稱為圖像 - 圖像轉換,這是圖像處理中的常見問題。例如,通過選擇適當的風格畫面,我們可以輕松改變天氣和時間等因素。隨著卷積神經網絡的發展,風格遷移得到了很大的發展。例如,圖像絎縫算法引入了包括目標圖片的相對映射,例如用于約束紋理合成過程的圖片強度。Leon A[1]展示了高性能卷積網絡如何學習通用特征的重復分析,以此來實現內容和風格的損失函數共同優化研究。
盡管先前的工作取得了一些進展,但現有方法仍然存在一些缺點。例如,它們在對神經網絡中傳遞的內容受到限制,并且它們通常專注于將整個圖像轉換成相應的風格。
為了解決這個問題,我們提出了一種簡單有效的信息自動編碼器,它專注于解開風格和內容元素,然后根據圖像風格和特定內容重建圖像。
我們的貢獻如下:我們提出了一種新的結構來獲得圖像風格和可以廣泛應用的風格轉移算法,該算法可以重建具有給定風格和內容的新圖像。通過實驗測試,驗證了所提算法的有效性和魯棒性。
本文的結構如下:第一節簡要回顧一下風格轉移任務;第二節專門討論相關工作;第三節介紹了我們的模型結構,并解釋它如何工作;第四節是實驗結果和分析;第五節是本文的總結。
1 相關工作
在本節中,我們將簡要回顧自動編碼器和Adam的相關領域知識。
1.1 自動編碼器
自動編碼器的概念首先由Rumelhart [2]提出。在結構上,最簡單的自動編碼器形式是前饋非遞歸神經網絡,非常類似于多層感知機(MLP),它具有輸入層,輸出層和連接它們的一個或多個隱藏層,輸出層具有與輸入層相同數量的節點,目的是重建它自己的輸入(而不是在給定輸入X的情況下預測目標值Y)。 因此,自動編碼器是無監督學習模型。自動編碼器由兩部分組成,即編碼器和解碼器,它們可以定義為轉換,例如:
傳統上,自動編碼器已被用于降維或特征學習。自動編碼器神經網絡試圖學習h(w,b)(x)≈x函數。換句話說,它試圖逼近一個恒等函數,使輸出接近輸入x。但在編碼神經網絡時我們添加了一些限制,比如隱藏神經元的數量有限,我們就可以從輸入數據中找到一些有趣的結構。例如,假設自編碼神經網絡的輸入x是10×10個圖像的像素灰度值(總共100個像素),因此n=100,隱藏層中有50個隱藏的神經元。由于只有50個隱藏神經元,我們強制編碼神經網絡來學習輸入數據。
如果網絡的輸入數據是完全隨機的,例如每個輸入都是與其他特征無關的完全獨立的高斯隨機變量,那么將很難學習。但是如果輸入數據中嵌入了某些結構,例如某些相互關聯的輸入特性,則該算法可以在輸入數據中找到這些相關性。實際上,這種簡單的自動編碼器神經網絡可以學習低維的輸入數據,這與主要分量分析(PCA)的結果非常相似。
1.2 Deep Auto Encoder
Hinton對原始自動編碼器結構進行了改進,然后生成DAE,在無監督訓練情況下,逐步采用貪心算法完成隱藏層之前的訓練,然后利用反向傳播算法系統地對神經網絡進行參數優化和調整,大大提高了神經網絡的性能指標,有效地改善了BP算法的缺點。簡單來說,DAE增加了深度,提高了學習能力,并且比原始的自動編碼器更有利于數據訓練。
1.3 Adaptive Moment Estimation
Adam最初由Diederik P. Kingma提出。Adam是一階優化算法,可以取代傳統的隨機梯度下降過程。它可以根據訓練數據更新神經網絡的權重。Adam的算法不同于傳統的梯度下降。隨機梯度下降保持單個學習率(即alpha)以此來更新所有權重,并且在訓練過程中學習率不會改變。而Adam通過計算梯度的第一動量估計和二階動量估計,為不同參數設計了獨立的自適應學習率。
Adam算法還吸取了AdaGrad[3]和RMSProp[4]算法的優點。Adam不僅像RMSProp算法那樣基于一階動量均值計算自適應參數學習率,而且還充分利用梯度的二階動量均值(即存在偏差/單一方差)。尤其是該算法計算梯度的指數移動平均值,并且參數β1和β2控制這些移動平均值的衰減率。Adam在深度學習中是非常常用的算法,因此它可以很快得出理想的成果。實驗結果表明,Adam算法在實踐中具有優異的性能,與其他類型的隨機優化算法相比具有很大的優勢。
2 方法
我們的風格提取器基于卷積神經網絡和自動編碼器。源域的兩個圖片作為網絡輸入,由目標域生成的圖像作為網絡的輸出。我們的目標是提取圖片A中的風格,提取圖片B的內容,使生成的圖片同時具有A的風格和B的內容。模型訓練過程可歸納如下:首先,通過卷積網絡和自動編碼器來處理需要提取風格的A圖片,然后到淺層網絡處理需要提取內容的B圖片或者我們可以直接給出內容。 最后使用一系列操作將兩者組合形成另一網絡。通過最小化損失函數,生成目標圖片。
2.1 風格表征
為了獲得源圖像表示的風格,我們使用復雜的自動編碼器設計來捕獲紋理信息,通過這個網絡我們可以提取源域圖像風格,深度編碼器由一系列卷積神經網絡和反卷積網絡組成,在每次卷積后使用激活函數RELU來激活。用于風格提取的損失函數如公式⑴所示,并通過最小化均方誤差(mse)來逐漸逼近原始圖像。
⑴
一般來說,圖像風格可以看作圖片紋理,因為相關性是利用隨機變量來表示另一組隨機變量的線性近似過程,它是一種線性關系,所以它與表示的風格有關。我們的風格提取網絡如圖1所示。在內容和風格分離的過程中。從圖1(b)可以看到我們需要使用另一個輔助模型(圖1(b)右側),通過使用類別丟失和最小化mse損失函數來優化圖1(a.b)中的網絡模型(圖1(b)左側)。通過這個輔助模型的約束,我們可以保留原始圖片的風格,去除多余內容。例如,在MNIST數據集上,可以使用圖1(b)右側的輔助模型b刪除類別信息(0-9)。
2.2 內容表達
在神經網絡中,通常,隨著網絡結構的深入,模型也變得更加復雜,提取的特征也相對增多。在訓練過程中,每層網絡都可以提取一些信息,如何設置合適的網絡來提取內容信息對于風格轉移的任務就顯得至關重要。在相關的現有文獻中提到,內容提取和風格提取相比不需要深層網絡,我們可以將其視為淺層表達。當然,這里的內容可能不準確,我們可以認為這是圖片的相對低頻部分。
當卷積神經網絡用于訓練對象時,Hinton GE[5]提出了一種圖像表示方法,隨著處理級別的增加,對象信息更加明顯。 因此,沿著網絡的處理層次,源域輸入到目標域圖像中的圖像的實際內容也將變得越來越敏感,但其準確的表達也將相對恒定。由此可以看出,網絡中的較高層可以基于對象及其輸入圖片的排列來捕獲高級內容信息,而來自較低層的信息也可以通過重建,再現原始圖像值的精確像素。
在某種程度上,內容信息可以被視為一種信息。例如,在MNIST數據集中,內容是數字[0~9],可以將其視為類別。這同樣適用于SVHN,因為門牌號可以與內容信息區分開來。因此,我們的內容提取可以從以下公式導出:
⑵
其中n代表類別。y是真實值,f(x)是預測值。由于我們的模型主要是解決風格提取相關的問題,故不對內容提取做過多的討論。如果數據集很復雜,我們可以使用自動編碼器加在網絡末端,很容易將內容提取。由于內容信息比較容易表達,所以在MNIST數據集上不需要自動編碼器,如圖1(b)所示。
2.3 圖像生成
通過將原始圖像A的風格轉移到圖像B來,我們生成一個新的圖像,同時匹配B的內容和A的風格,我們通過將提取風格的網絡和內容的網絡連接在一起,使每個網絡的表征特征相互融合。
⑶
相應的目標圖像通過最小化損失函數生成,我們使用的損失函數如公式3所示。λ是一個系數。 本文通過線性組合兩個損失函數來訓練我們的模型。為體現風格提取器的提取效果,我們可以主動提供內容,這是為了加快網絡培訓,使之更簡單方便,也突出了風格提取器的有效性。
3 實驗
所提出的網絡在兩個廣泛使用的名為MNIST和SVHN的基準數據集上進行實驗評估。MNIST數據集包含60000個訓練樣本和10000個測試樣本,樣本大小為28x28。SVHN是一個真實世界的圖像數據集,用于開發機器學習和目標識別算法,對數據預處理和格式化的要求最低。它與MNIST的風格相似(例如圖像是小的裁剪數字),但是包含更多標記數據的數量級(超過600,000個數字圖像)并且來自更難的、未解決的實際問題(識別自然場景圖像中的數字和數字),SVHN是從Google街景圖像中的門牌號碼獲得的。
網絡結構由網絡A和網絡B兩部分組成,如圖1(b)所示。在MNIST和SVHN方面,網絡A首先是使用兩個5×5,步幅為2的卷積網絡;然后通過一個3×3,步幅為2的卷積操作,使用RELU激活函數。再通過Flatten和兩個全連接層,合并來自內容信息的圖層;最后使用三個步幅為2的conv2DTranspose層,通道分別為128,64,32,激活函數為RELU。網絡B的前半部分來自A的全連接層,然后經過自定義Flip-
GradientBuilder層及兩個全連接層處理后,獲得輸出。
實驗的學習率設定為0.001。Diederik P[5]使用Adam將損失函數設置為均方誤差。兩個基準數據集使用卷積自動編碼器架構來分析數據。
如圖2所示,我們在MNIST上進行實驗。 我們處理多個手寫數字以形成圖A,然后制作另一個類似于epch0的圖,打亂數字。我們將epoch設置為300,隨著迭代次數的增加,我們發現變換后的圖像風格越來越接近A. 在圖3中我們對SVHN進行了實驗,SVHN的輸入維數是32×32。
在這項工作中,我們的算法由python實現。 配備英特爾雙核2.5GHZ,GPU是 GTX 1060,6 GB,的PC,300輪迭代運行時間約一小時。
4 結論
本文研究了一種基于自動編碼器的風格遷移算法——一種更簡單、更有效的算法,可以處理風格遷移問題。探討如何提取特征,并使用卷積神經網絡中的特征值表示來傳遞圖像風格。雖然我們取得了不錯的實驗結果,但仍有一些問題需要改進。圖像中的分離內容或風格不是定義明確的問題,原因可能是我們很難把握好圖像的風格。在我們的工作中,我們認為風格遷移只有在生成的圖像看起來既有風格圖像特點,也有內容圖像的特點時才算成功。盡管如此,它也沒有精確定義圖像風格的表示,但訓練好的神經網絡可以自動學習圖像,至少在某種程度上是風格和圖像內容的分離,是可行的。本文的研究內容在現實生活中非常實用。由于網絡的訓練可以提取圖像的風格,并且它可以生成另一種具有這種風格的圖像,這極大地提高了生物視覺之間的相似性[6-9],所以我們相信神經網絡可以學習人類(生物)大腦信息的一部分,但仍需要進一步的科學證據。
接下來,我們將擴展網絡以滿足更加復雜的場景及更多的數據。我們計劃將我們的模型擴展到深層次的框架中,并將其用于各種不同的應用。
參考文獻(References):
[1] Gatys L A, Ecker A S, Bethge M. Image Style Transfer
Using Convolutional Neural Networks[C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE Computer Society,2016.
[2] Rumelhart D E , Hinton G E , Williams R J . Learning
representations by back-propagating errors[J],1986.
[3] Duchi J, Hazan E, Singer Y, et al. dearly. Adaptive
Subgradient Methods Adaptive Subgradient Methods for Online Learning and Stochastic Optimization[J]. Journal of Machine Learning Research,2011.12(7):257-269
[4] Tieleman, T. and Hinton, G. Lecture 6.5-RMSProp,
COURSERA: Neural Networks for Machine Learning. Technical report,2012.
[5] Hinton G E, Salakhutdinov R R. Reducing the
Dimensionality of Data with Neural Networks[J]. Science,313.
[6] Cadieu C F , Hong H , Yamins D L K , et al. Deep Neural
Networks Rival the Representation of Primate IT Cortex for Core Visual Object Recognition[J].Plos Computational Biology,2014.10(12):e1003963
[7] Umut, Gü?lü, Gerven M A J V . Deep Neural Networks
Reveal a Gradient in the Complexity of Neural Representations across the Ventral Stream[J]. Journal of Neuroscience the Official Journal of the Society for Neuroscience, 2015.35(27):10005-14
[8] Khalighrazavi S M , Kriegeskorte N . Deep Supervised, but
Not Unsupervised, Models May Explain IT Cortical Representation[J]. Plos Computational Biology,2014.10(11):e1003915
[9] Yamins D L K, Hong H, Cadieu C, et al.
Performance-optimized hierarchical models predict neural responses in higher visual cortex[J].Proceedings of the National Academy of Sciences of the United States of America,2014.111(23):8619-24