当ブログにはプロモーション、アフィリエイト広告が含まれます。

【Stable Diffusion Web UI】Ebsynth UtilityでAI動画を作る方法!

Stable Diffusion Web UIの便利な拡張機能を紹介する記事です。

今回はV2VでAI動画が作れる「Ebsynth Utility」をご紹介します。

他の動画生成系の拡張機能が入っていると使えない可能性があります。AnimateDiffやmov2movなどが入っている場合は予めオフにしておいてください。

なお、本記事はこちらの動画の情報を参考にさせていただきました。

Ebsynth Utilityとは?

Ebsynth Utilityは、Ebsynthを使うための手順解説やファイル作成を行ってくれる拡張機能です。

Ebsynth Utilityで必要なファイルなどを作成し、EbsynthとFFmpegを使うことによってAI動画が作れます。

作れる動画は以下のようなものです。

左が元動画、右がAIで生成した動画になっています。

お借りしたフリー素材

Just a moment...

EBsynthでAI動画を作るために必要なもの

必要なものは以下5つです。

  • EBsynth
  • FFmpeg
  • Stable Diffusion Web UI
  • Ebsynth Utility
  • ControlNet

EBsynth

EBsynthは、1枚の画像を他のフレームに反映できるツールです。

動画からキーフレームとなる画像を抽出して、img2imgで生成します。

再生成した画像を他のフレームに反映させることで、元動画のモーションを維持したままAI動画を作ることができます。

EBsynthは独立したツールのため、別途ダウンロードが必要です。

以下のサイトから「Download」をクリックしてください。

EbSynth - Transform Video by Painting Over a Single Frame
You paint one frame and EbSynth propagates it to the rest of the footage.

メールアドレスの登録を求められますが、「No thanks, just start the download.」をクリックすればダウンロードが始まります。

「EbSynth-Beta-Win」というzipファイルが保存されるので、任意の場所に解凍して保管しておいてください。

FFmpeg

FFmpegは、映像や音声などに対してさまざまな操作が行えるソフトウェアです。

画像を結合して動画にするとき、FFmpegが必要となります。

下記URLから「ffmpeg-master-latest-win64-gpl.zip 」というファイルをダウンロードしてください。

Releases · BtbN/FFmpeg-Builds
Contribute to BtbN/FFmpeg-Builds development by creating an account on GitHub.

解凍するとbinというフォルダがあり、このbinフォルダをPathに設定する必要があります。

Windowsのスタートメニューから以下の順で進んでいき、環境変数を開いてください。

  1. コントロールパネル
  2. システムとセキュリティ
  3. システム
  4. システムの詳細設定
  5. 環境変数

過去に環境変数を開いたことがある方は、Windowsの検索で環境変数と入力すると「環境変数を編集」で開くことができます。

環境変数の設定画面が開けたら、ユーザー環境変数の「Path」を選択した状態で編集をクリックします。

右上にある「新規」をクリックします。

パスを入力できるようになるので、binフォルダのパスを指定してください。

Cドライブ直下に置いた場合は、以下のようになります。

C:\ffmpeg-master-latest-win64-gpl\bin

最後に下の「OK」ボタンをクリックすればパスの設定は完了です。

しっかりパスが設定できているか確認するには、コマンドプロンプトで以下のコードを実行してみてください。

ffmpeg -version

バージョンが表示されれば、しっかり設定はできています。

Stable Diffusion Web UI

Stable Diffusion Web UIは、Stable Diffusionを動かせるWeb UIです。

Stable Diffusion Web UIについては別途解説している記事があるので、こちらを参考にしてみてください。

Ebsynth Utility

上記で書いた通り、Ebsynthを使うための補助をしてくれる拡張機能です。

Stable Diffusion Web UIを起動して「Extensions」開き、「Install from URL」に下記URLを入力して「Install」を実行してください。

https://github.com/s9roll7/ebsynth_utility.git

Installedのタブに「Ebsynth Utility」が表示されていれば無事インストールできています。

インストール後にUIをリスタート、または再起動してください。

ControlNet

ControlNetもStable Diffusion Web UIの拡張機能です。

ControlNetを使わなくてもAI動画は作れますが、クオリティを重視したい方は入れておいてください。

こちらは拡張機能の他に対応するモデルをダウンロードする必要があります。

AI動画で使うのはTile、Openpose、reference辺りなので、必要なものだけでも大丈夫です。

ControlNetも別途解説している記事があるので、こちらを参考にしてみてください。

Stable DiffusionでAI動画を作る方法

全体の流れは以下の通りです。

  • AI動画用のフォルダを作成する
  • stage 1:動画をフレームごとに分割する
  • stage 2:キーフレームの画像を抽出
  • stage 3:キーフレームの画像をimg2imgで生成
  • stage 5:Ebsynth用のファイルを作成
  • stage 6:Ebsynthでキーフレームの画像を適応
  • stage 7:画像を結合してAI動画完成
  • stage 8:背景の変更(任意)

AI動画用のフォルダを作成

Ebsynth用のファイルを作成するために、専用のフォルダが必要です。

パスの途中に日本語や記号が入っているとうまく動作しないことがあるため、Cドライブ直下などに英数字のファルダを作成してください。

今回Cドライブ直下に「aimovie」というフォルダを作成しました。

このフォルダ内に元となる動画を入れておきます。動画はこちらからお借りしました。

Just a moment...

なお、動画のファイル名もそのままだと動かなかったので、英数字などシンプルなものに変更しておいてください。

stage 1:動画をフレームごとに分割する

まずEbsynth Utilityのタブに行き、フォルダと動画のパスを指定します。

project setting→フォルダのパス
Original Movie Path→フォルダ内の動画のパス

次に「configuration」でFrame WidthとFrame Heightを指定します。

これは動画から分割した画像の横幅・縦幅を指定するものです。

-1だと動画と同じサイズで保存され、値を指定するとそのサイズにリサイズできます。

動画が1080×1920と少し大きいので、今回は720×1280にリサイズしました。

右側の画面のProcess Stageがstage1になっているのを確認して、下の方にある「Generate」をクリックしてください。

これで自動的に「video_frame」「video_mask」というフォルダが作成され、その中にフレームごとの画像が保存されます。

ターミナルとWeb UIで「completed.」と表示されたら完了です。

stage 2:キーフレームの画像を抽出

stage2ではキーフレームとなる画像を抽出します。

キーフレームは、動画のフレーム内の変化が大きい部分のことです。

ここをAIで生成して、他のフレームに反映できるようになります。

configurationで抽出するキーフレームの数を調整できますが、そこまで動画のクオリティに影響しないため、デフォルトで問題ありません。

もし抽出数を多くしたい方は「Minimum keyframe gap」の値を小さくしてください。

右側のProcess Stageをstage2にして、「Generate」をクリックします。

そうすると自動的にキーフレームを抽出してくれます。

stage 3:キーフレームの画像をimg2imgで生成

抽出したキーフレームの画像をimg2imgで自分好みに生成します。

最初に作成したフォルダ内に「video_key」というフォルダがあるので、その中から1枚選んでimg2imgに取り込んでください。

今回はファイル名が「00040」となっている画像を使用しました。

Resize toで元画像と同じサイズを指定します。

あとはプロンプトや設定を変えて、自分の好みの結果になるまで生成してみてください。

今回は以下のように設定しました。

生成した画像

モデルBracingEvoMix
Resize by1.3
プロンプト((8k, RAW photo, highest quality, masterpiece), High detail RAW color photo professional photo, (realistic, photo realism:1. 37)), insanely photorealistic
ネガティブプロンプトEasyNegative, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), paintings, sketches, bad anatomy, facing away lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, blurry, bad feet,extra fingers, fused fingers, too many fingers, long neck, mutated hands, bad body, bad fingers, missing fingers
サンプラーDPM++ 2M Karras
Sampling steps23
Denoising strength0.55
Seed3046033203
ControlNettile(Control Weight0.8)

もし大きく要素を変化させたい場合はプロンプトで指定して、「Denoising strength」の値を高くしてください。

そうするとプロンプトの要素を反映させることができます。

ただ元動画と変化が大きいほどチラつきなどが多くなるので、ControlNetのtile、DW pose、reference、IP-adapter辺りを使って調整してみてください。

プロンプトやパラーメータを設定できたら、下の方にあるScriptから「Ebsynth Utility」を選択します。

設定画面が開くので、Project directoryに最初に作成したフォルダのパスを指定してください。

ControlNetを使用した場合は、「ControlNet option」の値をどちらも「1」にしてください。

この状態で「Generate」を押すと、キーフレームの画像が全て処理されます。

なお、次のstage 4はスキップ可となっており、現状ほぼ影響がないため省略しました。

stage 5:Ebsynth用ファイルの作成

Ebsynth Utilityのタブに戻り、stage 5を選択してGenerateをクリックしてください。

そうすると最初に作ったフォルダ内に「.ebs」というEbsynthのファイルが作成されます。

stage 6:Ebsynthでキーフレームの画像を適応

「EbSynth-Beta-Win」というフォルダを開いて、中のEbsynthを起動してください。

UIが表示されるので、openをクリックしてstage 5で作成したファイルを読み込みます。

中央にあるAdvancedをクリックして、Synthesis Detailが「High」、Use GPUが「On」になっているのを確認してください。

この状態で一番下のRun Allをクリックすると、キーフレームの画像を他のフレームに適応する処理が始まります。

全ての処理が終わったら、次のファイルをopenから読み込み、Run Allをクリックします。

この手順をstage 5で作成したファイル分繰り返してください。

全て終わればstage 6は完了です。

stage 7:画像を結合してAI動画完成

Ebsynth Utilityのタブに戻り、configurationのタブでstage 7を選択します。

一応トランジションを制御する値を変えたり、出力形式を変えたりできますが、mp4出力で良い場合はデフォルトで問題ありません。

右側でstage 7を選択し、Generateをクリックしてください。

音声あり・なしの動画ファイルが出力され、AI動画は完成です。

Crossfade blend rateによる違いを比較したかったので、それぞれ値を「1・0.5・0.1」で出力してみました。

こちらはtileのみ使用して被写体を大きく変更した動画です。

ControlNetの組み合わせ次第でもっとクオリティは上げられると思うので、良いのができたら追加します。

stage 8:背景の変更(任意)

AI動画の背景を変更したい場合は、stage 8で処理できます。

まずはconfigurationタブでstage8を開き、背景に差し替えたいmp4ファイル、またはフォルダを指定します。

とりあえずグリーンバックにしておけば後から変更できるので、今回はグリーンバックにしてみます。

フォルダを作ってその中に素材を置き、フォルダのパスを指定してください。

stage8を選んで、Generateをクリックします。

そうすると「merge~」というファイルでAI動画が生成され、背景が指定した素材に変わります。

Stable DiffusionでAI動画生成時に発生したエラー

冒頭でも書きましたが、他のAI動画関係の拡張機能があるとエラーが出てしまうみたいです。

mov2movを入れていたら、以下のエラーが発生して動きませんでした。

TypeError: Script.run() missing 22 required positional arguments~

もし何らかのエラーで動かなかった場合は、AI動画関係の拡張機能をオフにしてみてください。

Stable DiffusionとEBsynthでAI動画を作る方法まとめ

今回はStable DiffusionとEBsynthを使って、AI動画を作る方法をご紹介しました。

まとめ
  • Stable Diffusionで作るAI動画とは?
  • Stable DiffusionとEBsynthでAI動画を作るために必要なもの
  • Stable DiffusionでAI動画を作る方法
  • Stable DiffusionでAI動画生成時に発生したエラー

AI動画はハードルが高いように感じて避けていたのですが、実際に触ってみたら意外とスムーズに導入できました。

他にもAI動画を生成するツールは存在しますが、v2vなら操作もクオリティも含めて、総合的にEBsynth Utilityが使いやすいと思います。

特別難しい操作はないので、AI動画に興味がある方はぜひ挑戦してみてください。

コメント

タイトルとURLをコピーしました