Long story short, my canon 550D sux big time at recording videos in low light conditions. Despite what the manuals, training videos, books, forum posts and everything else I’ve come across say, recording noise-free video in low light is (next to) impossible. Or should I say impossible for me with the standard kit lens (18-55mm)? Using a shutter speed of 50 (i.e. double the frame rate of 25p) and the widest possible aperture (3.5) I really have to go up to iso 1600 or more to get a half-decent exposure. The result is a lots of grain and a videos as noisy as the ones I used to shoot with my old SD camcoder.
I’ve ordered a new lens with a higher aperture (1.5) which should solve the problem (in theory). I’ve also installed magic lantern which is freaking awesome but I only found out about it a few days ago. The thing is that I cannot go in the past and reshoot an event which was held in improperly lit conditions in early December. So I’m stuck with a grainy video that needs heavy denoising before editing. Now, the million $ question is how does one actually denoise video in the compositor?
Some background research revealed a few interesting suggestions which had been posted on this thread:
http://blenderartists.org/forum/archive/index.php/t-114375.html
The problem with the suggestions made in that thread is that they do not seem to work out of the box (or to be more precise I could not get them to work). Obviously, more work was required. Thus, I started doing various experiments. I ended up removing some of the noise but was not pleased with the result at all.
Then I considered using some other app to see if I could obtain better denoising. Eventually, I used Avidemux and two video filters cnr2 (chroma noise reduction) and hqdn3d (high quality noise reduction). Using both filters in combination removed most of the noise and I was very happy with the result. It was better than what I’ve been able to produce by a factor of 5 (or more).
At that point I run a few tests checking the number of unique colors and the scopes to see what was happening. This is a screenshot of the upper left corner of a frame from the original quicklime video. I guess I need not comment on the noise. The number of unique colors is quite high (about 300K) and all 3 scopes seem quite dense.
Here follows the same denoised frame from Avidemux. The number of colors has been reduced by a factor of 2(!), the histogram edges suggest changes, and the scopes look less dense. The difference in the vectorscope is quite telling. Now, if I trust my eyes and not the scopes and all, there is a big improvement and most of the noise is gone. Thus, this is an acceptable result.
Now the same frame after some color grading. Number of unique colors goes down even more, the histogram clearly reflects color manipulation, but the scopes are more dense compared to the denoised frame. In terms of visible perceptual differences, I think this is an improvement over the denoised one.
Finally, I’ve had the crazy idea of combining the noised source with the denoised one and tried that in the compositor. The result speaks for itself in terms of visual quality. Again, all three scopes are less dense.
[screenshot 4 to appear in a new post due to stupid attachment per post limitation]
While using Avidemux was cool and the two filters were totally awesome, I hate doing stuff I have little control over or stuff that I don’t quite understand. What’s more, I’d love to do all denoising within Blender.
How would you guys approach such problem? What’s the best method for denoising video in the compositor? Should I trust what I see or the scopes? How come and every color grading manipulation results in a less dense signal representation in the scopes? How can that be avoided?
Any tips/suggestions/workflows will be greatly appreciated.
Please think of this as a video-denosing brainstorming invitation.