【AnimateDiff】キャラと背景のアニメーションを別に生成して合成してimage2image
https://gyazo.com/94aefb41d8b4b1d032a8457d5811c129
Workflow
https://gyazo.com/f6715ea6924a53ea81a8eabe52a5a81d
ひとつなぎのパイプラインにしたかったけど無理だったnomadoor.icon
使わないグループをBypassして順番に作っていく
https://gyazo.com/3eedb3039600bf84015c719055b3e791
キャラクターと背景を別に生成するアイデア元様
左上 : キャラクターアニメーション
https://gyazo.com/f8fd9b3bec2927a2ee6d5997b7349f69
( AnimateDiff ✕ (ControlNet Openpose + ContrlNet Canny)) ✕ Hires.fix
今みたらPreprocessorでCanny Edgeの処理をしたものにControlNet openposeを繋いでたnomadoor.icon
なぜまともな絵になっているんだ…
video2videoの場合は動きが少ないtemporaldiffが良い気がする
左下 : 背景アニメーション
https://gyazo.com/1391af5ffe8cc8a78052930bc36952c1
AnimateDiff ✕ Hires.fix
アニメ系モデルだとあまり良い絵が出なかったのでリアル系モデルを使用
mm_sd_v14同様text2imageでも動いてくれる
右下
マスク生成のためのバッチ処理
右上のパイプラインに統合したかったがエラーが出た
右上
キャラアニメーションと背景アニメーションを合成して色々下処理をしてからAnimatieDiff ✕ image2image
下処理 : 左 → 右
https://gyazo.com/93f168d6e674aaa2be0d27b7bafde605https://gyazo.com/025df9243a17895b9140e547315b2ca7
背景に溶け込ませるためにキャラに背景画像を乗算で合成
キャラクターに影をつけるために、EmptyImageをマスクで切り抜きして少し横にずらし、キャラの下レイヤーに配置
このままimage2imageをすると影が真っ黒で強すぎるため、影をつけていない合成画像を作ってControlNet tileでimage2imageに流す
透明度を調整できるノードがあればこんなことはしなくて良い
ここDavinci Resolveで予習したとこだぁnomadoor.icon
感想nomadoor.icon
動画は手がぐちゃぐちゃでも気にならないからいいね
影の輪郭に沿ってなぜか白線で出たりするけれど、想定してないライブ感がAIの良いところ
https://gyazo.com/17d5c25c5b8d0b74217f3cba6a9e9dcc
静止画でなく動画なのでこんな感じで通常では出ない臨場感のある絵が出てきてくれる
これは一枚絵を作るときでも使えるかもしれない