聶宇 聶鑫 朱依琳 廖晨陽



摘要:隨著生活水平的逐日提高,人們對圖片的視覺需求不再僅僅局限于圖片的原始風格,由此誕生了各式各樣的濾鏡,它們讓圖片更具有觀賞性。而基于機器深度學習的圖像風格化應用,可以在此方向更進一步,利用訓練好的卷積神經網絡模型進行圖像特征提取,使圖片呈現出不同的藝術風格。
關鍵詞:機器學習;圖像風格化;卷積神經網絡
中圖分類號: TP18? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)07-0015-03
Abstract: With the daily improvement of living standards, people's visual needs for pictures are no longer limited to the original styles,therefore? various filters have been born, which make the pictures more enjoyable. The application of image style transfer based on machine deep learning can go further in this direction, using the trained convolutional neural network model for image feature extraction, so that the pictures present different artistic styles.
Key words: Machine Leaning;Image stylization;Convolutional Neural Network
1 研究背景
機器學習作為一門專門研究計算機如何模擬或實現人類的學習行為,以獲取新的知識或技能,在已有的知識結構上使之不斷改善自身的性能的學科。機器能否像人類一樣能具有學習能力呢?1959年,美國的塞繆爾(Samuel)設計了一個下棋程序,這個程序具有學習能力,它可以在不斷地對弈中改善自己的棋藝。4年后,這個程序戰勝了設計者本人。又過了3年,這個程序戰勝了美國一個保持8年之久的常勝不敗的冠軍。這個程序向人們展示了機器學習的能力,提出了許多令人深思的社會問題與哲學問題[1]。
近年來,隨著人民生活水平的不斷提高,使用圖像成為人們記錄生活的主要方式。不論人們走到哪里,都是利用手機記錄身邊的人和景,讓生活過得如畫一般,圖片對于用戶的觀賞性成為用戶最關注的問題。無奈的是,用戶的拍照水平,而為了得到更具觀賞性的圖片只能通過后期處理,但是后期處理又是用戶的一大問題。然而在當前圖片不具備一定觀賞性的條件下,如何讓圖片更具觀賞性?讓用戶更為喜愛?
而畫家的藝術品有自己獨特的藝術風格,在這之前,沒有人工智能系統可以學習畫的風格,但是在2015年8月,由Leon A. Gatys,Alexander S. Ecker,Matthias Bethge發表了論文《A Neural Algorithm of Artistic Style》,在論文當中提出深度學習的算法,將畫的內容(content)和風格(style)分開來,然后將一幅畫的風格和另一幅畫的內容重新組合,生成新的畫。
2016年俄羅斯阿列克謝·莫伊辛恩科夫創建的Prisma軟件在蘋果商店發布,該軟件是利用神經網絡和人工智能技術,為普通照片加入藝術效果的照片編輯軟件。并在上線首周,收獲100萬活躍用戶。
2018年北京郵電大學發表論文《基于深度學習的圖像風格化處理》,解讀了基于深度學習下的圖像風格化處理過程。
本課題就是本著利用機器學習,讓每一個用戶都能讓自己的照片更具觀賞性,即使用戶沒有畢加索一樣的繪畫藝術功底,可是卻能通過機器深度學習畢加索的畫,然后將畫的風格遷移到照片當中。
2 研究內容
基于機器深度學習的圖片風格化應用程序,通過對TensorFlow框架的研究學習[2],利用已經訓練好的卷積神經網絡,去學習各種風格的圖片,然后風格遷移到另外的圖片上。
該軟件主要分為服務器端和移動客戶端,服務器端采用Google的機器學習框架TensorFlow[3,4],編程語言使用Python,Web框架使用Django。移動客戶端采用Java和Android進行開發。
移動客戶端通過攝像頭進行圖像采集,然后將圖像上傳到服務器,針對用戶選取的風格樣式,服務器利用訓練好的卷積神經網絡模型進行圖像特征提取,并且不斷地重塑圖像的風格和內容,最后將生成的圖片返回給移動客戶端。
3 風格模型訓練
(1)模型訓練
圖像模型的訓練是服務器端對一種圖片風格的預訓練,一般情況下利用算法來實現圖像的風格遷移通常要耗費很長的時間,在CPU下進行圖片遷移要耗費3至5個小時,即使在GPU下進行圖片遷移都要十多分鐘,在這樣的情況下,用戶的體驗感特別差,所以為了提高用戶的體驗度,必須縮短圖片風格遷移的時間,通過預先訓練圖像風格,然后利用生成的模型,用戶就可以在3-5秒以內獲得服務器反饋的風格遷移后的圖片。
圖像模型訓練的訓練網絡會根據內容圖片和風格樣式生成一張噪聲圖片,并將噪聲圖片傳給網絡,這張噪聲圖片既具有內容圖片的Content,又有風格圖片的Style,然后再根據content loss值和style loss調整噪聲圖片,不斷重塑圖片的內容與風格,進行了一定的次數后,loss值和相對于最開始時的值也就小了,而噪聲圖片也就具備了圖片的內容與風格[5-7]。
其中p→代表的是Content內容圖像,x→表示生成的噪聲圖像,P和F分別代表它們對應層的響應;且假設第L層的響應是F1∈RNl × Ml ,其中Nl表示第L層過濾器的個數,Ml表示過濾器的大小。Fijl表示的是第L層第i個過濾器在位置j的輸出。
因為某一層的Style可以用Gl∈RNl×Nl來表示,其中Nl×Nl表示不同過濾器響應的內積;a→表示Style的圖像,x→表示生成的噪聲圖像,Al和Gl分別表示第L層的Style。
最后通過優化的方法使得Content loss和Style loss的總值最小,如式4:
其中[α和β]分別表示Content和 Style 的權重,當[α]較大時,則噪聲圖片的內容和Content圖片內容更為吻合;當[β]較大時,則噪聲圖片的風格和Style圖片風格更為吻合。
(2)訓練實施
圖像模型訓練功能通過訓練好的VGG19卷積神經網絡和COCO數據集來訓練目標風格模型,COCO數據集中的train2014圖片作為輸入的內容圖片,另外輸入一張要訓練的風格圖片。訓練模型需要耗費很長的時間,但是使用訓練好的模型進行圖像風格遷移則可以很快地得到結果。
圖像模型訓練功能主要由兩個網絡構成,分別是生成網絡(Image Transform Net)和損失網絡(Loss Network),如圖1所示。生成網絡接收一張圖片作為輸入,然后分別經過卷積模塊,殘差模塊,和反卷積模塊,最后生成網絡輸出的也是一張圖片[5-7]。損失網絡把生成網絡輸出的圖片y作為輸入,對于每一張輸入的圖片y,它都有一個對應的風格目標ys和內容目標yc,y通過和風格目標(ys)、內容目標(yc)進行對比做損失計算,然后根據計算得到的loss值調整生成網絡的權重賦值,通過不斷調整loss值來達到目標效果。當模型訓練開始后,訓練網絡會根據內容圖片和噪聲生成一張噪聲圖片,并將噪聲圖片傳給網絡,計算loss值,然后再根據loss值調整噪聲圖片,不斷重復如此操作,進行迭代了一定的次數后,loss值和相對于最開始時的值小了,而噪聲圖片也就具備了圖片的內容與風格。
服務器端通過命令的形式訓練模型:
Python style.py --checkpoint-dir ./model/ --style ./style/udnie.jpg
style.py 是模型訓練的腳本文件
--checkpoint-dir ./model/ 是訓練好的模型保存的路徑
--style ./style/udnie.jpg是目標風格
在訓練模型的過程中,會生成四個相關文件,如圖2所示,分別是:checkpoint、fns.ckpt.data-00000-of-00001 、fns.ckpt.index、fns.ckpt.meta。Checkpoint文件是文本文件,在這個文件里面記錄了保存的最新的checkpoint文件信息和一些其他的checkpoint相關文件列表;fns.ckpt.meta保存了網絡的圖結構,在這個文件當中包含變量、集合等信息;fns.ckpt.data-00000-of-00001 、fns.ckpt.index都是二進制文件,記錄了網絡中的所有權重和偏置等變量數值。
4 應用功能
本應用程序分服務器端和移動客戶端,功能示意如圖3所示。
服務器端:
(1)圖像存貯功能:實現用戶上傳的圖像數據的存貯;
(2)圖像風格模型訓練功能:實現圖像模型的訓練,選取藝術風格獨特,且觀賞性好的圖片進行訓練,生成特定的模型;
(3)圖像風格化處理功能:實現圖像風格化的轉變處理,將圖片的內容層和模型的風格層重組成新的圖片,如圖4所示。
移動客戶端:
(1)圖像采集功能:實現圖的采集,并將圖像上傳到服務器請求處理圖像,在服務器處理完圖片后接收處理后的圖片。
(2)圖像上傳功能:實現用戶上傳圖像。
5 結束語
在最初,我們通過人力提取圖像特征,準備工作消耗了大量的人力物力;而現在,通過深度學習可以快速地提取圖像的特征,大大減少了資源消耗和技術要求,即使用戶不具備好的拍照水平,不具備后期處理圖片的能力,他們也可以對自己的圖片進行風格化處理,從而得到更具觀賞性的圖片。
隨著對卷積神經網絡的進一步研究,圖像風格化的技術將會愈發成熟,圖像風格將逐漸增加,用戶也將會有更多的選擇。
參考文獻:
[1] 徐曉琳.面向大規模數據分析與分類的正則化回歸算法[D].合肥:安徽大學,2017.
[2] 章敏敏,徐和平,王曉潔,等.谷歌TensorFlow機器學習框架及應用[J].微型機與應用,2017,36(10):58-60.
[3] 谷歌推出TensorFlow機器學習系統[J].電信工程技術與標準化,2015,28(11):92.
[4] 吳聯坤.基于TensorFlow分布式與前景背景分離的實時圖像風格化算法[D].杭州:浙江大學,2017.
[5] 李盛超.基于深度學習的圖像水墨風格渲染應用[D].南京:南京大學,2017.
[6] 竇亞玲,周武彬,季人煌.基于卷積神經網絡的圖像風格遷移技術[J].現代計算機(專業版),2018,(30):47-51,60.
[7] 萬士寧.基于卷積神經網絡的人臉識別研究與實現[D].成都:電子科技大學,2016.
【通聯編輯:唐一東】