超雑訳 Dynamic Diffuse Global Illumination Resampling

こんねね~。
Pocolです。今日は,
[Majercik 2021] Zander Majercik, Thomas Muller, Alexander Keller, Derek Nowrouzezaharai, Morgan McGuire, “Dynamic Diffuse Global Illumination Resampling”, 2021.
を読んでみようと思います。
いつもながら誤字・誤訳があるかと思いますので,ご指摘頂ける場合は正しい翻訳と共に指摘して頂けると大変ありがたいです。



Abstract

インタラクティブなグローバルイルミネーションは、放射学的に,そして幾何学的に複雑なシーンにおける課題です。散乱は散乱事象ごとの方向分散が比較的小さいため、特殊なサンプリング戦略が鏡面散乱および鏡面散乱に近い輸送に効果的です。対照的に、複数の粗い光沢または拡散散乱事象からなる変換パスからの高い分散は、少ないサンプル数で解決するのが難しいことで知られています。我々は、スクリーン空間レゼバーリサンプリングとスパースワールド空間プローブを組み合わせることで、拡散散乱事象で終了する輸送寄与のサンプル効率を大幅に改善し、この問題に対処するために一方向パストレーシングを拡張しました。我々の実験では、純粋にパストレーシングしたベースラインや、純粋にプローブベースのベースラインと比較して、同じ時間、同じ品質で、明らかな改善を実証しています。さらに、汎用ノイズ除去器と組み合わせることで、複雑なシーンにおけるグローバルイルミネーションをインタラクティブにレンダリングすることができます。

1. Introduction

現代の物理ベースのプロダクションレンダラーは、主に一方向パストレーシングアルゴリズム[Bal18]の亜種に依存しており、このアルゴリズムでは、パスはカメラからトレースされ、エミッターに到達するまでシーンに散在します。幾何学的および放射学的な複雑性が高いシーンをパストレーシングすると、法外に多くのサンプルを取らない限り、高分散(つまり、ノイズが多い)画像になる可能性があります。これを軽減するために、重点サンプリング[VG95; OZ98; TCE05; BWP*20]やパスガイド[VHH*19]など、多くのモンテカルロ分散削減ベースのソリューションが提案されています。しかし、高度なサンプリング技術を導入しても、収束した画像を生成するためには、通常、ピクセルあたり数百のサンプルが必要であり、リアルタイムアプリケーションでは法外です。

 GPUレイトレーシングと効果的なノイズ除去における最近の改善により、複雑なシーンに対するパストレーシング性能が大幅に向上したとはいえ、リアルタイムのパストレーシング予算は、わずかな間接散乱事象(多くの場合、1つだけ)と、そこそこ複雑な照明しかないシーンに制限されたままです。そのため、インタラクティブなグラフィックス手法は、重点サンプリングに加えて、近似的なグローバルイルミネーション手法に頼らざるを得ません。そのような最近のアプローチの1つは、ワールド空間放射照度プローブと視認性を考慮した補間を組み合わせて、マルチバウンス間接照明(DDGI)を高速に近似するものです[MGNM19]。重要なのは、法線依存の放射照度は、法線方向のコサインプレフィルタされた放射照度[MMSM21]として解釈することもでき、ランバート拡散輸送と同様に粗い光沢の両方で使用することができます。ほとんどの近似解と同様に、これらの動的プローブは、ノイズのない高速な結果と引き換えに、計算される輸送の形でバイアスをもたらします。

 インタラクティブな間接照明のサンプリングとは対照的に、レイトレースされた方向照明のサンプル効率と接近可能なシーンの複雑さは、最近の時空間再サンプリングスキーム(ReSTIR)[BWP*20]によって大幅に改善されました。グラフィックスパイプラインでは,サンプリングに続いて,ノイズ除去を含むフルスクリーンの後処理が行われます[BRM*16; BB17; SKW*17; VRM*18; BVM*17; CKS*17; MMBJ17; XZW*19; HY21]。つまり、最新のリアルタイムサンプリングアルゴリズムのゴールは、完全に収束した画像ではなく、後処理後に、アプリケーションにとって許容できるほど収束した画像に近い、十分にノイズの少ない画像なのです。本研究では、下流のノイズ除去器を想定して、効率的なサンプリング問題に取り組みます。今日の汎用ノイズ除去器は、サンプリングノイズを隠蔽することが望ましいが、望ましくない様々な残留時間誤差を示すこともあります。従って、図1では、非収束ターゲットを検証するために、静止画像に対するノイズ除去の影響を示し、他のすべての結果では、本手法のノイズ除去前の出力を示します。

 我々は、時空間リサンプリング(確率的推定におけるサンプル効率の向上)と動的拡散証明体積(滑らかで補間しやすい輸送プロキシ)の利点を組み合わせた新しいリアルタイムグローバルイルミネーション法を紹介します。本手法は効率的であり、直接効果およびマルチバウンス間接効果を扱い、放射学的および幾何学的に複雑な設定に対してロバストです。DDGIとReSTIRを単純に組み合わせても(図8の “Primary DDGI “欄を参照)、プローブグリッドのアーティファクトを除去することも、それぞれのアーティファクト/ノイズ特性の不一致を解決することもできません: DDGIのノイズがなく偏りのある間接照明と、ReSTIRのノイズがあり偏りのない直接照明です。

 我々の手法は、DDGIとReSTIRのどのような組み合わせにも内在する性能と品質のトレードオフのバランスをとるために、原則的なアプローチをとっています。これは、純粋にパストレースされたもの、純粋にプローブベースのものに対する我々の分析とベンチマークで証明されています(Sec.5)。簡潔に言うと、我々の貢献は以下の通りです:

  • 各構成技術からの貢献の分類
  • これらの寄与に適用されたサンプリングに基づく方法の詳細な分析
  • 我々の分析によって動機づけられた、リサンプリングと大域輸送近似を組み合わせた対話型大域照明アルゴリズム

2. Background and Related Work

(Ir)radiance Caching.
最新のリアルタイムグローバルイルミネーションキャッシュのほとんどは、Wardの代表的な放射照度キャッシュ[WRC88]や、事前計算された光輸送に対する他の初期のアプローチ[Arv86; Hec90]にルーツを持っています。初期の研究は、静的な設定におけるリアルタイムレンダリングの厳しい制約に適応する事前計算された光輸送に焦点を当てましたが[Abr97; Oat05; ME10]、多くの最近の技術は、事前計算された放射輝度転送[SKS02]を介して動的な照明など、少なくとも部分的なダイナミクスを提供します。直交して、放射輝度キャッシング技術は、指向性領域を含むことによってランバート仮定を克服します[KGPB05]。今日、高品質な部分的ダイナミック技法の選択肢は膨大であるが[GS12; SL17; SSS*20; VPG14; SNRS12; RZD14; SJJ12]、我々の目標は、できるだけ制約の少ない完全なダイナミックグローバルイルミネーションです。

 この目的のために、我々はDDGIボリューム[MGNM19]をベースにしています。DDGIボリュームは、ハードウェア・レイトレーシングによってリアルタイムで更新される、方向分解された放射照度プローブの3Dグリッドで構成されています。重要なことは、DDGIはライトの漏れを防ぐための可視性情報を含んでおり、その方向依存性を再利用することによって、十分に粗い光沢輸送を近似することができます[MMSM21]。これらの特徴により、穏やかな修正(Sec.3)を加えれば、鏡面反射以外のほとんどの現象に対して、グローバルイルミネーションの合理的に汎用性の高い近似となります。二次パスの頂点でDDGIに問い合わせることにより、サンプリングノイズを犠牲にして、一次散乱相互作用のぼかし効果の背後にあるDDGIの限界(例えば、粗い空間離散化)を隠すために、最終的な収集と同様の戦略を採用します。次に、時空間リザーバーサンプリング[BWP*20]を適用することでサンプリングノイズに対処します。

 Müllerら[MRNK21]は、完全に動的なグローバルイルミネーションを近似するために、リアルタイムで訓練されたニューラルラディアンスキャッシュを使用しています。彼らは、ニューラルネットワークのアーティファクトを隠すために、後のパスの頂点でキャッシュを評価しますが、この論文とは異なり、特殊な重点サンプリングは採用していません。重要な点として、彼らの方法は我々の方法と互換性があり、将来の調査においてキャッシュを交換することが可能です。

Importance Sampling.
オフラインレンダリングでは、サンプリングノイズを減らすために重点サンプリングが主流です。サンプリング分布が光の分布に近ければ近いほど、ノイズは少なくなります[Vea97]。ハードウェア・レイトレーシングの出現により、確立されたテクニックをリアルタイム設定に適合させることは重要ではなくなりました[KVB*19]。

 キャッシング技術と同様に、時空間再利用は高品質な重点サンプリングの鍵であり、双方向技術[LW03; VG94; VG97; Kel97; GKDS12]、リサンプリングと突然変異戦略[TCE05; VG97; KSAC02; KMA*15; HKD14]、またニューラルネットワーク[MMR*19; ZZ19; KD19]やパスガイド[Jen95; LW95; VKS*14; MGN17; DK18]による学習された分布によって証明されています。残念なことに、ほとんどの再利用戦略には大きな性能ペナルティが付きまいます。つまり、困難な照明にはうまく対処できますが、単純な照明下では素朴な一方向のパストレーシングに負けてしまういます。このため、我々が目指すリアルタイム設定には適しません。パスガイドは一般的にオーバーヘッドが少ないため、プロダクションレンダリングに適しています[VHH*19]が、その基礎となるデータ構造をリアルタイムでアニメーションコンテンツに適応させることは、現在進行中の自明な作業ではありません[DHD20]。

 インポータンスリサンプリング[TCE05]と古典的な重み付きレゼバーサンプリング[Vit85; ES06; CHA82]の最近の組み合わせで、大量のサンプルを一定時間で再利用することができます。直接照明を推定するために、ReSTIRはシーン内の光源について多くの候補サンプルを生成し、それらの予測される寄与に比例して空間と時間にわたってそれらの候補をリサンプリングし、選択されたサンプル(複数可)の可視性を決定するためにシャドウレイをトレースします。このスキームは、単純なパストレーシングと比較してオーバーヘッドが無視できるだけでなく、動的コンテンツも優雅に処理します。

 対照的に、我々はReSTIRを、光源からの指向性照明とDDGIプローブ[MGNM19]に格納された間接照明、あるいは放射照度(拡散反射の場合)と角度フィルタリングされた放射照度[MMSM21](粗い光沢反射の場合)の合計を対象とすることにより、全球照明に適用します。これは、DDGIを光源として扱うことにより、全球照明問題を、低周波角度散乱の高分散の場合の純粋な直接照明問題に変換します。多重点サンプリング[VG95]とは対照的に、これは、発見的に組み合わされる複数のサンプルではなく、輸送された光の合計にほぼ比例する単一のサンプルを描くことを意味します。この結果、2つの共生レベルの再利用が行われることに注意してください:(i)直接光と間接光の両方に対するReSTIRによるスクリーン空間リサンプリングと、(ii)グローバル照明の時空間的集合体を含むワールド空間DDGIプローブ。

 Ouyangらの同時研究[OLK*21b]は、グローバルイルミネーションの時空間的リサンプリングのための代替メカニズムを提案しています:彼らは、仮想点光源の重点サンプリングに例えることができる、キャッシュではなく、単一サンプルのモンテカルロ推定でReSTIRをターゲットにしています。我々のアプローチと比較して、彼らのアプローチは、よりバイアスの少ない(オプションでアンバイアスな)レンダリングが可能ですが、ワールド空間の時空間再利用と、我々のケースではDDGIボリュームによって処理される早期のパス終了が欠けています。

 結果で示すように、ReSTIR、DDGI、パストレーシングの基本的な考え方を新しいサンプリング戦略に組み合わせることで、別々に計算されたReSTIR直接寄与、DDGI拡散/粗光沢間接寄与、パストレーシングされたニアスペキュラー寄与の結果をナイーブに合成するよりも、偏りが少なく、ノイズの少ない結果が得られます。

3. Algorithm

3.1. Notation and Original DDGI Algorithm

グローバルイルミネーションを用いた画像をリアルタイムでレンダリングするために、我々は放射輝度輸送を効率的にシミュレートすることに努めています。レンダリング方程式[Kaj86]は次のとおりです。

\begin{eqnarray}
L = L_e + T_f L \tag{1}
\end{eqnarray}

は光源によって放射された放射輝度\(L_e\)と輸送された放射輝度\(T_fL\)の合計として出射放射輝度\(L: {\mathbb R}^3 \times {\mathbb S}^2 \rightarrow {\mathbb R}^3\)を表します。ただし,\(T_f\)は2つの関数間をマップする高次演算です(Veach[Vea97]によって定義された記法に類似しています)。記号\(f\)は双方向散乱分布関数(BSDF)を表し、シーン内のサーフェイスがどのように放射輝度を輸送するかを記述します。我々の導出では、放射輝度輸送を次のように分割することが有用です。

\begin{eqnarray}
T_f = T_{f_d} + T_{f_g}
\end{eqnarray}

をディフューズ輸送\(T_{f_d}\)とグロッシー輸送\(T_{f_g}\)に分け、後者には小さなサーフェイスライフネスの特別な場合としてスペキュラー輸送が含まれます。
 この演算子表記を手にすると、動的拡散グローバルイルミネーション(DDGI)アルゴリズム[MGNM19]は

\begin{eqnarray}
L \approx L_e + T_{f_d} L_e + L_{{\rm DDGI}} + T_{f_g} L \tag{2}
\end{eqnarray}

ここで、\(L_{\rm {DDGI}} \approx \sum_{i=2}^{\infty} (T_{f_g})^i L_e\)は直接可視光源を含まない拡散輸送放射輝度の近似値です(\(i\)は2から始まります)。他の項はサンプリングによって推定されます。DDGI近似を式(2)に挿入し、等しいと仮定すると、高次のグロッシー輸送だけが欠落した、ほぼレンダリング式(1)になります。
 Majercikら[MMSM21]はDDGIを拡張し、スペキュラー反射の特殊な場合について、この欠落していた寄与を含めるようにしました。図3と図8の “Primary DDGI “列は、この拡張DDGIアルゴリズムの結果を示しています。パストレーシング[Kaj86]と比較すると、画像は滑らかで、ノイズは直接ディフューズ照明\(T_{f_d} L_e\)とグロッシー輸送\(T_{f_g} L\)のための再帰のサンプリングによるものだけです。しかし、\(L_{\rm {DDGI}}\)の放射照度プローブ近似は目に見えるアーティファクトを示し、その評価を二次パスの頂点に延期することで解決します。以下のセクションで新しいアルゴリズムを開発します。

3.2. DDGI Resampling Overview

DDGI近似はシーンサーフェイスのどの点でもクエリできるので、実際の光源だけでなく、シーン全体を光源とみなします。我々の新しいサンプリングアルゴリズムは以下のステップを実行します:

  1. シーンのすべてのサーフェイスで候補サンプルを生成します。この目的のために、エミッシブサーフェイス上の少数の位置を一様にサンプリングし、BSDFからサンプリングされた方向に二次光線をトレースすることにより、追加のサンプルを生成します。
  2. まずサンプルの寄与率に比例する重み付きレゼバーからサンプリングして候補を1つ選び、次に隣接するピクセル間で空間的にリサンプリングし、\(L_e + L_{\rm {DDGI}}\)の合計に比例して前のフレーム間でテンポラルにリサンプリングします。
  3. シャドウレイを1本、選択したサンプルポイントまでトレースします。
  4. 目に見える場合は、エミッシブ寄与\(L_e\)を使用し、DDGIボリュームからの寄与を加えて、そのサンプルポイントからシェーディングします。

オリジナルのReSTIRと同様に、我々の統一されたサンプリングスキームは、選択されたサンプルへの単一のレイのみをトレースします(図2参照)。
 しかし、元のDDGIボリュームは、式(2)に示すように、直接反射を伴わないディフューズ間接反射光のみを含むため、グロッシー寄与と同様に、これらを追加する必要があります。
 以下のセクションでは、DDGIボリュームの拡張と、分散を減らしパフォーマンスを向上させるためのアルゴリズム全体の最適化について説明します。セクション3.3とセクション3.4では、DDGIプローブボリュームへの二次直接照明とグロッシー照明の追加について議論します。セクション3.5では、バイアスを減らすためのボリュームクエリの変更について議論します。最後の2つのサブセクションでは、放射輝度積分における弱い特異点によって引き起こされる分散を最小化するための最適化(セクション3.6)と、リサンプリングステップのコストを削減するための最適化(セクション3.7)について説明します。

3.3. Augmenting the DDGI Approximation

セクション3.2で述べたように、DDGI近似は拡散間接放射輝度のみを含みます。二次頂点からのL_DDGIを一次頂点の半球上で積分すると、DDGI近似はディフューズ直接照明と非ディフューズ輸送からの放射輝度を欠いているため、暗すぎる画像になります。実際,これらの欠落している項をDDGI近似に加えると,輸送演算子の近似が回復します。

\begin{eqnarray}
L_{\rm {DDGI}} + T_{f_d} L_e + T_{f_g} L \approx T_{f_g} L + T_{f_g} L = T_f L \tag{3}
\end{eqnarray}

 再帰的パストレーシングによって欠落した項を追加することは、ノイズを増加させ、さらなるシェーディングとトレーシングのコストを伴います。
 その代わりに、DDGIが行う放射照度近似を検討することによって最も簡単に説明できる、2つのステップでDDGI近似を補強します。3D位置と2D法線ベクトルが与えられると、DDGIのプローブボリュームは間接ディフューズ反射からの放射照度を保存し、これは次のダブルバウンス輸送[MGNM19]を繰り返し評価することによって近似されます。

\begin{eqnarray}
E_{\rm {DDGI}}({\mathbf x}, {\mathbf n}) \approx \int (L_{\rm {DDGI}} + T_{f_d} L_e) (h ({\mathbf x}, \omega_i), – \omega_i) \langle {\mathbf n}, \omega_i \rangle d \omega_i, \\
L_{\rm {DDGI}} ({\mathbf x}, \omega_i) := \frac{ \rho({\mathbf x}) }{ \pi } E_{\rm {DDGI}}({\mathbf x}, {\mathbf n}) \tag{4}
\end{eqnarray}

ここで、\(h\)はレイトレーシング操作、\(\rho\)は拡散アルベドです。すべてのDDGIプローブの中心\({\mathbf x}\)でこの式のモンテカルロ推定を繰り返すと、前述の近似式に収束します。

\begin{eqnarray}
L_{\rm {DDGI}} \approx \sum_{i=2}^{\infty} (T_{f_d})^i L_e
\end{eqnarray}

直接反射と非ディフューズ輸送を含めるために、ダブルバウンス輸送をより単純なシングルバウンス再帰式に置き換えます。

\begin{eqnarray}
E_{\rm {DDGI}+} ({\mathbf x}, {\mathbf n}) \approx \int (L_{\rm {DDGI}+} + L_e) ( h({\mathbf x}, \omega_i), -\omega_i) \langle {\mathbf n}, \omega_i \rangle d \omega_i \tag{5}
\end{eqnarray}

ここで、\(L_e\)はもはや拡散相互作用を受けず、\(L_{\rm {DDGI}+}\)は次のセクションでグロッシー輸送を含むように適応されます。こうして近似は完全な輸送方程式に収束します。

\begin{eqnarray}
L_{\rm {DDGI}+} \approx T_f L
\end{eqnarray}

プローブ更新式(5)に直接照明(すなわち光源項\(L_e\))を含めると、プローブ中心がシェーディングするサーフェスよりも光源に近い場合、明るすぎる結果が得られます。これは、プローブベースのキャッシュでよくある問題で、サーフェスが本来よりも多くの(二次的な)直接照明を受けることになります。これを軽減するために、プローブによって既に計算された逆方向の平均視認性[MGNM19]を照会し(赤の破線)、その値をプローブの境界(ピンク)にクリッピングし、対応するプローブの更新光線(赤の実線矢印)の長さに追加することによって、サーフェイスまでの真の距離を近似します。更新レイはプローブごとにトレースされるため、プローブのウェイト計算を行わずに、テクスチャの読み取りだけで済みます。次に、\(L_e\)を減衰させるために、総距離の逆二乗、すなわち実線+破線を使用します。プローブ中心で計算された直接照明とは対照的に、このヒューリスティックは直接照明をわずかに過小評価します。そこで、シーンごとに減衰量を調整できるスライダーを用意し、バイアスの原因となる明るさの違いを補正できるようにしました。

3.4 Including Glossy Illumination

アルベド\(\rho\)を持つディフューズマテリアルからの反射光は、\(\frac{\rho({\mathbf x})}{\pi} E_{\rm {DDGI}+}({\mathbf x}, {\mathbf n})\)を参照することで安価に近似できることを思い出してください。
 Majercikら[MMSM21]は、法線\({\mathbf n}\)をスペキュラー反射方向\(\omega_r\)で置き換えることにより、放射照度近似がスペキュラー輸送を非常に粗く近似するために追加的に使用できるという観測を行っています。放射照度\(E_{\rm {DDGI}}({\mathbf x}, \omega_r)\)は、入射放射照度の(カーネルとして働く余弦項によって)プレフィルターされた粗い近似として再解釈することができます。(プレフィルターされた)放射輝度の単位を得るには、\(E_{\rm {DDGI}}({\mathbf x}, \omega_r)\)を\(2\pi\)で割る必要があります。図では、緑のローブは、入射放射輝度の余弦重み付けプレフィルタリングを視覚化し、赤い矢印は、\(E_{\rm {DDGI}}\)のクエリ方向を示しています。

 Majercikらはこの戦略をスペキュラー輸送だけに用いていますが、我々はモンテカルロ推定によって任意のグロッシーBSDF(我々の場合はマイクロファセットモデル)に一般化します。より具体的には、我々の拡張DDGIモデルによって反射放射輝度を近似します。

\begin{eqnarray}
L_{\rm {DDGI}+} ({\mathbf x}, \omega_o) = \underbrace{\frac{\rho({\mathbf x})}{\pi} E_{\rm {DDGI}+}({\mathbf x}, {\mathbf n} }_{\rm Diffuse} + \underbrace{ \frac{1}{2\pi} \int E_{\rm {DDGI}+}({\mathbf x}, \omega_i) f_g({\mathbf x}, \omega_o, \omega_i) \langle {\mathbf n}, \omega_i \rangle d\omega_i }_{\rm Glossy} \tag{6}
\end{eqnarray}

をディフューズ輸送とグロッシー輸送に分解し、グロッシーBSDF成分\(f_g\)に比例して引かれた1つのモンテカルロサンプルでグロッシー積分を推定します。

Specular recursion for shading.
我々は、アルゴリズムの3つの部分で、我々の輝度近似\(L_{\rm DDGI}+\)を使用します: (i)\(E_{\rm {DDGI}+}\)(5)の更新ルール、(ii)(\(L_e + L_{\rm {DDGI}+\))に比例した再サンプリング、(iii)シェーディング。後者の使用例であるシェーディングでは、(スペキュラー反射に近い)相互作用によって\(L_{\rm {DDGI}+}\)固有のバイアスが露出しすぎないよう、特別な注意が必要です。
 こうして、DDGIの視覚的アーティファクトをぼかすために、散乱のフットプリントが十分に広がるまで、シェーディングパスを再帰的にトレースします。この目的のために、Bekaertら[BSC*03]の等方的パスフットプリント近似に基づくMüllerら[MRNK21; MRKN20]の経路終了戦略を採用します。
 より具体的には、頂点\({\mathbf x}_1 \cdots {\mathbf x}_n\)を持つパスのフットプリントを次のように近似します。

\begin{eqnarray}
a({\mathbf x}_1 \cdots {\mathbf x}_n) = \left( \sum_{i=1}^{n-1} \sqrt{ \frac{ || {\mathbf x}_i – {\mathbf x}_{i+1} ||^2 }{ p_i (\omega_{{\rm i}, i} | {\mathbf x}_i, \omega_{{\rm o}, i}) \langle {\mathbf n}_{i+1}, – \omega_{{\rm i}, i} \rangle } } \right)^2 \tag{7}
\end{eqnarray}

ここで、\(p_i\)はi番目の頂点におけるBSDFサンプリング密度である。一次頂点では、\(p_1\)はBSDF f全体に比例するのに対し、\(p_i\); \(i \gt 1\)はBSDF \(f_g\) のグロッシー部分のみに比例します。これは、単に拡散部分がサンプリングされたときに再帰を早期に終了し、\(\frac{\rho({\mathbf x}_n)}{\pi} E_{\rm {DDGI}+}({\mathbf x}_n, {\mathbf n}_n)\)をクエリするからです。グロッシー部分がサンプリングされたら、出来るだけ早く\(a({\mathbf x}_1 \cdots {\mathbf x}_n) \gt a_0 \cdot c\)となるような式(6)のグロッシー積分を推定して再帰を終了します。ここで,

\begin{eqnarray}
a_0 := \frac{ 4\pi || {\mathbf x}_0 – {\mathbf x}_1||^2 }{ \langle {\mathbf n}_1, -\omega_{{\rm i}, i} \rangle } \tag{8}
\end{eqnarray}

は方向\({\omega_{{\rm i}, i}, {\mathbf x}_0\)に沿ってカメラで見た表面積の近似値(定数倍まで)、\(c\)はユーザーが選んだ閾値。詳細はBekaertら[BSC*03]とMüllerら[MRNK21; MRKN20]を参照してください。
 ノイズとバイアスのトレードオフを満足させるために、経験的に閾値\(c=0.2\)を設定しました。図4から、ラフなグロッシー面やディフューズ面には影響を与えずに、光沢度の高いサーフェイスのアーティファクトを低減できることが確認できます。

3.5. Correcting Self-shadow Bias

オリジナルのDDGIアルゴリズムは、\(L_{\rm DDGI}\)がクエリされる位置にオフセットを適用し、分散が大きいサーフェスで正確に可視性の重みを計算するのを避けます。このオフセットは “セルフシャドウ “バイアスと呼ばれ、クエリされたポイントでのビューと法線ベクトルの重み付けされた組み合わせとして計算されます。
 セルフシャドウバイアスは、オリジナルのプライマリ頂点DDGIアルゴリズムでは十分でしたが、間接的なサンプリング戦略で修正せずに使用すると、ライトリークのアーティファクトが発生しました(図5)。このようなアーティファクトは、鋭角から生じるような、ビューポイントとクエリポイント間の非常に短い距離から生じます。これらのアーティファクトに対処するために、サーフェイスの法線やビュー方向とは対照的に、ビューパスに沿ってクエリーポイントをバイアスします。オリジナルのセルフシャドウバイアスに対する我々のビューパスバイアスを使用した結果を図5に示します。

3.6 Taming the Weak Singularity in the Geometry Term

異なるシェーディング位置間で時空間リサンプリングを行うために、積分尺度の変更の一部としてジオメトリ項が導入されます。残念なことに、幾何学項の弱い特異性は、幾何学的な皺のリサンプリング手順において、境界のない分散を引き起こす可能性があります;図6(中)参照。

 典型的なパストレーシングアプリケーションでは、光源の一様多重点サンプリング [VG95] は、光源が陰になる表面に (ほとんど) 接触するときに分散を制限します。しかし、シーン全体が光源と見なされるこの例では、これは非現実的なソリューションです。オンラインで構築されたデータ構造に従って、すべての関連するシーンサーフェイスを不均一にサンプリングすることは可能かもしれませんが、その代わりに、多重点サンプリングを必要としないより簡単なアプローチを採用します。つまり、分散を限定するために被積分関数を分割します [KK06] 。被積分関数を分割するこの戦略は、キャッシュに依存しない決定である主頂点に近いリサンプリング点の問題を扱うので、一般に他のキャッシング技術に適用できます。
 プライマリ頂点に非常に近いサンプルに起因する弱い特異点を避けるため、計算されたジオメトリ項を最大定数値にクランプします。定数値\(G_{\rm max} = 1\)を使用することで、立体角の差分(\(d\omega\))は常に面積の差分(\(dA\))以下となり、テストシーンではうまく機能します。シーンのスケールが大きくなるにつれて、一定の\(G_{\rm max}\)は、積分のより小さい部分を束縛します。つまり、\(G_{\rm max}\)を一定に保つことは、スケール不変ではありません。シーンのスケールに合わせるために、\(G_{\rm max}\)をカメラで見たときの表面積に相対的にスケーリングすることができます(言い換えると、式8の\(a_0\)に比例します)。
\(\lceil T_f \rceil\)という表記は、有界ジオメトリ項を持つ輸送を表します。残留輸送は\(\lfloor T_f \rfloor\)と表記します。

\begin{eqnarray}
T_f = \lceil T_f \rceil + \lfloor T_f \rfloor
\end{eqnarray}

\(\lfloor T_f \rfloor\)は、セクション3.2で説明したサンプリングステップの補助的なBSDFサンプルによって評価されます。改善された分散を図6に示します。
要約すると、レンダリング方程式を近似する我々の新しいアルゴリズムは、以下の各項の別々の推定量を合計することになります。

\begin{eqnarray}
L \approx L_e + \underbrace{\lceil T_f \rceil (L_e + L_{{\rm DDGI}+})}_{{\rm bounded geometry term}} + \underbrace{\lfloor T_f \rfloor (L_e + L_{{\rm DDGI}+})}_{{\rm residual transport}} \tag{9}
\end{eqnarray}

ここで,

  • \(L_e\)cはプライマリー頂点において評価されます
  • \(\lfloor T_f \rfloor\)はBSDFの重点サンプリングにより評価されます
  • \(\lceil T_f \rceil\)は時空間レゼバーリサンプリングによって評価されます

3.7. Improved Performance by Caching DDGI Queries

 時空間再サンプリングステップの間、我々のアルゴリズムは多数のDDGIクエリーを必要とします:シェードされたピクセルへの各候補の寄与に対して1つ、我々の実装では、1ピクセルあたり1つの時間的候補と3つの空間的候補に相当します。図では、中心頂点\({\mathbf x}_1\)でのシェーディングのための2つの空間候補\({\mathbf y}_2\)と\({\mathbf y}_3\)だけのリサンプリング量のより単純なケースを描いています。各候補について、中心頂点への寄与度\(L_{\rm {DDGI}+}({\mathbf y}_i, {\mathbf y}_i \rightarrow {\mathbf x}_1)\)を問い合わせなければなりません。ここで、\({\mathbf y} \rightarrow {\mathbf x}\)は\({\mathbf y}\)から\({\mathbf x}\) (破線の矢印) を指す方向ベクトルです。
 これらの#vertices x #candidatesクエリは、#vertices値\(L_{{\rm DDGI}+}({\mathbf y}_i, {\mathbf y}_i \rightarrow {\mathbf x}_i)\)で近似することで回避することができます。これにより、#候補クエリを1ファクター節約できます。重要なことは,リサンプリングステップで近似値を使用することで,レンダリング画像に追加のバイアスを導入しないことです。なぜかというと,初期サンプル生成にBSDFサンプルを含むので,放射輝度を反射するすべての方向に対して正の確率密度が保証されるからです.この結果、ノイズは追加されますが、リサンプリングなしでDDGI+近似を使用した場合と比較して、バイアスは追加されません。
 それにもかかわらず、3つの原因を考慮することによって、この近似の誤差を分析します:

  1. シーンとDDGIボリュームはフレームごとに変化する可能性があり,
  2. シェーディングの位置\({\mathbf x}\)が異なり,
  3. そしてビューパスバイアス(Sec.3.5)は経路の接頭辞に依存します。

 しかし、我々の手法の前提である、局所的なピクセル近傍、ディフューズに近い散乱、短いフレーム時間を適用すれば、それぞれの散乱は小さくなります。そのため、近似誤差は実際には合理的に小さくなり(図7参照)、すべての結果でこの最適化を使用しています。


 

4. Results

我々は、Falcorレンダリングフレームワーク[BYC*20]を使用して、Direct3D 12でDDGIリサンプリングを実装しました。すべての結果は、Intel i7-6800K CPUとNVIDIA RTX 3090 GPUを搭載したハイエンドデスクトップマシン上で生成されました。
 我々のDDGIの構成はMajercikら[MGNM19; MMSM21]に従っています:放射照度は8×8の八面体表現でプローブごとに保存され、プローブ中心からの球面レイキャスト(256本/プローブ)でフレームごとに更新されます。各プローブには、距離と距離の2乗(16×16八面体)のフィルタリングされた平均値も保存され、チェビシェフ統計検定を使用してプローブの可視性の概算を計算するために使用されます。ボリューム内の任意の点および方向における放射照度クエリへのプローブの寄与は、プローブの可視性の重み付け、バックフェイスの重み付け、およびトリリニアフィルタリングを組み合わせて重み付けされます。我々のシーンでは、16x8x16のプローブがシーンのバウンディングボックスに均等に広がるグリッドを使用した。
 図8は、1ピクセルあたり1サンプルで5つの異なるレンダリング手法のビジュアル、レンダリング時間、平均絶対パーセンテージエラー(MAPE)を比較した結果をまとめたものです。MAPEは\(\frac{1}{N} \sum_{i=1}^N | v_i – {\hat v}_i| ({\hat v}_i + \epsilon)\)として定義され、\({\hat v}_i\)は参照画像の\(i\)番目のピクセルの値、\(v_i\)はi番目のレンダリングされたピクセルの値、\(\epsilon=0.01\)は黒に近いピクセルがメトリックを支配するのを防ぎます。

 すべてのレンダリング技法は、ReSTIR [BWP*20]を使用して主頂点の直接照明を推定するアンバイアスなパストレーサーに基づいています。

  1. PT + ReSTIR: 前述のベースライン・パス・トレーサー
  2. Primary DDGI: パスのプライマリ頂点で間接照明を近似するオリジナルのDDGIアルゴリズム[MGNM19; MMSM21]。
  3. Secondary DDGI: 我々の拡張DDGIアルゴリズムは、パスの二次頂点でグローバルイルミネーションを近似します(セクション3.3-3.5)。近スペクトル輸送は再帰的に追跡されます。
  4. +DDGI in ReSTIR: 以前と同じであるが、DDGI近似がReSTIRアルゴリズムに含まれています(セクション3.2)。拡散弱特異点は別途サンプリングされます(セクション3.6)。
  5. +Denoising: 以前と同じだが、OptiXディノージングを使用します。

予想通り、DDGIアルゴリズム[MGNM19; MMSM21]は、最も性能が高くノイズが少ないです(「プライマリDDGI」列)。しかし、フラットな陰影(例:ギリシャの邸宅)、アンビエントオクルージョンの欠如(例:ピンクの部屋)、ライトリーク(例:リビングルーム)のような重要なビジュアルアーティファクトも示しています。もう一方の極端な例として、バイアスのかかっていないパストレーサーは、非常に正確な結果を生成しますが、直接照明にReSTIR [BWP*20] を使用した場合でも、グローバルに照明されたシーンでノイズが収束するのに長い時間を必要とします(”PT + ReSTIR “列)。
 我々が提案したDDGIプローブの間接的使用は、プローブが完全な輸送のエネルギー(セクション3.3および3.4)を含むならば、DDGIプローブの不正確さが最初の散乱事象の背後に隠れているので、バイアスをほとんど導入せずにノイズを低減します。さらに、パスがDDGIプローブ内で早期に終端されるため、パフォーマンスが向上します。リサンプリング工程においてDDGIプローブによってインジェクションされた間接照明を組み込むことにより、さらにノイズが低減されます (「ReSTIRにおけるDDGI」列) 。全体的にノイズが少なくなったため、OptiXデノイザーを追加すると、コストは平均1.5~2倍になりますが、元のDDGIアルゴリズムよりも視覚的に美しい画像が得られます。
 また、外壁が平面で構成され、外部からの強い太陽光を受ける失敗事例 (LIVING ROOM) を示します。この困難なシーンでは、セカンダリDDGIクエリはDDGIのライトリークのアーティファクト (赤のインセット) を隠すことができず、BSDF重点サンプリング (“セカンダリDDGI”列) はReSTIRサンプリングよりもわずかに優れています。このことは、DDGIの薄肉形状に対する耐性を高めるとともに、候補生成戦略によってReSTIRの性能が上回る状況を理解するために、さらなる研究が必要であることを示しています。

Quantitative evaluation.
二次パスの頂点でDDGIを使用することによる収束の改善を測るために(リサンプリングの有無にかかわらず)、すべてのノイズの多い手法が等しい誤差に達するまでの時間を表1に示します。リビングルームを除くすべてのシーンで、DDGIリサンプリングが最も速く収束し、いくつかのシーンでは、レンダリングコストがわずかに増加することを考慮しても、かなりのマージンがあります。

このコストをよりよく理解するために、表2でコンポーネントごとに分類します。予想されるように、DDGIへの終端パスは、シェーディングステップ中にDDGIをクエリする追加コストと、フレームごとにDDGIボリュームを更新するコストを考慮しても、パスが短いため、レイトレーシングのコストを削減します。しかし、意外かもしれませんが、リサンプリングは、以前のDDGIクエリ(秒。3.7)のキャッシュのおかげで、DDGIを組み込むことによって、わずかにコストが高くなります (平均1.7ミリ秒) 。DDGIリサンプリングの残りのオーバーヘッドは、(近い) スペキュラーパスサフィックスのトレースとシェーディングで発生します。これは、ピクセルごとに2回実行する必要があります。\(\lfloor T_f \rfloor\)を推定するBSDFサンプルに対して1回、\(\lceil T_f \rceil\)を推定するリサンプル頂点に対して1回です(セクション3.6)。

5. Discussion and Future Work

以下の議論は、性能とノイズ改善する可能性のある将来的な手段に焦点を当てたものです。

Subsampling.
残りのリサンプリングコストを削減するために、新しい候補の生成をサブサンプリングすることが実行可能な場合があります:例えば、\(n\)番目のピクセルごとにのみ、BSDFとライトから新しいサンプルを生成することができます。他のすべてのピクセルは、時空間的に隣接するピクセル間でリサンプリングするだけである。この戦略は我々の研究とは直交しており、全てのReSTIRタイプのアルゴリズムに有益であるため、我々の手法には含めませんでした。しかし、将来的には詳細な分析が必要だと考えています。

Alternative Caching Strategies.
我々はDDGIの特定の使用に焦点を当てましたが、最近のneural radiance caching[MRNK21]のような他のキャッシング戦略も、ReSTIRによる重点サンプリングから同様に恩恵を受けることができると信じています。他の例として、Ouyangら[OLK*21b]の同時研究があり、彼らはReSTIRを、事実上、空間方向のポイントライトの集まりであるキャッシュに適用しています。彼らのアプローチは、ノイズ、バイアス、パフォーマンスをトレードオフするパレートフロント上の異なるポイントを表しています。それは、より長いパスをトレースする代償として、より低いバイアス(さらにはバイアスなし)を持ち、余分なノイズをもたらすものです。

5.1. Alternative Variance Reduction Strategies

リアルタイムレンダリングでは、トレースするレイの予算が限られているため、分散の少ないサンプリングが鍵となる。この文脈で、我々はまた、制御変分としてDDGIを利用することの効率と、リサンプリングの代わりにパスガイドに利用することの効率を分析しました。両アプローチは、全体的に、提示されたDDGIリサンプリングよりも効率的ではありませんでしたが、それでも、将来のアルゴリズムがそれらを基に構築されることを期待して、それらを記述します。

DDGI as Control Variate.
単純なオクルージョンがあるシーンでは、元のDDGIデータ構造により、バイアスが低く、ノイズのない結果が得られます。これは、結果として生じる低いバイアスが視覚的に目立たない場合でもノイズを導入する、新しいリサンプリングよりも望ましい場合があります。これに対処するために、拡散輸送の制御変数として一次ヒットポイント放射照度\(E_{{\rm DDGI}+}\)を使用することにより解を拡張することを検討しました。つまり、一次頂点での\(\frac{\rho}{\pi} E_{{\rm DDGI}+}\)が正しい間接照明をもたらすと仮定し、残りの非拡散輸送に加え、(簡潔にするために定数を無視して)二次頂点での(\(L_{{\rm DDGI}+} + L_E\))と、最後のフレームのレンダリング中にトレースされたもののうち、空間方向に最も近いDDGI更新レイとの差の絶対値に比例してリサンプリングしました。これは、DDGI更新レイを時空間方向に区分定数制御変量として使用し、その平均である\(E_{{\rm DDGI}+}\)を厳密積分として使用することに相当します。
 シェーディングを行う場合、次に([MGNM19]で説明されているように)プライマリ頂点にDDGIを適用し、セカンダリ頂点での\(L_e + L_{{\rm DDGI}+}\)と最も近いDDGI更新レイとの差(絶対値ではない)を加えます。シェーディングのステップでこの差を加えると、負の放射輝度値が生じる可能性があり、これは黒いピクセルの原因となる負のファイアフライとして頻繁に現れます。そうでなければ、プライマリ頂点における\(L_{{\rm DDGI}+}\)の値は制御変量の正確な積分にならないので、我々はDDGI制御変量のための時空間プローブ補間を省略しました。
 図9はその結果です。このアルゴリズムは普通のDDGIリサンプリングと同じ(偏った)解に収束しますが、ピクセルあたり1サンプルで、制御変量は素朴なReSTIR + DDGIの組み合わせと同様のライトリークを露呈します。同時に、ノイズレベルは、より目立たないライトリークを生成するプレーンDDGIリサンプリングと比較して改善されません。
 DDGIを制御変量として使用することは、いくつかの設定では有益かもしれませんが、一般的には、十分な効率はないようであり、今後の研究の余地が残されている。

DDGI for Path Guiding.
DDGIのデータ構造に基づけば、放射輝度がどこから来るのかにレイを導くのは簡単です。空間内の位置が与えられれば、最も近いDDGIプローブに問い合わせ、そのプローブの更新レイの結果から累積分布関数(CDF)を構築し、ガイド方向をサンプリングすることができます。プローブレイの結果は保存されますが、CDFの構築とそこからのサンプリングは、我々のアルゴリズムの全体的な効率を高めるには遅すぎました。
 さらに、\(L_{{\rm DDGI}+}\)を使用してPDFを正規化し、不偏の方法でガイド方向をサンプリングするには、DDGIボリュームに対して、コントロール変量に対して行ったのと同じ修正を行う必要があります。これらは、ボリュームの安定性を低下させ、パスガイドの効果を低下させます。代替案としては、効率的な経路案内データ構造[VHH*19]をGPUに移植することです。

Combining Primary and Secondary DDGI.
分散相互作用の背後にあるDDGIのバイアスを隠すことに焦点を当てたとしても、DDGIのバイアスがそもそも非常に低く、二次的なクエリによって引き起こされる余分なノイズを保証しない状況があります。図8のRED BALLシーンのオレンジ色の挿入図を参照してください。このような状況を検出するための自動メカニズムを設計し、それに応じてプライマリおよびセカンダリDDGIクエリを選択することは、おそらく有効です。

Neural Denoising.
近年、ニューラルネットワークをノイズ除去に応用する研究が盛んに行われています[MZV*20; FWHB21; HMS*20; MH20]。我々の研究は特にノイズ除去よりもサンプル生成に焦点を当てていますが、多くのニューラルデノイジングアプローチは我々のリサンプリング手法と直接互換性がある。さらに、ニューラルネットワークは、初期サンプルを選択するためのシーンまたはビューに依存する確率分布を学習するために使用することができ、ノイズ除去と協調して我々の作業のサンプル効率をさらに向上させます。

Path Space Filtering.
最後に、スクリーン空間ノイズ除去の代わりに、パス空間フィルタリングによる時空間再利用を追加することが有益であると考えます。ReSTIRはサンプリング確率の時空間フィルタリングに相当し、DDGIは二次頂点における放射輝度の時空間フィルタリングに相当しますが、パス空間フィルタリングは一次頂点における放射輝度の付加的な時空間フィルタリングを提供します。最近のハッシュベースの実装[BFK22]は、最新のGPUでほとんどオーバーヘッドなく実行できます。

5.2. Limitations

我々のアプローチの限界は、その構成要素から受け継がれている部分が大きい: ReSTIRとDDGIです。ReSTIRはスクリーン空間技術であり、その再利用能力は、利用可能な動きベクトル、遅いカメラの動き、および透明度に大きく依存します。これらの欠点はワールド空間表現[JBW21]に移行することで軽減できますが、もう1つの限界が残る:リサンプリングにより、サンプルは時空間的に相関するようになり、これは最新のノイズ除去器が利用できる情報の総量を減少させます。ReSTIRサンプルの存在下で効果的なノイズ除去を行うには、まだ時間がかかります。
 DDGIによって引き起こされる制限は2つあります。第一に、グリッドベースであるため、DDGIは、カメラが小さな領域にしか焦点を合わせないような広大なシーンには容易にスケールしません。そして第二に、DDGIは、複雑なコースティクス、影、アンビエントオクルージョン、または近スペキュラー反射のような微細な空間方向のディテールを解決することができません。DDGIが、十分に拡散した一次散乱相互作用の後、または十分に多くの二次相互作用を受けた後にクエリされる場合、これらの制限はある程度隠蔽されますが、より正確なキャッシュ[MRNK21]を使用することで、より高い品質を達成することができます。

6. Conclusion

DDGI [MMSM 20] とReSTIR [BWP] を組み合わせたが、一見すると直交しているように見えます。DDGIは間接照明とReSTIR直接照明をレンダリングします。しかし、見かけは欺瞞的であり、DDGIアルゴリズムの小さな変更-一次パス頂点ではなく二次パス頂点でのプルーブボリュームのクエリ-は、2つのアプローチをその構成部分よりもはるかに優れたパフォーマンスのアルゴリズムに統合します。2番目の頂点でDDGIを照会することで、シーン全体の光源として機能し、グローバルイルミネーションの問題を、ReSTIRが全体的に攻撃できるはるかに単純な直接イルミネーションの問題に効果的に変換します。この観察は、90年以降のレンダリングアルゴリズムに影響を与えた一般的なものであり、この方向の将来の研究に興奮させてくれます。
 定量的には、組み合わせたアルゴリズムは、先行する2つの作品のいずれよりも約60%コストが高いですが、低ノイズとバイアスの点でそのコストを補います。等しい誤差を1桁以上早く達成します。ノイズ除去と合わせて、ダイナミックシーンにおけるグローバルイルミネーションのリアルタイムレンダリングが実現可能です。

Acknowledgements

この仕事をサポートしてくれたDavid LuebkeとAaron Lefohnに感謝したい。また、Falcor[BYC*20]の初期コードベースを提供してくれたBenedikt BitterliとChris Wyman、多くの初期のアイデアと有意義な議論を提供してくれたChris WymanとPeter Shirley、記事の校正と多くの貴重なコメントをくれたNikolaus BinderとChristoph Schiedに感謝します。ピンクの部屋のシーンはWg42の 「The Modern Living Room 」を、リビングルームのシーンはJay-Artistの 「The White Room 」を参考にした。ギリシャの別荘はholy_diverさんの 「3D Greek Villa 」を参考にしました。

References