The C3 is a stereo camera individually calibrated for underwater use, and housed in an enclosure rated to 1000 meters water depth. It includes a mounting bracket and hardware for quick installation on the BlueROV2, while the Madrona BlueOS extension makes it easy to set up video streams.
The MarineSitu C3 Stereo Camera is available starting today, check out the product page and integration guide for all the details.
I’m quite excited by this product! But I can’t find what kind of measuring accuracy is to be expected anywhere. I can imagine it is dependent on a lot of factors, but could you state a typical and a best case accuracy?
Hi @bartarts -
The accuracy is dependent on the distance from the camera. The product page for the camera used in the C3, linked in the Blue Robotics technical details, lists this information under technical specifications:
Luxonis have quite extensive documentation about understanding stereo depth, including in the context of extracting calibration information from their cameras to determine adjusted values for your operating conditions (which is likely relevant given the MarineSitu cameras have been re-calibrated for use in water).
As a highly condensed set of details with an example:
Stereo depth is calculated with trigonometry, based on a known baseline and the different angles the same point appears in each camera
Detecting similar points from different angles has error from the field of view of the relevant pixels (which increases with distance)
Detection can also fail if a surface is too featureless (example purple region), the scene is too murky, or the objects are too bright (like a light source), too dark, blurry from being too close or far, or so close that only one camera in the pair can see it
The image-plane distances (up/down, left/right) can use the higher resolution of the central camera, and depth error can be potentially reduced by interpolating between detections (i.e. “subpixel resolution”), but interpolation can also add its own error sources/inaccuracies depending on the scene (see the dark green points, where depth is falsely estimated
between the objects there should be no detection
in the “featureless” purple region it’s a valuable improvement over having no estimate
the spiky details of the left object are too fine for the stereo cameras to differentiate them, so they get smoothed out in the depth estimates
For a measurement of distance between two points on an image, the accuracy depends on the combined (3D) uncertainties of the end-points. I unfortunately don’t have time to calculate that for an example right now, but the actual values depend on the configuration you’re using (as covered in Tony’s screenshot).
The C3 Data Review App currently forgoes automatic stereo disparity detection and mapping, and instead requires the user to choose the endpoints of their size measurements in both images in a stereo pair. Accordingly the “detection” process is subject to your own determination of matching features, and there aren’t any relevant interpolation considerations.
Given that all the relevant parameters are known then (aside from human error), it seems like a valuable feature to calculate measurement uncertainties based on the pixel size and measurement location. I’ve raised an Issue for it in the source code repository, which you can follow for progress, and/or use as a basis for contributing the feature yourself
Great, thank you very much! As expected it is very dependant on environmental factors, but a calculation for expected accuracy based on the pixels is a great feature. Thanks for the fast response.
Thanks! That is a great starting point, but I expect stuff like the breaking of light through water and the underwater housing glass can mess with the original accuracy a bit. Also under water environmental factors may play a larger role. Perhaps this is counteracted somewhat by the underwater calibration with the checkerboards, but I was wondering how much. I think @EliotBR s response is a good approach.
Hi @ElectronicLED -
We’ve not encountered any thermal issues with both bench testing and testing in the warm waters of Hawaii, for up to 2-3 hours continuously!