Stable Diffusionで画像生成をしていると、どうしても手の描写が上手くいかないことがあります。
以前紹介した「Depth library」を使えば簡単に手を修正できますが、少し手間がかかり、モデルによってクオリティが安定しないことも多いです。
ですので、手にこだわらない画像であれば、隠してしまった方がクオリティは安定します。
そこで今回は、手を隠せるプロンプト、手が崩れにくいポーズなどを、画像と一緒にご紹介します。
Stable Diffusion 手を隠せるプロンプト一覧
手をポケットに入れる(hands in pocket)
手をポケットに入れるプロンプトです。
服装次第ですが、「hands in pocket」で手をポケットに入れられます。
handsは両手なので、「left hand, right hand」などで片方の手のみ指定が可能。
ただし、モデルによっては反映できない場合もあります。
手を特定の位置、または後ろに置く(hands on 〇〇, arms behind 〇〇~)
手を特定の位置、または後ろに置くプロンプトです。
手を頭上に置きたいときは「hands on head」、手を頭の後ろにしたいときは「arms behind head」と指定します。
hands on 〇〇~の場合は、手が少し見える状態になるため、描写が崩れてしまう可能性もあります。
arms behind 〇〇~は、手を全て隠せるため、hands on 〇〇よりは安定します。
head以外だと以下のような指定も可能です。
- hands on waist,hands on hip(手を腰に当てる)
- arms behind back(腕を後ろに回す)
腕を広げて手をフレーム外(spread arms, hands outside frame)
こちらは腕を広げて、手をフレーム外に出すプロンプトです。
「hands outside frame」だけでも機能しますが、「spread arms」と併用した方が生成確率が高いです。
また被写体の位置をどこにするか、画像サイズ、アングルなどによっても生成確率が異なります。
ですので、フレーム内にどうやって収めるか調整しながら試行錯誤してみてください。
自撮り風(selfie)
自撮り風にすることで、スマートフォンを持たせたり、手を前に伸ばしたりできるプロンプトです。
スマートフォンを持たせる場合も比較的生成確率が高く、手を伸ばす場合は手を隠せるため、描写崩れがほぼありません。
また私が使用している二次元モデルだと9割くらいスマートフォンを持つ画像が生成されます。
確実にスマートフォンを持たせたい場合はプロンプトにsmartphoneを追加し、待たせたくない場合はネガティブプロンプトにsmartphoneを入れた方がいいかもしれません。
獣化する(animal hands)
手のみ、または全身獣化してしまうことで、手の描写崩れが気にならなくなります。
こちらは上記と違い、おそらく二次元モデルのみ反映可能で、かなり強引なやり方です。
シチュエーションも限られてしまいますが、獣化していいシチュエーションであれば、人間の手よりは安定して生成できます。
ネガティブプロンプトを入れすぎない
もう1つポイントとして、ネガティブプロンプトを入れすぎないことです。
以前手の描写崩れを防ぐため、大量のネガティブプロンプトを入力していました。
しかし、これだと必要な要素まで除外してしまう可能性があり、他の要素が反映されにくくなることがあります。
またネガティブプロンプトを大量に入れたからと言って、手を綺麗に生成できる確率はそこまで変わりません。
もちろん低画質やウォーターマークなど除外したい要素を入れるのは大切ですが、手の生成確率に大きな差はそこまででません。
しっかり検証したわけではないため、経験則に基づくものになりますが、ネガティブプロンプトは必要最低限のものに限定して、あとはモデルの生成能力に任せることをおすすめします。
手を隠せるプロンプトまとめ
今回は手を隠せるプロンプトについて、ご紹介しました。
- 手をポケットに入れる(hands in pocket)
- 手を特定の位置、または後ろに置く(hands on 〇〇, arms behind 〇〇~)
- 腕を広げる・手をフレーム外(spread arms, hands outside frame)
- 自撮り風(selfie)
- 獣化する(animal hands)
- ネガティブプロンプトを入れすぎない
Stable Diffusionでは、ポーズやシチュエーションをうまく生成できても、手だけ崩れることが多々あります。
ビジネスで画像生成をしていると手の修正に時間が掛かってしまい、納期遅れや時給単価が減少してしまう可能性も高いです。
ですので、特に手の指定がない画像生成であれば、隠してしまった方が作業効率は上げられます。
気になる方はぜひ試してみてください。