電通総研 テックブログ

電通総研が運営する技術ブログ

Stable Diffusion入門-人物写真

電通国際情報サービス、オープンイノベーションラボの比嘉康雄です。 これから、Stable Diffusionについてシリーズで書いていきたいと思います。

基本的な方針は、Promptの仕組みを体系的に理解することです。元ネタとしては、DALL·E 2 Prompt Bookを使います。 DALL·E 2 Prompt Bookの内容を試し、僕なりに消化したことを説明していきたいと思います。

Stable Diffusionのおすすめコンテンツはこちら。

実行環境

実行環境は、Webで試すことのできるDream Studioが最も手軽です。ログインすると画面の真ん中下の方にDreamというボタンがあります。その左のエリアがPromptを入力する部分です。

Promptとは

Promptとは、StableDiffusionにこういう画像を作ってほしいと依頼する文のことです。 StableDiffusionというのは、Promptを理解できるAIカメラだと捉えましょう。

Promptの書き方に特に決まりはないのですが、次のフォーマットで入力することをおすすめします。

画像のタイプ of サブジェクト, 追加の文, 追加の分

画像のタイプは、photoやoil paintingなどいろいろあります。サブジェクトは、描画したい対象です。

人物写真

最初は、人物写真を撮ってみましょう。基本のPromptは、次のようになります。

a xxx photo of サブジェクト with yyy eyes, a zzz shot, dramatic backlighting

a close-up of face shot

xxxは好きな修飾語を入れていいのですが、人物写真の場合は、black and whiteがおすすめです。

サブジェクトは、今回は、gorgeous human femaleにしましょう。humanをつけないとたまに、ライオンのメスなどが対象になるときがあります。

with yyy eyesは、入れたほうが描画が安定します。今回は、yyyにfriendlyを指定します。

zzzは、体のどの部分を描画するのかを指定します。今回は、a close-up of face shotを指定します。

最終的にPromptは下記のようになりました。

a black and white photo of a gorgeous human female with friendly eyes,
a close-up of face shot, dramatic backlighting

出力された画像は下記のようになりました。

a close-up of eyes shot

今度は、a close-up of face shotの部分をa close-up of eyes shotに変更しましょう。 Promptは下記のようになります。

a black and white photo of a gorgeous human female with friendly eyes,
a close-up of eyes shot, dramatic backlighting

出力された画像は、下記のようになりました。

目がより強調されましたね。

a head shot

a close-up of face shotよりも、若干引いて、肩が写るときもあれば、写らないときもあるのが、a head shotです。 Promptは下記のようになります。

a black and white photo of a gorgeous human female with friendly eyes,
a head shot, dramatic backlighting

出力された画像は、下記のようになりました。

肩を確実に出力するために、a head and shoulder shotというのもありますが、肩が不自然に強調されることがあり、出力が安定しません。

an upper shot

胸より上、つまり上半身を写すのが、an upper shotです。胸は写らないことのほうが多いです。 Promptは下記のようになります。

a black and white photo of a gorgeous human female with friendly eyes,
an upper shot, dramatic backlighting

出力された画像は下記のようになりました。

a medium shotというものもあるのですが、出力が安定しません。腰から上を出力する a waist shotというものもありますが、こちらも出力が安定しません。

a full body shot

体全体を写すのが、a full body shotですが、このshotは扱いが難しいです。 まず、次のPromptを出力してみてください。

a black and white photo of a gorgeous human female with friendly eyes,
a full body shot, dramatic backlighting

何度か試すと、Dream Studioで使っている人には、ぼかされた画像が表示されたはずです。Dream Studio以外を使っている人には、真っ黒な画像が表示されたはずです。これは、NSFWコンテンツといって、職場や学校などのフォーマルな環境下での閲覧に注意を促すためのものです。

full bodyという言葉から生成される画像は、NSFWコンテンツになりやすいということです。これを解決するために、shot from afarという文を追加しましょう。離れたところから撮影するという意味です。これで、だいぶ、NSFWコンテンツに指定される確率が減ります。

a black and white photo of a gorgeous human female with friendly eyes,
shot from afar, a full body shot, dramatic backlighting

これでも、NSFWコンテンツに何度かに一回は指定されるし、指定されなかったとしても、体のラインを強調したような画像が出力されることが多いでしょう。これを解決するために、gorgeousをmysteriousに変更します。gorgeousとfull bodyの相性が悪かったわけです。

a black and white photo of mysterious human female,
shot from afar, a full body shot, dramatic backlighting

出力された画像は下記のようになりました。

shot from above

上から写真を取るには、shot from aboveを使います。

a black and white photo of a gorgeous human female with friendly eyes,
shot from above, dramatic backlighting

出力された画像は下記のようになりました。

shot from below

下から写真を取るには、shot from belowを使います。

a black and white photo of a gorgeous human female with friendly eyes,
shot from below, dramatic backlighting

出力された画像は下記のようになりました。

まとめ

今回は、人物写真を説明しました。shotキーワードでStableDiffusionに対して、どう撮影したいのかを伝える方法が、理解できたと思います。 次回は、レンズを説明します。

仲間募集

私たちは同じグループで共に働いていただける仲間を募集しています。
現在、以下のような職種を募集しています。

Stable Diffusionの過去コンテンツ

執筆:@higaShodoで執筆されました