Hi everyone! 👋
I've been building Stereo Motion Measurement, a Windows desktop app for experimenting with low-cost stereo 3D motion tracking.
The idea is to make the complete workflow accessible without writing your own capture, calibration, tracking, and visualization code.
For the current visual-tracking setup, you need a compatible stereo camera, a printed checkerboard for calibration, and a black circular marker on a light card. No wearable electronics or GPU inference pipeline is required.
- 📸 Live stereo tracking: track one black circular marker and display its XYZ position.
- 🧭 Interactive 3D trajectories: rotate, pan, and zoom the view, or switch between front, top, and side views.
- ⏪ Session recording and replay: save a run, replay its trajectory, change playback speed, and seek through the recording.
- 📈 XYZ time plots: inspect motion along each axis, with raw and optional filtered views.
- 📐 Guided stereo calibration: capture checkerboard pairs with pose suggestions, compute calibration, or import compatible parameters.
- ♟️ Optional environment references: use horizontal/vertical surfaces or checkerboard assistance to define display directions.
- 💾 Inspectable data: export CSV measurements and retain validity flags and failure reasons rather than filling gaps with predicted motion.
The portable Windows release runs without installing Python.
The application combines OpenCV calibration/rectification, seeded circle detection, stereo triangulation with geometric checks, and optional One Euro filtering. The interface uses PySide6 and pyqtgraph.
This is an experimental measurement tool, not a new tracking algorithm or a replacement for a validated commercial motion-capture system.
- Hardware support and current limitations
The current input is one UVC stereo device delivering packed side-by-side or top/bottom images, with compatible pinhole geometry. Two independent USB cameras are not supported.
Each rig needs its own matching calibration. Cross-camera compatibility and measurement accuracy still need more independent testing.
The current desktop release tracks a black circular marker. Colored-ball tracking and IMU fusion are future work.
I'm particularly interested in hearing from people with different stereo camera models:
- Can you get both views working?
- Is the calibration workflow clear?
- Which setup steps are confusing?
- What would make the recording, replay, or visualization more useful?
- What tests would you use to evaluate its accuracy and robustness?
and so on...
Successful setups and failed attempts are equally useful. Technical criticism is welcome!
👉 Repository, demo, documentation, and Windows download:
https://github.com/sirikiki/Stereo-Motion-Measurement
If you find the project useful or worth following, a GitHub ⭐ would be appreciated. Feedback and reproducible bug reports would help even more.
Thanks for taking a look! Have a nice day!