Club · Purdue IEEE ROV
ROV Vision
Turning underwater photos into 3D models you can measure — for Purdue's competition robot.
- Year
- 2024 — Now
- Role
- Vice President + Software Engineer
- Stack
- Python, OpenCV, Open3D, MiDaS, COLMAP, React Three Fiber
- Links
- Source ↗
The problem
At the MATE ROV competition, a lot of tasks come down to measuring things you can only see through a camera — underwater, through murky water and a fisheye lens. Eyeballing it from a video feed loses points.
What I built
A pipeline that turns what the ROV sees into geometry. Photos go through photogrammetry (Reality Capture and COLMAP) to produce a textured mesh; single frames go through MiDaS monocular depth estimation and get back-projected into point clouds with Open3D.
I engineered a stereo vision approach that cut depth-estimation error by 18%, built a 360° photosphere stitching method for immersive underwater views, and wrote the 3D viewer above: a React Three Fiber app with scale calibration, a measure tool and clipping planes so the pilot can pull real-world dimensions straight off a scan.
With the team
The vision stack is a team effort. Alongside my 3D work, our real-time underwater object detection pipeline — including a YOLO model that classifies three species of crab for a competition task — reaches 92.6% accuracy.



