画像生成AIで知名度があるStable Diffusion。しかし画像生成はグラフィックカード(GPU)の性能が大きく関係する。6GBのVRAMでも工夫次第で頑張れる。低スペックPCでも時間を掛ければ生成は可能。調べるとすぐに見つかるStable Diffusionの話題は、説明している人のPCスペックが高すぎて自身の解決にならない事が多いです。ロースペックで頑張りたい人向けの記事なので、ハイパワーPCの人には何も得する情報は紹介していません
いつかPCを買い替える。又はグラフィックカードを買い替えるまでの期間に使える単純なテクニックを集めました
Stable Diffusion
画像生成AIで画像を作りたいけどパソコンの性能がなぁ~。なんて人は多いと思います。私もそうです。
Stable Diffusionを紹介している殆どの人がRTX3060クラスのグラフィックカードを使っているので、出来る事を教えられても生成する事が出来ない場合が多い
なら低スペックで出来る事だけからやってみよう
PCのスペック不足で起こる問題は
- 長い生成時間
- メモリ不足による画像作成が中断
- 作成サイズの大きさ
- 複数人の表示
上記の問題がグラフィックカードの性能での悩みでしょうか?HDDの容量に関してはStable Diffusion Web UIをインストール時にCドライブ以外に変更しておきましょう
プロンプトはよく呪文と呼ばれているので、この記事で出てくる呪文=プロンプト+ネガティブプロンプトです
生成速度を精神的に支えてくれるオート機能
低スペックPCで避けられない生成時間。プロンプトが決まって何枚も生成したい時にはオート作成機能を使う
生成の上にマウスカーソルを置いて右クリック、上に表示される「永遠に生成する」を左クリックこれで同じプロンプトの画像を生成し続けます。毎回ポチポチ押す手間が省けます(翻訳が入っているので表記が違う場合は上の文章を押せば大丈夫です)
これはローパワーのグラフィックカードを使っている人向けです。ハイパワーのグラフィックカードを使っていると5秒に一枚生成してしまうのでHDDの容量がすぐになくなります。
生成された画像を保存したい場合は一番左のフォルダアイコンを左クリック。そこに日付別のフォルダが作られていて開くと生成された画像が収納されているので、保存用HDDにでも移動させて下さい。保存用HDDに移動が終わったら収納フォルダの画像は消しても大丈夫なので消してHDDの容量を確保しましょう
中止をする時には「割り込み」の上にマウスカーソルを置き右クリックで中止を選べます
割り込みと書かれてある少し下辺りで右クリックを押すと。オート生成を中止をする「生成を永久にキャンセル」ボタンが現れます。翻訳で物騒な名前になってますが中止ボタンです
右クリックを受け付けてくれる範囲が狭いので、少し下の方で右クリックをしてください
VRAM不足の生成中断
本当に良く起こる問題です。これはサイズ変更をアップスケーリングに任すと解決出来る場合もあるので次に説明しています。他には生成を同時に複数枚にした時にも大抵起こります。他にはサンプリングステップを30以上に増やしたりする場合にも発生します
サンプリングステップは人物なら輪郭の描画が変わる程度と思っておきましょう。初期値の20ステップでサンプリング方法を変えるだけでも絵柄は変わります。画像生成が中断されない値を覚えて自身のパソコンの性能を越えない様にするしかないです
高画質化はモデルを変える方が効果があるのでモデルを探してみましょう
画像サイズの変更
画像サイズは横幅と縦幅(512)と初期値がなっている場所を変えてしまうとLoRA等で生成した時に画像が崩壊してしまいます。そこでアップスケーリングを使って画像サイズを大きくしましょう
Web UIは導入しているバージョンで少し表示内容が異なりますが場所は同じです。この画像の「採用します。修理」(翻訳が入っているので使っている環境で表示されている文章は違います)を押して倍率を1.5倍ぐらいにしましょう。(この画像では高級感のある1.5の部分)サイズの倍率を変えるとサイズ変更:512×688から768×1032等に変わっていきます
グラフィックカードのメモリに依存する場所なのでVRAMが6GB以下の人では2倍までアップスケーリングをするとメモリ不足で画像が生成できません。1.5倍程度に抑えましょう。LoRAは512で学習している事が多いので縦幅を弄るにしても700までにすると画像の崩壊を防ぎやすいです
人数を増やすと顔等の描画が崩壊する
一番難易度の高い問題が複数人での画像維持の問題。
LoRAが原因またはグラフィックカードのVRAM不足。単純に解決するならVRAMが12GBのグラフィックカードに変えるのが早いですが。複雑なプロントを書いている人の呪文を参考にすると解決する事があります。多数の人物で崩壊していない画像の生成呪文を色々と試してみましょう。とても効率よくプロンプトとネガティブプロンプトが書いてある呪文は3.5GB程度で複数人を描写出来る呪文にされています
画像が生成される場所の一番下にVRAMの予約で使用されるメモリのサイズが分かります。上記の画像だと4036MBまでの画像を生成出来る。3449MBの画像を制作するよ。なおシステムで6144MBあるけど94%を使って合計5816MB使いますって感じです
この時のプロンプトとネガティブプロンプトだと二人までは綺麗に、三人から運が絡む感じでした。呪文制作は奥が深いので自作するより高い生成練度の呪文を見つける方が早いです。高性能なグラフィックカードを手に入れるまではプロンプトとネガティブプロンプトで効率化を目指して見ましょう
探す時にプロンプトに「BREAK」と書かれている物を探すと良いでしょう。これは単語の長文を認識する時に使われるので細部の異形を防ぐ時によく使われています。昔は75の単語で作る必要があったプロンプトですが今は225まで認識してくれます。複数人が表示をされていて150~180トークン(単語)程度の長い呪文を探して生成してメモリのサイズを確認していきましょう
背景は別処理が行われているのか10人程度表示されても普通に生成される事が多いです。背景の人物も指定して描ける呪文が開発されると大人数でも描けるようになるかもしれませんね。(実際に背景も利用している呪文を書かれている人もいます。
例文だと(outdoor, on the ○○, (around many formal people, people jam, crowd, great throng of people):1.3)ってプロンプトでメインの人のプロンプトも背景の人にも適用されて綺麗に表示される事もあります。(○○の部分は場所を指定)
まとめ
いろいろ弄ってみて低スペックPCでも出来る事を実際に使って調べてみました。1人の人物なら大サイズで作らない限り問題なく生成できます。画像サイズを大きくしたい場合はアップスケーリングを活用。人数を沢山表示したい場合は呪文に頼る。生成時間は我慢。
いつか高性能PCを手に入れる。又はデスクトップPCの人ならグラフィックカードを買い替える日まで気楽に楽しみましょう。今の所画像生成AIはグラフィックカードの性能でVRAMの依存度が処理速度より上です。RTX3060も8GBと12GBがあるので購入するなら12GBを選びましょう