I sure I’m not the first one facing this issue:
When taking pictures at low light with fixed exposure time, noise appears more or less depending on the quality of the camera.
A quick example with pictures took form the IMX415 of an e-consystem camera, with gstreamer and libargus (with tnr-mode=2 tnr-strength=1).
At the left, low exposure, low light, at the right more exposure and light.
The white-balance and colors are quite the same but both chromatic noise and luminance noise are strongly visible. It is quite a problem is you want to use artificial intelligence on such an image.
I also have an USB camera with an integrated ISP with less noise but the colors are going black and white when the light is going low. It is more or less the same issue on a rasberry pi with a picamera.
The tnr of libargus is denoising a little bit but is seems not configurable enough and too limited. I tried to change some parameters in the camera_overrides.isp but it is not changing anything.
I can have good results with the function fastNlMeansDenoisingColored of opencv2 but this is consuming a lot of resources.
Can nvidia tell use more about the libargus denoising and how to configure it? As I don’t really need a real-time denoising but just to run it every 0.5s do you have an other solution than opencv2 that could run on GPU or very low CPU usage?
I run my jetson nano on L4T 32.4.4
Thank you very much