AnimeGANv2 實(shí)現動(dòng)漫風(fēng)格遷移,簡(jiǎn)單操作
作者 | Yunlord
出品 | CSDN博客
前言
之前一直在研究如何將圖像動(dòng)漫化,嘗試了阿里云api和百度api,效果都不盡如人意。結果發(fā)現了一個(gè)寶藏github項目——AnimeGANv2,能夠將現實(shí)世界場(chǎng)景照片進(jìn)行動(dòng)漫風(fēng)格化。
可以看出AnimeGAN的效果非常好,而在去年九月發(fā)布的 AnimeGANv2 優(yōu)化了模型效果,解決了 AnimeGAN 初始版本中的一些問(wèn)題。
相比AnimeGAN,改進(jìn)方向主要在以下4點(diǎn):
解決了生成的圖像中的高頻偽影問(wèn)題。
它易于訓練,并能直接達到論文所述的效果。
進(jìn)一步減少生成器網(wǎng)絡(luò )的參數數量。(現在生成器大小 8.17Mb)
盡可能多地使用來(lái)自BD電影的新的高質(zhì)量的風(fēng)格數。
那接下來(lái)我們就介紹如何在本地使用該項目。
GitHub鏈接如下:
http://https//github.com/TachibanaYoshino/AnimeGANv2
一、安裝
本文介紹的是基于PyTorch的實(shí)現,項目地址為animegan2-pytorch。
首先需要配置好適合該項目的環(huán)境,具體需要的安裝步驟如下:
首先,將該項目clone到本地或者下載下來(lái):
git clone https://github.com/bryandlee/animegan2-pytorch
然后,進(jìn)入到本地的項目中,會(huì )看到如下的項目結構:
├── convert_weights.py ├── model.py ├── README.md ├── samples │ ├── compare │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ └── 3.jpg │ ├── face_results.jpg │ ├── faces │ └── inputs │ ├── 1.jpg │ ├── 2.jpg │ └── 3.jpg │ ├── results ├── weights │ ├── celeba_distill.pt │ ├── paprika.pt │ ├── face_paint_512_v1.pt │ └── face_paint_512_v2.pt ├── hubconf.py └── test.py
該項目的核心工作就是使用PyTorch構建的生成器模型,并將原始TensorFlow的模型參數轉換為了PyTorch模型參數。其中構建模型的腳本為model.py,而轉換模型的腳本為convert_weights.py,然后test.py則是封裝的一個(gè)的動(dòng)漫化功能接口。
因為下載下來(lái)的項目中的weights文件夾下包含了已經(jīng)轉換好的pytorch參數,所以我們不需要進(jìn)行轉化。
至此,本項目環(huán)境配置就完成了,接下來(lái)就是使用該項目。
二、現實(shí)圖片動(dòng)漫化
只需要調用test.py就可以使用該項目,具體的命令格式如下。
python test.py --checkpoint [模型文件路徑] --input_dir [輸入圖像所在目錄](méi) --output_dir [輸出目錄](méi) --device [設備選擇,cpu或者cuda]
其中weights文件夾下包含四個(gè)權重,其中celeba_distill.pt和paprika.pt是風(fēng)景動(dòng)漫遷移的權重,而face_paint_512_v1.pt和face_paint_512_v2.pt是人臉動(dòng)漫遷移的權重。只需要選擇對應的權重就能實(shí)現自己想要的動(dòng)漫風(fēng)格遷移。
最終我們看下效果。
三、實(shí)現效果
人物:
總結
本文簡(jiǎn)單介紹如何使用AnimeGANv2這個(gè)開(kāi)源項目來(lái)實(shí)現現實(shí)圖片轉換為動(dòng)漫風(fēng)格圖像,該項目對應的模型很輕量,希望感興趣的小伙伴們也能夠用起來(lái),生成自己喜歡的動(dòng)漫圖像。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。