バイラテラルフィルタによるノイズ低減
使用ソフト:Blender 2.63
Compositing機能を使いレンダリング結果にバイラテラルフィルタを適用し、
Cyclesのノイズを低減する方法を説明します。

Compositing機能を使いレンダリング結果にバイラテラルフィルタを適用し、
Cyclesのノイズを低減する方法を説明します。

普通画像のノイズ低減は、画像を「ぼかす」ことで行います。
具体的には画像中の1ピクセルに注目した場合、
そのピクセルの値を周りのピクセル値との重み付平均で置き換えるようなことをします。
しかし、この方法を行った場合、画像全体がぼけてしまい、オブジェクトの輪郭などの「エッジ」もなまってしまいます。ガウシアンフィルタが例として挙げられます。
一方、バイラテラルフィルタと呼ばれるフィルタは同じように周りのピクセルの値との重みづけ平均で置き換えるものですが、この「重みづけ」を、
・色が似ているほど大きく、似ていないほど小さく
・距離が近いほど大きく、遠いほど小さく
するものです。
この結果似た色同士で距離が近いもので平均化されるので、「エッジ」部分がぼけることをある程度防ぐことができます。
実際にレンダリング結果にバイラテラルフィルタを適用する方法を解説します。
Compositing Editor内の編集タイプが「Compositing」モードであることを確認し(三つ並んだボタンの一番右が選択状態)、「Use Node」にチェックを入れます。

次に「Add -> Filter -> Bilateral Blur」からバイラテラルブラーのノードを追加します。
Render LayersのImage出力をBilateral BlurノードのImage入力に繋ぎ、Bilateral BlurのImage出力をCompositingのImage入力に繋いで完成です。
Bilateral Blurノードの説明です
・Iteration : フィルタを何回適用するか
・Color Sigma : 値が小さいほど近い色同士でしか ぼけなくなります
・Space Sigma : 値が小さいほど近い距離同士でしか ぼけなくなります
適用例です。
左:適用前、右:適用後

拡大図

オブジェクトの輪郭などのエッジを保持しつつ、ノイズを減らしていることが分かります。
関連するタグ Blender 2.63 Cycles ノイズ低減 具体的には画像中の1ピクセルに注目した場合、
そのピクセルの値を周りのピクセル値との重み付平均で置き換えるようなことをします。
しかし、この方法を行った場合、画像全体がぼけてしまい、オブジェクトの輪郭などの「エッジ」もなまってしまいます。ガウシアンフィルタが例として挙げられます。
一方、バイラテラルフィルタと呼ばれるフィルタは同じように周りのピクセルの値との重みづけ平均で置き換えるものですが、この「重みづけ」を、
・色が似ているほど大きく、似ていないほど小さく
・距離が近いほど大きく、遠いほど小さく
するものです。
この結果似た色同士で距離が近いもので平均化されるので、「エッジ」部分がぼけることをある程度防ぐことができます。
実際にレンダリング結果にバイラテラルフィルタを適用する方法を解説します。
Compositing Editor内の編集タイプが「Compositing」モードであることを確認し(三つ並んだボタンの一番右が選択状態)、「Use Node」にチェックを入れます。

次に「Add -> Filter -> Bilateral Blur」からバイラテラルブラーのノードを追加します。
Render LayersのImage出力をBilateral BlurノードのImage入力に繋ぎ、Bilateral BlurのImage出力をCompositingのImage入力に繋いで完成です。
Bilateral Blurノードの説明です
・Iteration : フィルタを何回適用するか
・Color Sigma : 値が小さいほど近い色同士でしか ぼけなくなります
・Space Sigma : 値が小さいほど近い距離同士でしか ぼけなくなります
適用例です。
左:適用前、右:適用後


拡大図

オブジェクトの輪郭などのエッジを保持しつつ、ノイズを減らしていることが分かります。
- 関連記事
-
- クロマキー合成01 (2012/09/01)
- グレア効果の追加 (2012/04/14)
- クロマキー合成02 (2012/09/04)
- バイラテラルフィルタによるノイズ低減 (2012/05/21)