見出し画像

AnimateDiffで、口の動きを使って言葉を表現させる検証(webUI)

AnimateDiff(webUI)で、口の動きを使って、言葉を表現させることは可能なのか?
少し検証してみました。

<結論>
難しい、、だが可能(2024/01追記)

この記事を作成している途中に、上のXで投稿されている動画を見つけました。とても上手に口が動いていて、理想的な感じです。
ただ、AIアニメーションのほとんどは、しゃべるというと口をバクバクさせている動画になります。
この場合は、セリフを音声で流せば話している感じが出ると思いますが、実際に話しているものとは異なると思います。
上の動画はconfyUIで作成されていて、色んな技術が使用されているようです。他の投稿内容を見ている印象としては、一度作成した動画の口の所だけを新たに生成しているようで、WebUIで行うことは難しい印象でした。
また、他に興味深いワークフローも投稿されていて、webUIでも出来ないか気になっています。

さて、話を戻すと、実際に言葉を発する場合は、それに合わせた口の形があり、口の形だけで話している内容が想起出来るものもあります。
個人的な印象としては、日本語は母音がかならず入るので、母音の口の形が出来ればおおむねの言葉が表現できる可能性がありそうです。

「す」「き」であれば、それぞれの母音を取って「う」「い」の口の形であれば意味をくみ取りやすいという感じでしょうか?

母音の口の形と発音については以下のイメージになります。
①「あ」と「お」は、同じように口を開けている。「お」の方が大きく丸い感じ?
②「い」は口を横に広げて歯を出している
③「う」はおちょぼ口で、すこし唇を出している
④「え」は少し口を横に少し開けた感じ

CivitaiのLoraで口の形についてのものが出ているので、画像を出力するにはこのLoraを適用するのが最も早道ではあります。

このあたりの組み合わせて理想的な口の形の順番にするとセリフが出来ると思われます。
が、このLoraを使用したとしても、同じシード値で行うと期待した口の形が出来ない場合が良く見られます。
コントロールネットで固定するなどして調整が必要です。

chibi:1.4, (face shot), At a night party, a girl in a deep blue dress, sparkling like starlight, gracefully walks on the dance floor, lightly lifting her skirt.BREAKHer long, wavy hair flows as she moves, admired by onlookers.BREAKThe glittering party lights enhance her radiance, making her the center of attention.

以下、上記のLoraで出力したものです。1/2程度の確率で期待したものになった印象です。

「あ」

「い」

「う」

「え」

「お」

これらをプロンプトトラベルで出力できるか試してみました。
40フレーム
「あ」「い」「う」
0: (open mouth)<lora:talkmouth_A_v100:1>
8: (close mouth):1.3
16: (open mouth)<lora:talkmouth_I_v100:1>
24: (close mouth):1.3
32: (open mouth)<lora:talkmouth_U_v100:1>

結果

Pinginfoを確認した範囲では、対応する画像には対応するプロンプトが記載されていますが十分に反映されていないようです。それか最初の内容に引っ張られている。
他にも試しましたが、現段階ではLoraの反映がプロンプトトラベル内で十分でない印象です。

Loraではなく、プロンプトのみで挑戦すると成功率が高い印象です。
以下はLoraを使用せず、プロンプトだけで行ったもの。
「あ」と「い」を表現してくれました。ただ、試行回数はそれなりにありました。
今回の検証からは、現段階のwebUIだと2文字であれば表現することが可能かと思われます。
Loraの反映がプロンプトトラベル内でうまく反映されれば、長い文章も可能になると思われます。

別な手法を用いるともう少し効果的に口の動きを変えることが可能だと判明しました。ただ、3文字程度かと思います。
以下の動画はそれで作成したものになります。


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