趙凱風
(合肥一中高三26班安徽省合肥一中,230601)
基于深度神經網絡學習梵高的畫風
趙凱風
(合肥一中高三26班安徽省合肥一中,230601)
梵高的畫風以筆觸與色彩為特色,對此類以筆觸、色彩見長且形成獨特作畫風格的畫家,基于深度神經網絡學習,通過neural-style開源庫,可快捷地實現對梵高等畫家畫作的學習而將其他的圖片繪畫成已經學習到的目標風格。
深度學習;神經網絡;學習畫家風格
最早從事通過深度神經網絡來學習不同畫風格而作畫的這個領域的是德國圖賓根大學的Bethge實驗室,主要是由Leon Gatys、 Alexander Ecker 和 Matthias Bethge這三位研究員進行研究的。后來全球很多開發(fā)者基于德國這三位研究員的成果開發(fā)了很多相關的開源庫,其中Anish Athalye基于TensorFlow開發(fā)的neural-style庫是python版的深度學習畫家風格作畫的開源庫。
基于深度神經網絡學習畫家風格的基本原理是通過卷積神經網絡(CNN)將圖像分解成若干部分并不斷地被訓練成為學習集;然后這些被分割的學習對象則被深度學習算法學習,從而基于一張新的圖片而找到目標的圖形結果。這種方法只適合以色彩、筆觸、紋理而見長的畫家的畫作風格,故而基于這種深度學習的算法,只適合梵高、畢加索等這類畫家的風格。
不重復造輪子是計算機應用科學的首要法則,選型合適的開源庫可快速實現深度學習畫家的畫風。而選擇python語言的開源庫,則是因為python語言的開發(fā)效率足夠高且此時對效率并無苛求,雖說基于純cpu的算法實現會需要幾十分鐘的時間,但效率并非快速實踐深度學習畫家風格的瓶頸問題,反而實現深度學習畫家風格的便捷度是首要訴求,因此開發(fā)效率是瓶頸問題。因此采用人性化、開發(fā)效率搞的python語言來調用Anish Athalye的neural-style開源庫。
Neural-style庫(https://github.com/anishathalye/ neural-style)的環(huán)境設置較為簡單,以mac為例,其主要依賴于五種庫或文件,其中可用pip(python的包管理軟件)來直接安裝Scipy、Numpy、Pillow;TensorFlow的安裝較為復雜,可用pip安裝,而其中所出error,查詢stackoverflow以依次補全所需模塊即可,但需注意,mac系統下TensorFlow不支持調用GPU的版本,否則環(huán)境設置時會出錯,因此只可選擇只調用CPU的版本;最后則要下載Pre-trained VGG network文件,且此處應嚴格從github的項目庫主頁來下載相應版本的VGG文件,不同的VGG文件則會引發(fā)嚴重錯誤。
當環(huán)境設置好后,即可通過“python neural_style.py --content <content file> --styles <style file> --output<output file>”命令來實現“深度學習圖像A的風格,把圖像B畫成圖像C”。以下圖為例(掃碼即可看見圖像本身),圖像A即上文所說的畫家的畫作,命令中的<style file>即圖像A的文件名;<content file>即圖像B的文件名;<output file>即基于深度神經網絡學習而輸出的圖像C的文件名。
綜上所述,經多次實踐得出:從效果上來說采用多層卷積神經網絡的深度學習,在學習紋理、色彩、筆觸方面非常合適、效果顯著、藝術感很強,并與所學畫家的畫作風格非常相像;從效率上來說,純用CPU的深度學習,速度較慢,需要若干分鐘乃至若干小時;基于GPU的可降低的速度到幾十秒以內;從運行效率角度對為未來的展望,CPU平臺不適合作為機器學習的硬件平臺,利用GPU加速是目前的一種方式,而未來圖像處理或人工智能的硬件平臺更有可能是FPGA被廣泛應用。
[1] Leon A. Gatys, Alexander S. Ecker, Matthias Bethge. A Neural Algorithm of Artistic Style[D].Eberhard-Karls-Universitaet Tuebingen Press,2015
[2] Leon A. Gatys, Alexander S. Ecker, Matthias Bethge. Texture Synthesis Using Convolutional Neural Networks[J]. Computer Science, 2015, 70(1):51-5
Study on Van Gogh 's Style in Deep Neural Network
Zhao Kaifeng
(Hefei, one of the 26 Middle School in Hefei, Anhui Province,one in,230601)
Van Gogh's style is characterized by brushstrokes and colors. For those painters whose strokes and colors are famous for their unique style of drawing,based on deep neural network learning,through neural-style open-source library,Painter painting learning and other images will be painted into the target style has been learned.
depth learning;neural network;learning painter style