隨手拍張照片,順勢轉(zhuǎn)換為宮崎駿、新海誠等日漫大師的手繪風(fēng)格作品,這個專門生成動漫圖像的 GAN,實測很好用。
盡管最近 2019 年的圖靈獎頒給了計算機圖形學(xué)、頒給了皮克斯 3D 動畫,但很多人可能認(rèn)為二維動漫更有意思一些。像宮崎駿、新海誠這些大師手繪下的動漫,才有了靈魂,張張都能成為壁紙,而整個日漫也以二維為核心。 如果有模型能將真實畫面轉(zhuǎn)化為日漫風(fēng)格的手繪畫面,那一定非常炫酷。最近機器之心發(fā)現(xiàn)確實有這些模型,從 CartoonGAN 到 AnimeGAN 都能生成非常有意思的圖像。
這里有一個 TensorFlow 新項目,它實現(xiàn)了 AnimeGAN,并提供了預(yù)訓(xùn)練模型。也就是說,我們下載后可以直接試試生成效果。作為日漫風(fēng)格的愛好者,我們很快就試用了一下新項目。 項目地址:https://github.com/TachibanaYoshino/AnimeGAN 雖然原項目給出的最佳示例很多都是街景,但我們發(fā)現(xiàn)各種場景也都還行,如下是我們試用的原圖與生成效果??纯吹谝粡垯鸦ǖ郎尚Ч鋈挥幸环N《千與千尋》的感覺。
如果只針對人物,轉(zhuǎn)換效果也是非常不錯的。我們嘗試將新垣結(jié)衣的照片輸入 AnimeGAN 模型,然后就有如下這種神奇的畫風(fēng),感覺直接用到動漫里也沒什么問題了。
在原 GitHub 項目中,作者還給了非常多的示例,上面只是機器之心試用的結(jié)果,你也可以來用一用。 AnimeGAN 整個項目實現(xiàn)的是論文「AnimeGAN: a novel lightweight GAN for photo animation」中所提方法,作者在論文中分別將 AnimeGAN 與 CartoonGAN、ComixGAN 進(jìn)行對比。
從圖中可以看到,AnimeGAN 在細(xì)節(jié)方面的表現(xiàn)要優(yōu)于以上兩種方法,色彩相對而言更加自然,涂抹感也沒有那么強烈。最明顯的是第二行的效果圖,使用 AnimeGAN 生成的漫畫更加接近宮崎駿的畫風(fēng)。 方法簡介 對于這個項目的 AnimeGAN,如下所示為 AnimeGAN 所采用的生成器網(wǎng)絡(luò)與判別器網(wǎng)絡(luò)??雌饋砟P驼w是比較常規(guī)地一個卷積神經(jīng)網(wǎng)絡(luò),但它會采用實例歸一化以及新型的 LReLU 激活函數(shù)。
除了架構(gòu)細(xì)節(jié)上的更新外,作者還提出了以下三個新的損失函數(shù):
灰度風(fēng)格(grayscale style)loss
灰度對抗(grayscale adversarial)loss
色彩重構(gòu)(color reconstruction)loss
這些損失函數(shù)能夠讓生成圖片的風(fēng)格更加接近于真實的漫畫風(fēng)格。 下表比較了 ACartoonGAN 與 AnimeGAN 的模型大小與推理速度。可以明顯看出,AnimeGAN 是個相對輕量級的 GAN,具有更少的參數(shù)量以及更快的推理速度。
總體來說,新提出來的 AnimeGAN 是一種輕量級的生成對抗模型,它采用了較少的模型參數(shù),以及引入格拉姆矩陣(Gram matrix)來加強照片的風(fēng)格。研究者的方法需要采用一系列真實圖片與一系列動漫圖片做訓(xùn)練,且這些圖片并不需要成對匹配,這就表明訓(xùn)練數(shù)據(jù)非常容易獲得。 項目實測 我們在 Ubuntu 18.04 下對本項目進(jìn)行了測試,相關(guān)依賴環(huán)境如下:
python 3.6.8
opencv
tqdm
numpy
glob
argparse
這些依賴項可以說都是 CV 中常用的擴展庫,我們就不用費盡心思去解決各種依賴環(huán)境沖突的問題了,這里給個好評。 以下是本項目的訓(xùn)練及測試詳細(xì)流程。我們首先將 AnimeGAN 項目克隆到本地,在 Jupyter notebook 中輸入:
!gitclonehttps://github.com/TachibanaYoshino/AnimeGAN
將工作目錄切換到 AnimeGAN: importos os.chdir('AnimeGAN') print(os.getcwd()) 接下來下載項目作者提供的預(yù)訓(xùn)練模型,使用 vim download_staffs.sh 創(chuàng)建一個 Shell 文件,輸入如下命令: URL=https://github.com/TachibanaYoshino/AnimeGAN/releases/download/Haoyao-style_V1.0/Haoyao-style.zip ZIP_FILE=./checkpoint/Haoyao-style.zip TARGET_DIR=./checkpoint/saved_model mkdir-p./checkpoint wget-N$URL-O$ZIP_FILE mkdir-p$TARGET_DIR unzip$ZIP_FILE-d$TARGET_DIR rm$ZIP_FILE DatesetURL=https://github.com/TachibanaYoshino/AnimeGAN/releases/download/dataset-1/dataset.zip ZIP_FILE=./dataset.zip TARGET_DIR=./dataset rm-rfdataset wget-N$DatesetURL-O$ZIP_FILE unzip$ZIP_FILE-d$TARGET_DIR rm$ZIP_FILE VGG_FILE=./vgg19_weight/vgg19.npy wget--load-cookies/tmp/cookies.txt"https://docs.google.com/uc?export=download&confirm=$(wget--quiet--save-cookies/tmp/cookies.txt--keep-session-cookies--no-check-certificate'https://docs.google.com/uc?export=download&id=1U5HCRpZWAbDVLipNoF8t0ZHpwCRX7kdF'-O-|sed-rn's/.*confirm=([0-9A-Za-z_]+).*/1 /p')&id=1U5HCRpZWAbDVLipNoF8t0ZHpwCRX7kdF"-O$VGG_FILE&&rm-rf/tmp/cookies.txt 保存后退出,以上命令會將預(yù)訓(xùn)練的模型、vgg19 權(quán)重以及訓(xùn)練數(shù)據(jù)集下載并保存到其對應(yīng)目錄下。在 notebook 中運行: !bashdownload_staffs.sh
至此即完成所有準(zhǔn)備工作,運行如下代碼就可以對模型進(jìn)行訓(xùn)練了: !pythonmain.py--phasetrain--datasetHayao--epoch101--init_epoch1 AnimeGAN 的訓(xùn)練過程如下圖所示:
當(dāng)進(jìn)行測試時,我們需要將用于測試的圖片保存到 dataset/test/real 目錄下,并運行如下代碼: !pythontest.py--checkpoint_dircheckpoint/saved_model--test_dirdataset/test/real--style_nameH
當(dāng)看到以上輸出說明程序已經(jīng)成功運行完成,生成結(jié)果保存在 results 文件夾下??梢钥吹剑?P100 GPU 上生成一幅圖片需要大約 2.3 秒左右。 整體而言,運行速度還是比較快的,這么好玩的項目,你不來試下嗎?
-
GaN
+關(guān)注
關(guān)注
19文章
1910瀏覽量
72752 -
生成器
+關(guān)注
關(guān)注
7文章
313瀏覽量
20956 -
計算機圖形學(xué)
+關(guān)注
關(guān)注
0文章
12瀏覽量
8111
原文標(biāo)題:天秀!GitHub 硬核項目:動漫生成器讓照片秒變手繪日漫風(fēng)?。?!
文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論