LoginSignup
1
1

More than 1 year has passed since last update.

Stable Diffusionを使ってみた

Last updated at Posted at 2022-12-20

画像を自動生成するStableDiffsionを使ったイラストなんかがよくTwitterで流れてくるようになり
ちょっと気になったので使ってみた話。

そもそもStable Diffsionってなに?

ひとことで書くと入力されたテキストをもとにテキストの内容に沿った画像を自動で生成するAI。
オープンソースで公開されていて商業利用に関しても自由らしい。
最近ではNovelAI,midjourney(こちらも画像生成サービス)なども話題にのぼっていたりして、
色々なイラストが公開されている。

どうしたら使えるの?

試してみるだけなら割と色々な方法がある

  • デモページ
    • HuggingFace
    • 英語で文字を投げるとそれをもとに生成された画像4枚ほど出てくるのでとりあえず試したいならここが楽
  • お絵描きばりぐっどくん
    • LINEBot
      • 日本語対応していて1日あたり2枚が上限らしい?が手軽に試せる
  • AIピカソ
    • Apple Storeのリンク
    • お絵描きばりぐっどくんと同じ開発者が作っていて1日あたりの生成上限も多い!
  • Stable Diffsionを実行して画像生成する(今回やるのはこれ)
    • 他の手段と比べると使うのに必要な手順が多いがそれでもそこまで大変というほどでもない

実際に使うためにインストール

環境

  • 実行端末
    • MacBookAir M1(2020)
    • OS
      • Montery 12.5.1

事前準備

  • Pythonのインストール
    • 今回は 3.10.6 で進めていきます。
$ brew install pyenv
$ pyenv install 3.10.6
$ pyenv global 3.10.6   
// ここで今回利用するバージョンに切り替わっているか確認
$ python -V

インストール

Stable DiffusionのRepositoryのクローン

Stable difusionのリポジトリからクローンしてきます。

$ git clone -b apple-silicon-mps-support https://github.com/bfirsh/stable-diffusion.git
$ cd stable-diffusion
$ mkdir -p models/ldm/stable-diffusion-v1/

Virtualenvのインストール

Virtualenvをインストールして依存関係などをインストールしていきます。

$ python3 -m pip install virtualenv
$ python3 -m virtualenv venv
$ pip install -r requirements.txt

Hugging Faceのトークンを取得

利用にあたってHugging Faceのトークンが必要なので取得します。

Hugging FaceのリポジトリにてHuggin Faceのアカウントを作って表示されるライセンスの内容に同意します。
スクリーンショット 2022-10-21 11.00.49.png

sd-v1-4.ckptをサイト内からダウンロードして先ほどクローンしてきた際に作ったディレクトリ models/ldm/stable-diffusion-v1 に ファイル名をmodel.ckptにして配置します。

実行

実行の際は下記コマンドに生成したい画像を英文で入力し、実行することで画像が出力されます。

実行コマンド

python scripts/txt2img.py \
  --prompt "ここに生成するのに使う文字列を英語で入力する" \
  --n_samples 1 --n_iter 1 --plms

この際に入力するpromptを入力したテキストから生成してくれるサイトもあるみたいです。
https://huggingface.co/spaces/Gustavosta/MagicPrompt-Stable-Diffusion

今回は弊社のマスコットキャラクターであるブルくんっぽい画像になるように出力してみます(リンクの記事参照)
https://news.line.me/detail/oa-sportsbull/102ab78d0b4d

文字で表すと全身赤色の人型の牛って感じだと思うのでそんな感じの内容を上記で紹介したサイトで実行してみます。

生成画像

  • 生成に使ったテキスト
    • Clip art of red cow in human shape by artgerm, Craig Mullins

赤い牛の顔のような画像が出来上がってhuman shapeの部分があまり感じられない...
create_image_1.jpeg

人型の赤い牛のような記載のはずが赤い牛ばかりが出てきてしまうので、
赤い体をしたミノタウロス(体は人で頭が牛の形をしているとされる空想の生物)を生成する感じで試してみます。

  • 生成に使ったテキスト

    • Clip art of minotaur whose whole body is red
      頭が牛で体が人にはなったけどなんか違う...
      minota_image_1.jpegmino_image_2.jpeg
  • 生成に使ったテキスト

    • Clip art of minotaur whose whole body is red
      デフォルメされたイラストって感じで指定したらどうだと試したらなんか赤いヤギ頭がになった上におぞましい生き物ができてしまった
      defo_mino_1.jpeg

まとめ

何十回か試してみたものの、センスがないのかブルくんのようなものが全く出来上がりませんでしたが
赤くて人型の牛頭の生物が出来上がったのでよしとします!(よくない)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1