長い期間かけて開発されたBlender 2.80がリリースされて程なく、2.81の情報が出始めました。今ホットなのは「Intel Open Image Denoiser」でしょう。
CyclesレンダーはSample数を増やすと綺麗な画像が生成されますが、レンダリング時間が増大します。逆にSample数が少ないとノイズだらけの画像になります。
Blenderにはもともとノイズ除去機能は搭載されてますが、Intelのノイズ除去性能は群を抜いているとのこと。
ということで、Blender 2.81デイリービルド(2019.8.28版)をダウンロードしてデノイズ性能を試したところ、たしかにすごいです。
※Blender2.81は現在開発中のため、今後仕様変更の可能性はあります。
設定方法
Intel Open Image Denoiserを有効にする手順は2つ。
- View Layerの「Denoising Data」のチェックボンクスをON
- Conpositingで「Denoiseノード」をつなぐ
すると▼Render Layersノードの項目が増えます。
上図ではあれそれとノードをつないでいますが、最終的にRender LayersノードとDenoiseノードを以下のようにつなげばOKです。
- Noisy Image → Image
- Denoising Normal → Normal
- Denoising Albedo → Albedo
Intel Open Image Denoiserのレンダリング結果
以前Sample300でレンダリングした以下のシーンにIntel Open Image Denoiserを適用します。
Sample10/レンダリング17.74秒
キラキラ・テカテカ感を増強しているシーンだからでしょうか、Sample10ではイマイチでした。
Sample80/レンダリング31.58秒
(左:元画像 / 右:Intel Open Image Denoiser)
うん、いい感じです。むしろノイズ感が減って好ましい結果になりました。
レンダリング結果を比較します。
Sample数 | レンダリング時間 | |
元データ | 300 | 72秒 |
Intel Open Image Denoiser | 80 | 31秒 |
うん、こちらもいい感じです。
AIを有効活用することの恩恵は素晴らしい
Intel Open Image DenoiserやAdobe SenseiのようなAIを活用して利便性を増すような動きが活発だなぁと思います。
僕はPythonをやっているので、AIや機械学習などの言葉はけっこう身近に感じます。とはいえ、個人的にAIを開発したり、活用したりはしていませんけどね。
なんていうのかな。
過去のデータや学習したデータなどを有効活用することで、BlenderやAdobeのようにコンピューターに任せられる部分は多いに任せて、僕ら人間は表現することに集中できる。
これって人間だからこそできることにもっと注力できるわけですよね。
そういう視点でテクノロジを見ると、「AIに限らずテクノロジは素晴らしいものだな〜」と思うのでした。
余談:Denoiseノードの設置場所を変えたら?
今回の検証のように、Denoiseノードを最終出力手前ではなく、Render Layersの次に設置して、そのImageをもとにコンポジットしたらどうなるか?
結果は画質に大きな差はなく、レンダリング時間も誤差程度でした。