jiafeng5513/Evision
计算机视觉实践和探索/Practice and explorations in computer vision.
What it solves
Evision is a binocular vision system designed to handle the complexities of stereo vision, including camera calibration, distortion correction, disparity mapping, 3D reconstruction, and distance measurement. It provides a structured framework for processing images from two cameras to perceive depth and spatial geometry.
How it works
The system is built as a collection of modular dynamic libraries coordinated by a main UI application (EvisionSandbox). It implements several key computer vision processes:
- Stereo Matching: Uses algorithms like ELAS (Efficient Large-scale Stereo matching) and ADCensus to calculate disparity maps.
- Calibration: Provides tools for both monocular and binocular calibration to ensure accurate spatial mapping.
- Geometry & Tracking: Includes PnP (Perspective-n-Point) solvers and geometric body tracking.
- Visualization: Integrates a 3D point cloud viewer to visualize the reconstructed environment.
- Hardware Integration: Supports various setups from professional depth cameras (ZED, RealSense) to custom USB camera pairs.
Who it’s for
- Developers and researchers working on stereo vision and 3D reconstruction.
- Students learning the fundamentals of binocular vision and camera calibration.
- Engineers building robotics or perception systems that require depth sensing without relying solely on proprietary SDKs.
Highlights
- Comprehensive Toolset: Covers the entire pipeline from raw image capture and distortion correction to 3D point cloud generation.
- Modular Architecture: Divided into specific modules for calibration, disparity, and tracking, making it easier to maintain and extend.
- Modernized Stack: Recently migrated to Qt6, CMake, and vcpkg for better dependency management and build stability.
- Future-Proofing: A roadmap is in place to integrate deep learning-based stereo matching (such as RAFT-Stereo or IGEV-Stereo).
Related
- Project
- Project
- Project
- Project
- Project