nv-tlabs/vipe

ViPE: Video Pose Engine for Geometric 3D Perception

What it solves

ViPE is a spatial AI tool designed to extract geometric 3D information from raw videos. It solves the problem of manually annotating camera poses and dense depth maps, automating the process for a wide variety of video types, including standard pinhole, wide-angle, and 360-degree panorama footage.

How it works

ViPE estimates camera intrinsics, camera motion (poses), and dense near-metric depth maps from unconstrained raw video. For standard videos, it uses a fixed-size keyframe buffer. For arbitrarily long videos, it employs a pose_only_long pipeline that uses a sliding keyframe window and a trajectory ledger to keep GPU and CPU memory usage bounded and constant regardless of the video length.

Who it’s for

This tool is intended for developers and researchers working with 3D perception, spatial AI, and video analysis who need accurate camera trajectories and depth maps from raw footage.

Highlights

  • Versatile Video Support: Handles pinhole, wide-angle, and 360-degree panorama videos.
  • Memory Efficient: Includes a specialized pipeline for long-sequence videos to prevent memory growth.
  • High Performance: Optimized with CUDA fused kernels and pipeline caching for significant speed-ups.
  • Flexible Depth Integration: Integrates with various depth estimation models, including Depth-Anything 3 and MoGe v2.

Related

  • Project
  • Project
  • Project
  • Project
  • Project