Log in

View Full Version : Denoising Dark Scenes Challenge


MysteryX
25th September 2021, 03:42
I'd like to throw a little contest to denoise dark scenes. What's the best we can do?

So far I got decent results with KNLMeansCL(d=2, a=2, h=8) or h=6, plus renoise/sharpen using xClean (https://forum.doom9.org/showthread.php?t=183245). Probably we can do better?

Here are 2 sample clips in 5K:
Lightning Storm Veracruz (https://drive.google.com/file/d/1Ci3mhUi2lZLcAZ6r5kMnF3JxDj0hz7EV/view?usp=sharing)
Pirate's Cave (https://drive.google.com/file/d/1vo1ntJlTqWG2uhxiXqOsvqikIgEgJzHF/view?usp=sharing)

Good luck!

johnmeyer
25th September 2021, 06:12
I spent a lot of time two years ago on a wedding filmed in a dark church. MDegrain wasn't working well, so I used KNLMeans for the first time and was very impressed on how well it worked on the rather large-sized artifacts that were in the shadows.

If I have a moment tomorrow I'll see if I can find the script I used and run your samples through it.

One thing for sure: there is no consistent "winner" when it comes to denoising. Something that works well on one clip often fails miserably on another.

MysteryX
25th September 2021, 15:35
chaosking mentioned using KNLMeansCL with rcilp -- but there's no hint whatsoever as to how it's meant to be used. Any useful here?

johnmeyer
25th September 2021, 17:35
I was going to try working on these clips, but you've already done a lot of processing on them. The cave clip, for instance, has been motion stabilized, and the quality of the encoding done after that is not great. Therefore, any noise reduction algorithm is going to be severely handicapped.

ChaosKing
25th September 2021, 18:04
chaosking mentioned using KNLMeansCL with rcilp -- but there's no hint whatsoever as to how it's meant to be used. Any useful here?

https://github.com/Khanattila/KNLMeansCL/wiki/Filter-description#advanced

float wref [default: 1.0]
Amount of original pixel to contribute to the filter output, relative to the weight of the most similar pixel found.

clip rclip [default: not set]
Extra reference clip option to do weighting calculation.

The rclip combo gave me better results on a grainy source. But you're not limited to knlmeans. You could use also xclean as rclip. I never tried a mask or something like that...


SMDegrain and bm3d have similar concepts.

MysteryX
25th September 2021, 20:18
I was going to try working on these clips, but you've already done a lot of processing on them. The cave clip, for instance, has been motion stabilized, and the quality of the encoding done after that is not great. Therefore, any noise reduction algorithm is going to be severely handicapped.
That's GoPro's internal image stabilization. I cut|muxed part of the video without re-encoding it.


clip rclip [default: not set]
Extra reference clip option to do weighting calculation.
Still doesn't mean anything to me... what kind of clip does it want?