Cycles noise removal with nodes

I’ve seen people trying experiments in the node editor, just to reduce the noise of cycles renders. And such a way to reduce noise exists, and is integrated as a node: the Bilateral Blur node. What it does is a sort of selective blurring that doesn’t affect sharp transistions. But here is the nice part: you can use another image as an Determinator! This determinator image has to have sharp transitions in places where you don’t want your first image to be blurred. That’s why I use a mix of the Z and the Normal passes as my determinator.

To use it, you have to have 2 scenes with exactly the same geometry: one with Cycles and one with Blender Render (to render the Z and the normal passes). I use Add scene > Link Objects for that. Then you arrange the nodes like this (and you can play with the Color Sigma value):


Here is an example with 100 samples.


cant see the pics…


Anyway, here are the links to the images.

p.s. How do you add attachements?

Cool, that looks like a neat solution. I guess it would fail for transparent objects?

It doesn’t look good, it looks blurred. Sure it may look acceptable when you’re removing noise from a flat solid green surface, but what about when you’ve got an ultra-high resolution skin surface with pores and freckles and what not. This solution would remove small details from the scene, and make it look blurred.

Bottom line: there is NO substitute for more sampling data in renders. Blurring is rarely ever acceptable.

Hahaha, thats exactly what magazines do to their front cover photos of models!

lol so true

this method is not perfect but its a good option to have

Does it make sense to have a lighting/shadow pass that can be blurred and composited with a BI texture pass that doesn’t get noise. I suppose you would miss interactive reflective/lighting?

I use Bilateral blur with Blender Internal some times as well. It allows a lower sample raytrace AO for a quicker render. But it does tend to blur footage as well. Try putting an image map on a plane and then preview the technique.

it would be better to just be able to do a separate detail and lighting pass, and blur the latter then overlay or whatever…dumb method, but…who says I’m smart.

About the example image I showed, that’s true, it does look blurred.
I think a reason for this is that I used a color sigma of 0.3 .
Here is another example, but it uses a color sigma of 0.1… Oh, plus I changed the AA size to 0.5 .

I think it would depends on the type of transparent object. If the transparency is rough, it sould look right.

I’ve been thinking about that. I’ve even made a shader that permits a object’s texture to be reflected and to color bleed without showing the texture. The only problem I got was the mapping. I couldn’t get the cycles and the BI textures to be mapped the same way. If one of you could figure it out that would be great. Anyway here is a link to the image of said shader: (image was kinda big).

Try putting an image map on a plane and then preview the technique.

exactly. This method will ruin the textures. Even advanced technics in Ps can’t remove this noise without ruining the whole quality.
BTW “Hahaha, thats exactly what magazines do to their front cover photos of models!” Eh, not exactly, I earned some money in the past, doing exactly this. (nip tuck LOL)

Well I have had to fix a rather old star on local TV this way. They had been shot with very unflattering light. I just pulled a skin colour mask and added some selective blur.

And I wonder why no one has created a materials exporter for Cycles? Don’t we have one for everything else?

I dont know if Im barking up the wrong tree, but approximate ambiant occlusion did something that would not stuff textures but looked pretty good. Would be cool if this was integrated in cycles so that it kept the light data separate and can blur just that keeping the textures under in mind when it does it. So basically each ray when it hits something would remember that hit and then average with the other hits around to fill in the gaps. Not sure you could do this with nodes if it doesnt save this data separately that you can access with a node.

Film grain noise reduction has been around for decades. I wonder how adobe does it?

That’s a pretty smart node workflow. Seems like you rendered twice, once in Cycles and once in BI, allowing you to use extra render layers… Cool!

I wonder how adobe does it?

The After Effects noise reduction effect is fairly complicated. It traces edges and makes a couple of mattes that it then blurs, sharpens and recombines depending upon user settings. It also samples the noise from many locations in the image. It also has a temporal sampling system built into it that can sample noise through out time (very slow).

I use it to degrain low light footage quote often.

Just what the doctor ordered. Thank you kindly :yes:

Hey Atom are there any tips for using bi-lateral blur? I can’t get it to do anything in the compositor to footage.

I wonder that is, how would I feed a determinator for non 3D footage?