見出し画像

ComfyUIとPrompt-Travelを比較した話

こんばんは。
AnimateDiffをやるにあたって、初期的にAnimateDiff-Cli-prompt-travelを触ってました。
その後、ComfyUIでしかできない事があると噂を聞いて、そちらをまたバッキバキに触ってみました。
その両者のできること、できないことを記憶があるうちにまとめておこうと思います。

AnimateDiff-Cli-prompt-travel

[良いところ]

  • CNの組み合わせを自由に決めて作る事が出来る

  • openpose + lineartあたりで作って、その後Refine, Interporationする場合とても良い

  • メモリを気にしないでいい事

[問題点]

  • CNのinpaintにマスク画像を渡す渡せない(結構致命的)

  • Face DetailができないのでRefineで解像度を上げて何とかするしか方法がない(結構致命的)

  • jsonの設定を変にミスると2,3時間後に間違いに気が付き時間が無駄になる

  • SDで出力した結果と少し変わっている。気のせいじゃないはず!

  • Openposeの処理がCPUに負荷がかかって重くて落ちる※1

  • CLIのくせに生成ファイル名称がTimestampになっていて、その生成ファイルを次の処理の引数に使うので、プログラム実行(20分)→設定変更→プログラム実行(1時間)→プログラム実行(2時間)みたいな謎の待ち時間がある。(事前に全部プログラムして寝て待てない)※2

※1これはまだ未検証ですが、DW PoseはデフォルトでOnnyxかなんかがない場合はCPUを使ってやる仕様らしく、それをインストールすればもしかしたら解決するのかも?
※2ソース書き換えれば対応可能だけど、なんだかな…

ComfyUI(AnimateDiff Evolved)

[良いところ]

  • サンプルがいっぱいあって参考になる

  • なんか速い!

  • Face Detailerが使える

[問題点]

  • 使い方わからねぇ… そもそもエラーがわかりにくいし、各custom nodeの仕様も各開発者に依存しているのでヘルプないやつとかあるし…
    何なのこのクソUIと個人的には思っています。ある程度慣れればできる気もする(結構致命的)

  • 不安定。起動時にgit pullなんて絶対やっちゃいけないくらい不安定。
    custom_nodeがrequirement.txtだけ実行して動くと思ったら大間違い…

  • 今メインストリームで使っているAdvanced ControlNetのpreprocessorにマスクを渡す際、Mask ListではなくMasksになっていて一気に渡さないといけない。→長い動画はA6000だとOutOfMemoryになる。つまりInpaint使えない(致命的)※1

※1A100なら動くけど、paperspaceは毎回A100をゲットできるとは限らない…

で、結局なんなの?

現時点でvideo2videoする際に以下の選択肢があるのかなと思ってます。

①顔の占める面積が大きい動画→prompt-travelでやっちまう
②face detailer必須の動画→prompt-travelして、comfyUIでface detailerをかける
③Inpaintだけしたい動画(背景保持したい)→A100をゲットしてComfyUIでぶん回す(80Gなら落ちない)

うっ うっ 全然うまくできない…
これを読んでいる方いましたら、応援にスキしてくれると励みになります!

では、ばーい!




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