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.
Both in an office space and when outside we have the same saturation issue.
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)
We are using rosbag to record the video.
How exactly can we enable AE and AWB with voxl_cam_ros, found here https://docs.modalai.com/voxl-cam-ros/
I was not aware this was something we can just turn on?
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..