1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【動画の深度推定】Video-Depth-Anything試してみた 

Last updated at Posted at 2025-07-23

はじめに

Xで面白そうなデモ動画を見つけたので、自前のQuestでデモのWebXRを動かしたらとても面白くて感動していたんですけど、開発者がVideo-Depth-Anythingをもとにして深度マップつくったぜ。と言っていてたのでこのモデルを試してみました。

注意としては、このXRのインタラクションデモがつくれるようになるわけではなくて、開発者がこのデモをつくるときに使用した、動画を入力とした深度推定を行うモデルを動かす、というのがこの記事の内容です。

リポジトリはこちら

実行環境

以下の環境で実行してます。

項目 内容
CPU Intel Core i9-14900K
メモリ DDR4 64GB
GPU NVIDIA GeForce RTX 3090 (VRAM24GB)
OS Windows 11

インストール

私はcondaをつかって環境が壊れないように管理しているのでcondaを使う前提で進めます。

conda環境とgit clone

READMEにはpythonのバージョン指定がなかったのでいったん3.10で入れてます。

conda create -n video-depth-anything python=3.10

conda環境を起動

conda activate video-depth-anything

git cloneします。

git clone https://github.com/DepthAnything/Video-Depth-Anything

cloneしたディレクトに移動。

cd Video-Depth-Anything

必要なパッケージ類をインストール。

pip install -r requirements.txt

windows環境の場合

用意してあるシェルスクリプトは実行できないので手打ちします。

まず学習済みモデル保存用フォルダをつくります。

mkdir checkpoints

モデルのダウンロードはREADMEに載っているリンクからできます。赤丸で囲ったSmallとLargeをダウンロードして、それをchekpointsフォルダに入れればOK。
image.png

Linux環境の場合

以下のコマンドを実行すればok。

bash get_weights.sh

以上で準備完了です。

実行

python run.py --input_video ./assets/example_videos/davis_rollercoaster.mp4 --output_dir ./outputs --encoder vitl

するとWarning出ます。

WARNING[XFORMERS]: xFormers can't load C++/CUDA extensions. xFormers was built for:
    PyTorch 2.1.1+cu121 with CUDA 1201 (you have 2.1.1+cpu)
    Python  3.10.11 (you have 3.10.18)
  Please reinstall xformers (see https://github.com/facebookresearch/xformers#installing-xformers)
  Memory-efficient attention, SwiGLU, sparse and more won't be available.
  Set XFORMERS_MORE_DETAILS=1 for more details

いちおうそのまま実行はしてくれそうではありますが、進行ゲージが止まったままなので修正する必要があります。

いろいろ試してもうまくいかなくてIssuesを見ていたら解決策がありました。

以下を追加で実行すると解決するはず、、

pip install -U xformers --index-url https://download.pytorch.org/whl/cu118

なんですけど、文字化けエラーで出ました。
image.png

無視してOK押したら一応処理は終わってoutputsにオリジナル動画と深度推定処理後の動画が生成されました。
image.png

いちおうできてはいるみたい。ほかにもいろいろ試してみましたが、完全にエラー吐かない状態にはもっていけなかったのと、もう処理自体はできてるのでここで勘弁してください(許して)。

こんな感じの深度推定された動画ができます。
image.png

感想

処理を走らせてGPUの使用率を見ていると、ギザギザの波形になっていたので、画像1枚1枚に対して深度推定をかけているようです(たぶん)。

image.png

いや全く問題ないんですけど、ネイティブで動画入力の深度推定モデルは珍しいので、てっきり最適化処理によってもっとスムーズに処理してくれるのかなと思っていただけです。

ちなみに名前が似ているDepth Anyting ACも動画の入力に対応しています。処理速度はこちらのACのほうが速かったです。

なんかすんなりインストールできないし、いろいろ修正してもエラー吐くし、個人的にネットからダウンロードした動画を入力に入れたら謎のエラー吐くしでちょっと癖が強い子だと思いました。

あとこの子メインメモリ(GPUではない)をかなり消費します。
推定が終わってから全部のフレームを合成して動画にする処理があるからか、最後にものすごいメモリを消費します。動画が短いなら大丈夫です。
image.png


同じく深度推定モデルであるAppleのDepth-Proはネイティブでは動画の入力に対応していませんが、1枚1枚の処理は高速ですし、同じように動画を入力としてサイドバイサイド動画を出力するスクリプトを載せた記事を書いてるのでよかったら見てみてください(高度なステマ)。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?