映像からDansePoseを抽出できる「Vid2DensePose」
「MagicAnimate」については「1枚の画像からアニメ生成が可能な「Magic Animate」をwindowsローカル環境に構築」や「画像から1クリックでアニメ生成が可能な「Magic Animate」の利用方法」という形で紹介し、「MagicAnimate×Midjourneyでイラストのダンスムービー検証」でオリジナルの画像を利用した例を紹介してきましたが、今回はオリジナルのDensePoseを利用して実行するために、映像からDansePoseを抽出できる「Vid2DensePose」をについて紹介したいと思います。
Vid2DensePoseとは?
映像からDensePoseを抽出できるツール。各フレームごとにDancePoseを作成し動画化してくれます。
Vid2DensePoseのインストールの前提条件
Python 3.8 以降、PyTorch、Detectron2、FFmpegが必要で、現状Linux、macOS上での動作となり、windowsでは動作しません。そのためGoogleColabか、もしくはHugging Face上のデモを利用します。
素材を準備
今回はロイヤリティフリーの画像や動画素材を提供するPexelsから動画データをお借りして、Vid2DensePoseでDensePoseを抽出してみました。かなり大きなデータなので720程度に縮小し、かつ4秒程度の動画調整します。
今回は以下のURLの動画をお借りました。
https://www.pexels.com/ja-jp/video/4584890/
Video 2 DensePoseで変換
Video2DensePoseにアクセスし動画をアップロードし、動画が読み込まれたらSubmitで処理を開始します。しばらく待てば動画は変換されます。私の環境ではプレビューが表示されませんでしたが、ダウンロードしたらきちんとDancePoseが生成されていました。
オリジナルのDensePoseでMagicAnimate
特段特別な操作は必要なく用意したDensePoseを利用してみます。リファレンスはモナリザを利用。きちんとOpenposeが読み込まれていますね。
ただ、前後の動きや横を向く動きなどをするとかなり崩れてしまうので、DensePoseの作り方にもかなりコツがいりそうです。
magic-animate-for-windows
https://github.com/sdbds/magic-animate-for-windows