そんな疑問を解消するためにこの記事では、WaifuDiffusionを使ってイラストを生成していきたいと思います。
- Waifu Diffusionの使い方
- Waifu Diffusionで作れるイラスト例
WaifuDiffusionの使い方を知りたかったり、どんなイラストを生成することができるのか知りたい方は参考にしてみてください。
WaifuDiffusiionとは
Waifu DiffusionはStable Diffusionをファインチューニングしてイラストに特化させたモデル。
Waifu Diffusion is the name for this project of finetuning Stable Diffusion on images and captions downloaded through Danbooru
Stable Diffusionと同じでこれもGithubでコードを見ることができます。みたい人がいたら覗いてみるといいでしょう。
Stable Diffusionについては以下の記事で書いているから、どんなもんか見てみたかったら参考にしてみてください。
WaifuDiffusionの使い方
Hugging FaceにExampleが載っているから、そちらを参考にしつつ試していきます。GPU使いたいので、GoogleColaboratoryでやりましょう。
ランタイムをGPUに変更する
GoogleColaboratoryでまずはランタイムをGPUに変更します。
保存ボタンを押してGPUにします。そしたらまずは必要なモジュールをインストール。
これでExampleのコードを実行します。
import torch
from torch import autocast
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained(
'hakurei/waifu-diffusion',
torch_dtype=torch.float32
).to('cuda')
prompt = "1girl, aqua eyes, baseball cap, blonde hair, closed mouth, earrings, green background, hat, hoop earrings, jewelry, looking at viewer, shirt, short hair, simple background, solo, upper body, yellow shirt"
with autocast("cuda"):
image = pipe(prompt, guidance_scale=6)["sample"][0]
image.save("test.png")
これで生成した画像を確認してみるとこんな感じです。
これだけのクオリティのイラストが生成されるなんてびっくりですよね。もちろん実行結果やテキストによってはクオリティの低いものが生成される場合もあります。
テキストを変更して色々生成してみる
入力するpromptの値(テキスト)を変更すれば、生成する画像も変わってくるのでいくつか試してみましょう。
ちょっとだけサンプルからテキストの値を変更してみたけど、なかなか良いですね。
次は魔女を生成してみる。
次は剣士。
いくつか試してみたけど、テキストは詳細に書いたほうが良さそうですね。それと2人のイラストなんかだとちょっと難しいかもしれない。
とはいえここまでクオリティ高く生成できるのはすごいですね。
まとめ
Waifu Diffusionを使ってみたけど、なかなかのクオリティの高さでしたね。指定するテキストやコードによって生成されるイラストも変わってくるから作る際には色々試してみるといいです。