この記事では、現在無料で使うことができる画像生成AIのStable Diffusion(STABILITY AI LTD)を、AUTOMATIC1111のWebUIを使い、Google colab(ブラウザ上)で動かす方法について、Python超初心者が解説しています。
このweb UIを使用しなくてもStable DiffusionやDreamStudio(DreamStudioを使って作成したイラストは下図)で動かすこともできます。
ただし、この方法だと最近話題となった高精細のAI画像をつくるのが難しいです。
上図は、DreamStudioで作成したイラストです。
都市計画や地方都市といったワードを入れてみてつくったのですが、正直、まちづくり的な要素を感じ難いですよね。
twitterやインスタで流れてくるようになったAI写真やイラストは優秀なエンジニアの方々がつくられた「モデル」を使用して生成されています。
その中でも特に話題となったのは「Chilloutmix」です。
AIコスプレ系の画像はほとんどがChilloutmixを利用していると考えられますが、ライセンスが厳しいので、今回はBRAというアジア系の人物を生成することができるモデルを使った方法で解説していきます。
目次
使用したモデル(BRAとは?)
BRAとは、Beautiful Realistic Asiansの略で、モデル製作者(pleasebankai)によると6000枚以上のアジア人(日本を含む)の写真をつかってトレーニングしたそうです。
トレーニングしているというのがAI画像生成ではポイントのようです。
超人気のChilloutmixはマージモデルといい複数のモデルをまとめて1つに融合・統合して作成する技術でつくられているそうです。
一方でBRAは、実際のアジア人の写真をつかってAIに学習させているようです(間違えていたらすみません。)。
ですので、普段、私達の馴染みのあるアジア系の顔立ちで生成されるようです。
では、ここから具体的な手順をお伝えします。
❶Googleアカウントの作成
まずGoogleアカウントを作成します。
Googleアカウントを作成している(作成した)方は、Googleドライブに次のように2つのフォルダを作成します。注意点として、「Model」ファイルは、StableDiffusionの下層に作成します。
- StableDiffusion
- Model
❷モデルのダウンロード
CivitAiのアカウントを作成しモデルをダウンロードします。
リンク先:BRA(Beautiful Realistic Asians) V3
※現在、V5モデルが登場しているので最新バージョンのダウンロードをおすすめします。
※CivitAiは現時点では無料で使うことができるモデルの共有サイトです。
なお、BRA以外にも様々なモデルが公開されていますが、一般的に知られている著名人やイラストを真似て作成しているものがあったりと…、一部で無法地帯化している印象がありますので、商用利用等を考えている方はライセンス確認が必要です。
また、今回紹介する方法は、LoRA(Low-Rank Adaptationの略語で、既存のモデルに新たな被写体を学習させる追加学習の手法)は使用せずに、BRAモデルのみを使った方法となります。
なお、LoRAモデルを追加することで、LoRAモデルに寄せることが可能になります。
ゲームでいうダウンロードコンテンツのようなもので、例えば、特定の日本人や韓国人に寄せることが可能になります。LoRAを追加する方法をブログにまとめている方が多数いるので、LoRAを使いたい方はGoogle検索してみてください。
LoRAを使う方法はこちら
❸ダウンロードデータをGoogleドライブにアップロード
CivitAiからダウンロードしたモデルデータをGoogleドライブの「Model」内にアップロードします。
❹AUTOMATIC1111とGoogle Colabを使う
AUTOMATIC1111はStable DiffusionをWEBブラウザから使用できる無料のアプリケーションで、ブラウザ上(Google上)で画像生成を行うことができるので低スペックPCでも使用できます。
ブラウザではなくローカルでも構築することができるそうなのですが、高性能のGPU(Graphics Processing Unitの略で、画像処理装置のこと)が必要だそうです。
ですので、通常スペックのPCでSDを動かすのは難しいようです(→このため、Google Colabを使う)。※先日、イーロン・マスク氏が1万個のGPUを購入か?というニュースが報道されたかと思いますが、AIにおいてはGPUがとても重要のようです。
では、話を戻しまして、
このリンク先から「maintained by Akaibu」を選択します。
一応、maintained by TheLastBenでも使用できたのですが、若干、説明が難しいので、今回は、「maintained by Akaibu」としています。
「maintained by Akaibu」をクリックすると、Google Colabのページが開きます。
Google Colabは、ブラウザから直接Python(パイソン:プログラミング言語)を記述、実行できるサービスで、GoogleのGPUを使え、無料(一部有料)で使うことができます。
連続して何時間も画像生成しない限りは無料版でOKです。
※有料版の方が動作が安定します。
まずは、ファイルを選択して「ドライブにコピーを保存」をクリックして「新しいタブで開く」を選択します。
次に一番上に次のコードを追加します。
from google.colab import drive
drive.mount('/content/gdrive')
次に下3行(下記画像の黄枠)の文字の先頭に「#」を付けるか、「#@title SD1.5」から下の行のすべてを削除します。
これは、今回の方法ではモデルを使うURLを介する必要がないためです(Googleドライブにモデルを格納しているからOK)。#を入力し、文字色が緑色に変化したらOKです。
次に、次のコードを追加します。
(注)「!CP /」と「モデルファイル名 / 」 ← 「/」の前にスペースが必要です。
!cp /content/gdrive/MyDrive/StableDiffusion/Model/braBeautifulRealistic_brav3.safetensors /content/stable-diffusion-webui/models/Stable-diffusion/
✅追記
V4モデルが追加されました!V4モデルを使いたい場合には、次のコードに変更してください。
!cp /content/gdrive/MyDrive/StableDiffusion/Model/BraV4.safetensors /content /stable-diffusion-webui/models/Stable-diffusion/
✅追記
V5モデルが追加されました!V5モデルを使いたい場合には、次のコードに変更してください。
!cp /content/gdrive/MyDrive/StableDiffusion/Model/BRAV5finalfp16.safetensors /content/stable-diffusion-webui/models/Stable-diffusion/
なお、異なるモデルを使いたい場合には、「braBeautifulRealistic_brav3.safetensors 」の部分を使用したいモデル名に書き換えます。
そしたら、上から順番に実行ボタンを押していきます。
※ランタイム欄から全てのセルを実行でもOKです。
一番上の実行ボタンをクリックすると「Googleドライブに接続」というポップアップが表示されるので「接続」をクリックし、許可をクリックします。
この後、順番に実行していきます。完了までに3〜5分程度時間が必要です。
Running on public URLが表示されたら、そのURLをクリックします。
ログイン画面が表示されたらusernameに「me」、passwordに「qwerty」を入力しログインボタンをクリックしてください。
【エラーが表示された場合】
なお、URLが表示されずエラーが表示された場合には、一番上に次のコードを追加して、はじめから順番に実行してみてください。
!pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchtext==0.14.1 torchaudio==0.13.1 torchdata==0.5.1 --extra-index-url https://download.pytorch.org/whl/cu117
❺WEB UIの使い方
基本的に使用するのは、ポジティブプロンプト、ネガティブプロンプト、Generateぐらいなのですが、このほかにもSampling methodやSampling stepsなどを変更することによって生成される画像が全く異なってきます。
この技術に関しては悠々ログ様のブログが参考になったので、リンク先を置いておきます。
外部リンク:https://yuuyuublog.org/chilloutmix_prompt/
服装からしてあやしい男性と中年おじさん、綺麗な女性ですが、次のプロンプト等を入力、選択することで再現可能です。 Seedを「-1」にすると似たようなお兄さん、おっさんが生成されます(笑)
こちらは、8K等の文字を入力して高画質化したケースです。化粧品広告とかに表示されそうですよね。普通の人にしか見えないのがAI画像のすごさだと思います。
補足:V4モデルが追加
先日BRAモデルからV4モデルがリリースされています。
V4モデルを使う場合も同様にModelファイルにV4モデルのデータにアップロードした上で、Colabでコードを入力する際にV4モデルのファイル名に変更すればOKです。
補足:V5モデルがリリース
先日BRAモデルからV5モデルがリリースされました!!
V5モデルを使う場合も同様にModelファイルにV5モデルのデータにアップロードした上で、Colabでコードを入力する際にV5モデルのファイル名に変更すればOKです。
何枚か作成してみたので、掲載します。
いつくかプロンプト等も掲載しておきますので参考にしてみてください。
【参考呪文】
- Positive prompt: Japan,(8k, best quality, masterpiece, ultra high res, highly detail face:1.3), portrait, (33 years old girl:1.3),
- Negative prompt: (worst quality:2),(low quality:2),(normal quality:2),(deformed:1.3),(monochrome:1.2),(grayscale:1.2),nsfw, ugly face, breasts out, nipple, (missing fingers), extra fingers, (six fingers:1.2), (bad anatomy:1.2), text, skin spots acnes, skin blemishes, age spot
- Steps: 19, Sampler: Euler a, CFG scale: 6, Seed: 2751644657, Size: 512×512, Model: BRAV5finalfp16, Denoising strength: 0.44, Hires upscale: 2, Hires steps: 19, Hires upscaler: Latent
ブログに掲載できないプロンプト等はこちらのNoteにまとめています。
❻終了方法
終了する時にはGoogle Colabのランタイム→ランタイムを接続解除して削除をクリックして終了します。
LoRAを追加する方法
こちらの記事にLoRAを追加する方法をまとめました。
LoRAを追加することで、今回のBraモデルが次のように変化します。
LoRAを追加する解説記事はこちら
補足:建築・都市計画のイラスト
建築や都市計画といったプロンプトで生成するとどのような画像がつくられるのか試してみました。こちらの記事にまとめているのでよかったらご覧ください。
まとめ
ということでStable Diffusionを使ったAI画像生成方法について解説しました。
モデルを変更することで様々な画像を出力することが可能となっています。私のようなプログラミング初心者でも使うことができたので、興味が湧いた方はぜひチャレンジしてみてください。
最後に補足としまして、今回のBRAモデルの制作者に対してko-fiを通じて5$から支援できます。興味が湧いた方はぜひチェックしてみてください。
YamakenBlogは、建築基準法や都市計画法、宅建業法など、まちづくりに関連する難解な法律を、元行政職員の私がシンプルでわかりやすく解説しています。
このブログは、建築・不動産業界のプロから、家づくりを計画中の方、店舗立地を検討している方まで、誰でも役立つ情報が満載です!
ぜひ、ブックマークしてくださいませ。
これからも役立つ情報を続々と発信していきます。
*このサイトリンクは、ブログやメール、社内掲示板などで自由に使っていただいて大丈夫です!お気軽にどうぞ!
【あやしいお兄さん(自称建築家)】
Positive prompt: Japanese cool guy,city planner,architect
Negative prompt: painting, sketches,(worst quality:2),(low quality:2),(normal quality:2), lowers, normal quality,((monochrome)),((greyscale))
Steps: 18, Sampler: DPM++ SDE Karras, CFG scale: 5, Seed: 4125119510
【中年おっさん(自称建築家)】
Positive prompt: Cool middle-aged uncle in Japan,Urban planner,Architect
Negative prompt: painting, sketches,(worst quality:2),(low quality:2),(normal quality:2), lowers, normal quality,((monochrome)),((greyscale))
Steps: 15, Sampler: DPM++ SDE Karras, CFG scale: 5, Seed: 643360274
【中年おばさん(自称建築家)】
Positive prompt: Cool middle-aged lady in Japan,Urban planner,Architect
Negative prompt: painting, sketches,(worst quality:2),(low quality:2),(normal quality:2), lowers, normal quality,((monochrome)),((greyscale))
Steps: 15, Sampler: DPM++ SDE Karras, CFG scale: 5, Seed: 1309901524,