去年年底NVIDIA发布了AI智能OptiX Denoiser,先来看一下视频回顾熟悉下。

为什么需要降噪?因为最后那一点点通过采样提高的低噪点画质,需要几何倍数的渲染时间提高,所以只能通过算完之后再降噪来节省成本。最可贵的是可以让艺术家在look-dev时,无需漫长等待最快的预览到接近于成品的图像。这越来越像我们人眼一样,看东西从模糊到清晰。

好了不废话了,如何操作?

第一你必须有一块NVIDIA的GPU显卡。废话。。。

第二你需要安装Isotropix Clarisse iFX 3.6 SP1,当然高版本也可以,只是目前最新是SP1,因为目前NVIDIA授权使用OptiX Denoiser技术的厂商,只有三四家,Redshift和Vray欢乐版不会有那么快出来,所以你懂得。而且Isotropix非常良心,考虑到不是所有农场不是都用N卡,所以把去噪程序独立出来了。这样就可以为任何序列降噪。

安装完Clarisse后,就可以给你想要的图片去噪。

使用Clarisse的OptiX Denoiser为任何序列降噪-VFXQH

哈哈哈,够不够简单?我随便Nuke输出了一张Noise贴图,直接拖拽你要去噪的图片到Clarisse安装目录下的cdenoise.exe,就会计算存放到你原始的图片目录里一张去噪完后的图片。当然我为了图片清楚,我建了一个快捷方式。记得要够以管理员身份运行哦。

如果我要处理序列怎么办,总不能几百张几千张一起来吧,电脑也不会稳定承受那么多个命令同时发生的。那么就需要运用命令行去直接批量输出了。

这里需要注意的一点是,使用OptiX Denoiser在所有渲染器中都要设置抗锯齿滤镜Filter设置为Box并且Filter size为1。因为使用其他格式像素算法会干扰去噪算法。

官方文档给出的格式:

cdenoise [<start_frame[[:end_frame][%step]]>] [-albedo []] [-world_normal []] [-strength [denoiser_strength]] [-output ]

我是小白,我不想看代码!

那你全选下面的代码,新建一个文本文档复制进去,另存为“cdenoise.bat”(注意是包含“.txt”一起重命名的,如果没有文件拓展名,请自己百度查询如何开启显示文件类型后缀拓展名),放入cdenoise.exe的根目录。(默认是:C:\Program Files\Isotropix\Clarisse iFX 3.6 SP1\Clarisse)然后直接运行即可。我建议你发送快捷方式到桌面,然后在属性里勾上以管理员身份运行。这样的好处是,不需要每次去Clarisse根目录打开,也直接可以编辑快捷方式修改命令代码。

cdenoise D:\Project\Test\Test.####.exr 1:100 -strength 1 -output D:\Project\Test\Test_denoised..exr
pause

什么意思呢?

cdenoise是调用clarisse去噪的命令

D:\Project\Test\Test.####.exr原始序列位置

1:100起始帧号

-strength 1去噪权重为100%,一半就是0.5,我个人喜欢0.8,0.9左右作为最终。

-output D:\Project\Test\Test_denoised..exr输出位置,我降去噪完的结果和原始序列生成在了一个文件夹内,当然你可以改想要的位置,要注意的一点是,这些路径必须是绝对路径,也就是说设置前,文件夹是必须存在的。

速度非常快,主流配置的电脑基本都是0.5S以下一帧,当然这个不是万能的,因为它没有序列的任何信息,只通过像素RGB去判断,比如你处理一些纯色序列就会出现BUG,因为AI它也不知道该用什么计算填充。那么请看下面进阶代码。

cdenoise D:\Project\Test\Test.####.exr 1:100 -strength 1 -albedo albedo -world_normal world_normal -output D:\Project\Test\Test_denoised..exr
pause

什么意思呢?

-albedo albedo设定albedo层为albedo层,比如albedo层我在别的渲染器AOV设置命名为test那代码应该是-albedo test

-world_normal world_normal同理同上

world_normal层不需要解释,了解渲染分层合成熟悉的人都知道是世界法线层,albedo层应该很多人第一次见,albedo(/ælˈbiːdoʊ/)翻译为反照率,通常是指物体反射太阳辐射与该物体表面接收太阳总辐射的两者比率或分数度量,也就是指反射辐射与入射总辐射的比值。这一层基本可以用传统的diffuse层代替。有了这两层的辅助,OptiX Denoiser的质量大大提高。

为什么去噪要放在最后做,因为和抗锯齿一样,前期做可控性会非常差,更重要的是目前OptiX Denoiser算法强制将图片颜色信息压到了0~1之间,这就不能直接渲染的时候就这么搞,渲染的去噪目前只会影响Beauty层。所以只能最终在DI调色之前的合成环节最后一步做。也就是说你要去噪的序列颜色值必须是0~1的,不然会出错。

Mac、Linux版本你需要装相应平台的Clarisse,命令也大同小异,你可以去参见官方文档帮助查看更多丰富的命令功能。有能力的朋友可以利用python写一个脚本在Nuke中完成一个小面板无缝发送序列降噪再审验。

注意去噪不会本质提高渲染质量,只是一个聊胜于无的辅助功能,通俗的讲10成是你最满意的效果,但现实也许成本各种因素只能允许你做到8成,有了降噪,你也许做到7.5成,去噪去弥补一下,达到7.8成就能完成基本要求了,这样时间各种成本会减少很多。这是一个取平衡的过程。

最后放一张NV官网OptiX Denoiser GPU算力性能的参考图。主流游戏显卡1070、1080应该在P4000左右。你还可以点击我查看本站独家干货V-Ray降噪插件VDenoise for Nuke,完全免费最新更新了NUKE 11.1版本,速度0.4s平均一帧。有问题欢迎留言交流互相学习。

使用Clarisse的OptiX Denoiser为任何序列降噪-VFXQH

VFXQH 原创版权所有 • 转载请注转自 VFXQH