このページはStable Diffusionの修飾子(modifiers)の使い方について、参考サイト*1を翻訳したものの前半です。
Stable Diffusion (SD) は、Dalle-2、Midjourney、Craiyon と同様にテキストから画像への変換を行うモデルです。AIにテキストプロンプトを送信すると、数秒後に上のようなユニークな画像が生成されます。
このガイドは、画像AIを使ったことがない人もベテランも同じように、素早くスピードアップし、SDを最大限に活用するためのヒントやコツを紹介することを目的としています。
プロンプトの構成
プロンプトは次のような構成になっています。
!dream “Your prompt here” -optional_modifiers_here
修飾子は必要ありません。もしあなたが始めたいなら、とても簡単なので、今すぐ試してみてください。
修飾子(modifiers)の概要
単純なプロンプトでも良い結果は得られますが、利用可能な修飾子に精通することで、より簡単に、より一貫して、求めているものを得ることができるようになります。
ここではその概要を説明し、後のセクションでさらに詳しく説明します。修飾語は大文字と小文字を区別することに注意してください。
-h または --help
これは、使用できるすべての修飾子とそのデフォルト設定およびオプションのリストを返します。
-H または --height
画像の高さを指定し、64の倍数の入力を受け付けます。512x512 がデフォルトです。高さや幅を変更すると、手足や人が重複するなどの画像が発生するため、非標準のアスペクト比の画像を生成する場合は試行錯誤が必要な場合があります。変更する前に、カスタムの幅と高さについてのセクションを参照してください。
プロンプトの例: !dream "Your prompt here" -H 768
-W または --width
height と同じで、64 の倍数をとり、デフォルトは 512 です。これを変更すると画像が不自然になることがありますが、それでも非標準のアスペクト比でも素晴らしい画像を生成することができます。変更する前に、カスタムの幅と高さについてのセクションを参照してください。
プロンプトの例: !dream "Your prompt here" -W 768
-C または --cfg_scale
Classifier-free guidance (CFG) scale は最もよく聞かれるものの1つで、このガイドの後半に専用のセクションがあり、また、追加のリファレンスセクションに CFG 設定の視覚的な比較へのリンクがあります。基本的に、これはAIがあなたのプロンプトにどれだけ強く従うかを変えるもので、デフォルトでは7に設定されています。
プロンプトの例: !dream "Your prompt here" -C 12.0
-n または --number
これは、リクエストに対して返される画像の枚数を設定します。デフォルトは1画像で、1回のリクエストで最大9画像まで増やすことができます。プロンプトの例: !dream "Your prompt here" -n 9
-i または --separate-images
以前は画像は格子状に並んでいて、このコマンドは各画像を別々のファイルにすることを指定するためのものでした。これはデフォルトのモードなので指定する必要はありませんが、ボットによるプロンプトの解釈や他のプロンプトで-iを見たときのために、このコマンドを含めておきました。
プロンプトの例: !dream "Your prompt here" -i
-g または --grid
i の反対で、これは生成された画像を1つの画像ファイルとして返し、すべての画像をグリッドにまとめます。これは、画像を簡単に比較したいときや、プロンプトや設定を素早く試作したいときに便利です。
プロンプトの例: !dream "Your prompt here" -g
-A または --sampler
このサンプラーは、AIモデルが実際に画像を生成する際に使用するものですが、パワーユーザーでない限り変更することはお勧めしません。また、どのサンプラーを使うかによって出力画像にほとんど差がありませんが、2つの顕著な例外があります(追加リソースのセクションにあるリンク先のサンプラー研究を確認してください)。
デフォルトはk_lmsで、オプションはk_lms, ddim, plms, k_euler, k_euler_ancestral, k_huen, k_dpm_2, k_dpm_2_ancestralが使用できます。
プロンプトの例: !dream "Your prompt here" -A k_euler
-s または --steps
AIモデルはランダムなノイズからスタートし、最終的な画像を得るまで繰り返しノイズ除去を行います。この修飾子は、ノイズ除去のステップ数を決定します。デフォルトは50で、これはほとんどのシナリオに最適です。参考までに、およそ10段階で構図とその画像が好きかどうかの良いアイデアが得られ、およそ20段階で非常に完成に近くなります。cfg_scaleとsamplerがデフォルト設定の場合、20ステップと150ステップ(最大値)の差は、しばしば分かりにくいことがあります。そのため、画像生成の速度を上げたい場合は、ステップ数を下げてみてください。また、ステップ数を増やすと、より細かいディテールが追加され、画像が修正されることがよくあります(ただし、常にではありません)。
プロンプトの例: !dream "Your prompt here" -s 20
STEPの補足
簡単に説明すると、拡散モデルは、ランダムなガウスノイズを段階的にノイズ除去するように訓練された機械学習システムです。画像のような関心のあるサンプルに到達するために使用されます。STEPとはこのノイズ除去の回数です。
-S または --seed
生成される画像はすべてランダムなノイズから始まり、シードはそのランダムなノイズが何であるかを決定します。デフォルトでは、ボットはランダムに種を選びますが、生成した画像がたまたま気に入った場合、種を再利用して(同じプロンプトと修飾子で)全く同じ結果を得ることができます。この便利な機能は、使用したモディファイアやプロンプトに少し変化をつけたいときに、そのシードを再利用すると、生成された画像が気に入ったオリジナルの構図に近くなり、希望の結果を絞り込むのに役立ちます。
プロンプトの例: !dream "Your prompt here" -S 12345
-t
-t はプロンプトをトークン化したものを表示します。トークンとは何ですか?AIモデルがあなたの入力を見て解釈する方法です。現在、"startoftext" と "endoftext" を含めて 77 個のトークンが制限されているので、実質的には 75 個のトークンをプロンプトに使用することができます。この修飾は、長いプロンプトを作成し、それがすべてAIに表示され使用されるかどうかわからない場合に便利です。プロンプトが長すぎる場合、プロンプトが切り捨てられたというエラーや警告が表示されることがありますが、これは77トークン以降の部分が捨てられていることを意味します。また、トークンが単語を複数に分割したり、数字がスペースで区切られていても気にしないでください。
プロンプトの例は、 !dream "Your prompt here" -t
-a と --ac
-a は、生成される画像を ASCII アート形式にするコマンドです。もしあなたがリートハッカーの美学を楽しむなら、これを試してみて、あなたのターミナルに置くものを得ることができます。また、-ac 修飾子をつけると、アスキーアートのカラム数を制御できます (最小 40、最大 160)。結果はテキストファイルとして送信されます。
プロンプトの例は、 !dream "Your prompt here" -a と !dream "Your prompt here" -a -ac 128 です。
参考
stepとcfgの組み合わせ検証