StableDiffusionで画像/イラストを自動生成する方法を紹介します。【AI】

StableDiffusionっていうやつでイラスト作りたいんだけどどうやるの?

そんな疑問を解消するためにこの記事ではStableDiffusionでイラストを生成する方法を書いていきます。

この記事で分かること
  • StableDiffusionデモ版の使い方
  • Dream Studioの使い方
  • Stable DiffusionをGoogle Colaboratoryで使う方法
  • LINEでも使える

    StableDiffusionを使ってイラストを作ってみたい方は参考にしてみてください。

    StableDiffusionの使い方を見ていこう。

    StableDiffusionのデモ版を使ってイラストを生成する

    StablenDiffusionは普通に使おうとすると色々準備は必要で面倒です。もしもどんなイラストを作ることができるのか?っていうことを気になったらStable Diffusion Demoを使ってみるといいです。

    Enter your promptに生成して欲しい画像をテキストで入力して、Generate Imageボタンを押すと画像を生成してくれます。

    試しにテキストを入力して生成してみるとこんな感じです。

    うーん、なんかうまくいっていない部分もあるね。
    そうだね、テキストを色々変えてやってみるといいよ。

    入力したテキストが詳細じゃないと結構大雑把な画像になってしまうのかな?という印象です。翻訳ツールなどを駆使して全力の英語を入力してみるといいでしょう。

    Dream Studio Beta

    Dream Studioっていうブラウザから使えるサービスでもStable Diffusionを使うことができます。登録が必要なのでまずは登録しましょう。

    するとこんな画面。下にあるテキスト入力欄にテキストを入力して[Dream]ボタンを押すと画像を生成してくれます。

    デフォルトのテキストを少し変えてみて生成してみると良い感じですね。

    右側のサイドバーで色々調整できていいね。
    そうだね、色々いじって使ってみるといいよ。

    生成できる枚数

    無料だと初期段階で200creditが与えられるんですが、このcreditを消費して画像を生成することができます。画像を生成するとcreditがどんどんなくなっていくっていうわけですね。

    無料だと大体100枚ぐらいは生成することができるんじゃないかなと思います。というのも生成する画像のパラメーターによって消費するcreditが違うので。

    Membershipから保有しているcreditの確認をしてみましょう。

    このcreditがなくなると終了です。

    画像の生成にどれぐらいcreditを消費するかは分からないの?
    画像生成画面で確認することができるよ。

    画像を生成する画面の右上からどれぐらい1画像にたいしてcreditを消費するかを確認することができます。

    このcreditはサイドバーにあるパラメーターをいじることによって変わってくるので、パラメーターを変更したら生成する前にどれぐらいcreditを消費するのか確認するといいですよ。

    Stable Diffusionをプログラムで実行して使う

    DremaStudioは簡単に使えていいんだけど、無料だと使える回数は決まっているし色々気にしてしまいます。ただStable Diffusion自体はオープンソースで無料で使うことができる。

    これをそのまま使えば無料で枚数を気にすることなく使えます。

    手順
    1. Hugging Faceのアカウントを登録する
    2. Hugging Faceを利用するトークンを取得する
    3. Google ColaboratoryからStable Diffusionを利用する

    Hugging Faceのアカウントを登録する

    まずはHugging Faceのアカウント登録します。Sign Upから登録できる。

    optional以外の項目を埋めて登録です。

    Stable Diffusionを使う準備

    Stable Diffusionを使う準備が必要なのでまずは以下のことを行います。

    • トークンの取得
    • 学習済みモデルの取得

    Hugging Faceを利用するトークンを取得する

    登録したらトークンを取得します。SettingsからAccess Tokensと進んでGenerate a tokenをクリック。

    Nameには好きな名称を入力してRoleはreadで作成します。作成したtokenは後で使うのでコピーしておきましょう。

    学習済みモデルを取得する

    学習済みモデルはこちらのページから取得することができます。「We recommend you use Stable Diffusion with 🤗 Diffusers library」と書かれているのでDiffusers libraryへのアクセス権を取得します。

    バージョンはどんどん新しくなってくると思うので新しいものを使うのがいいと思います。

    これでアクセスできるようになりました。Google Colaboratoryからこのモデルを使っていきますよ。

    Google ColaboratoryからStable Diffusionを利用する

    Google Colaboratoryにアクセスしてまずは設定です。ランタイムをGPUに変更しましょう。[ランタイム→ランタイムのタイプを変更]をクリックです。

    モデルのページに書かれているようにコードを実行していきます。

    $ pip install --upgrade diffusers transformers scipy
    import torch
    from torch import autocast
    from diffusers import StableDiffusionPipelinemodel_id = "CompVis/stable-diffusion-v1-4"
    device = "cuda"pipe = StableDiffusionPipeline.from_pretrained(model_id, use_auth_token="取得したアクセストークン")
    pipe = pipe.to(device)prompt = "a photo of an astronaut riding a horse on mars"
    with autocast("cuda"):
    image = pipe(prompt, guidance_scale=7.5).images[0]

    image.save("astronaut_rides_horse.png")

    use_auth_tokenは取得したアクセストークンを入力しよう。

    実行してみるとテキストの通りに馬に乗っている宇宙飛行士の画像が生成されました。

    コード内のprompt部分を変更すれば、そのテキストにあったものを作ってくれるのでやってみましょう。image.saveの保存名も変更しておくといいです。

    試しに変更してやってみると生成されましたね。

    これは文言やコードによって結構変わってくるはずなので色々試してみるといいですよ。

    LINEで使う

    LINEのお絵描きばりぐっどくんというアカウントを利用することで、入力したテキストからイラストを生成してくれます。

    このお絵描きばりぐっどくんにもStable Diffusionが使われているので、手軽に利用したい方は使ってみてもいいかもしれないですね。

    まとめ

    Stable Diffusionを使う方法について4つの方法を見てみました。

    • StableDiffusionデモ版の使い方
    • Dream Studioの使い方
    • Stable DiffusionをGoogle Colaboratoryで使う方法
    • LINEで使う方法

    単純にどんな感じか試すぐらいならStableDiffusionデモ版を使って試してみるといいと思います。無制限で色々いじって使いたいならGoogle Colaboratoryでコード書いて使ってみるといいですよ。