I've been recently fascinated by the possibilites provided by recent advancements in monocular depth estimation models and decided to expeirment combining them with a capable VLM, so below is an example demo to get 3D outputs from a VLM that can be more useful for a physical AI agent.
Quick Live Demo 👉 app.odyseus.xyz
Or follow the setup on this repo for custom deployment
This repo is currently set up primarily for Linux.
If you clone this as a git repo, prefer pulling the external DA3 dependency as a submodule:
git clone --recurse-submodules https://github.com/MercuriusTech/Odyseus-Spatial-VLM.git
cd spatial-vlmIf you already cloned without submodules:
git submodule update --init --recursiveIf you are packaging this repo yourself, Depth-Anything-3/ is intended to track the upstream project as a submodule.
Set up the VLM environment:
./setup-vlm.shSet up the depth demo environment:
./setup.shStart the VLM server:
./run-vlm.shStart the depth demo:
./run.shThen open:
http://localhost:8080
The local repo remains the reference implementation for running and modifying the demo yourself.
- Upload an image.
- Enter a prompt like
select the chair near the desk and the closest door. - Click
Run Demo. - Inspect:
- the 2D target overlay
- the 3D point cloud
- labeled 3D targets
- the camera frustum and guide vectors
flowchart LR
A[User Prompt + Image] --> B[VLM]
B --> C[2D Target Coordinates]
A --> D[DA3 Metric Depth]
C --> E[Depth Sampling]
D --> E
E --> F[3D Projection]
F --> G[Three.js Viewer]
- Linux is the best-supported path right now.
- PowerShell / Windows setup help is welcome. Contributions for improving
setup-vlm.ps1or adding fuller Windows support are encouraged.
