今回はStable DiffusionのパラメータであるSeed値の設定について解説します。
画像生成AIでは、生成される画像が毎回ランダムに変化しますが、Seed値を固定することで、同じ絵柄を再現することが可能になります。
ハイクオリティな画像を生み出すアップスケーラーを使う上でも重要なパラメータとなりますので、ぜひ試してみてください。
また、当ブログのStable Diffusionに関する記事を以下のページでまとめていますので、あわせてご覧ください。
Stable Diffusionの導入方法から応用テクニックまでを動画を使って習得する方法についても以下のページで紹介しています。
Stable Diffusionとは
Stable Diffusion(ステーブル・ディフュージョン)は2022年8月に無償公開された描画AIです。ユーザーがテキストでキーワードを指定することで、それに応じた画像が自動生成される仕組みとなっています。
NVIDIAのGPUを搭載していれば、ユーザ自身でStable Diffusionをインストールし、ローカル環境で実行することも可能です。
(出典:wikipedia)
Stable DiffusionのWeb UI AUTOMATIC1111
AUTOMATIC1111はStable Diffusionをブラウザから利用するためのWebアプリケーションです。
AUTOMATIC1111を使用することで、プログラミングを一切必要とせずにStable Diffusionで画像生成を行うことが可能になります。
Web UI AUTOMATIC1111のインストール方法
Web UIであるAUTOMATIC1111を実行する環境は、ローカル環境(自宅のゲーミングPCなど)を使用するか、クラウドコンピューティングサービスを利用する2通りの方法があります。
以下の記事ではそれぞれの環境構築方法について詳し解説していますので、合わせてご覧ください。
Seed値とは
Stable Diffusionにおける「seed」は、同じ絵を生成するための重要なパラメータとなります。
seed値を固定することで、同じプロンプトとseed値から同じ絵が再現できることが可能になります。この特性を利用して、アップスケーラと組み合わせることで、ランダムに生成された画像の中から、気に入った画像の構図やキャラクターのデザインを固定して、画像を高精細化することができます。
Seed値を設定する
WebUIを起動したら画面左の赤枠の部分にSeedを入力するテキストボックスがあります。
Seedを数値で指定することができますが、特に使いたいSeed値がない場合は、サイコロボタンをクリックすると-1
が入力されます。-1
が設定されている場合は、毎回ランダムでSeed値が設定されます。
プロンプトを入力後、Seed値に-1
を設定してGenerate
をクリックすると、以下のように画像が生成されました。10枚生成しましたが、Seed値がランダムに設定されているため、全て違う構図の画像が生成されています。
プロンプトの作成が難しいと思われている方には、AIでプロンプトを自動生成するのがおすすめです。「StableDiffusionのプロンプト(呪文)を自然言語処理モデルGPT-3(Catchy)で自動生成する方法」で詳細を解説しています。
Seed値を固定して同じ画像を生成する
ここからはランダムに生成された画像を、Seed値を固定することで同じ画像を生成する手順について解説します。
まず、再現したい画像をWebUIのプレビュー画面で選択すると、以下の画像のように生成に使用されたプロンプトやパラメータが表示されます。
このパラメータの中に、選択された画像にランダムに割り当てられたSeed値が表示されていますので、コピーします。
画面左のSeed
の項目に先ほどコピーしたSeed値を貼り付けます。
Seed
以外のプロンプト、パラメータは同じものをそのまま使用し、Generate
をクリックします。
すると以下のように、同じ画像を生成することができました。
Seed値を固定してアップスケールする
先ほどは、Seed
を固定することで、全く同じ画像が生成できることを確認しました。
今度はSeed
を固定した状態で、アップスケールを行う手順について解説します。アップスケールを行うことで、絵柄を固定したまま画像サイズを拡大したり、書き込み量を増やして高精細化することが可能です。
hires.fixを使用してアップスケールする
今回はWebUIに標準機能として搭載されており、最も手軽に利用できるHirex.fix
を使って解説します。
WebUIのSampling method
の項目の下にあるHires.fix
のチェックボックスをONにします。
そして今回はUpscaler
を2
に設定し、画像を2倍サイズ(1024*1024)に拡大します。
Seed値は先ほどの元画像で使用されている値を使用します。
設定が完了したら、Generate
をクリックします。
元画像
こちらがベースとなる画像です。画像サイズは512*512です。
生成に使用されたSeed値は3636199151
となります。
アップスケール後の画像(Seed値固定)
こちらがSeed値を固定した状態で、Hirex.fixを使ってアップスケールした画像となります。構図やキャラクターのデザインは元画像のままですが、画像サイズが2倍になり、書き込み量も大幅に増えてディティールがアップしています。
Hirex.fixの詳細な使い方については、以下の記事で解説していますので、あわせてご覧ください。
Stable Diffusionのテクニックを効率よく学ぶには?
Stable Diffusionを使ってみたいけど、ネットで調べた情報を試してもうまくいかない…
そんな時は、操作方法の説明が動画で見られるUdemyがおすすめだよ!
動画学習プラットフォームUdemyでは、画像生成AIで高品質なイラストを生成する方法や、AIの内部で使われているアルゴリズムについて学べる講座が用意されています。
Udemyは講座単体で購入できるため安価で(セール時1500円くらいから購入できます)、PCが無くてもスマホでいつでもどこでも手軽に学習できます。
Stable Diffusionに特化して学ぶ
Stable Diffusionに特化し、クラウドコンピューティングサービスPaperspaceでの環境構築方法から、モデルのマージ方法、ControlNetを使った構図のコントロールなど、中級者以上のレベルを目指したい方に最適な講座です。
画像生成AIの仕組みを学ぶ
画像生成AIの仕組みについて学びたい方には、以下の講座がおすすめです。
画像生成AIで使用される変分オートエンコーダやGANのアーキテクチャを理解することで、よりクオリティの高いイラストを生成することができます。
まとめ
今回はStable DiffusionのSeed値の設定方法について解説しました。
Seed値は画像生成に関連する基本的なパラメータの中でも最も重要なパラメータの1つとなりますので、ぜひ使い方をマスターしてください。
また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。
スキルアップや副業にぜひ活用してみてください。
スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。
講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。
それでは、また次の記事でお会いしましょう。
コメント