ebsynthと Temporal Kit を使って動きのある動画を生成する方法Stable Diffusion

フルタニ

こんにちは、フルタニです。放送局で番組作りをしてました。 Temporal Kit を書きます。

Stable Diffusionで画像生成した人物静止画を動画にしたいと思ったことありませんか。

人物静止画を喋らせたい。しかも簡単に変換したい場合は有料ウェブツールを使う方法がお勧めです。

喋らせるのではなく、人物静止画にポーズを取らせたい、とかダンスさせたいなどの場合は別の方法があります。

それが Temporal Kit です。

元動画をコマに分解してそのコマにあった画像を生成するTemporal Kit

生成された膨大な画像を動画に合成するebsynth

二つのツールを使うことでまったくあたらしい映像作品を作ることができます。

Temporal Kit とは

Temporal Kit とはStrawberriesさんによるStable Diffusion automatic1111用の拡張機能です。

拡張機能を介して安定した拡散レンダリングに時間的安定性を追加するためのオールインワン ソリューションと書かれています。

仕組みはというと、アニメーションには大きく二つのながれがあります。

一つは原画を一枚一枚撮影してつなげる方法。いわゆるパラパラ動画のような作り方です。

もう一つは人物の手足などの位置データをもとにアニメ化する方法があります。

Stable Diffusionでは「棒人間」にようなモデルを作ってそのモデルに合わせて画像を生成する方法がよく使われます。

今回のTemporal Kit では一枚一枚に対応する画像を生成する方法です。

生成された画像はEBSynth Prosesを使うことで動画に合成することができます。

実写風に生成した画像に動きをつけた動画。

使い方はさまざまです。上記の場合はMakeAvatar→VRChat→LoRA(モデル)→TemporalKit(拡張機能)→DaVinciResolve(無料動画編集ソフト)というルートでイラストをアニメ化した模様。

3Dアニメーションツールで作ったアバターの動きを使って、実写風に生成した画像に動きをつけた動画。

お手本になる動画があれば、その動画の動きをトレースして好きなキャラクターに好きな動きをつけることができます。

今回は素材から動きの要素を取り出して、動きに合わせた新たな画像を生成するまでを解説します。

出来上がった画像はEBSynthを使うことで動画に合成可能です。

事前準備 Stable Diffusion wevUIの導入方法

Temporal Kit は Stable Diffusion wevUIの拡張機能です。

Stable Diffusion wevUIを同に有していない人は、Stable-diffusion webUIの環境を整えましょう。

詳しくは別記事を確認ください。

Stable Diffusion

Stable-diffusion webUIの準備ができたら拡張機能を「Hugging Face」からインストールします。

Temporal Kit のインストール方法はほかの拡張機能のインストール方法と同じです。

Temporal Kit の操作方法

人物静止画をアニメーションするには新たに生成する人物の動きに当たるデータを用意する必要があります。

動きをトレースできる動画を用意する

そのため、動きのモデルとなる動画を用意します。

自分自身が動き振り付けして自撮りしたものは問題なく使えますが、第三者の動きを使いたい場合は注意が必要です。

これは、人物の動きにも権利が発生するためです。ダンスなどの振り付けには権利があるため、商用可能な無料動画を素材サイトの中からダウンロードしておきます。

数多くの動画を低価格で利用できる素材集でおすすめなのがEnvato Elementsです。(私も使っています)

Temporal Kit で動画をコマごとに分けて画像を生成する

動画生成の原理は、動きをトレースするのではなく、動画を一コマ一コマに分解し、そのコマに対応した静止画を新たに生成します。

生成された画像を動画にすることで動きがつけられているように見えるのです。

Temporal Kitを起動したら、お手本となる動画を読み込ませます。

sidesは1、High Resolution を512に設定します。

sidesを多くすると一度に生成される画像は増えますが、画面が小さくなること、生成された画像にムラができるなどデメリットが大きいので多くても4にとどめましょう。

EBSynth Modeにチェックを入れます。

Keyframe を5、fpsは30とします。

一秒間に再生されるコマ数が30で、その5番目と10番目、つまり五コマおきに動きを変えます。

Target folder 枠にファイルを保存するフォルダを記入します。

Batch Setting をクリックしてひらきます。

Batch Runにチェックを入れます。

Max Keyframeに数字を入力します。

モデルとなった動画をすべてトレースするなら「-1」とします。

途中まででいい場合は、生成する最大のキーフレームを入力します。fpsを30とした場合、一秒間に必要なキーフレームは5なので一秒間に使うキーフレームは6になります。

EBSync Settingをクリックして開き、中の二つの項目にすべてチェックを入れます。

これで設定が完了。

「Run」をクリックすると指定したフォルダの中に動画に使用する画像の入ったフォルダと、アニメーションの素材となるメインの動画が生成されます。

テレビアニメで言うところの動画一コマができました。

次に、生成された静止画をつなげて動画にします。

img2imgで動画にする

Temporal Kitの「img2img」タブをクリックします。

一枚目の画像を選び、ドラッグ&ドロップしてアップロードします。

プロンプト(指示文)を適宜入力します。

Noise は0.4

controlnetを使用します。

Generateをクリックすると画像が生成されました。

気に入った画像が決まったらその画像のseed値をコピーして、seedの枠にペーストします。

Temporal Kitのinput枠にWebUIのinputのデレクトリーを記入します。

outputのフォルダが生成されるのでそのパスをコピーして、Temporal Kitのoutput枠にペーストします。

Temporal Kitにペーストした原画となる画像を削除します。

GenerateをクリックするとWebUIのoutputのフォルダ内に動画のコマにあたる夥しい画像が生成されました。

controlnetを使用した場合、outputのフォルダ内に線画もあわせて生成されるので全て削除します。

EBSynth Prosesでコマを動画に合成する

EBSynth Prosesタブをクリックします。

input folder枠にWebUIのフォルダを入力します。

read_rast_settings をクリックします。

設定はそのまま、解像度は512ですが、お好みでもOKです。

prepare ebsynthをクリックすると仕分けが始まります。

Stable-diffusion webUIの所定のフォルダに膨大な原画を生成することができました。

こうしでできた素材をEBSynthを使うことで動画にすることができます。

動画の制作方法はチュートリアル動画をご覧ください。

EBSynthとは

EBSynthとは動画変換ツールです。

実写の動きだけ使って、絵柄はAI生成画像に差し替えてしまうもの。

Secret Weaponsによる、動画を絵画風タッチに変換するツール『EbSynth』のベータ版がリリースされました!この絵画風タッチを生み出しているのは、チェコ工科大学とAdobe Researchによるスタイル転送技術「Stylizing Video by Example」によるものです(SIGGRAPH 2019論文)

EbSynth – Transform Video by Painting Over a Single Frame

チュートリアル動画