Waifu Diffusionでイラストを自動生成する方法を紹介します。

WaifuDiffusionってどんなイラスト生成できるんだろう?

そんな疑問を解消するためにこの記事では、WaifuDiffusionを使ってイラストを生成していきたいと思います。

この記事で分かること
  • Waifu Diffusionの使い方
  • Waifu Diffusionで作れるイラスト例

    WaifuDiffusionの使い方を知りたかったり、どんなイラストを生成することができるのか知りたい方は参考にしてみてください。

    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

    Waifu Diffusion

    Stable Diffusionと同じでこれもGithubでコードを見ることができます。みたい人がいたら覗いてみるといいでしょう。

    Stable Diffusionについては以下の記事で書いているから、どんなもんか見てみたかったら参考にしてみてください。

    WaifuDiffusionの使い方

    Hugging FaceにExampleが載っているから、そちらを参考にしつつ試していきます。GPU使いたいので、GoogleColaboratoryでやりましょう。

    ランタイムをGPUに変更する

    GoogleColaboratoryでまずはランタイムをGPUに変更します。

    保存ボタンを押してGPUにします。そしたらまずは必要なモジュールをインストール。

    !pip install --upgrade diffusers==0.4.1 transformers scipy

    これで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に指定したテキストが元になってイラストが作られるの?
    そうだよ、promptで指定しているのはExampleの文だね。

    これで生成した画像を確認してみるとこんな感じです。

    すごいやん・・・
    すごいよね、びっくりしちゃう。

    これだけのクオリティのイラストが生成されるなんてびっくりですよね。もちろん実行結果やテキストによってはクオリティの低いものが生成される場合もあります。

    テキストを変更して色々生成してみる

    入力するpromptの値(テキスト)を変更すれば、生成する画像も変わってくるのでいくつか試してみましょう。

    おおっ・・・すごい・・・

    ちょっとだけサンプルからテキストの値を変更してみたけど、なかなか良いですね。

    次は魔女を生成してみる。

    かっこいい感じだね。
    そうだね、テキスト変更するだけでイラストの幅拡がるから楽すぎる・・・

    次は剣士。

    いくつか試してみたけど、テキストは詳細に書いたほうが良さそうですね。それと2人のイラストなんかだとちょっと難しいかもしれない。

    とはいえここまでクオリティ高く生成できるのはすごいですね。

    まとめ

    Waifu Diffusionを使ってみたけど、なかなかのクオリティの高さでしたね。指定するテキストやコードによって生成されるイラストも変わってくるから作る際には色々試してみるといいです。