Inspiration
As a BAJA SAEINDIA team competing in both mBAJA and eBAJA, and recent participants in the EV Challenge 2025, we’ve been constantly dealing with large streams of test footage, inspection photos, and endurance run data.
Analyzing mechanical or environmental changes manually was inefficient and time-consuming.
This inspired us to create the Visual Difference Engine (VDE) — an OpenCV-based time-series visual comparison engine that detects, measures, and classifies visual changes between sequential frames automatically.
The idea connects our mechanical experience with the analytical power of computer vision.
What it does
The Visual Difference Engine identifies spatial, photometric, and structural changes between two or more time-series images and classifies them as:
- Mechanical wear
- New object
- Removed component
- Environmental change
It can be used for:
- Post-race vehicle inspection
- Surface deformation tracking
- EV endurance monitoring
- Visual diagnostics after multiple test runs
Output includes heatmaps, binary masks, and quantitative metrics such as the change ratio:
[ R_c = \frac{N_{\text{changed pixels}}}{N_{\text{total pixels}}} ]
How we built it
We developed the VDE using OpenCV and structured it into a seven-step pipeline:
- Preprocessing – Lighting normalization (CLAHE), resizing, and grayscale conversion.
- Registration – Alignment using feature-based matching (SIFT/ORB) and homography warping.
- Change Detection – Computing structural similarity (SSIM) and pixel difference (
absdiff). - Thresholding – Binarization using Otsu’s method:
[ T = \arg\min_\tau \sigma^2_{\text{within-class}}(\tau) ]
- Post-Processing – Morphological operations to eliminate frame noise.
- Contour Extraction – Locating changed regions using
findContours(). - Visualization – Overlaying contours and bounding boxes over original frames.
This pipeline allows scalable, plug-and-play difference detection adaptable to any testing setup — from race videos to mechanical test rigs.
Challenges we ran into
- Frequent lighting changes and vibrations during endurance runs caused frame inconsistencies.
- Camera shifts introduced noise spikes, solved via homography-based registration.
- Real-time optimization was challenging when processing multi-angle 1080p video inputs.
- Integrating the vision engine with telemetry and mechanical test data required careful synchronization.
Accomplishments that we're proud of
- Successfully integrated a mechanical testing tool with AI-driven visual analytics.
- Achieved accurate detection of small-scale deformations and frame differences under real-world conditions.
- Developed a reusable, competition-ready computer vision framework for SAE and EV evaluation setups.
- Showcased multidisciplinary collaboration across hardware, software, and design engineering.
What we learned
- Image registration in OpenCV becomes significantly more robust with consistent preprocessing.
- SSIM provides a structural integrity measure, complementing pixel-based difference methods.
- Cross-disciplinary teamwork improved our understanding of mechanical–AI integration under tight resource constraints.
- Participation in SAEINDIA BAJA and the EV Challenge 2025 showed us how computer vision can enhance diagnostics, endurance analysis, and predictive maintenance in electric vehicle platforms.
What's next for Visual Change Engine: Automated Time-Series Image Comparison
We plan to:
- Extend VDE into a real-time video analysis framework for autonomous vehicle diagnostics.
- Build integration with ROS2 for live mechanical feedback.
- Use deep-learning-based segmentation for semantic change classification (e.g., mud vs. mechanical damage).
- Create a lightweight UI to visualize visual drift and region-wise performance degradation.
Our goal is to make VDE a standard toolkit for automotive and research teams, merging mechanical testing precision with the intelligence of computer vision.