江敏 樊宗昶 盛然 竺德 段運生 李芳芳 孫冬
摘要:油畫風(fēng)格是把一張圖像的油畫風(fēng)格信息加到任意某張圖像上,并保持該圖像的語義內(nèi)容,產(chǎn)生一個新的具有觀賞性的圖像。本文主要介紹了一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像風(fēng)格算法,可以分離和重組自然圖片的圖像內(nèi)容與風(fēng)格,進而實現(xiàn)圖片的油畫化遷移。該算法可以將任意圖像的內(nèi)容與眾多知名油畫風(fēng)格相結(jié)合,獲得高感知質(zhì)量的藝術(shù)作品。通過實驗驗證該算法能夠?qū)崿F(xiàn)圖像內(nèi)容與油畫風(fēng)格的深度融合,證明了該算法的有效性。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);圖像風(fēng)格化;油畫
中圖分類號: TP18 ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2020)34-0006-04
Abstract:The oil painting style is to add the sand painting style information of an image to any image, and maintain the semantic content of the image to produce a new ornamental image, mainly introducing a convolutional neural network based image. This paper mainly introduces an image style algorithm based on convolutional neural network, which can separate and reorganize the image content and style of natural pictures, and then realize the oil painting migration of pictures. The algorithm combines the content of any image with many well-known oil painting styles to achieve high-perceptual quality artwork. The experimental results show that the algorithm can achieve deep fusion of image content and optimization style, which proves the effectiveness of the algorithm.
Key words: convolutional neural network; image stylization;oil painting
油畫起源于15世紀的歐洲,由荷蘭人發(fā)明,憑借顏料的遮蓋力和透明性能充分地表現(xiàn)描繪對象,色彩豐富、立體質(zhì)感強。500多年來,油畫這一繪畫形式一直被畫家們所青睞,尤其是《蒙娜麗莎》《最后的審判》《亞當與夏娃》等作品深受人們的喜愛。油畫是用亞麻仁油或核桃油、罌粟油等一些快干油及經(jīng)過處理的瑪?shù)贅渲蜻_瑪樹脂等,調(diào)和各種顏色粉制成油畫顏料和媒介劑在亞麻布、木板或厚紙板上作畫的一種繪畫形式。油畫的繪制不僅需要繁復(fù)的材料準備工作,更需要扎實的繪畫基礎(chǔ),對于普通人來說,想完成一幅專業(yè)的油畫作品是非常困難的。隨著互聯(lián)網(wǎng)的迅猛發(fā)展,人們利用計算機將圖片轉(zhuǎn)換成不同的風(fēng)格樣式,Photoshop等專業(yè)處理圖像軟件可以對照片進行色彩渲染和曲線調(diào)整,將照片渲染成油畫風(fēng)格。近期,來自俄羅斯莫斯科的PRISMA實驗室開發(fā)團隊研發(fā)了一款照片編輯器Prisma,通過圖像風(fēng)格化將普通的照片與眾多油畫藝術(shù)家作品的風(fēng)格結(jié)合起來,轉(zhuǎn)變成一幅具有高感知、美化性、多風(fēng)格性等的油畫藝術(shù)照。
圖像風(fēng)格化也叫風(fēng)格遷移,傳統(tǒng)的風(fēng)格遷移通常通過建立數(shù)學(xué)或統(tǒng)計模型、筆觸、紋理等對圖像進行風(fēng)格化處理。Winnemoller[1]等人提出一種自動實時圖像抽象框架,通過調(diào)整亮度和顏色對比度(對高對比度部分使用更高的視覺顯著性,平滑低頻部分),創(chuàng)造出具有卡通風(fēng)格的圖像,但是在風(fēng)格多樣性方面受到限制。Hertzmann等人[2]是提出的已知一對源圖像和目標圖像圖像類比算法,通過學(xué)習(xí)源圖像示例之間的映射關(guān)系,得到目標圖像的風(fēng)格化效果圖,但是圖像類比算法只捕獲到圖像的低級特征,無法獲得有效的樣式,效果不理想。Ashikhmin[3]提出的快速紋理傳輸致力于傳輸高頻紋理信息,同時保留目標圖像的粗尺度。Lee[4]等人通過附加地通知具有邊緣方向信息的紋理轉(zhuǎn)移來改進該算法。由于僅僅使用了像素級的低層圖像特征,在靈活性、有效性、多樣性等方面都具有很大的局限性,因此這些算法的普適性不強。盡管這些方法,并且針對特定的任務(wù)目標,往往需要大量的手工調(diào)參。
本文介紹的風(fēng)格化算法其核心是Gatys[5]等人提出的基于卷積神經(jīng)網(wǎng)絡(luò)的藝術(shù)風(fēng)格算法,卷積神經(jīng)網(wǎng)絡(luò)中內(nèi)容和風(fēng)格的表示是可分離的,進而在此基礎(chǔ)上將兩種表示獨立處理,產(chǎn)生新的圖像的風(fēng)格遷移。本文包括以下主要研究內(nèi)容:第1部分主要介紹卷積神經(jīng)網(wǎng)絡(luò)模型-VGG16模型;第2部分重點講解圖像油畫風(fēng)格遷移算法;第3部分通過實驗驗證不同的沙畫作品與不用的圖像采用本文算法進行風(fēng)格遷結(jié)果進行對比分析,測試該算法的正確性和合理性;最后總結(jié)本文算法的概括與總結(jié)。
1 卷積神經(jīng)網(wǎng)絡(luò)—VGG16模型
卷積神經(jīng)網(wǎng)絡(luò)在圖像分類、語義分割、特征提取、風(fēng)格遷移等方面有著廣泛應(yīng)用。如chen[6]等人提出了一種基于注意力機制的卷積神經(jīng)網(wǎng)絡(luò)解決復(fù)雜場景中的圖像分類問題,該模型精通細粒度分類問題,具有更好的魯棒性。卷積的過程就是特征提取的過程,每一個卷積核代表著一種特征,如果圖像中某塊區(qū)域與某個卷積核的結(jié)果越大,那么該區(qū)域就與該卷積核越相似。圖像風(fēng)格化選用的是不帶全連接層的VGG16模型,包含13個卷積層和5個最大池化層,通過不斷加深網(wǎng)絡(luò)結(jié)構(gòu)來提高性能[7]。VGG16模型共分5層,前兩層中每層經(jīng)過兩次卷積后再池化,后三層是經(jīng)過三次卷積后再池化,每次卷積后都伴有激活函數(shù),在這里更多的卷積核可使決策函數(shù)更具有辨別能力。整體的卷積核大小均為[3×3],3個卷積層串聯(lián)的效果相當于一個[7×7]的卷積層,可以減少卷積層的參數(shù)量,同時也擁有更多的非線性變換,使CNN對特征的學(xué)習(xí)能力更強。這里采用池化是最大池化,池化核的大小為[2×2],maxpool更容易捕捉圖像上的變化,梯度的變化,帶來更大的局部信息差異性,更好地描述邊緣、紋理等構(gòu)成語義的細節(jié)信息,這點尤其體現(xiàn)在網(wǎng)絡(luò)可視化上,通過在輸入空間的梯度上升,可視化VGG16的濾波器。該模型是公開的,可以在caffe-framework[8]中進行下載,每個濾波器的可視化結(jié)構(gòu)圖1所示,可以看出低層的卷積核對顏色,邊緣信敏感度更高,越高層的卷積核,內(nèi)容也越抽象復(fù)雜。
通過卷積神經(jīng)網(wǎng)絡(luò)提取圖像特征,用不同的卷積核提取不同的特征。給定輸入圖像在CNN中的每個處理階段被處理成一組特征圖像。其中底層主要反映像素級的底層特征,而高層主要反映圖像的邊緣結(jié)構(gòu)。
2 圖像油畫風(fēng)格遷移算法
風(fēng)格化的關(guān)鍵之處是該系統(tǒng)使用神經(jīng)表示來分離和重組任意圖像的內(nèi)容和風(fēng)格,提供神經(jīng)算法創(chuàng)造藝術(shù)形象,通過找到同時匹配照片的內(nèi)容表示和相應(yīng)藝術(shù)品的風(fēng)格表示的圖像來合成圖像。
2.1內(nèi)容和風(fēng)格重建
卷積神經(jīng)網(wǎng)絡(luò)以前饋方式分層處理視覺信息。每層單位為圖像濾波器的集合,每個圖像濾波器從輸入圖像中提取某個特征,輸入不同的濾波器,得到不同的特征映射。卷積神經(jīng)網(wǎng)絡(luò)經(jīng)過訓(xùn)練后物體信息沿著處理層次越來越明確,沿著網(wǎng)絡(luò)的處理層次,輸入圖像越來越注重圖像的實際內(nèi)容與其詳細的像素值相比較。通過僅從該層中的特征圖重建圖像[9]來可視化每層包含的關(guān)于輸入圖像的信息。卷積神經(jīng)網(wǎng)絡(luò)的風(fēng)格化算法是一種紋理傳輸算法,它通過最先進的卷積神經(jīng)網(wǎng)絡(luò)的特征表示來約束紋理合成方法。通過執(zhí)行預(yù)圖像搜索來匹配示例圖像的特征表示來生成新圖像。這種通用方法之前已經(jīng)用于紋理合成[10]的背景,并且提高了對深度圖像表示[11]的理解。樣式轉(zhuǎn)換算法結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)紋理模型[12],通過這種方法來轉(zhuǎn)換它們的圖像表示。
網(wǎng)絡(luò)中的較高層根據(jù)對象及其在輸入圖像中的排列捕獲高級內(nèi)容,來自較低層的重建簡單地重現(xiàn)了原始圖像的精確像素值。我們將網(wǎng)絡(luò)高層中的特征響應(yīng)稱為內(nèi)容表示。我們可以在CNN的不同處理階段將信息可視化,只需知道網(wǎng)絡(luò)在特定層中的響應(yīng)即可重建輸入圖像,如圖2所示,上半部分是風(fēng)格重建,越是高層的特征,風(fēng)格重建的就越粗粒度化,下半部分是內(nèi)容重建,越是底層的特征,重建的效果就越精細,越不容易變形,高層神經(jīng)網(wǎng)絡(luò)在提取了圖片的風(fēng)格,比如色彩和排列,而底層神經(jīng)網(wǎng)絡(luò)提取的則是圖像的內(nèi)容,也就是圖像的細節(jié)。從原始圖層的“conv1”-“conv5”重建輸入圖像VGG的網(wǎng)絡(luò)。我們發(fā)現(xiàn)從下層重建幾乎是完整的(“conv1”-“conv3”)。在網(wǎng)絡(luò)的較高層中,詳細的像素信息丟失,而圖像的高級內(nèi)容被保留(“conv4”-“conv5”)。為了獲得輸入圖像的風(fēng)格表示,我們使用了特征空間,這些特征空間最初是用來捕捉紋理信息的。該特征空間由每層濾波器的響應(yīng)來構(gòu)建。它由特征映射的空間范圍內(nèi)的不同濾波器響應(yīng)之間的相關(guān)性組,通過在每一層加入這種相互關(guān)系,我們能夠關(guān)于輸入圖像的一個穩(wěn)定的、多尺度的表示,該表示可以捕獲紋理信息而不是全局布置。
2.2內(nèi)容與風(fēng)格表示
合成圖像的風(fēng)格內(nèi)容與另外兩幅分別提供內(nèi)容和風(fēng)格的圖像有些差異,圖像內(nèi)容和風(fēng)不能完全分開格,通常不存在同時完全匹配兩個約束的圖像,我們會根據(jù)關(guān)于內(nèi)容和風(fēng)格的損失函數(shù)來對生成的圖像進行優(yōu)化。網(wǎng)絡(luò)中的每個層都定義了非線性濾波器組,其復(fù)雜度隨著網(wǎng)絡(luò)中層的位置而增加。給定的輸入圖像x通過對該圖像的濾波器響應(yīng)被編碼在卷積神經(jīng)網(wǎng)絡(luò)的每一層中。例如在第[l]層有[Nl]個不同濾波器,經(jīng)過卷積會得到[Nl]個不同的特征圖,每個特征圖的大小為[Ml]。層中的響應(yīng)可以存儲在矩陣[Fl∈RNl×Ml]中,其中[Flij]是第[l]層中位置[j]處的第[i]個濾波器的激活。為了可視化在層次結(jié)構(gòu)的不同層上卷積圖像信息,可以在白噪聲圖像上執(zhí)行梯度下降,以找到與原始圖像的特征響應(yīng)相匹配的另一圖像[13]。假設(shè)[p]和[x]是原始圖像和生成的圖像,[pl]和[Fl]是分別是它們在第[l]層中的特征表示,用兩個特征表示之間的平方誤差損失評價內(nèi)容損失,內(nèi)容損失相對于第[l]層激活的導(dǎo)數(shù)如公式(2),可以使用標準誤差反向傳播來計算相對于圖像[x]的梯度,根據(jù)梯度改變最初的隨機圖像[x],直到它在卷積神經(jīng)網(wǎng)絡(luò)某一層產(chǎn)生與原始圖像[p]相同的響應(yīng)。
[Lcontent(p,x,l)=12i,j(Flij-Plij)] ? ? ? ? ? ? ? ? ? ?(1)
[?Lcontent?Flij=(Fl-Pl) ij 0 if Flij>0if Flij<0] ? ? ? ? ? ? ? (2)
在網(wǎng)絡(luò)每一層的卷積響應(yīng)建立一個樣式表示法,用于計算不同濾波器響應(yīng)之間的相關(guān)性,這些特征相關(guān)性由格雷姆矩陣[Gl∈RNl×Nl]表示,[Glij]為矢量化特征圖之間的內(nèi)積。
[Glij=kFlikFljk] ? ? ? ? ? ? ? ? ? ? (3)
為了生成與輸入圖像樣式相匹配的紋理,使用白噪聲圖像的梯度下降來更新與輸入原始圖像樣式表示符合的另一個圖像,通過最小化輸入原始圖像的格拉姆矩陣與生成圖像的格拉姆矩陣之間距離的平方來表示。
假設(shè)[a]和[x]是原圖像和生成圖像,[Al]和[Gl]分別表示第[l]層樣式,則該層的風(fēng)格損失和圖像風(fēng)格總損失分別為如下所示,其中[wl]是第[l]層在總損失中所占的權(quán)重。
[El=14N2lM2li,j(Glij-Alij)2] ? ? ? ? ? ? ? ? ? ? ? (4)
[Lstyle(a,x)=l=0LwlEl] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(5)
[5] Chen Y R,Zhao D B,Lv L,et al.A visual attention based convolutional neural network for image classification[C]//2016 12th World Congress on Intelligent Control and Automation (WCICA).June12-15,2016,Guilin,China.IEEE,2016:764-769.
[6] Shelhamer E,LongJ,Darrell T.Fully convolutional networks for semantic segmentation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(4):640-651.
[7] Simonyan K,Zisserman A.Very deep convolutional networks for large-scale image recognition[EB/OL].2014:arXiv:1409.1556[cs.CV].https://arxiv.org/abs/1409.1556.
[8] Jia Y Q,Shelhamer E,Donahue J,et al.Caffe:convolutional architecture for fast feature embedding[C]//Proceedings of the ACM International Conference on Multimedia - MM '14.November3-7,2014.Orlando,F(xiàn)lorida,USA.New York:ACMPress,2014:675-678.
[9] Heeger D J,Bergen J R.Pyramid-basedtextureanalysis/synthesis[C]//Proceedings of the 22nd annual conference on Computer graphics and interactive techniques - SIGGRAPH '95.NotKnown.New York:ACMPress,1995:229-238.
[10] Efros A A,F(xiàn)reeman WT.Image quilting for texture synthesis and transfer[C]//Proceedingsof the 28th annual conference on Computer graphics andinteractive techniques - SIGGRAPH '01.Not Known.NewYork:ACM Press,2001:341-346.
[11] Simonyan K,Vedaldi A,Zisserman A.Deep inside convolutional networks:visualisingimage classification models and saliency maps[EB/OL].2013:arXiv:1312.6034[cs.CV].https://arxiv.org/abs/1312.6034.
[12] Jia Y Q,Shelhamer E,Donahue J,et al.Caffe:convolutional architecture for fast feature embedding[EB/OL].2014:arXiv:1408.5093[cs.CV].https://arxiv.org/abs/1408.5093.
[13] Mahendran A,Vedaldi A.Understanding deep image representations by inverting them[J].2015IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2015:5188-5196.
[14] Zhu C,Byrd R H,Lu P,et al.Algorithm 778:L-BFGS-B:Fortran subroutines for large-scale bound-constrained optimization[J].ACM Transactions on Mathematical Software,1997,23(4):550-560.
[15] Gatys L A,Ecker A S,Bethge M.Texture synthesis using convolutional neural networks[C]//NIPS'15:Proceedings of the 28th International Conference on Neural Information Processing Systems -Volume1.2015:262-270.
[16] Johnson J,Alahi A,F(xiàn)ei-Fei L.Perceptual losses for real-time style transfer and super-resolution[J].Computer Vision - ECCV2016,2016: 694-711DOI:10.1007/978-3-319-46475-6_43.
【通聯(lián)編輯:唐一東】