Welcome back to the oneA PI channel.
Images are noisy, it could happen due to multiple reasons,
Specifically ray traced images,
even after rendering thousands of rays can sometimes be too noisy
The trick is, instead of, going to full convergence and accumulate more and more rays,
that creates more and more samples per pixels
which is very expensive,
To use much lower sample count, here for example only 16
And then, fix the noisy result using de-noising algorithms, in a fraction of the time.
This is what the Intel® Open Image Denoise is all about.
In previous videos we have talked about the oneAPI components.
We mentioned the multi-device, multi-vendor and open spec libraries..
That can now work on multiple devices, CPU, GPU and others, what we call XPUs..
And are arranged into toolkits,
One of them is the oneAPI rendering toolkit, Which includes The Open Image Denoise library
The Open Image Denoise library is a state of the art denoiser
I am talking about achieving the most accurate photorealistic images
while dramatically reducing typical render times.
The Open Image denoise library can help you with multiple usages,
Could be preview or final frame, offline or interactive
So you could significantly reduce rendering times in ray tracing based rendering applications.
The library is supplied with a set of pre-trained filter models, it basically can take several
inputs for one frame, The required input
is of course the noisy color image, But you can also use, as an optional input,
the albedo and the normal passes to create even better denoised image.
And if you’d like to optimize a filter for a specific renderer, specific sample count,
content type or scene
it is possible to re-train the model with your specific data-set and parameters.
Google open image denoise and get to the github page.
All the information you need is here
Scroll down to the training section. You can find here the description for all the
scripts you need to preprocess the data-set To train, to infer, and even
to visualize using tensorBoard These are the data-set requirements
Here you can find the weights for the neural networks
They are all built on top of oneAPI oneDNN library of course
And under training, you can find all the scripts you need to get started, the model itself and more
You Can use the open image denoise on Windows linux and macOS
On Intel CPUs and soon GPUs and on Apple M1 It is highly accelerated with
the latest AVX instructions. And it can run on anything from laptops,
to workstations, to compute nodes in HPC systems. And for many systems, the performance is
sufficient even for interactive ray tracing. A simple but flexible C/C++ API ensures
that the library can be easily integrated into your application
And the code and the spec are open Great performance,
full functionality, flexibility, scalability and openness
Many vendors are already using the Image-denoise library in their platforms for creating,
gaming, scientific and product design tools and more
Blender, Chaos Group’s Corona and V-Ray, Cinema 4D, Unity are just few examples.
So when you are using these SW suites you are already enjoying
the benefits of the open image-denoise. The results are impressive and look very
close to the ground truth with a fraction of the compute required.
Make sure open image denoise is included and enabled in your renderer.
Or you could use the denoiser yourself
The easiest way to see the image denoise library in action is probably using the intel DevCloud.
Just google intel dev-cloud, Registration and setting up takes minutes
This is my noisy HDR image And this is the corresponding albedo
and normal images
I’m connecting to the dev-cloud..
And I’m using SCP on Cygwin to copy my files to the dev-cloud
And the files are here
Now I’m asking for a specific machine for the rendering toolkit,
You can find the instructions in the dev-cloud page..
My files are here,
I’m preparing an output file And now I’ll run the open-image-denoise
Latest, Bin
The denoise demo It is all installed and ready to run.
My input is the HDR image only And my output, and running
The code for this sample is in the git hub page, Navigate to apps, and here is the C++ code
All the parameters, A great way to get started
And I’ll copy the output back
from the dev cloud to my computer This is the original noisy image
And this is the image after denoising, This looks like a magic
I’ll run the same demo but now I will also feed it the albedo and the normal images
I’ll copy the result And I hope you can see
on the left side, where I use the normal and albedo that there are more details,
Look at the face of the character , the image is
smoother in the right places and sharper when needed, pretty cool.
Open image denoise.. high-performance,
high-quality denoising filters for images rendered with ray tracing.
Use them, re-train them, enjoy them thank you