AIでジブリっぽい絵を生成する
今回はCartoonGANというAIのモデルを使って、写真をジブリの絵っぽく変換してみます。
CartoonGANとは、写真を宮崎駿さんや細田守さんの絵のタッチに変換するというモデルです。
GANの一種で、画像を変換するAIモデルです。GANの仕組みに関しては、taku-buntuさんのこちらの記事がとてもわかりやすいです。
論文がとても興味深かったので、実際に動かしてみました。
写真からジブリの絵が再現できるのか…?
ではさっそく、結果を見てもらいましょう。私が試した画像はこちら。
宮崎監督も細田監督も、森が登場する作品が多いイメージなので、まずはこんな画像で試してみました。
input
output
あれ、なんか思ったよりボンヤリしてる…。
両監督の映画では、自然はもっと鮮やかに描かれています。
このあと人物や自然など色んなタイプの写真を試してみましたが、両タイプとも傾向として、
「輪郭を縁取って色彩をぼんやりさせる」
そして宮崎監督風ではそこに「赤みを足す」ものとAIは学習しているようです。
人物画などはまだ弱いですね。
でもジブリっぽい風景だとかなり似ている
ただ、ネットで「ジブリっぽい」と言われている場所の写真を読み込ませてみると、かなりジブリっぽい絵が生成されました。
みなさんも、もしジブリっぽい場所が見つかったら試してみてください。
自分で試したい方へ
インストール
公式の手順通り進めます。
- CartoonGANのデータをダウンロードする
- Pytorchのためにpipとnumpyのアップデート
- Pytorchをインストール
CartoonGANのデータをダウンロードする
まずは、ターミナルでデータをダウンロードしたいファイルの場所に移動し、git cloneしてきます。
git clone https://github.com/Yijunmaverick/CartoonGAN-Test-Pytorch-Torch
cd CartoonGAN-Test-Pytorch-Torch
Pytorchのインストール
そしてPytorchかTorchで動かすんですが、私はどちらも入れていなかったので、そちらのインストールから。私はPytorchにしました。
pipとnumpyをアップデート
Pytorchのインストールは、まずpipとnumpyのアップロードが必要だそうです。
Please ensure that you are on the latest pip and numpy packages.
https://pytorch.org/
入っていない場合は、この2つもインストールしましょう。
公式ではAnacondaが推奨されているようです。
Anaconda is our recommended package manager
https://pytorch.org/
Anacondaを入れるとどちらもインストールされるのでおすすめです。
アップデートする場合はこちら。
# pip
pip install -U pip
pip install -U numpy
# Anaconda
conda update pip
conda update numpy
Pytorchのインストール
Pytorchは公式でconda,pip,githubから選んでインストールできます。
私はmacでgpuを使わないので↓のコマンドを入れました。
conda install pytorch torchvision -c pytorch
実際に動かしてみる
では、YourImgDirというディレクトリを作って変換したい画像を保存してから、以下のコマンドを実行します。gpuを使わない場合は--gpu -1
にします。
python test.py --input_dir YourImgDir --style Hosoda --gpu -1
まとめ
やはりGANの画像変換は面白いですね。
今回はユニークな画像変換を取り上げました。最近は人物の写真もアニメ絵に変換したりもできるので、GANにもまだまだ注目です。