Houdini 19.5 Solaris Karmaユーザガイド

Karmaユーザガイド ノイズの軽減

On this page

概要

最初のレンダリング、すべてのサンプルを1に設定。
最終レンダリング、適切なサンプリング。

この章では、Karmaでノイズを軽減するための戦略とワークフローを紹介します。 それはサンプリングの概念を応用しています。 この章では、AutomaticとPath Tracedの両方の収束モードについて説明します。

ノイズの特定

レンダリングにノイズが多い時、最初にすべき事はそのノイズの原因の特定です。 レンダリングで目視できるノイズには、多くの要因が絡んでいるため、そのノイズの原因を特定するのは困難です。 AOV(Render Var)を追加すれば、様々なサンプルを検査してそのノイズの原因を特定することができます。

Karma Render Propertiesには、 Optimization AOVs という名前のクイックセットアップがあります。 このセットアップを適用すると、ノイズの原因を特定する際に役立つ様々なAOVが追加されます。

これらのAOVを追加すれば、レンダリングを検査し、目に見えるノイズの原因になっている光線タイプを特定することができます。

Note

AOVを単独で見ると、ビューティー画像から想定していたものよりもずっとノイズが多いように見えることでしょう。 様々なパスを分けて見るのは効果的ですが、その分離した状態で完璧にクリーンに見えている必要はありません。 ほとんどの場合、目指すのはクリーンなビューティー画像であるため、個々のAOVのノイズは問題になりません。

自動ノイズの調整

Karmaは、特定のタイプのノイズを対象とするコントロールを多数備えています。 以下の方法に従うと、複雑さが緩和され、レンダリングをクリーンアップする過程でオーバーサンプリングが生じるのを防ぐことができます。

  • 適切なサンプル設定を見つけられるようにするには、Karmaのサンプリング設定を最初にすべて1に設定すると効果的です。

  • プライマリサンプルから構築し、Karmaのサンプリングについて理解を深めていくと効果的です。

  • 様々な値の組み合わせを時間をかけて試した後、すべてをデフォルトにリセットし、何が変わったかを確認することも有効です。

プライマリサンプル

最初のステップは、プライマリサンプルを正しく設定することです。 ピクセルサンプルは、ジオメトリの品質や、レンダリング中にKarmaが実行するその他すべてのサンプリングに影響します。 セカンダリサンプルにはピクセルサンプルが乗算されるため、 Min/Max Secondary Samples を1に設定することで、後で調整にかかる時間を短縮することができます。 これにより、Karmaが既に行なっているプライマリサンプリングに基づいて、後処理用のプライマリサンプルコントロールをすべて構築することができます。

通常は、ビューティーパスを見るだけで、より多数のピクセルサンプルが必要な箇所を判断することができます。 ビューティーパスのアルファチャネルも役に立ちますが、Cryptomatte AOVは、サンプリング不足のプリミティブエッジを特定できるのでさらに便利です。 (ビューティー、アルファ、またはCryptomatte平面で)次のどれかの特徴が粗かったりノイズが多い場合は、目的の品質になるまでプライマリサンプルを増やしてください。

  • ノイズが多いヘアーまたはファー(BasisCurves)、エイリアシングがかかったジオメトリのエッジ。

  • ピクセル化されている、または、ノイズが多いように見えるカーブの束。

  • ノイズの多いモーションブラー、または、エイリアシングがかかった被写界深度。

pixelsamples AOVによる検査は、プライマリサンプルを増やしても品質が向上しない場合に役立ちます。 これは、被写界深度(DOF)やモーションブラーの品質の影響を大きく受けるレンダリングで発生しやすいです。 実際のピクセルサンプル数がPrimary Samplesパラメータで設定した値に達していない場合、Pixel Oracleが十分なピクセルサンプリングを妨げていると考えられます。 Pixel OracleのVariance Thresholdを下げて、送られるピクセルサンプルが増えるかどうかを確認してください。 増えない場合、続けてプライマリサンプルを増やすか、または、均一なPixel Oracleに切り替えると良いでしょう。

Tip

モーションブラーが非常に多い領域で、モーションブラーノイズのように見えるものが、実際にはセカンダリサンプルであるという場合があります。 ピクセルサンプルが正しい場合でも、他のセカンダリサンプルAOVを時折チェックする必要があります。

セカンダリサンプル

適切なプライマリサンプルが得られたら、次はセカンダリサンプルからノイズを減らします。 Min/Max Secondary Samples パラメータは、 すべての 直接および間接光線の品質に同時に影響します。 サンプルを増やすと、直接AOVおよび間接AOVのすべてでノイズが減少します。

Min/Max Secondary Samples

様々な最適化AOVを調査した後、ノイズがかなり均一である場合には、 Max Secondary Samples を2または3に増やします。 これにより、画像内のセカンダリノイズが減少し始めることでしょう。

サンプルが足りないように見える領域がある場合は、品質スライダを調整する前に、 Secondary Samples Noise Level0.005などの値に減らしてみてください。 このセカンダリノイズレベルは、色設定、モニターのキャリブレーション、プリファレンスなど、多数の要因に大きく依存しています。 セカンダリノイズレベルを適切にすると、全体のレンダリング時間はなるべく増やさないようにしながら、目立つノイズをターゲットにすることができます。

間接サンプル品質

Indirect Samples Quality コントロールを使用すると、特定の光線タイプをターゲットにして、最後に少し残ったノイズを取り除くことができます。 以下のAOVは、それぞれの品質コントロールに呼応しています:

コントロール

AOV(Render Var)

Diffuse Quality

directdiffuseindirectdiffuseindirectemission

Reflection Quality

directglossyreflectionindirectglossyreflection

Refraction Quality

glossytransmission

Volume Quality

directvolumeindirectvolume

SSS Quality

sss

ビューティーレンダリングでノイズを調整する時は、上記のAOVを参考に使用します。 ライティングやその他の要因によって、他よりも目立つ光線タイプが出てくることでしょう。 AOV自体を完全に解決する必要がある場合を除き、ビューティーパスをクリーンアップすることに集中してください。

Light Sampling Quality

プライマリおよびセカンダリサンプルの調整をすべて行なった後も、ソフトシャドウがまだサンプリング不足の場合は、 Light Sampling Quality を使用すると、画像のそのような領域を改善することができます。

Light Sampling Quality: 1
Light Sampling Quality: 2
Light Sampling Quality: 3

デフォルトでは、Karmaはライトを1回だけサンプリングします。 Light Sampling Quality を増やすと、Karmaによるライトのサンプリング頻度が上がります。 シャドウの品質は、通常、ビューティーパスを見るだけではっきり分かります。 directdiffuse AOVは、シャドウ品質を個別に判断するのに役立ちます。

パストレースノイズの削減

基本的に、Path Traced収束モード(Karma XPUで使用できる唯一のモード)では、ピクセルサンプルを増やすことが、すべてのタイプのノイズを減らせる唯一の制御です。 シャドウを良くしたい時は Light Sampling Quality を上げますが、他の方法でノイズを減らすには、パストレースサンプルを増やす必要があります。

Karma CPUは、パストレース収束を使ったPixel Oracleに対応しています。 pixelsamples AOVを調べると、Pixel Oracleがピクセルサンプルを制限しているかどうかが分かります。 Variance Threshold を下げてノイズを減らすか、少なくともすべての光線が各ピクセルから実際に放出されていることを確認してください。

特定のプリミティブ上のノイズを解決する

プライマリおよびセカンダリサンプリングを調整した後も、ノイズの多いオブジェクトがレンダリングにしつこく残る場合があります。 このような状況に対処するため、Karmaはオブジェクト毎のレンダリングプロパティに対応しています。 これらのプロパティを使用すると、シーン内の 特定のオブジェクト のサンプリングを改善することができます。 ほとんどの場合、各オブジェクトプロパティがそれに呼応するグローバルプロパティと乗算されます。 グローバルプロパティをスケールしないプロパティは、そのオブジェクトのオーバーライドとして機能します(オブジェクト毎のMin/Max Secondary Samplesなど)。 ライトは、ライト毎の Sampling Quality プロパティを介して、グローバルなライトのサンプリング品質をスケールさせることができます。

球のReflection Quality
円柱のRefraction Quality
立方体のSSS Quality

Render Geometry Settings

オブジェクト毎のレンダリングプロパティを設定します。 このノードでは、primvars:karma:objectネームスペース内のすべてのKarmaプロパティが利用可能なはずです。

Light

ライト毎のレンダリングプロパティを設定します。 このノードでは、primvars:karma:lightネームスペース内のすべてのKarmaプロパティが利用可能なはずです。

Note

Primary SamplesとPath Traced Samplesは、オブジェクト毎に設定することが できません

デノイザ

デノイザは、レンダリングで最後に残ったノイズをクリーンアップします。 ただし、開始時に十分なサンプリングがないと、デノイザは重要なディテールを除去する結果になります。

Image Filters

画像がディスクに書き込まれる時、レンダリングを自動的にデノイズします。

Denoise COP

COPネットワーク内でOIDNまたはOptixデノイザを実行します。

idenoise

指定された画像をデノイズするコマンドラインユーティリティ。

Note

デノイズの際は、2倍の解像度でレンダリングしてデノイズすると効果的です。 これにより、ピクセルの合計数が 4倍 になるため、ピクセルサンプルも25% 減らす 必要があります。 このテクニックの詳細については、Rebelwayによる分かりやすい説明を参照してください。

Karmaには現在、特別な設定なしで完全に機能するIntelのOIDNが同梱されています。 NVidiaのOptix Denoiserにも対応していますが、このデノイザを機能させるには適切なGPUドライバが必要です。

Karmaユーザガイド

リファレンス