2023年10月4日URLをコピーしました!※本ページはアフィリエイト広告を利用しています今回はStableDiffusionの主要なパラメータの使い方と、Pythonでの実装方法を解説します。パラメータがどのような影響を与えるかを理解することで、生成される画像をコントロールすることができますので、ぜひ活用してみてください。Diffusionに関する記事を以下のページでまとめていますので、あわせてご覧ください。Diffusion(ステーブル・ディフュージョン)は2022年8月に無償公開された描画AIです。ユーザーがテキストでキーワードを指定することで、それに応じた画像が自動生成される仕組みとなっています。Diffusionをインストールし、ローカル環境で実行することも可能です。Diffusionのインストール方法と基本的な使い方については、以下の記事で解説していますので、あわせてご覧ください。Diffusionの新しいバージョンである2.0がリリースされましたので、使い方を解説します。Diffusionなどの画像AIに生成するための指示を与えるPromptを、GPT-3を使ったライティングツールCatchyで自動生成する方法について解説します。Scale(ガイダンススケール)ガイダンススケールは画像生成プロセスが入力されたプロンプト(呪文)にどれくらい忠実に描画を行うかを制御するためのパラメータです。値を高くするほどプロンプトに忠実に画像が生成され、逆に低いほどプロンプトの内容からは離れるため自由度が上がります。デフォルト値は7.5となります。1が設定された場合は、プロンプトは完全に無視されます。Pythonのコードではpipeメソッドの引数として値を設定します。generator=generator).images[0]Steps(ステップ数)画像をどれくらい精細に描画するかを決めるパラメータです。Diffusionの安定拡散モデルは、純粋なノイズから少しずつノイズを取り除いていくことで、最終的に何らかの画像を得るというプロセスで動作していますので、このノイズ除去をどこまでやるかを設定するパラメータとなります。設定値が高いほど高精細な画像になりますが、生成時間が長くなります。100~120程度に設定するのが時間、精度を考慮するとバランスが良いようです。Pythonのコードではpipeメソッドの引数として値を設定します。家にゲーミングPCないし、環境のセットアップ方法を調べるのが面倒なん...Sampler(サンプラー)Samplerは安定拡散モデルを使って実際に画像を生成するあるアルゴリズムです。サンプラーを変更することで、ニュアンスの異なる画像を生成することができます。Diffusionで使用できるSamplerには以下のようなものがあります。aPythonでの実装方法は後程開設する、パラメータ全部入りのサンプルコードを参照してください。Diffusionでは、同じプロンプトを設定しても毎回違う画像が生成されます。これはSeed値がランダムで設定されているためで、このSeed値をマニュアルで設定してやることで生成される画像に再現性を持たせることができます。同じパラメーター、プロンプト、シードを設定すると同じ画像が生成されます。シードを固定し、他のパラメータを変更することで、類似した複数のバリエーションを生成できます。Seed値の設定方法について、以下の記事でPythonのソースコード付きで使用法を解説しています。DiffusionでSeed値を固定して同じイラストを生成する方法について解説します。Promptは画像から除外したい情報を指定する文字列です。Pythonの実装の方法と生成したイラストの比較を以下の記事で解説しています。Prompt)を指定して画像を生成する方法を解説します。Diffusionを、ローカル環境で使用する際におすすめのグラフィックボードについて解説します。パラメータ全部入りのサンプルコードここからは実際にPythonのコードの記述方法について解説します。各パラメータは以下のようにコードで実装します。Samplerの設定(Eulerを使用する場合の例)インポート文EulerDiscreteSchedulerモジュールをインポートします。EulerDiscreteSchedulerSamplerを設定するコードfrom_pretrainedメソッドの引数で以下のように設定します。torch_dtype=torch.float16)Seedの設定manual_seedメソッドでシード値を指定します。最後にpipeメソッドの引数でほかのパラメータと一緒にgeneratorを設定します。Scale、Stepsの設定は全てpipeメソッドの引数で設定します。先ほど設定したシード値についても同じくpipeメソッドの引数で設定します。generator引数を指定するサンプルコードは以下となります。2.0のインストール方法は以下の記事で解説していますので、事前に済ませておいてください。Diffusionの新しいバージョンである2.0がリリースされましたので、使い方を解説します。Colabで実行するためのPythonコ...今回紹介したパラメータを全て実装したソースコードは以下の通りです。先ほどのソースを実行すると、以下のような画像が生成されました。人物が途切れてしまっていますが、指定したパラメータを使って画像が生成できることが確認できました。Diffusionなどの画像AIに生成するための指示を与えるPromptを、GPT-3を使ったライティングツールCatchyで自動生成する方法について解説します。Diffusionを使ってみたいけど、ネットで調べた情報を試してもうまくいかない...猫のエンジニアそんな時は、操作方法の説明が動画で見られるUdemyがおすすめだよ!動画学習プラットフォームUdemyでは、画像生成AIで高品質なイラストを生成する方法や、AIの内部で使われているアルゴリズムについて学べる講座が用意されています。Udemyは講座単体で購入できるため安価で(セール時1500円くらいから購入できます)、PCが無くてもスマホでいつでもどこでも手軽に学習できます。Diffusionに特化し、クラウドコンピューティングサービスPaperspaceでの環境構築方法から、モデルのマージ方法、ControlNetを使った構図のコントロールなど、中級者以上のレベルを目指したい方に最適な講座です。画像生成AIの仕組みを学ぶ画像生成AIの仕組みについて学びたい方には、以下の講座がおすすめです。画像生成AIで使用される変分オートエンコーダやGANのアーキテクチャを理解することで、よりクオリティの高いイラストを生成することができます。ColabとPyTorchで基礎から学ぶ生成モデル-まとめ今回はStableDiffusionの主要なパラメータと、Pythonでの実装方法を解説しました。パラメータを使いこなすことで、より理想的なイラストを生成することができますので、ぜひ活用してみてください。以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。スキルアップや副業にぜひ活用してみてください。自分のキャリアアップに必要なカリキュラムがあるプログラミングスクールを探したいん...スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。こんな悩みを解決します。Ud...それでは、また次の記事でお会いしましょう。Diffusion」は、指示した通りの画像を生成してくれるAIとして大きな注目を集めています。Diffusionで当たり画像を効率良く作りたい」このような場合には、DPM-Solverがオススメです。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ExampleMurasan(むらさん)制御系エンジニアです。Piなどのマイコンボードを使ってアプリケーションを開発しています。好きなガジェットについても紹介していきたいと思います。トップページの画像はStableDiffusionというAIによって生成されたイラストです。