depthmap-scriptで深度マップ動画を作成する
まず、今回作成したものがこちら。
WebUI拡張機能のdepthmap-scriptを使用しています。
高解像度の深度マップを生成する拡張機能ですが、設定項目が多いため、初見ではどこを見ればよいかすぐ分からないかと思います。
この記事はとりあえず最短で動画作成までこぎつける流れを説明します。
実際のところ私も細かい項目の意味は分かっていません。
ではまず、当たり前ですが拡張機能をインストールします。
ちなみに、私は最初インストールがうまくいきませんでした。
原因はunpromptedとの競合だったのですが、もしunpromptedを入れている場合は削除する必要があるかもしれません。
インストールに成功したら、depthmap-scriptが複数個所で使用出来るようになります。
text2imgのscript、img2imgのscript、depthタブの3か所です。
今回はDepthタブを使用します。
text2imgのscript、img2imgのscriptからは動画生成出来ないので注意してください。
Depthタブを開いたら、画像をアップロードします。
depthタブでの操作の流れは2段階です。
・画面左側で、動画生成用のmeshデータを作成
・画面右側でmeshデータとパラメータを指定して動画を生成
ではまず、左半分の画面でmeshを作成します。
設定項目ですが、私はこれのみで他はデフォルトで実行しました。
・Compute on
・Model
・Net width / Net height
・Generate 3D inpainted mesh. (Sloooow)
Compute onとModelは使用PCの性能と相談してください。
Modelはmidas3系のモデルの方が高性能ですが、VRAMをかなり使用するようです。(詳しくはgithubのreadme参照)
私はGPU指定でmidas_v21を使用しました。RTX3060で動きました。
Net width / Net heightは画像サイズに合わせてください。
「Generate 3D inpainted mesh. (Sloooow)」のチェックをONにします。
mesh作成のための選択項目です。
「Sloooow」と書かれている通り、大変時間がかかります。
私の環境では40~50分かかりました。
設定が終わったらGenerateを押してmeshの作成を開始します。
webui上には進捗が出ないので、コマンドプロンプトを確認してください。
meshファイルの生成が完了したら、outputs\extras-imagesにplyファイルが作成されます。
このplyファイルのパスを画面右側で指定して動画を生成します。
あとはGenerate Videoを押すだけです。
1~2分程度でoutputs\extras-imagesに動画が生成されます。
画面右側の項目
Number of frames / Framerate:
動画のフレーム数です。
300フレーム、フレームレート30で生成すれば
10秒程度の動画になります。
SSAA:
よく分かってないです。3のままやりました。
Translate: x, y, z:
座標軸をどの方向にどれだけ進めるか指定します。
つまり、x=-0.5なら左方向に移動することになります。
Crop: top, left, bottom, right:
よく分かってないです。
Trajectory:
動きの指定で、3種類あります。
それぞれこんな感じです。