IMX377 M12 Sensor Over saturated on G channel
We have used all three of Modal AI's Hires sensors:
4k High-resolution Sensor for VOXL (10x10x16mm)
4k High-resolution Sensor for VOXL (8x8x5.8mm)
4k High-resolution Sensor for VOXL (IMX377 M12-style Lens)
All of these are plug-and-play, but the IMX377 sensor seems to be way more saturated on the green channel. We have two IMX377 sensors and both have the same saturation issue.
Has anyone else had this problem before/ know how to easily fix this?
Please let me know!
We will look into it, it's definitely not an easy fix. What is the application? Maybe we can find a quicker workaround
I appreciate the quick response!
I guess I do not understand why the sensor would be sold like this? What is the application of such an oversaturated sensor? If this would be easier to talk about over the phone, I would be open to a conversation.
We would like to use this sensor to test several different focal length Arducam lenses. Out of the three ModalAI Hires Sensors, this one allows the most flexibility with lenses.
The auto white balance is likely reacting to something funny in your environment. Are you in a lab with LED lighting? LED lighting can often cause a problem.
I have done a quick comparison of IMX377 camera with Iphone X. In this test I took a picture of a color wheel using both cameras in the same lighting conditions. Please see images below - I believe the color quality is comparable, though IMX377 image is a bit brighter overall and not focused very well. It does not look like there is too much green. I used the following pattern for testing : https://www.amazon.com/gp/product/B00F1YEEHA -- I suggest that you do similar comparison and see if the colors look acceptable.
Let us know if you have additional questions.
Thank you for this input. I am slightly confused. This is an image from a video taken outdoors flight testing.
Where as this second image is from the same day roughly 10 minutes apart using 4k High-resolution Sensor for VOXL (10x10x16mm).
Please excuse the under exposure, it was a cloudy day and we did not have the exposure set correctly.
Maybe this is not just a saturation issue? Let me know your thoughts.
What software are you using to record the video? Can you please try testing with auto exposure and auto white balance enabled? I believe the AE and AWB work together in some sense, so if you have AE disabled, AWB may not kick in if the right conditions are not met (e.g. too dark, like it seems in both of your tests)
Please try using voxl-rtsp tool which can record a video and will have AE and AWB enabled by default (-h for help). voxl-rtsp comes with the software bundle, also found here : https://gitlab.com/voxl-public/voxl-rtsp
If you want voxl-cam-ros to use auto exposure, you should comment out these two lines here : https://gitlab.com/voxl-public/voxl-cam-manager/-/blob/master/src/SnapdragonCameraManager.cpp#L188
The default setting is auto exposure. The auto white balance should be enabled by default, but like I said previously it may not kick in unless the right image brightness conditions are met (using auto exposure).
FYI, docs updated here: https://docs.modalai.com/voxl-cam-ros/
Hey guys, so good news. With your support we are able to turn on both AWB and AE on both the IMX214 Sensor and the IMX377 sensor.
The IMX377 sensor is still more saturated than the other sensor. Please see the pictures below.
All settings are exactly the same for both the IMX 377 and IMX 214 sensors
IMX 377 Color Wheel
IMX 214 Color Wheel
IMX 377 Outdoors
IMX 214 Outdoors
Nice, some progress..
I do see the colors being off in the image. The indoor image (IMX377) with the color wheel looks too "warm".
Did you try using voxl-rtsp to record the video? please try, just to double check that you get the same results. Since you are using a ros node, which converts from YUV format to RGB (before encoding as a video), it is possible that the format conversion is not accurate. voxl-rtsp will record the video natively using the built-in hardware video encoder.
Also, just to double check, are you using a lens with IR cut filter? If there is no IR cut filter, the image sensor can get saturated with ambient IR light across all colors (not necessarily equally).
I just checked with our supplier, there is a 650nm IR FILTER
Is the filter inside the lens holder or in the lens itself? I think different lenses might be tested here.
I did some more testing and it seems i can get the IMX377 camera to produce green-ish shades under some lighting conditions. I believe that this is due to AWB somehow incorrectly detecting the scene / lighting type. Let me play with this, I think the solution can be to force a particular scene type so that AWB does not try to guess.
In my tests, I pointed the camera at a light gray wall and depending on the angle, it would show up as gray or sometimes a bit green-ish.
I will follow up soon..
I have the same green-ish problem of IMX377.
It's also happened in voxl-camera-server v1.1.3 with AWB enabled.
Are there any plans to improve it in the future?
When the Gain drop, image turn to Green-ish.
Do you have plan to release WB setting feature?
It would be very useful to be able to change WB from config setting file without changing the source.
Hello @JP-Drone , thank you for bringing this to our attention (again).
I have been looking at improving AWB control some time ago but did not finish. I do agree there is an issue and it arises from the ISP configuration not tuned well for the specific camera. The tuning process is complicated and there is no open source API, but I am hoping that I can make a simple configuration or expose a few parameters to control AWB settings.
Please note that to complicate things even further, the AWB performance / tuning is currently dependent on the image brightness -- there are ISP tuning parameters for color normalization, etc across different gain ranges.
Just to help me a little bit, can you please provide the exact camera part number and gain values you used for the two images?
I will bump this up in priority a bit and will try to address soon.