Home        Store        Learn        Blog

A New High Quality Underwater USB Camera

Hello!

We just finished with the technical video. Unfortunately we had limited access to the pier so we weren’t able to get all the footage we wanted but we tried making our best compromises :slight_smile: The video will explain a lot more about the camera and its operation.

Thanks!

3 Likes

Hello everyone!

Just a quick update on the camera. We finished developing the controls for the camera for Linux. Using this, you would be able to fine tune the camera’s bitrate in all recording formats. You can change how H.264 compression is done such as GOP settings, iframe, vairable/fixed bitrate, etc. This will allow you to fine tune the camera for the best quality while keeping the bitrate as low as possible.

We are currently adding this to the Ardusub companion that will allow you to get the best video quality for ArduSub systems.

Let us know if you have any questions!

2 Likes

Cool! If you’re able to add it in a non-destructive way (ie it doesn’t prevent the existing ‘normal’ functionality from working as intended, including when your camera isn’t connected), then feel free to make a PR and we might be able to add it to the main companion repo :slight_smile:

2 Likes

Thank you so much! That will help out a lot. The addition should be non destructive. We just have to run an executable and add a few lines of code to video.sh so it would auto start.

Right now we are trying to add custom sliders on the GUI for customers to change the settings with our camera. We will let you know when its done :slight_smile:

Thanks!

3 Likes

Hello everyone! Its been over a month since we first introduced the idea of a USB camera designed specifically for ROV application with its own separate housing. We wanted to follow up with some of the updates we made since then before shipment. The exploreHD will now features a fish eye lens with a slightly wider FOV than GoPro at an angle of approximately 150 Degrees Diagonal in water. The whole housing itself will now be anodized preventing risk of oxidation from galvanic corrosion.

We been working hard on fine tuning the colors on the camera but since the software is in beta, you now have an option to disable it with UVC camera controls by turning off automatic white balance.

We updated the manual and the github to offer clear written instructions on how to install the camera drivers!

We should be ready to ship these pretty soon but we want to make sure we are offering the best quality cameras before shipment. Let us know if you have any questions!

2 Likes

These improvements are really good to see!

I’m assuming this is accounting for the refractive index of both the case and the water (e.g. you measured the FOV with the assembled camera in water)?

Since FOV is not commonly measured in water, and also often written as separate horizontal and vertical components, it could be useful if you provided some direct comparison numbers :slight_smile:

Given you’re doing color correction/compensation, it might be clearer/better marketing to describe it as that, instead of as “AI white balance”.

Saying “white balance” makes it seem (to me at least) like you’re just shifting the hue of the whole image so that white things appear white, but for a photo like the green one in the left of your image that would normally come up as still quite washed-out (see example below), whereas your improved result tries to restore/put back some of the colours that would normally be seen with the naked eye (if there was no water).

As a point of interest, are ‘normal’ camera settings applied before or after the AI processing occurs? I’m assuming exposure has to be applied beforehand (since it directly influences the image capturing process), but I’m unsure on others like brightness/contrast/saturation/etc. (or perhaps they’re not available with this camera?)


In case anyone is interested, here’s a comparison image with manual white-balance/hue-shift correction, and the basic visibility improvement code I discuss in this comment:

1 Like

Hello!

Sorry for the delayed response been busy trying to get these cameras to customers :slight_smile: Yes the FOV is considering the refractive index of water, we used checkerboard and openCV to measure the FOV. Exposure is applied first before the AI coloring process. We did notice that on some of our first runs with the software, sometimes it could be overexposed so we will be releasing a firmware update soon that fixes that issue. :smile:

2 Likes

Updates with the exploreHD!

We just have just completed our 4 layer boards and the improvements are great!

We are working on software that continuously updates the camera performance. Our new camera’s firmware will allow the exploreHD camera to be plug and play with ArduSub Companion. It will automatically apply recommended H264 settings for the RPI setup including bitrate and GOP settings, no need for modifications or driver installation. Of course, if you want to tinker with those settings, you can still install our driver on the Pi and experiment around :slight_smile:

Current customers of the exploreHD will also be able to update their camera as soon as we release the new firmware to the public! The update just requires the exploreHD camera to be plugged in to any Windows OS PC.

We also made a new ad for the exploreHD, linked below!

Thanks again and let us know if you have any questions!

4 Likes

Interesting - will those improvements be happening while the camera is running? I’m intrigued as to which metric(s) you’re using to determine what counts as ‘better’ performance for the camera to try to achieve, although that’s perhaps not something you’re able to share.

Cool - that sounds great! :smiley:

Haha, that was a fun watch - thanks for sharing :slight_smile:

1 Like

Hello!

Since the AI Color correction is still in Beta and in the future we may have better recommendation for H264 streaming options, these are the settings that I mean by better in terms of performance. We can constantly release new firmware for the exploreHD that improves efficiency of streaming (hence quality) and better color science. :slight_smile:

Ahh ok, so you mean that “the camera/AI chip has firmware that can be updated, and we plan to release updates/improvements for it over time”, rather than my assumption/understanding that “the camera’s AI tunes itself to create a better image/output over time”?

I think I misunderstood your meaning there because “continuously” was applied to the “software” (e.g. “the software updates the camera performance continuously”). Perhaps it would be more clear to say something like “We are continuously working on and releasing software updates that improve the camera performance” (which is basically what you said in your follow-up) :slight_smile:

Regardless, cool that the plan is to improve the units you sell now with software updates in future, as your algorithms get better and you gain more colour science experience :slight_smile:

1 Like

Why you’re looking for a USB camera? MIPI or GMSL could have more reliable.

The underwater camera should have an IP67 rated enclosure.

1 Like

I am not sure what exactly you are talking about with IP67, the enclosure is rated at 400 meters in depth. An IP67 would not allow the camera to be submerged, only slight protection against water.

While we thought of these other communication protocols, they were not chosen because they would rely on the Raspberry Pi to do the onboard encoding, which I am sure as you know, the quality isn’t that great since they don’t have a dedicated video encoder. We wanted a camera that could easily be added to the ArduSub system while providing the great image quality of an on board image processor. We do have plans to work on other cameras such as ethernet :slight_smile:

I see that now the Jetson is capable of supporting GMSL but it would run into similar issues as the Pi. Using an FPGA for your entire image processing is just ufnrountately not the most efficient setup compared to our approach and Jetson would require a whole redesign of your on board system currently offered by Blue.

In terms of reliability, our system currently uses the same setup as Blue (Raspberry Pi + Pixhawk) and we stream 3 cameras at once and had no issues with reliability even after extended use! When you have the cameras setup and connected securely, the video stream is pretty reliable!

3 Likes

@DeepWaterExploration Do you offer that camera as a plug-and-play upgrade to the stock BlueROV2 camera?

1 Like

Our current exploreHD is plug and play at least the newest firmware will allow that. For the exploreHD, all you need to do is to put it through a cable penetrator and plug in the camera via USB on the Pi. With the new version of ArduSub Companion Beta, you will be able to stream 3 at a time giving you multiple angles of your ROV.

For the topside computer, our software team is developing a method to view multiple stream with QGround. But for current customers of exploreHD, they just use OBS with the gstreamer plugin.

If you are talking about a replacement for the USB camera used on the BlueROV, that’s possible too but we haven’t had the time to design a holder for that since right now our best selling product is the exploreHD and we are focus on making the firmware as easy to use as possible! Additionally, when we tried using our camera with the acrylic dome cap, we weren’t able to get as sharp of an image as compared to the exploreHD with its thinner quartz glass element so we been recommending that more for better image quality :slight_smile:

1 Like

@DeepWaterExploration Thanks. I was talking about replacing the stock camera. I was hoping that you sold the camera without the housing and had a mounting kit that bolts on the BlueROV2 servo mount. I’m not a fan of the stock camera since it’s always blurry or pixelated. I agree that you need to focus on the priorities that are the most important and I will consider your products when QGroundControl gets reliable multi-camera support.

1 Like

Yeah we do sell the camera by itself but we don’t have a cad yet for mounting on the tilting servo. I am not sure if its possible to get the same clarity though because of the thick acrylic needed for the end cap. We will do more testing and let you know!

Yes, hopefully our QGround project works out!

1 Like

So I can order your camera, mount it externally on my bluerov2, bring the cable inside the electronics tube, connect it to the USB socket instead of the current camera, and I would immediately have the video stream in QGroundControl without any other hardware / software changes?

1 Like

Yes, the new version of our camera’s firmware will allow you to do that. If you do want to experiment with the settings you can do so by installing our driver (on our GitHub) and running a for loop start command every time the pi starts but our default settings are what we tested that works the best in terms of best quality with lowest lag/latency. :slight_smile:

2 Likes

Marco,
I removed the internal camera and dome, then used one of the Blue Trail servos for the external camera. It plugged right into the same port on the Pixhawk where the internal servo was. Works great! I did program the Blue Trail servo to adjust the tilt limits.
I’m also looking forward to the new DW cams to add more views!

2 Likes