Stable Diffusionで2次元キャラクターの成功率を劇的に向上させるモデル、Waifu Diffusionの使い方

  • URLをコピーしました!

ハイクオリティなイラストを生成できるAIとして話題のStable Diffusionですが、その中でも2次元キャラクターのクオリティを劇的に向上させるモデルがあることがわかりましたので、使用方法を解説していきたいと思います。

2023年1月現在、Stable Diffusion 1.x系が動作しなくなっています。
最新バージョンである2.x系の使用方法を以下の記事で紹介していますのでそちらを使用してください。

以下のページで自然言語処理モデルGPT-3を使ったライティングツールCatchyで、Stable DiffusionのPromptを自動生成する方法について解説していますので、あわせてご覧ください。

目次

Waifu Diffusionとは

ハイクオリティなイラストを生成できるお絵かきAI、Stable Diffusionをさらに2次元イラストに特化させるためのチューニングが行われたモデルがWaifu Diffusionです。
Waifu Diffuisonのリポジトリは以下となります。今回はこのモデルを使って2次元キャラクターを描かせてみようと思います。

Waifu Diffusionの実装

ベースとなるStable Diffusionのインストールと実装するためのソースコードの解説は以下のページでまとめていますので、あわせてご覧ください。

WaifuDiffusionの使用方法はいたって簡単で、モデルを指定する箇所を”hakurei/waifu-diffusion”に変更するだけです。
先ほどのStable Diffusionの使用方法を解説しているページに掲載しているソースコードの、パイプラインの設定部分を以下のように変更してください。

pipe = StableDiffusionPipeline.from_pretrained("hakurei/waifu-diffusion", use_auth_token=YOUR_TOKEN)

作成したソースコード

今回作成したソースコードは以下の通りです。
このコードを実行する前に先ほど紹介した「無料で使える描画AI!Stable Diffusionで画像を生成する方法」の解説に従いStable Diffusionのインストールを済ませておいてください。

モデルの変更に伴う箇所は8行目のパイプラインの設定の一行だけとなります。
また今回は一度の実行で10枚のイラストを生成するように変更しました。

from diffusers import StableDiffusionPipeline
from datetime import datetime

#HuggingFaceのトークン
HF_TOKEN = "〇〇"

#StableDiffusionパイプライン設定
pipe = StableDiffusionPipeline.from_pretrained("hakurei/waifu-diffusion", use_auth_token=HF_TOKEN)

#使用するデバイスを設定
pipe.to("cuda")
#pipe.to("cpu")

#生成したい画像を指示
prompt = "〇〇"

#10枚続けて生成
for i in range(10):
  #画像生成
  image = pipe(prompt, height=512, width=768)["sample"][0]

  #ファイル名に日時を付ける
  date = datetime.now().strftime("%Y%m%d_%H%M%S")
  path = date + ".png"
  image.save(path)

使用するデバイスでGPUが使えない場合は11行目を”cpu”に変更してください。

実行結果

今回は動作テストのためchiliさんがTwitterで公開されている呪文をおかりしました。

生成された絵の1枚がこちらです。

20枚ほど作っただけでかなりクオリティが高い画像が数枚出てきました。
以前のモデルだと人物は100枚生成して1~3枚くらい良い絵が出てくるかなといった感じでしたので、Waifu Diffusionに変更したことで2次元女性キャラクタークオリティが劇的に向上しています。

安定した環境を手に入れるためにはローカルでの構築がおすすめ

Stable Diffusionを使用する際にGoogle ColaboratoryやWebサービスを利用されている方も多いかと思います。しかし、最近Google Colabの無料での使用範囲が大きく制限されたり、Webサービスでは月額費用がかかったりします。

欲しいイラストを生成するにはかなりの回数をトライする必要があるため、これらの制約に縛られることなく使用できるローカル環境を構築するのがおすすめです。

ローカルのPCに搭載するグラフィックボード

ローカルマシンで実行する上で重要になってくるのがグラフィックボードです。
Stable Diffusionでイラストを生成するために実行される推論処理を、グラフィックボード上のGPUを使って大幅に高速化することができます。
トライする回数が増えれば品質の高いイラストが生成される可能性が上がりますので、グラフィックボードは重要です。

Stable Diffusionで使用するためのGPUは2022年に新たにNVIDIAから発売されたRTX4000シリーズのGPUとVRAM12GB以上のものがおすすめです。最近は半導体不足も一服したこともあり、新しい製品ながら価格が下がりつつあります。

また、PCのパーツ交換等ができない方には、RTXを搭載したゲーミングPCがおすすめです。

HP ゲーミングデスクトップPC OMEN by HP 40L RTX 3070 Ti Core i7 16GB 1TB Win11 Pro

Pythonによる自動化、UIの作成

当ブログでもソースコードを公開していますが、Stable Diffusionを使用するためのコードはPythonで簡単に実装することができます。Pythonの初歩的なプログラミングを習得することで、Promptを自動で生成、組み合わせ変更してトライするプログラムを作成したり、他の方が配布されているオープンソースのUIを自分好みにカスタマイズすることも可能です。

Pythonのプログラミングを学びたい方には、初心者からでも挫折することなく習得できるオンラインスクールがおすすめです。

最近ではほとんどのスクールがオンラインに対応しており、好きな時に自宅で自分のペースで学ぶことができます。

まとめ

今回はハイクオリティな2次元キャラクターを量産できるモデルWaifu Diffusionを紹介しました。人物のイラストを生成する際の成功率が劇的に上昇しますので、2次元美少女を描いてみたい方はぜひ試してみてください。

以下のページで自然言語処理モデルGPT-3を使ったライティングツールCatchyで、Stable DiffusionのPromptを自動生成する方法について解説していますので、あわせてご覧ください。

それではまた次の記事でお会いしましょう。

\ Pythonのプログラミングを学びたい人には自宅で学べるUdemyがおすすめ!  /

講座単位で購入できます!

参考

よかったらシェアしてね!
  • URLをコピーしました!
目次