【Python】イラストを線画に変換するAnime2Sketchをインストール

【Python】イラストを線画に変換するAnime2Sketchをインストール プログラミング

まずは、次の画像を見てください。

こんなことが、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の動作確認を説明しました。

タイトルとURLをコピーしました