A Hammerhead in Boston Harbor: Stereo Vision for Maritime Autonomy

Maritime autonomy companies are coming to us with a specific set of problems: underwater drone detection, navigation for high-speed sea gliders, autonomous docking. Different applications, but a common requirement. They need reliable long-range depth perception in an environment where most sensors struggle or fail entirely.
We took NODAR's HDK and Hammerhead software to Boston Harbor to see how stereo vision holds up on open water.
Why Water Is Hard for Stereo Vision
Classical stereo matching works by finding consistent pixel correspondences between a left and right camera. That algorithm assumes the same surface point looks roughly the same from both viewpoints. On land, that's a reasonable assumption.
Water breaks this assumption.
At range, open water is textureless. There are no stable features for a stereo matcher to lock onto. Under sunlight, it is specularly reflective, meaning its appearance changes dramatically depending on viewing angle. And it is dynamically changing frame to frame as waves move through the scene.
The result, for most stereo systems, is a depth map full of holes, noise, or outright failure over any open water surface.

What We Tested
We ran NODAR's HDK at the harbor using a 1-meter baseline stereo camera pair with a 65° horizontal field of view, capturing the scene at 5 fps on a laptop. No specialized computer. No climate-controlled test facility. Just a laptop and a harbor.
Hammerhead's stereo matcher can handle low-texture surfaces. The test put that directly to work: open water at range, moving vessels, and wave structure that most depth sensors would either miss or misclassify as noise.
Targets included boats passing at 130–200m range, active wave surfaces, and the general harbor scene with mixed lighting conditions.
What Hammerhead Returned
The water surface was reconstructed continuously and coherently. No holes, no dropout.
Wave ripples came back as genuine 3D geometry in the point cloud, not noise. The system resolved sub-meter surface variation at distance, which means actual wave structure, not a smoothed approximation.
Moving boats at 130m+ were cleanly reconstructed with their wakes visible in the point cloud.
Of course, ranging accuracy does degrade with distance. But with Hammerhead, baseline length is configurable. So we can customize the system to help you see objects at your desired range.
Why This Matters for Maritime Autonomy
The use cases driving interest in maritime stereo vision aren't hypothetical. Here's where we're seeing the most pull:
Underwater drone detection. Surface-level stereo can track surface disturbances, approaching vessels, and objects at the waterline. As underwater drone threats increase, that boundary between surface and subsurface environments is exactly where maritime operators need perception that works.
High-speed surface crafts and autonomous vessels. At speed, reaction time shrinks fast. A vessel moving at 40+ knots needs depth perception that works at 200m+ range with low latency. Radar has the range but not the resolution. LiDAR has the resolution but struggles with water reflectance and cost at maritime scale. Stereo vision running on edge hardware changes that equation.
Autonomous docking. Close-in maneuvering demands precise depth at short to medium range: structures, other vessels, pilings, and personnel on docks. This is exactly the operating envelope where Hammerhead's continuous reconstruction becomes operationally relevant.
What's Next
The test confirmed that stereo vision can reconstruct open water coherently at range, something most perception systems can't claim.
The questions worth pursuing next: How does performance hold in adverse conditions like heavy rain, low light, or fog? What does reconstruction look like at closer ranges relevant to docking? And how does the system integrate with existing maritime sensor stacks?
We're continuing to push Hammerhead into environments it wasn't designed for. If you're working on a maritime autonomy problem, let's talk about what stereo depth can do for it
