「二人の画像を生成したいのに一人…プロントはちゃんと指定しているのになんで?」
「5人にしたいけど、そんなピッタリ5人とか無理でしょ!」
「人混み、群衆など大勢の人を出したいけどどうすれば良いの?」
こういった問題に直面している人は多いのではないでしょうか?Stable Diffusionで、思ったとおりの人数にならないといったことは頻繁に起こる問題の1つです。
一見、解決するのが大変そうな問題ですが、人数を指定して作ることや、多くの人混みを再現することは、高い再現性で実現することが可能です。
今回は、写真に映る人の人数調整について解説します。本記事を読むと写真に映る人の状況をコントロールできるようになります。
本記事で説明する内容は複数人の画像を生成する内容です。
逆に1人の画像を生成したいのにできない場合は以下の記事を参考にしてみてください。
二人、2人、人混み、群衆などの複数人の呪文(プロンプト)
呪文(プロンプト)によって人数を指定する場合は、人数を直接指定する場合と、一人一人の説明をすることで、人物を登場させる2種類の方法があります。まずは人数を直接指定する場合について紹介します。
説明 | 呪文(プロンプト) |
---|---|
2人の女性、3人の女性… | 2 women, 3 women,… |
2人の女の子、3人の女の子… | 2 girls, 3 girls,… |
複数人 | multiple girls, many girls |
人混み・群衆 | crowd |
観客 | audience |
大きな数字を指定すると人混みになる | 20 girls, 20 boys |
2人の男性、3人の男性… | 2 men, 3 men,… |
2人の男の子、3人の男の子… | 2 boys, 3 boys,… |
mutiple girls
, many girls
については複数人になりますが、人数を指定したり、crowd
にしたほうがイメージに合う画像が生成できます。
一人一人指定するパターン
次に一人一人の説明をする方法について説明します。3人程度まではこちらの方法も有効です。ただし、人数が多くなるとあまり有効ではなくなります。
- 人物1 and 人物2 and 人物3, …
例: 20 years old woman and 18 years old pretty woman and 21 years old beautiful woman
複数人登場させるときの秘訣は画像の解像度も重要
複数の人物を登場させる際に、重要となってくるのが画像の解像度です。呪文(プロンプト)を工夫しても縦長の解像度で複数の人物を登場させることは困難です。呪文(プロンプト)だけではなく、解像度についても注意してください。
人数を決めて画像を生成する
まずは呪文(プロンプト)なしで試してみる
解像度: 768✕512
Prompt:
Photo of beautiful Japanese idols in Shibuya.
Negative Prompt:
EasyNegative, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, (worst quality:1.2), low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, lowres graffiti, (low quality lowres simple background:1.1),sketch, painting, cartoon, 3d, anime, drawing,ugly face, unclear eyes, bad mouth
idolsと複数形で指定すると、3人〜大勢で画像が生成されることがわかりました。それでは人数指定の呪文(プロンプト)を利用することで、どの程度改善されるか見ていきましょう。
2人を表示する
呪文(プロンプト)で人数を直接する場合
Promptに2 girls
を追加:
2 girls, Photo of beautiful Japanese idols in Shibuya.
一人一人指定するパターン
Promptを以下のように変更
Photo of a beautiful Japanese idol and a pretty idol in Shibuya.
5人を表示する
呪文(プロンプト)で人数を直接、指定する場合
Promptに5 girls
を追加:
5 girls, Photo of beautiful Japanese idols in Shibuya.
少し窮屈そうな絵になりました。4人で表示されてしまうことも多く、724✕512だと4人が限界なのかもしれないです。解像度を横に伸ばすともっと良くなりそうなので変更します。
解像度を1024✕512に変更
6人表示も紛れてしまいましたが、5人表示されているので呪文(プロンプト)が効いてますね。
一人一人指定するパターン
こちらは最初から解像度を1024✕512で試していきます。
呪文(プロンプト)を以下のように変更しました。
Photo of a short hair beautiful Japanese idol and a brown hair pretty Japanese idol and a long hair cute Japanese idol and a pretty long hair Korean idol and a blonde hair 20 years old Japanese idol in Shibuya.
5人分指定したのにも関わらず、人数はバラバラです。特徴も分割されず混ざってしまいました。5人以上の場合は個別に指定しないほうが良さそうです。
人数指定の呪文(プロンプト)と個別の指定を併用する
呪文(プロンプト)に5 girlsを追加
5 girls, Photo of a short hair beautiful Japanese idol and a brown hair pretty Japanese idol and a long hair cute Japanese idol and a pretty long hair Korean idol and a blonde hair 20 years old Japanese idol in Shibuya.
人数の精度は上がりましたが、特徴は混ざってしまいました。もし異なる特徴で生成したい場合は分割して呪文(プロンプト)を指定して画像を作る必要があります。この方法については拡張機能を使うので、後ほど解説します。
20人を表示する
数人程度であればそれないりに〇〇 girlsは上手く行くことがわかりました。そこで大きく飛んで20人を生成したらどうなるかを試していきます。
Promptに20 girls
を追加:
20 girls, Photo of beautiful Japanese idols in Shibuya.
生成される画像の人は、20人よりも多かったりして、人数の精度が悪いです。顔も少し怖いですが、大量に人の写った画像を生成するときには使えそうです。
人数を決めて画像生成する場合のまとめ
2 girls
や5 girls
といった呪文(プロンプト)は高い精度で人数を指定できる。- 解像度を適切に設定する必要がある。人数が多い場合は横長にする。
- 人物1, 人物2,…のような個別指定はあまり有効ではない。
大勢や人混みを作りたい場合
人混みを再現したい場合はcrowd
を呪文(プロンプト)に追加しましょう。
解像度: 1024✕512
呪文(プロンプト):
crowd, Photo of beautiful Japanese idols in Shibuya.
ネガティブ呪文(プロンプト):
EasyNegative, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, (worst quality:1.2), low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, lowres graffiti, (low quality lowres simple background:1.1),sketch, painting, cartoon, 3d, anime, drawing,ugly face, unclear eyes, bad mouth
拡張機能を使う
Tiled Diffusionを使う
Tiled Diffusionは画像の左半分と右半分に分けたりと画像の領域を分割して生成することができる拡張機能です。これを使って領域ごとに人物を配置することができます。Tiled Diffusionのインストール、使い方については次を参考にしてください。
Tiled Diffusionを利用して生成された画像は次の通りです。
左の女性と右の女性で特徴が混ざらずに画像が生成できました。
TiledDiffusion with Tiled VAE manipulationsを使って大人数は難しい
ここで5人の画像をと言いたいところですが、かなり調和を取るのが難しくて4人の時点で断念しました。結果だけ共有すると次のようになります。
各女性の個性の切り分けはできましたが今度は調和が取れなくなってしまいました。
ControlNet OpenPoseを利用
ControlNet OpenPoseを利用すると棒人間から画像を生成することができます。人数調整としても効果は高く思った通りの構図とポーズで画像を生成することができます。以下はControlNet OpenPoseで生成した画像の結果です。
もし興味があればこちらの記事を参考にしてみてください。
コメント