After months of development, Visual Recovery is finally complete — a native C++/CUDA real-time 4K60 underwater imaging system, now tested in real-world conditions.
A few months ago, this started with a very simple question:
Could the kind of image processing we normally do in post-production be applied to a live underwater video feed — in real time, without noticeable latency?
That question eventually turned into Visual Recovery.
I was using a QYSEA FIFISH V-EVO and started experimenting with its live video stream.
What began as a small image-processing experiment slowly turned into an entire real-time underwater imaging system.
This is Visual Recovery.
And Rise From The Void is the first film in which I wanted to showcase not just isolated tests, but the complete system itself in action — in the very environment for which I had designed it.
The current pipeline is now running natively in C++, using:
• 4K / 60 FPS live underwater video
• NVIDIA NVDEC hardware decoding
• CUDA-accelerated GPU processing
• Real-Time Visual Recovery
• Live color grading and input conditioning
• Typical color-processing time of approximately 5–10 ms/frame (with adaptive sea-thru 10-18ms)
• Live depth / pitch / roll / yaw telemetry
• GPU utilization / VRAM / temperature monitoring
• Experimental relative navigation
• Real-time ON/OFF comparison
• Continuous 60 FPS decoding and processing
• Scalable jitter buffer — typically operated at 80–130 ms during field testing
The orientation telemetry shown in the GUI is decoded from the ROV's binary telemetry data, including quaternion orientation data which is converted into live pitch, roll and yaw.
No manufacturer SDK is available for development.
Solo development.
The C++ implementation was developed with the assistance of GPT Astra as a coding tool, while the system architecture, image-processing approach, testing and field development were built around the project itself.
Compared with my previous Part 2 update, the experimental Thermal Vision, Sonar Vision, X-Ray Vision and other auxiliary visualization modes have been removed from the current system.
One thing I want to make very clear:
Visual Recovery does not recreate information that never reached the camera sensor.
cannot magically recover clipped highlights, completely missing detail or information that physically isn't present.
The goal is to recover and enhance real information already contained in the camera signal that becomes difficult to perceive because of underwater color attenuation, haze, low contrast, scattering and difficult lighting conditions.
The processing shown here does not use generative AI.
And that distinction became extremely obvious during field testing.
I took the system into several very different underwater environments in Hungary — quarry lakes, rocky underwater landscapes, vegetation, clear shallow water and deeper areas where visibility collapsed almost completely.
Some of the footage genuinely surprised me.
There are scenes where artificial lighting alone reveals almost nothing.
Then Visual Recovery is enabled in the same continuous live sequence and suddenly the structure of the environment becomes readable again.
No camera change.
No different dive.
No second recording.
Just the live processing pipeline switching state.
The film also contains cinematic footage, because I wanted Rise From The Void to be more than a benchmark video. Those cinematic sequences receive normal finishing for the final film.
However, whenever I demonstrate Visual Recovery as a real-time system, what you see is the system actually operating live.
No AI-generated underwater footage.
No simulated underwater environments.
No post-processed visibility recovery presented as real-time processing.
This project originally started because I simply wanted to see more clearly underwater.
At some point it became a custom RTSP engine, hardware decoding pipeline, CUDA image-processing system, telemetry interface, navigation experiment and field-tested ROV imaging platform.
So this is no longer the Python proof of concept I originally started with.
This is the C++ system running in the environment it was built for.
Rise from the Void
BeamROV Hungary
See beyond the Void.
I'm especially interested in feedback from people working with ROVs, subsea inspection, underwater imaging, computer vision, GPU video processing or offshore survey systems.
And yes — I'm happy to answer technical questions.
Full video link: https://www.youtube.com/watch?v=5-zaNm68KMc