イラストを線画に変換する「Anime2Sketch」が登場
だそうです。
なるほど良さげに変換されているようです。

 ということで実際に試してみることにしました。
LinuxやMacOSで動作するようです。
WindowsでもWSLとか導入すれば行けるはずです。
自分のPCは Windows10 と Kubuntu 20.04LTS のデュアルブートにしてあるので、
Kubuntuでやってみました。

 まずは、 
こちらのgithubからcloneします。
gitが未導入の場合は、$ sudo apt install git しておきます。
適当な作業フォルダにおいて、以下のようにやると

$ git clone https://github.com/Mukosame/Anime2Sketch.git

Anime2Sketch というフォルダが出来ているので、そこへ移動します。

 次に、
こちらによれば、$ pip install -r requirements.txt をやるとのこと。
しかし、自分の環境には pip が入ってないようです(^_^;)
ということで調べてみた所、ubuntuの場合はこちらに書いてあるように、

$ sudo apt install python3-pip

をやって導入します。
なお、コマンドとしては pip ではなく pip3 となるようです。
また、ubuntuの場合は注意が必要です。
こちらに書いてあるように、

Ubuntu版の pip コマンドを使用する場合、非特権ユーザが pip install を実行すると、ホームディレクトリの ~/.local ディレクトリにインストールされます。
sudo pip3 install xxx のように、特権ユーザとしてコマンドを実行した場合には、/usr/local/lib にインストールされます。

ということなので、普通にやると別途pathを通す必要が出てきて面倒な感じです。
なので、以下のようにsudoを付けてやっておきます。

$ sudo pip3 install -r requirements.txt

 続いて、
事前学習済みの重みデータ netG.pth をダウンロードします。
ここからダウンロードして、Anime2Sketch/weights に配置します。
ちなみにサイズは200MB程度ありました。

 んで、
例えば以下のようにやれば変換できるそうです。

$ python3 test.py --dataroot test_samples/madoka.jpg --load_size 512 --output_dir results

入力にフォルダを指定した場合はそのフォルダの全ての画像が対象になるようです。
画像はデフォルトで512×512にリサイズされるようですので、
あらかじめ同じサイズにトリミングとかしておいた方が良さそうです。
サイズは --load_size 256 とか指定すれば変更できるようです。
ただし2のべき乗の値でないとダメなはずです。

 それでは実際にやってみましょう。
以前に「アニメな萌えキャラをAIが自動生成」で作った画像を変換してみました。
以下のようなWarningが出たりしましたが、アッサリと変換されていました(^_^;)
あまり気にする必要はなさそう?

/usr/local/lib/python3.8/dist-packages/torchvision/transforms/transforms.py:257: UserWarning: Argument interpolation should be of type InterpolationMode instead of int. Please, use InterpolationMode enum.

 Ryzen 3600 な自分のPCではほんの数秒も掛からなかった感じでした。
細い線とかうまく変換できなかった部分もあるようですが、
概ねそれなりに変換されているようです。

 MMDは3Dだけど見た目はアニメっぽくなるので、
行けるのでは?とやってみたら、そこそこ良い感じになりました。

 浮世絵とかも行けそうな感じがしたので、
やってみたら、なかなか良い感じに仕上がりました。

 アニメ調な絵ではなく、写真とかでやってみたらどうなるのか?
ということでいくつか試してみました。
思いの外、良さげに変換されているように見えます。
実写とかもそれなりに線画に変換できそうな雰囲気ですね。

コメントする

メールアドレスが公開されることはありません。が付いている欄は必須項目です。