5
| 本文作者: 技術人攻略 | 2016-08-16 22:12 |
編者按:本文作者牟中強,雷鋒網硬創公開課群友。
最近人工智能圖片濾鏡軟件Prisma 非常的火,這款圖片處理的App 綜合了人工神經網絡技術(neural networks)和人工智能技術,可以獲取著名繪畫大師和主要流派的藝術風格,然后對照片進行智能風格化處理,將圖片轉化為藝術化的效果。

PRISMA
于是手癢,自己也想DIY 出一款屬于自己的Prisma。相比APP,在電腦上實現這項功能略微繁瑣一些,不過通過這樣的方式,我們可以:
1、隨意選擇想要轉化風格的圖片;
2、擁有靈活可以變動的參數,大力出奇跡;
3、在使用過程中感興趣的讀者可以通過Python源代碼研究其原理。
這個好比傻瓜相機以及單反,也許我們可以用單反去發掘其中更深層的奧妙,甚至做出更驚艷的作品。
介紹:
在開工之前,我們先介紹一下該項目。該項目最先是圖賓根大學的一篇論文“A Neural Algorithm of Artistic Style”引出,簡單來說它是通過卷積神經網絡(CNN)學習了一副畫的風格,并將這幅畫的風格應用到另一幅圖片上。

A Neural Algorithm of Artistic Style
CNN 算法是這其中的核心,而針對CNN算法的實現,有很多不同的工具包,其中TensorFlow 配置起來相對比較容易。TensorFlow 是谷歌基于DistBelief進行研發的第二代人工智能學習系統,其命名來源于本身的運行原理,使用該系統可以很容易實現CNN、RNN和LSTM算法,這些算法在人工智能領域,尤其是圖像處理方面非常流行。
準備:
在此之前,你需要確保以下兩個條件:
1、一臺擁有NVIDIA顯卡的電腦,臺式機筆記本均可(不用顯卡也可以實現,不過通過顯卡GPU加速效率可以提高20倍左右)
2、電腦中安裝了Linux操作系統(最好不要是虛擬機,否則驅動會折騰的讓人抓狂)
如果沒有接觸過Linux的讀者要做好折騰的心理準備,Linux驅動并不像Window那么好安裝,需要多上網查查資料
實施:
1、安裝TensorFlow:
TensorFlow的安裝比較簡單,具體安裝方法可以參考TensorFlow的中文手冊:

http://wiki.jikexueyuan.com/project/tensorflow-zh/
2、下載項目:
使用Git下載項目
git clone:https://github.com/harry19902002/image-style-transfor.git
3、下載VGG19網絡模型:
VGG19網絡模型是由牛津視覺幾何組(Visual Geometry Group)開發的卷積神經網絡結構,它在視覺方面有著不錯的表現,項目中也需要用到VGG19網絡模型。
下載地址:http://www.vlfeat.org/matconvnet/models/beta16/imagenet-vgg-verydeep-19.mat
將其下載到項目目錄中即可。
4、開始轉換:
好了,準備工作基本已經就緒。我們將原始圖片以及需要學習風格的圖片分別放到項目目錄中的Content以及Style文件夾中,用命令行輸入:
python neural_style.py --content 原始圖片文件名 --styles 風格圖片文件名 --out 生成圖片文件名
例:python neural_style.py --content ContentFile.jpg --styles StyleFile.jpg --out OutFile.jpg
經過幾分鐘處理我們可以在out文件夾中找到轉換的文件OutFile.jpg

(處理效果圖1)

(處理效果圖2)
5、進階修改:
當然項目中還有很多其他參數可以摸索,可能會將圖片優化的更漂亮:
比如:
--iterations 修改迭代次數(默認為1000)
--content_weight 照片權重
--style_weight 風格圖片權重
--learning_rate 學習步長
更多的參數可以通過輸入下面代碼查找:
python neural_style.py --help
好戲在后頭:
由于現在算法中有很多可調的參數,現在并不是一個被完全優化好的狀態,所以希望讀者們多試試里面的參數。
當然簡單的山寨并沒有什么意思,所以借助這個項目,我們可以做些獨特的,Prisma完全做不到的東西,這里我做了兩個小Demo,拋磚引玉。
1、分解計算機學習過程:
之前有網友詢問,這種方式訓練次數有什么不同效果,于是我做了一個小視頻,沒訓練一次就把圖像生成出來,這樣我們就可以看到整個訓練的過程了。
2、生成有藝術風格的視頻:
一張圖片的轉化還不足以秒殺朋友圈。沒關系,視頻轉換的道理是一樣的,經過一些處理,我們可以將視頻也轉換成藝術風格:
處理時間比較長,所以我只做了一個短視頻,原視頻地址:
風格轉化后視頻地址:
看上去還是挺酷的。
參考鏈接:
[2]A Neural Algorithm of Artistic Style 論文
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。