17May
Arnold 5.1 からデノイズが追加されました。
デノイズの方法は2種類あって、NVidiaのOptiX AI denoiserを使う方法と、
スタンドアロンアプリケーションのArnold Denoiser “Noice”を使う方法です。
今回はNVidiaのOptiX AI denoiserを検証してみました。
ちなみに、NVidiaのOptiX AI denoiserは単純なデノイザーではなく、
NVIDIAの研究「反復型デノイジングオートエンコーダーを使用したモンテカルロ画像シーケンスの対話式再構成」によって発表された論文に基づいています。GPUで加速された人工知能を使用して、視覚的にノイズのない高忠実度の画像をレンダリングする時間を劇的に短縮します。
ということだそうです。
つまり、こういった画像からノイズを見分けだして除去するお勉強をさせたAIを使用してるってわけなのです。
NVIDIAのテストでは最新型のTesla V100を使用していましたが、MaxwellやPascal(GTX970、GTX1070、TitanXなど)のようなコンシューマー向けのGPUでも大丈夫です。 しかし、デノイサーはかなりのVRAM(特に高解像度)を必要とするので、8GB以上のVRAMを搭載したGPUビデオカードで実行することをお勧めだそうです。
今回はGIGABYTEのGeforce GTX1070 G1を使っています。
Nvidia OptiX デノイズの設定は簡単です。
まず、レンダー設定を開き、SeystemタブでNvidiaのGPUカードがArnoldから見えているかを確認します。
次に、AOVsタブでRGBAをセットしてDenoiseをONにします。
最後にCommonタブでMerge AOVsをOFFにしておきます。
この設定でArnold Render Viewを使ってレンダリングすると、レンダリング完了と同時にデノイズされた画像も生成されます。
デノイズの結果は左上のタブで切り替えて確認することができます。
では、Arnold5.1 MtoA 3.0.0.2 Maya2018ap3 を使って検証してみましょう。
サンプリング値を1~5に変えてレンダリングします。
話を単純にするためにサンプリング値は各項目とも同じ数値で変えています。
サンプリング1
さすがにノイズだらけで、肌のSSS効果も感じられません。
サンプリング2
肌のSSS効果が出ていますが、まだまだノイジーで使えるレベルではありません。
サンプリング3
かなりノイズが減ってきましたが、もう少し何とかしたいところです。
サンプリング4
まだ影の部分に若干ノイズが残っていますが、この程度ならコンポジットのデノイズで消せそうです。
サンプリング5
さすがにきれいになっています。
ではNVidia OptiX AI denoiser によってデノイズされた画像を見てみましょう。
サンプリング1のNvidia OptiX デノイズ
やはりノイズ除去に無理があったのか、塗り絵のようになってしまい全体的に色味が変わっています。
サンプリング2のNvidia OptiX デノイズ
かなりノイズを除去できていますが、まだ塗り絵感が伴います。
サンプリング3のNvidia OptiX デノイズ
うまくノイズが除去されきれいですが、チョーカーの影に違和感があります。
サンプリング4のNvidia OptiX デノイズ
これだけ見ると十分にデノイズされていますが、髪の毛のディティールが失われています。
サンプリング5のNvidia OptiX デノイズ
サンプリング4とあまり変わり映えしませんが、髪の毛のディティールは少し失われたままです。
以上のことから、ノイズだけに着目すれば、レンダリングだけでノイズを消そうとすればサンプリング5程度まで上げる必要がありますが、Nvidia OptiX デノイズを使うとサンプリング3程度でかなりデノイズされることがわかります。逆にそれ以上サンプリングを上げても微妙な差となってしまいまうようです。
使いどころとしては、ノイズの出やすいSSSを使った部分や、建物の内観のディフューズノイズには上手く適応できそうですが、髪の毛や細かいテクスチャのディティールは失われやすいので注意が必要です。
次回はNvidia OptiX デノイズを使ったアニメーションの検証を行ってみます。