Stable Diffusionでアニメーションを生成できる拡張機能『TemporalKit』の使い方! | romptn Magazine

Stable Diffusionでアニメーションを生成できる拡張機能『TemporalKit』の使い方!

Stable Diffusion

Stable Diffusionを使ってアニメーションを作る方法を知りたくないですか?

このような簡単な動画であれば、この記事を読んでいただければ作成が可能です。

拡張機能「TemporalKit」であなたもアニメーションを作ってみませんか?

スポンサーリンク

拡張機能「TemporalKit」とは?

「TemporalKit」はStable Diffusion web ui を使ってアニメーション(動画)を生成する拡張機能です。

基本的には、すでにある動画から画像を分割して、その分割した画像をimg2imgに入れ新たに画像を生成し、それをつなぎ合わせる形でアニメーションを生成します。

公式情報はこちらです。

GitHub - CiaraStrawberry/TemporalKit: An all in one solution for adding Temporal Stability to a Stable Diffusion Render via an automatic1111 extension
An all in one solution for adding Temporal Stability to a Stable Diffusion Render via an automatic1111 extension - CiaraStrawberry/TemporalKit

「TemporalKit」を使える条件

必要なものは3つあります。

  1. TemporalKit
  2. FFMPEG
  3. EbSynth

それぞれの導入方法を解説していきます。

Stable Diffusionの画像生成を最速で学びたいあなたへ!
  • Stable Diffusionの基礎を2時間でマスター!
  • 高スペックPCがない方向けに徹底解説。
  • ControlNetなど、必須級の拡張機能も網羅。
  • 今話題のSDXL、AI動画生成も。
  • 特典として、大人気「おすすめ拡張機能・モデル解説」「プロンプト大全」つき!
\このボタン限定!70%オフキャンペーン実施中!/
70%オフキャンペーン実施中!/

拡張機能「TemporalKit」の導入方法

まず、「TemporalKit」の導入方法を解説していきます。

「TemporalKit」のインストール

他の拡張機能と同じようにweb UIを開いて、Extensionsタブ → Install from URL と進み URL for extension’s git repository に以下のURLを入力してInstallをクリックします。

https://github.com/CiaraStrawberry/TemporalKit.git

リロードして「TemporalKit」のタグが現れていればインストール成功です。

今回はこれだけでは何もできません。続けてFFMPEGとEbSynthを使います。

もうすでに用意ができている方は「使い方」へ進んでください。

FFMPEGのインストール

FFMPEG(エフエフエムペグ)は動画と音声を記録・変換・再生するためのフリーソフトウェアです。

Windowsの方はこちらを参考にインストールして下さい。

Video to video with Stable Diffusion (step-by-step) - Stable Diffusion Art
Transforming videos into animation is never easier with Stable Diffusion AI. You will find step-by-step guides for 5 video-to-video techniques in this

MACの方はこちらを参考にインストールして下さい。

Video to video with Stable Diffusion (step-by-step) - Stable Diffusion Art
Transforming videos into animation is never easier with Stable Diffusion AI. You will find step-by-step guides for 5 video-to-video techniques in this

アクセスパスの設定ができれば大丈夫です。

EbSynthのダウンロード

EbSynthは一つのフレームの描画からビデオ全体の変換をしたり、描画をアニメーションとして表現してくれるAIツールです。

EbSynthの解説はこちらから

【ビデオ・動画編集】AIツール「EbSynth」の機能や使い方・メリットを詳しく解説-おすすめAIツール一覧
一つのフレームを描画することでビデオ全体を変換するツールです。

ダウンロードはこちらからできます。

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

こちらはインストールの必要はないので、ダウンロードしただけで大丈夫です。

プロンプトジェネレーターで画像生成プロンプトの参考に!
  • Stable Diffusionのプロンプトの見本が知りたい
  • 画像生成が思ったようにできない
  • 色々なプロンプトを探したい
など、画像生成AIのプロンプトに関する疑問が解決するかもしれません。

拡張機能「TemporalKit」の使い方

準備ができたところで、早速アニメーションを作成していきましょう。

①元動画を用意する

元となる動画が必要です。

今回はフリー動画サイトからこのような物を選んできました。

この動画をもとにして、新たに動画を生成して行きます。

用意する動画自体はなんでも構いませんが、この後img2imgで画像を作っていくので、人物が小さいものや、動きのはっきりしないも、背景が複雑なものは生成難易度が高くなります。

最初のうちは簡単な条件からスタートすることをお勧めします。

②ファイルを用意する

空のファイルを新たに用意します。

このからのファイルに生成されたものが自動的に入るように、後ほどセッティングします。

名前には日本語を使わないことを推奨します。(これは不用意なエラーを避ける意味です)

③前処理

前処理として、元動画からフレームを切り出します。

「TemporalKit」の「Pre Processing」へ元になる動画をドロップして下さい。

次に下のパラメーター類のセッティングをします。基本的にはパソコンの性能に合わせて調整して下さい。

  • Sides – 分割する平方数 2にすると一度に4枚 3にすると9枚1セットになるので作業は早くなります。最初は「1」で始めましょう
  • Height Resolution – 縦のサイズ 元動画のサイズを考慮の上決めて下さい。公式からSidesの値の倍数で設定するように注意が出ています。
  • frames per keyframe – キーフレームの割合 最初はデフォルトのままでOK
  • fps – 1秒間のフレーム数 細かい方が滑らかに動きます。最初は30でやってみて下さい。
  • EBSynth Mode – この後EBSynthを使いますので忘れずに有効化して下さい。
  • Target Folder – ②で用意した空のファイルのパスを入れて下さい。この中に生成されたものが置かれていきます。

Batch Settingsを開いてこちらも設定します。

  • Batch Run – 有効化して下さい。
  • Max key frames – デフォルトの -1 のままでOK
  • Border Key Frames – デフォルトの 2 のままでOK

EBSynth Settingsも必要です。

  • Split Video – 有効化して下さい。
  • Split based on cuts (as well) – 有効化して下さい。

全部できたら「Run」を押して、前処理をスタートします。

ここでエラーが出る場合、「FFMPEG」の設定がちゃんとできていない可能性があります。

エラーメッセージ及びイシューを確認して、同様の問題がないかを確認しましょう。

Issues · CiaraStrawberry/TemporalKit
An all in one solution for adding Temporal Stability to a Stable Diffusion Render via an automatic1111 extension - Issues · CiaraStrawberry/TemporalKit

無事に前処理が終わると画面右に動画が取り込まれ、空だったファイルにこれから使うものが自動的に作られます。

空だったファイルには

必要なものがこのように生成されています。

④img2imgでフレームの試し刷りをする

アニメーションのフレーム画像をStable Diffusionで生成していきますが、まず最初は試し刷りをします。

img2imgのタグを開いて、先ほど作られた「input」のファイルから1枚適当に選んでドロップして下さい。この画像を元に新たにフレームとなる画像を生成していきます。

このフレーム画像の出来が最終的な動画の出来にかなり関わります。そしてフレーム画像は全部をまとめて一括作成しますので、この「試し刷り」は丁寧に行うことをお勧めします。

以下は私が設定したものです。ご参考まで。

green hair, hair ribbon,Yellow shirt and khaki trousers, hight quality, masterpiece
no background
<lora:zunko-2-v1-000008:0.8>
Negative prompt: bad-hands-5, EasyNegative, low quality, nsfw, nude
Steps: 25, Sampler: Euler a, CFG scale: 6, Seed: 1618848574, Face restoration: CodeFormer, Size: 640×960, Model hash: 862374923f, Model: elegantEntropy_v14, Denoising strength: 1, RNG: CPU, ControlNet 0: “Module: canny, Model: control_sd15_canny [fef5e48e], Weight: 1, Resize Mode: Crop and Resize, Low Vram: False, Processor Res: 512, Threshold A: 100, Threshold B: 200, Guidance Start: 0, Guidance End: 0.9, Pixel Perfect: False, Control Mode: Balanced”, Lora hashes: “zunko-2-v1-000008: 3cd6e80f4ca9”, Version: v1.3.2

今回は元動画が人間ではない事と、ダンスの動画である事から、Denoising strengthを強くして、ControlNetを併用する形にしました。

元動画がちゃんとした人物であったり、ダンスのような動きが無ければControlNetを使わずに、Denoising strengthを低くするだけでも画像を作ることは可能です。

サイズについては元動画のサイズに合わせてあります。

今回はある程度キャラ固定をしたかったので、自作の「東北ずんこ」loraを組み込んでいます。

⑤フレーム画像の本刷り

フレーム画像を一括で生成します。

各パラメーターは試し刷りのままでOKです。(ただしBatch sizeを増やして試し刷りしていた方は1に戻すのを忘れずに)

img2imgのBatchを開きます。

Input directory には②で作成したファイルの中に作成された「input」フォルダのパスを入れて下さい。

Output directory には②で作成したファイルの中に作成された「output」フォルダのパスを入れて下さい。

それができたら「Generate」で一括作成が始まります。

一括生成なので、時間がそれなりにかかります。ちょっと一休みにしましょう。

⑥EbSynth用に画像を整理

「output」の中に画像が生成されています。

次の工程はEbSynthで画像をアニメーションに仕上げていくのですが、ControlNetで生成される画像が不要なので、これを削除します。

ControlNetを使わないで画像を生成した場合は、この工程は必要ありません。

次に、「TemporalKit」から「EbSynth-Process」を開きます。

そして、ここでInput Folderに②で作成したファイルのパスを入力して、read_last_settingsをクリックします。

次に下のパラメーターの「FPS」「per side」を③前処理の工程で設定した物と同じに設定し、prepare ebsynthをクリックします。

これで②で作成したファイルの中の「数字」のファイルの中に、画像が割り振られました。

次工程ではこれを使ってEbSynthでアニメーションを生成していきます。

⑦EbSynthを使ってアニメーションを作る

②で作成したファイルの中の「数字」のファイルの中の「keys」と「frames」に画像が振り分けられています。これをEbSynthで処理していきます。

最初は番号の若い「0」のファイルから順番に処理していきます。

EbSynthを開いて、Keyframesに「keys」のファイルを、VIdeoに「frames」のフォルダをドロップします。

ドロップがうまくいかない時は隣のSelectからもフォルダの選択が可能です。

ちゃんとドロップできたら下のような画面になりますので、画面右下にあるRun Allをクリックします。

そうすると若干時間はかかりますが、「0」のフォルダの中にアニメーションの元となる画像が生成されていきます。

残りの「数字」のフォルダについても全部同じように作業していきます。

⑧作成したアニメーションをまとめる

全ての「数字」のフォルダを処理が終わったら、最後にもう一度web UIのTemporal-Kitタブに移動します。

画面下のrecombine ebsynthをクリックします。

これでEbSynthで作成した画像たちが動画として結合されます。

②で作ったフォルダの中に.mp4としてアニメーションファイルが作成されています。

こんな感じのアニメーションが出来ました。

一括生成されたフレーム画像をもう少し改良する事で、まだまだクオリティーが上げる事ができます。

皆さんも色々試してみて下さい。

まとめ

いかがでしたでしょうか?

Stable Diffusionでアニメーションを生成できる拡張機能『TemporalKit』の使い方!について解説してきました。

今回のポイントをまとめると、以下のようになります。

  • 「TemporalKit」「FFMPEG」「EbSynth」を準備する
  • 工程数が多いので、この記事を確認しながら進めて下さい

Stable Diffusionでアニメーションを作れる拡張機能はいくつかあるのですが、xformers(NVIDIA製グラボ)が必要な物が多く、やりたくてもできない方がたくさんいました。

でも「TemporalKit」はWindowsでもMACでも、Linaxでも使えるように設計されています。

最初は難しいですが、慣れれば大丈夫です。

ぜひチャレンジしてみて下さい。

プロンプトジェネレーターで画像生成プロンプトの参考に!
  • Stable Diffusionのプロンプトの見本が知りたい
  • 画像生成が思ったようにできない
  • 色々なプロンプトを探したい
など、画像生成AIのプロンプトに関する疑問が解決するかもしれません。