Skip to content

Repository files navigation

video2depth

Depthmap video generator using machine learning

Supported Models

ModelKeyDescription
MiDaS DPT-Largemidas_largeDefault. Intel MiDaS large model
MiDaS DPT-Hybridmidas_hybridIntel MiDaS hybrid model
MiDaS Smallmidas_smallIntel MiDaS small (fast) model
Depth Anything V2depth_anything_v2Best quality/speed ratio
ZoeDepthzoedepthMetric depth (real-world distances)
MarigoldmarigoldDiffusion-based, highest quality, slow

Sample Results

OriginalMiDaSDepth Anything V2ZoeDepthMarigold
OriginalMiDaSDepth Anything V2ZoeDepthMarigold

Requirements

  • Python 3
  • FFmpeg
$ pip install -r requirements.txt
# Additional for Marigold
$ pip install diffusers>=0.25 accelerate

Usage

# Video to depth (default model: midas_large)
$ python video2depth.py --video [filename]
$ python video2depth.py -v [filename]
# Image to depth
$ python video2depth.py --image [filename]
$ python video2depth.py -i [filename]
# Specify model
$ python video2depth.py -v [filename] -m depth_anything_v2
$ python video2depth.py -i [filename] -m marigold

Testing

# Run all tests
$ python -m pytest test_video2depth.py -v
# Run a specific test class
$ python -m pytest test_video2depth.py::TestModelRegistry -v
# Run a single test
$ python -m pytest test_video2depth.py::TestVideo2Image::test_extracts_frames -v

Sample files in sample_image/ and sample_video/ are used by the tests.

Output

Results are saved to out/<input_filename>/:

FileDescription
output_depth.mp4Depthmap video
output_depth_sound.mp4Depthmap video + original audio
output_merged.mp4Original + depthmap (vertically stacked)
output_merged_sound.mp4Original + depthmap + original audio

About

Depthmap video generator using machine learning

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages