まずは、次の画像を見てください。
こんなことが、Pythonで簡単にできてしまいます。
面倒なパラメータ調整なども不要です。
Anime2Sketchを利用すれば、誰でもすぐにできます。
本記事の内容
- Anime2Sketchとは?
- Anime2Sketchのシステム要件
- Anime2Sketchのインストール
- Anime2Sketchの動作確認
それでは、上記に沿って解説していきます。
Anime2Sketchとは?
GitHub上のAnime2Sketchページ
https://github.com/Mukosame/Anime2Sketch
Anime2Sketchとは、イラスト・アニメアート・マンガのためのスケッチ抽出ツールです。
オープンソースとして公開されています。
次のような肖像画も線画に変換できます。
つまり、絵ならば何でもOKと言うことです。
なお、個人的には次の変換に驚きました。
もともとが線画のようなモノです。
そこから、物体の輪郭を認識して抽出できています。
巨大魚の鱗などが見事に除去されています。
技術的には、機械学習をベースにしています。
機械学習と言うより、ディープラーニングと言うべきでしょうね。
よって、Anime2SketchはAIベースの線画抽出ツールと言えます。
以上、Anime2Sketchの説明でした。
次は、Anime2Sketchのシステム要件を確認します。
Anime2Sketchのシステム要件
現時点では、バージョン管理がされていないようです。
機械学習ベースのツールであるため、学習済みモデルが重要になります。
以下がGitHub上で公開されているAnime2Sketchのシステム要件です。
この要件から、特に次の2点について説明しておきます。
- サポートOS
- PyTorch
それぞれを以下で説明します。
サポートOS
サポートOSにWindowsがありません。
おそらく、Windowsで動作検証をしていないだけだと思います。
公開されているプログラムを見た限り、Windowsがダメな理由がありません。
実際、私はWindows 10で動作させています。
よって、サポートOSに関しては以下を含むクロスプラットフォーム対応になります。
- Windows
- macOS
- Linux
WindowsがサポートOSにないために、利用を躊躇する人がいるはずです。
Anime2Sketchの普及にとっては、Windows未記載がマイナスになります。
まあ、そこまで普及に力を入れていないのかもしれませんけどね。
PyTorch
Anime2Sketchは、ディープラーニングの技術を利用しています。
そして、ディープラーニングはPyTorchで行っています。
PyTorchに関しては、次の記事で解説しています。
インストールは、上記の記事を参考に完了させておきます。
ちなみに、今回の検証では次のコマンドでPyTorchをインストールしています。
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio===0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
上記は、WindowsにpipコマンドでGPU対応のPyTorchをインストールするコマンドです。
各自の環境に合わせて、インストールコマンドは異なります。
以下は、PyTorchインストール後のインストール済みパッケージ状況です。
(※pipとsetuptools以外は、PyTorchインストールの際にインストールされます)
>pip list Package Version ----------------- ----------- numpy 1.20.2 Pillow 8.2.0 pip 21.1.1 setuptools 56.1.0 torch 1.8.1+cu111 torchaudio 0.8.1 torchvision 0.9.1+cu111 typing-extensions 3.10.0.0
PillowはNumpyなどと同様に、自動的にインストールされます。
そのため、わざわざPillowを個別でインストールする必要はありません。
まとめ
Anime2Sketchは、Windowsでも問題なくインストールできます。
そして、PyTorchは事前にインストールしておきます。
また、Pythonのバージョンについては3系のみがサポート対象です。
そもそも、PyTorchが3系のみのサポートになります。
なお、私は以下のPythonバージョンで検証しています。
>python -V Python 3.9.4
あと、別にAnacondaである必要もありません。
むしろ、個人的にはPyCharmをおススメします。
要は、各自で管理しやすい方法なら何でもOKということです。
以上、Anime2Sketchのシステム要件を説明しました。
次は、Anime2Sketchをインストールしていきます。
Anime2Sketchのインストール
Anime2Sketchの本体は、以下の二つです。
- Pythonプログラム
- 学習済みモデル
ディープラーニングは、PyTorchで行います。
よって、ファイルを設置することがここで行う作業となります。
それぞれを設置していきます。
Pythonプログラム
GitHubのAnime2Sketchページから、以下の構成をコピーします。
gitコマンドやzipダウンロード・解凍で丸ごと持ってきてもOK。
以上でPythonプログラムの設置は完了です。
学習済みモデル
Anime2Sketchのコアとなる学習済みモデルです。
学習済みモデルは、Google Driveからダウンロードします。
https://drive.google.com/drive/folders/1Srf-WYUixK0wiUddc9y3pNKHHno5PN6R
ファイルの詳細は、以下。
200MBを超えるので、GitHubに設置できないのでしょう。
GitHubは、100MB以上のファイルをアップロードできない仕様です。
ダウンロードしたnetG.pthをweigthsフォルダに設置します。
以上で学習済みモデルの設置が完了です。
まとめ
ファイル、フォルダの設置がAnime2Sketchのインストール作業になります。
PyTorchは、すでにインストール済みのはずです。
なお、GitHubでは以下のようにしてPyTorchをインストールするように記載しています。
requirements.txt
torch>=0.4.1 torchvision>=0.2.1 Pillow>=6.0.0
上記の方法でも、PyTorchはインストールされるでしょう。
でも、これはPyTorch公式ページで推奨されるインストール方法ではありません。
それにGPU対応版のPyTorchをインストールできるのかどうか不明です。
CUDAのバージョン指定もどうするのでしょうか?
不明点が残る方法は、やはり避けるべきです。
以上、Anime2Sketchのインストールに関して説明しました。
最後は、Anime2Sketchの動作確認を行います。
Anime2Sketchの動作確認
以下のコマンドでAnime2Sketchを動作させます。
python test.py --dataroot /your_input/dir --load_size 512 --output_dir /your_output/dir
用意した環境で動かすなら、以下のコマンドがそのまま動きます。
python test.py --dataroot test_samples/madoka.jpg --load_size 512 --output_dir demo/
上記を実行すると、demoフォルダの下に次のようなmadoka.jpgが作成されます。
なお、プログラム実行時に次のような警告が出るかもしれません。
UserWarning: Argument interpolation should be of type InterpolationMode instead of int. Please, use InterpolationMode enum. warnings.warn(
無視しても大丈夫です。
動作的には、何も支障がありません。
追記 2023年3月13日
Anime2Sketchを圧倒するような線画変換の方法が見つかりました。
以上、Anime2Sketchの動作確認を説明しました。