夢想伊始
作爲日漫的愛好者,特別是對宮崎駿、新海誠這些壁紙狂魔的作品情有獨鍾。同時,作爲一個程序員的我,一直夢想着可以開發一個功能,實現將現實的照片風格轉化爲動漫風格,爲此我開始學習Python,學習過程中發現已經有大神實現了這樣的功能,於是迫不及待的研究起來。因爲入門python才一週,我使用了5天的時間纔在本地實現了這個功能。發此文一是記錄這個實踐過程中的所學,二是將這個知識分享起來,希望對有同樣愛好的技術人員有些許幫助。
AnimeGAN 介紹
隨着計算機視覺技術的發展,有很多圖片風格轉換的算法模型,比如:CartoonGAN、AnimeGAN 、ComixGAN等。這次學習的項目是一個 TensorFlow 新項目,它實現了 AnimeGAN,並提供了預訓練模型。這意味着我們只要下載安裝以後,就可以直接生成實驗效果。
Github項目地址:https://github.com/TachibanaYoshino/AnimeGAN
下面,先看看作者提供的效果對比圖:
AnimeGAN 環境搭建
因爲圖片的轉換需要用到顯卡的GPU,沒有其他實驗機器,所以直接在本地環境安裝(win10 + GTX 1050 Ti 4G+ 16G內存 + i5-7300HQ),開始之前我覺得這個配置還可以,開始運行後發現用於圖形處理還是不夠,比如比較大(超過1M)的圖片就會轉換失敗,不過不影響結果,普通圖片轉換還是很快的。
1、相關依賴環境:
都是一些比較常用的依賴庫,安裝還是比較快的。我是第一次安裝,遇到不少問題,都記錄下來了。
- python 3.6.8
- tensorflow-gpu 1.8
- opencv
- tqdm
- numpy
- glob
- argparse
2、Anaconda安裝
本次安裝 Python 使用的是 Anaconda ,是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項。十分適合搭建測試運行環境。
1、下載鏈接(點擊進入清華鏡像下載),可以選擇適合自己的版本,安裝的時候只需要注意添加環境變量就可以了(一定要勾選)。
2、安裝完成以後在 win10 菜單欄可以快速打開Anaconda 相關工具。
3、安裝 tensorflow-gpu 依賴
安裝這個插件時遇到很多問題,我單獨記了一篇文章記錄:《Win10 + 1050Ti 安裝 tensorflow-gpu-1.8.0 踩坑筆記》。
4、其他依賴安裝
剩餘的依賴都可以通過Anaconda快速安裝。需要手動安裝的插件有:opencv、tqdm、glob 。安裝步驟如下:
第一步:打開 Anaconda Navigator ,第一次打開要初始化一下,等個幾分鐘就好了。點擊:Environments。
第二步:選擇之前安裝 tensorflow-gpu 創建的環境。PS:我就是選錯環境瞎忙了兩天。
第三步:選擇需要安裝的依賴,比如 opencv 。勾選以後右下加會出現 Apply 按鈕,點擊會出現版本彈窗,確認就行了。
第四步:解決組件安裝慢的問題。因爲默認的源訪問較慢,可以換成其他快的。
先刪除原來的,再添加下面的。推薦的源地址:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
AnimeGAN 的使用
AnimeGAN 的使用在官網寫的很詳細,不過是英文的,不方便閱讀。我簡單描述一下操作步驟。
1、數據包下載
官網的下載鏈接太慢了,爲此我還特地充了迅雷會員。爲了節省大家時間,直接去我網盤下載吧:
鏈接:https://pan.baidu.com/s/1MAAqhqqdcAEogAyMMJbT6A
提取碼:q6d0
2、解壓 AnimeGAN 項目
我是爲了測試方便,直接解壓到桌面了。
2、數據包處理
將下載的數據包放到對應的位置。
3、模型進行訓練
1)使用 Anaconda 進入準備好的環境。
2)進入AnimeGAN 項目解壓的文件夾
3)執行以下命令進行訓練(PS:本項目可以不執行訓練,可以執行以下看看效果,不過執行過程超慢且消耗資源嚴重)
python main.py --phase train --dataset Hayao --epoch 101 --init_epoch 1
訓練過程如下圖所示:
順便看一下執行的時候資源消耗:
4、開始使用
搞了這麼多,終於可以實戰操作一下了,把自己準備的照片轉換爲二次元風格。
1)將自己的圖片,放置到 ~\AnimeGAN\dataset\test 下的一個文件夾中,文件夾可以自己定義。注意圖片格式爲 jpg ,且大小不要太大,建議不要超過1M .
2)同樣的方式進入項目解壓目錄,執行以下命令:
python test.py --checkpoint_dir checkpoint/ --test_dir dataset/test/yooao --style_name H
3)執行結果如下:
4)查看執行結果
執行完以後會在項目根目錄,生成一個results 文件夾,生成圖片就在裏面。
測試效果
1、風景
2、人像