asaday.
← All projects

Case study 09 / Stereo Depth Lab

One image. Another dimension to explore.

A local image and video tool that turns estimated depth into stereo pairs, with experiments in depth warping, point splats, and temporally persistent Gaussian rendering.

My role
Research · Computer vision & tool engineering
Status
Working local prototype · Research ongoing
Built with
Python · PyTorch · OpenCV · FFmpeg · Local browser UI
Stereo Depth LabWorkflow / RESEARCH
FROM FLAT INPUT TO A STEREO PAIREstimate depth.
Explore perspective.
  1. InputAn image or clip

    Local media stays in the local workflow

  2. EstimateRelative depth

    Depth Anything V2 or a comparison model

  3. RenderTwo viewpoints

    Separation, convergence, and smoothing

  4. ExportA stereo result

    Side-by-side image or video with audio

3 methods

depth warp, point splats, and Gaussian Lite

Local

media processing through a loopback worker

Image + video

side-by-side PNG and MP4 output

01 / The experiment

What can a single viewpoint tell us about depth?

I wanted to explore the space between ordinary media and a more dimensional viewing experience. A single image does not contain a complete 3D scene, but a depth estimator can provide enough structure to experiment with a left-eye and right-eye view.

Stereo Depth Lab makes that experiment tangible. A browser interface controls a local worker, so I can compare rendering approaches, adjust the visual result, and export something useful instead of leaving the idea in a research notebook.

02 / What I built

A local lab with visible controls.

The tool accepts images and short video clips, estimates relative depth, and produces side-by-side PNG or MP4 output. Depth Anything V2 Small is the default model, with MiDaS Hybrid available for comparison. Video processing can preserve the original audio through FFmpeg.

Users can adjust eye separation, depth strength, convergence, smoothing, rendering radius, and output resolution. Three rendering paths expose different trade-offs: inverse depth warping, depth-aware point splats, and a lightweight persistent-Gaussian approach. The worker processes one job at a time, with GPU inference where available and a CPU fallback.

03 / The research decisions

Temporal stability is a different problem from a good still frame.

Video makes inconsistencies obvious. The Gaussian Lite path uses optical flow to move persistent depth-seeded points between frames, tracks confidence and decay, and resets at hard scene cuts. The purpose is to explore continuity while keeping the local workflow practical.

The distinction in the name matters. This is not a trained, calibrated, multi-view 4D Gaussian Splatting reconstruction. The current depth is relative rather than a measurement of real-world distance. The research notes compare heavier dynamic-scene approaches and outline a separate future backend for that level of reconstruction.

04 / Where it stands

A useful prototype and a clearer research direction.

The result is a working local tool for converting and comparing stereo imagery and video. It makes the trade-offs visible: depth estimates can be ambiguous, newly revealed areas need filling, and temporal stability requires more than running a model independently on every frame.

The next research tier would add a separate reconstruction backend with its own data and compute requirements. Keeping that future work distinct from the current lightweight renderer makes the prototype easier to evaluate and the research plan more honest.

About this case study +

Stereo Depth Lab README, current rendering architecture, and the repository's 4D Gaussian research decision brief. The implementation uses existing depth models; Gaussian Lite is a local approximation, not a full learned 4DGS method.

Researched and updated October 3, 2026.

Bring the problem

What are you
trying to make work?

Let’s talk about it ↗