本記事ではComfyUIを使ったVid2Vidワークフローの詳細や使用方法について解説します。最後に生成結果も載せているので、ぜひご覧ください。
とりあえずそれっぽい記事のタイトルと概要を書きましたが、 記事を書いてる理由としては「Vid2Vidをしてみたら割とうまくいったので見てほしい!」ってだけです。
正直生成した動画載せるだけでも良かったのですが、せっかくComfyUIのワークフローを作成したのでその使用方法も簡単に紹介しようと思います。
ワークフローの入手場所
「説明なんぞ要らん」って方もいると思うのでワークフローだけ先に置いておきます。
animatediff_controlnet_ipadapter.json - Google ドライブ
ワークフローの説明
モデルと後処理について主に以下を取り入れています。
- モデル: AnimateDiff(V3) + ControlNet + IPAdapter(FaceID)
- 後処理: FaceDetailer + Upscale(ESRGAN) + Frame Interpolation
それぞれの手法についての説明やComfyUIでの使用方法などは以下に大体まとまってると思うので、良かったら読んでみてください。
- ComfyUIで実践!Stable Diffusionの高度な画像生成・編集テクニック
- ComfyUIで実現するStable Diffusion動画生成:AnimateDiffなどの使い方ガイド
- 画像生成モデルの進化:Stable Diffusionとその関連技術
使い方
1. ComfyUIのインストール
以下のどちらかの方法でComfyUIを導入します。導入済の方もComfyUIを最新版にアップデートしてください。
方法1:ComfyUIを直接導入する
初めての方はこちらで良いと思います。
Stable Diffusionの簡単インストールガイド:Windows、CLI、手動の各方法を徹底解説 - Otama's Playground
方法2:StabilityMatrix(統合環境)経由でインストールする
StabilityMatrixの導入方法:Stable Diffusion関連ツールを効率的に管理 - Otama's Playground
2. ワークフローのインポート
以下のリンク先からダウンロードしてインポートしてください。
animatediff_controlnet_ipadapter.json - Google ドライブ
3. 拡張のインストール
ComfyUI-Manager経由でInstall Missing Custom Nodes
を実行するか、
もしくは手動で以下の拡張機能をインストールしてください。
必須
- https://github.com/ltdrdata/ComfyUI-Impact-Pack
- https://github.com/Fannovel16/comfyui_controlnet_aux
- https://github.com/Fannovel16/ComfyUI-Frame-Interpolation
- https://github.com/cubiq/ComfyUI_IPAdapter_plus
- https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet
- https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved
- https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite
- https://github.com/kijai/ComfyUI-KJNodes
任意(便利系)
4. ライブラリの手動インストール
FaceIDに必要なpythonライブラリがエラーでインストールされないので、手動でインストールします。
下のリンクからinsightfaceのwheelをダウンロードしてから、pipでインストールコマンドを叩いてください。
Assets/Insightface at main · Gourieff/Assets · GitHub
# standalone版の場合はpythonコマンドをpythonの実行バイナリへのパスで置き換えます python -m pip install (ダウンロードしたwhlのパス) onnxruntime onnxruntime-gpu
参考にした動画:
5. 必要なモデルのダウンロード
IPAdapter、ControlNet、AnimateDiffにはそれぞれ専用モデルのダウンロードが必要です。リポジトリなどから、必要なものをダウンロードしてきます。
- https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
- https://github.com/cubiq/ComfyUI_IPAdapter_plus
- https://huggingface.co/guoyww/animatediff/tree/main
6. 入力となる動画を作成
AnimateDiffは高fps動画に対応していない(ぼやける)ので、動画を8fpsに変換してください。ffmpegなどを使うとラクです。
7. 生成する
後は諸々パラメータをいじってから生成します。
設定やモデルが足りない場合はエラーが出ると思うので、適宜直しながら実行してみてください。
Tips
- AnimateDiff-LightningやLCM-LoRAなどを使用する形に変えると素早く生成できます
- ただ動画を生成するだけならFaceIDはなくても良い
- ControlNetは元となる動画や生成したい動画に応じて、切り替えてください
- 線画・アニメ系ならLineart、SoftEdge、あとCannyとか
- 奥行きが大事ならDepth
- 動作が大事ならOpenPose
- など
生成結果
ファイルサイズ・形式の関係ではてなブログに貼れなかったのでYoutube
いい感じに生成できてるんじゃないでしょうか!!!顔が動かなくて不気味とか、腕がたまに消えるとか、ちょこちょこ気になる点が残ってますが、時間の関係でパラメータの調整はここまでにしておきます。
一週間ぐらい試行錯誤してたので、今日は気分よく寝れそうです。最後まで読んでいただきありがとうございました。