見出し画像

キャラクターの同一性を保つ形での画像生成について

こんにちは!Hi君です。
以前、「ControlNet v1.1」における表情制御について取り上げました。今回も表情制御をテーマにして、顔に大きなポーズ変化が無い状態での表情制御(感情制御)でのワークフロー例[にこやかな表情 ➔ 悲しげな表情]について、いろいろと試して気づいたことをまとめています。

■今回の調べ方

・下の2種類の画像ケースのように、顔ガイダンス情報が同一の画像・モデル設定を使用し、一方でプロンプトは異なるケースで画像生成を工夫。

・素朴に行うと、瞳の色や画風が大きく異なってしまう事が確認できたため、瞳の色や画風を保ちながら、他段階的に画像生成を行うことで、画風をできるだけ似させながら表情を変化させるような事を試験した。
 ▶今回は画風や服装を保ちつつ、表情のみの変化、笑顔的な表情と悲しげな表情の二種類を生成する事を目指す。

txt2img ( close mouth, smiling )

txt2img ( close mouth, sad, crying )

ControlNet v1.1のShuffleモードの併用


・ControlNet v1.1にはShuffleモードという機能が実装されている。

・Shuffleモードについて: # ControlNet-V1.1検証 第一話 -僕ら、シャッフルシャッフルボーイズ-
 ▶T2I-AdapterのStyle Transfer的な機能を持つモードと考えられます。つまり、色合いや画像全体の雰囲気をガイダンス情報にある程度類似させながら画像生成ができるモードと考えられる。

・今回は、"close mouth, smiling"設定で生成した女性キャラクターをガイダンス情報入力として、"shuffle" preprocessを行いながらShuffleモードを併用して画像生成する形とした。

・例えば、下の画像のように"close mouth, sad"をプロンプト指定し、またControlNet(Face & Canny & Shuffle)で画像生成を行うと下のように画風がある程度保たれた、女性キャラクターが生成できる。
 ▶ただ、"close mouth, sad"のみだと、"悲しんでいる"というよりは"困っている"といった形で生成されているようにみえる。
 ▶一方で、"close mouth, sad, crying"を指定すると、眉毛の形や瞳の垂れ下がり度合い等の変化からより悲しげな表情になっているように見えるものの、瞳の色が違ったり、涙が不自然なくらいに過剰に出てしまっている事が確認できた。

txt2img (close mouth, sad) + ControlNet(Face & Canny & Shuffle)

txt2img (close mouth, sad, crying) + ControlNet (Face & Canny & Shuffle)

上記の生成結果を踏まえた他段階的img2img (Inpaintingモード)


唇形状の変化
・上の例を見る限り、"sad"という単語について唇の形状が多少反応しているように見える。
 ▶(今回は使用しなかったが)プロンプト上の単語が画像生成結果の何処に強く効いているかについて、DAAMという技術を用いる事で確認作業を行う事ができる。
 └#【Web UI】AIイラストのプロンプトの影響範囲を見る方法【AUTOMATIC1111】

・また、目の方にはあまり画風変化的な影響は強く無いように見える。目よりは唇の方をInpaintingモードでimg2imgすると、確かに唇の形が変化する事は確認できる。
 ▶img2imgのベース画像は"txt2img (close mouth, sad) "設定で生成した画像を用いた。
 ▶プロンプトや設定は"txt2img (close mouth, sad) + ControlNet(Face & Canny & Shuffle)"設定と同一条件で生成。

目周辺の輪郭、眉毛形状の変化


・次に、上の結果から更に目の周辺の形状を変化させる事を試みる(眉毛や目尻のタレ度合い等で、悲しげな表情かどうか等か見え方は大きく変わるため)。

・ここで、瞳の色合いを保持するため、虹彩はできるだけInpaintingモードでのマスクに含まないような形でマスク指定。
 ▶Inpaintingモードでは、Masked content設定を"original"に指定する事で、元画像の画像特徴量(画像エンコード情報)を保持しつつ、指定された領域についてプロンプトやControlNetで付与した特徴量情報を加味して画像生成する事が可能。
 └# 画像生成AI「Stable Diffusion web UI(AUTOMATIC1111版)」で元画像と似た構図や色彩の画像を自動生成したり指定した一部だけ変更できる「img2img」の簡単な使い方まとめ
 ▶つまりマスク以外の領域の画像コンテキストを加味しつつ、またまつげの形等を一定保持した形での画像生成を行う事を試す。

・その状態で、画像生成すると、瞳の色合いはtxt2img (close mouth, sad) "設定での生成画像と類似した形で、眉毛の形や目尻のタレ度合い的に”悲しげ”な画像が生成出来ている事を確認。
 ▶ただ、下まつげの周辺に多少破綻があったりと、必ずしも意図したレベルの絵が出てくるとは限らない面もある。

仕上げのimg2img


・最後に上の画像について、denoise strength弱め(0.3程度)でimg2imgを行う。

・また、下目蓋以外はある程度意図した形にはなっているので、ControlNet (Cannyモード)を短め (Guidance End: 0.75)で指定して画像生成。

・上の2つのような形にすることでベース画像に対しての微調整的な形で、ただ画像コンテキスト的には多少より自然な形で生成されやすくなる。

・このような多段的な画像生成過程を経る事で、キャラクターとしてある程度同一性のある形で、表情制御ができた。
 ▶ただ一方で、眉毛の太さやまつげの輪郭等、元のキャラクターと異なる部分はまだまだある。また、涙の出方等も不自然には見える。
 ▶それでも、表情制御から細部の修正という、より具体的で後工程のイメージが湧きやすい課題に落とし込む事が出来たという点では有用なツール・工程になり得る。

以上です!
今回はキャラクターの同一性を保ちながら行う画像生成について、表情制御(感情制御)の観点でメモ的にまとめてみました。次回は「Mitsua Diffusion Oneの表現能力・モデル概要」について調べたことを公開します!

文:Hi君
協力:inaho株式会社

この記事が気に入ったらサポートをしてみませんか?