Stable Diffusionで人物絵を生成しようとすると、意図せず人が多く描かれることがありますよね。
しかもプロンプトで指定した内容がそれぞれの人物に割り当てられて、思った画像にならない。なんてことも
そこで今回は、一人の人物だけを描きたい時の方法について説明したいと思います。
二人・複数人が生成されてしまう場合の対処法
一人の人物だけを描きたいのに、二人もしくは複数人描かれてしまう場合、プロンプトに問題がある場合と、出力の設定が影響している場合があるので、それについて解説していきます。
一人が生成されやすい呪文(プロンプト)
確実に一人だけを生成したい場合は、下記のように一人であることを示すプロンプトを入れることを忘れないようにしましょう。
また呪文を書く場所ですが、キーワードを先に記載するほど強調されるので、全体命令や画質などのすぐ後に記載するのが有効です。
プロンプト
呪文(プロンプト) | 意味 |
---|---|
A boy | 一人の少年 |
1boy | 一人の少年 |
solo boy | 単独の少年 |
alone | 唯一の |
solo focus | 単独に注力した |
single | 一つの |
ただしプロンプトだけでは強制力が弱いため、複数枚の画像を出力すると何割かは複数人の画像が出力されてしまうことがあります。
実際に簡単なプロンプトだけで出力すると、下記のように12枚中3枚は複数人という結果になりました。
そのため、上記のプロンプトに併用してネガティブプロンプトを設定することでより確実に一人だけを出力することができます。
ネガティブプロンプト
呪文(プロンプト) | 意味 |
---|---|
boys | 複数の少年 |
2boys | 二人の少年 |
many boys | 複数の少年 |
mutiple boys | 複数の少年 |
plural boys | 複数の少年 |
先ほどよりも一人が生成される確率が減上がりました。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
一人を生成しやすくするコツと方法
一人だけを生成するためには、単純にプロンプトとネガティブプロンプトを書くだけではなく、ちょっとしたコツを追加することで、より確実に生成することが可能です。
ここではそのコツについて紹介したいと思います。
①アスペクト比率を変更する
実際に様々なアスペクト比で出力するとわかりますが、アスペクト比が縦長の方が一人で生成される確率が高いです。
逆にアスペクト比が横長の方が一人で生成される確率が低いです。
実際に下記の同じプロンプトで、画像のアスペクト比が縦長と横長で生成される比率がどうなるかを確認してみましょう。
プロンプト
A boy
ネガティブプロンプト
boys, many boys
1024×512
横長にした画像では、ネガティブプロンプトで複数人を指定しても数枚は複数人で出力されてしまいました。
512×1024
プロンプト
A boy
ネガティブプロンプト
無し
縦長の画像ではネガティブプロンプトを入れなくても、すべて一人の画像になりました。
上記のことから解像度は同じでも、縦長と横長の画像で、一人が生成される確率が変わることが分かります。
これはモデルの学習した絵と、Stable Diffusion が絵を描く時にノイズを除去して描画していく性質によるものが大きいです。
まずStable Diffusion で絵を描く時にはモデルを設定していると思います。
そのモデルは他の絵から学習を行っていますが、普通複数人の絵は横長で描かれることが多いです。
また一人の全身を描きたい場合は、縦長で描かれていることが多いです。背景や他の建物を描きたい場合は別ですが、横長のキャンパスに一人だけ描くと余白が大きくなってしまいます。
逆に二人の少年を描く場合に、縦に二人を描くことは少ないと思います。
そのことから、縦長のキャンパスには一人、横長のキャンパスには複数の絵が描かれやすいのです。
またStable Diffusion はノイズを除去して絵を描いていく都合上、横長の画像で一人の人物を描くのが苦手です。
特にプロンプトに余白についての情報がない場合は、うまく補完してノイズ除去することができずに二以上の人物の絵を描いてしまうことが多いです。
②プロンプトを強調する
複数枚を同時に出力した際に一人にならない場合は、プロンプトとネガティブプロンプトに強度指定をして、強制力を上げることで解消することがあるので試してみてください。
ネガティブプロンプト
(A boy, 1 boy : 1.3), solo, solo focus
ネガティブプロンプト
(boys, 2 boys, many boys, mutiple boys : 1.3)
一人の少年が出力される割合が増えました。
ただしsoloやsolo focusも一緒に強調を行うと、背景が崩れることもあるのでその場合は調整が必要です。
まとめ
いかがでしたでしょうか?
Stable Diffusionで二人・複数人になってしまう場合の対処法について解説してきました。
今回のポイントをまとめると、以下のようになります。
- プロンプト、ネガティブプロンプトで一人となる呪文を記載することは必須
- 画像のアスペクト比が縦長の方が一人の画像が生成されやすい
- プロンプトの強調表示を使用することで、より確実に一人の画像を生成することが可能
Stable Diffusion ではうまく画像が生成されない時に、プロンプトやネガティブプロンプトなどの呪文だけで何とかしようとしてしまう場合が多いですが、実は画像のアスペクト比も重要な要素なのです。
設定に関する知識を身につけて、より良い画像を生産できるようになりましょう!
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい