超雑訳 Particle Transport and Image Synthesis

こんるる~。Pocolです。
今日は…
[Arvo 1990] James Arvo, David Kirk, “Particle Transport and Image Synthesis”, SIGGRAPH ’90: Proceedings of the 17th annual conference on Computer graphics and interactive techniques, Vol.24, No.4, pp.63-66, 1990.
を読んでみようと思います。
いつもながら誤字・誤訳があるかと思いますので,ご指摘頂ける場合は正しい翻訳例と共に指摘して頂けるとありがたいです。

Abstract

レンダリング方程式は、物理学や原子力工学で広く研究されている線形ボルツマン方程式に似ています。その結果、これらの分野で開発された強力なテクニックの多くは、画像合成の問題にも応用できます。本論文では、中性子輸送でよく使われるいくつかの統計的手法を確率的レイトレーシング、さらに一般的にはレンダリング方程式のモンテカルロ解法に適用します。まず、統計的バイアスを導入することなくレイの再帰的追跡を終了させるために使用できるロシアンルーレットとして知られる技法について述べます。また、古典的なレイトレーシングにおけるレイツリーの作成方法について、スプリッティングとして知られる粒子輸送におけるよく知られた手法に照らして検討します。我々は、レイツリーも、[10]で説明されているパスも、それ自体では最適なサンプリング計画にはならず、ハイブリッドがより効率的であることを示します。

1 Introduction

レンダリング方程式[10]は、現在のすべての画像合成技術を近似の方法とみなすことができる枠組みを提供します。ラジオシティ[7]もレイトレーシング[18]も近似の例であり、合理的な解法を得るために様々な光学現象を無視しているからです。Kajiyaによって導入された代替案は、中性子輸送問題用に開発されたものと同様のモンテカルロ法によってレンダリング方程式を直接解くことです。このような手法には長い歴史があり、50年代からレンダリング方程式と本質的に同じ形式の積分方程式に適用されてきました[1]。
 Kajiyaは、鏡面反射と拡散反射の両方を含むシーンのレンダリング方程式を解くことに成功し、画像合成におけるこのアプローチの実現可能性を実証しました。この方法で達成可能なリアリズムのレベルは非常に高いですが、モンテカルロ法の収束が遅いため、コストが高くつく可能性があります。他のより効率的なアプローチも考案されていますが[16, 17],特定の光輸送モードを犠牲にすることなく確率的近似の必要性を完全に排除したものはありません。
 関連する統計的アプローチがレイトレーシングに適用されています。Cookら[4]は、分散レイトレーシングと呼ばれる確率的サンプリング技法について述べており、アンチエイリアシングだけでなく、モーションブラー、半影、被写界深度、ファジー反射などの効果をシミュレートする手段を提供しています。その中心的な考え方は、時間的・空間的に変化する環境の特徴を確率的にサンプリングして、最終画像への寄与を推定するというものです。これらのパラダイムはいずれも、他の分野で粒子輸送問題に適用されているモンテカルロ法と共通点が多いです。

2 Particle Transport

粒子輸送問題の分野は、理想化された粒子の分布を、粒子の運動と媒体との相互作用を考慮して特徴付けようとする問題から構成されます [5, 12, 19]。このような問題は、原子力工学では中性子輸送[15]、熱伝導では光子輸送[13]、半導体デバイスのシミュレーションではキャリア輸送[6]として現れます。これらの輸送過程を支配する方程式の多くは、最終的には気体の運動論から生まれたボルツマン方程式に由来します。最も単純な形として、線形ボルツマン方程式は次のように書くことができます。

\begin{eqnarray}
\Phi(P) = S(P) + \int_{\Omega} K(P’ \rightarrow P) \Phi(P’) dP’ \tag{1}
\end{eqnarray}

ここで、\(P\)は粒子の位置、方向、エネルギーを表し、\(\Phi(P)\)は\(P’\)から\(P\)に散乱された寄与と同様に源\(S\)からの放射による\(P\)での放射密度です[11]。関数\(K\)は散乱カーネルとして知られ、積分の領域\(\Omega\)にはすべての位置、方向、エネルギーが含まれます。これは、最も些細な問題例を除いて、解析的に解くことが難しい方程式として有名です[2, 5]。これは、本質的に線形ボルツマン方程式の変形であるレンダリング方程式にも当てはまります。主な違いは、散乱カーネルが、オクルージョンと逆2乗減衰を考慮するジオメトリ項\(g\)と、引数がサーフェイス点である3変数散乱項\(\rho\)として言い換えられることです([10]を参照)。後者は、入射と反射の方向を、反射点に対する入力位置と出力位置を通して暗黙的にエンコードします。レンダリング方程式が線形ボルツマン方程式に類似していることから、他の粒子輸送問題で開発された強力なテクニックの多くが、画像合成の問題に適用できることが示唆されます。
 レンダリング方程式は、原子力工学のような分野の輸送方程式よりも扱いやすい面がいくつかあることに注意してください。

1) 粒子(すなわち光子)は互いに影響し合うことも、環境を変化させることも、電荷を帯びることも、核分裂によって複製されることもありません。したがって、散乱は外力だけでなく\(\Phi\)からも独立しており、方程式を線形にします。
2) 関与媒質がない場合、衝突はサーフェイスでのみ起こります。したがって、粒子の平均自由行程は比較的大きくなる。
3) 我々が求めるのは定常解であり、平衡に至る途中の過渡的な分布ではありません。

これらの特性は、サーフェイスに関連する双方向の反射率関数で構成される散乱カーネルの比較的単純な形式に大きく現れています。散乱イベントごとに新しい粒子方向を確率的に決定した後、ランダムウォークに沿った次の衝突サイトが完全に決定されるため、確率的な距離計算が不要になります。しかし、この輸送過程が他の分野で通常遭遇するよりも難しくなっている点が2つあります。
 第一に、シミュレートされる環境の形状は任意に複雑になりうる。原子炉の炉心や半導体デバイスのシミュレーションでは、かなり制約のある形状が有利に働き、格子、円柱、スラブなどの特殊な特性を利用することができます。[12]、コンピュータグラフィックスのトレンドは、より複雑なシーンへと向かっています。これは、数十億の幾何学的プリミティブを含む最近の研究[14]に例証されています。これは、時間依存のシーン形状によってさらに複雑になる可能性があります。結果として生じるモーションブラーのシミュレーションには、中間的なシーン構成における定常状態の解を時間平均する必要があります。
 第二に、画像合成で問題となるのは、「ピクセル」に相当する小さな開口部を通して「観測点」という一点に入射する照明の強度を計算することです。同様の状況は、点放射線検出器をシミュレートする原子炉の遮蔽問題でも発生します[3]。このような問題は、体積にわたる光束の平均を扱う典型的な問題よりも本質的に解決が困難です。
 粒子輸送における多くの重要な問題は、解析的な解を認めず、また、それらが作用する位相空間の次元が高いため(例えば、3つの空間次元、2つの方向次元、およびエネルギー次元)、数値積分によって解くには法外なコストがかかることです。この種の問題を解くための唯一の手段は、散乱確率として表現される所定の運動法則に従う多数の粒子の挙動を追跡するモンテカルロ法であると思われます。各粒子は衝突事象散乱事象の連続を受け、それぞれの衝突地点で確率的にその軌道を変化させ、粒子の履歴に寄与します。各粒子の履歴,あるいはランダムウォークは、平均的なケースの挙動を統計的に推定するものとして使用されます。レイトレーシングは衝突点を計算するメカニズムであり、確率的レイパス[10]は粒子の結果として生じるランダムウォークです。レンダリング方程式は、粒子輸送の観点から画像合成を見ることを可能にするリンクを提供します。この関連を通じて、画像合成技術の特徴と限界について有益な洞察を得ることができます。
 例えば、レイトレーシングとラジオシティを切り離して、スペキュラーとディフューズの輸送モードを独立にモデル化します。これらのパスの結果を単純に組み合わせると,幾何光学のいくつかの重要な現象を説明できないことが観察されています[16]。最も明白な例は,拡散表面上で失敗した鏡面透過光または反射光によって形成された苛性です。古典的なレイトレーシングとラジオシティはどちらも,この輸送モードを完全に無視しており,したがって,この欠陥は,それらの寄与を事後的に合計することによって改善することはできません。Wallanceは、鏡面から拡散への輸送というこの特殊なケースに対する解を記述していますが、特殊なケースとして、このような一連の輸送をすべて説明することは不可能です。この現象は、他の線形輸送問題でも観察されており、式1が、光源項\(S\)では線形であるにもかかわらず、散乱カーネル\(K\)に関しては非線形であることに起因している。\(S\)が線形であるため、異なる光源や波長によって生じる独立した寄与を合計することができますが、カーネルが例えば\(K_{spec} + K_{diff}\)に分割されると、類似のデカップリングは失敗します。すべての輸送モードの忠実なシミュレーションは、解の過程でそれらを結合することによってのみ達成できます。

3 Russian Roulette

サーフェイスのアルベドとは、入射粒子が衝突後に再放射される確率のことです[3]。モンテカルロシミュレーションでは、この確率は通常、履歴を確率的に終了させるのではなく、粒子に関連する数値的な重みを調整するために使用されます。暗黙的捕獲[12]と呼ばれるこの手法は、粒子履歴が長いため、より優れた統計的特性を持ちます。
 暗黙的捕獲の特性として、粒子の履歴は、アルベドがゼロのサーフェイスで終わるか、漏出、つまりシステムから脱出することによってのみ終了することができます。しかし、これらの条件のいずれかが満たされるまで経路を追跡し続けることは、ほとんど常に非現実的です。仮にすべての履歴の最終的な終了を保証できたとしても、無視できる重さの粒子を含む衝突の計算に膨大な時間を費やすことになります。一つの解決策は、粒子ヒストリー内の散乱事象の数に制限を設け、このポイントを超えるすべての寄与を無視することです。より良い解決策は、重みがある閾値を下回った場合にのみ粒子の履歴を切り捨てるウェイトカットオフを使用することです[12]。レイトレーシングの再帰を終了するためにウェイトカットオフを使用するアイデアは、Hall [8]によって導入され、適応的ツリー深度制御と呼ばれています。これらの技法はどちらも、レイトレーシングの実装において、過度に深いレイツリーや、極端な場合には、対向ミラーや全内部反射による終わりのない再帰を避けるために、一般的に採用されています。このタイプのポリシーの難点は、切り捨てが推定器に系統的なバイアスを導入することであり、これは多数のパスに適用された場合に重大になる可能性があります。
 幸いなことに、このバイアスはロシアンルーレット[3, 12, 15]として知られる簡単なテクニックで取り除くことができます。この技法によると、粒子の重みがあらかじめ定義されたしきい値を下回ったら、ある確率\(P\)でその履歴を確率的に終了させます。 粒子が「生き残った」場合、その重さは\(1/(1-P)\)の係数で増加します。\(w\)をロシアンルーレットをする前の粒子の重さとし、確率変数\(W\)をその後の重みとします。\(W\)の期待値\(E(W)\)は次式で与えられます。

\begin{eqnarray}
E(W) = {\rm Prob}(termination) * 0 + {\rm Prob}(survival) * \frac{w}{1-P} \tag{2}
\end{eqnarray}

しかし,終了の確率は\(P\)であり、生存の確率は\(1-P\)あるので,次を得ます。

\begin{eqnarray}
P * 0 + (1-P) * \frac{w}{1-P} = w \tag{3}
\end{eqnarray}

これは粒子の元の重みです。平均すると、粒子は適切な重みを持つことになります。したがって、生き残った粒子の寄与を人為的に大きくすることで、重要でない粒子の大部分を無視することができます。この方法でバイアスを除去すると、実際には分散がわずかに増加しますが、十分に低い8個の粒子に適用した場合、同じ全体的なコストで収集できる追加サンプルによって補うことができます。おそらくもっと重要なことは、バイアスを排除することで、標本平均がまったく収束しない場合、極限において正しい結果に収束することが保証されることです。図1にロシアンルーレットアルゴリズムの概要を示します。

※図は,[Arvo 1990]より引用

4 Splitting: Path vs. Trees

粒子輸送シミュレーションの効率を向上させるためによく使われる手法に、スプリッティングがあります。ロシアンルーレットが分散をわずかに増加させる代償として散乱事象の数を減らすのに対して、スプリッティングの目的はより多くの散乱事象を導入することによって分散を減らすことです。これは、1つの粒子を複数の粒子に分割し、それぞれの発散履歴を独立に追跡し、それらの寄与を適切に重み付けすることで機能します。原子炉シミュレーションでは、中性子が特に重要な領域や感度の高い領域に遭遇した場合にスプリッティングが使用されます。多数の軽量粒子を追跡することはコストがかかりますが、分散が十分に減少すれば正当化されます。スプリッティングは核分裂のシミュレーションとしてではなく、分散を減らす技術として厳密に使用されるため、光子の輸送にも適用できます。
 Whitted[18]によって導入されたレイトレーシングの古典的なアプローチでは、単一のレイは、光を鏡面反射および透過するサーフェイスで再帰的に複数のレイを生成することができます。Cookら[4]は、決定論的な分岐ステップを、空間的および時間的次元にわたって分散された確率的なものに置き換えることによって、このアプローチを一般化しました。モンテカルロ積分の一般性により、同じサンプル数でより多様な光学効果をシミュレートできるようになりました。結果として得られた確率的分岐の方法は、本質的にスプリッティングの応用です。
 しかし、Kajiyaが観察したように、このアプローチは不必要にも複雑なレイツリーを作り出し、わずかな寄与しかしないリーフ(より高い世代の光線)にほとんどの労力を費やすことになります[10]。ロシアンルーレット(Sec.3)は、低い重みの枝を公平に終了させることにより、このようなツリーの深さを制限するのに役立ちますが、それ自体ではツリーの複雑さを減らすことはできません。Kajiyaは、ツリーではなくパスをトレースすることがより適切であると提案しています。例えば、反射光か透過光のどちらかです。
 2つのアプローチを比較するには、結果として得られる推定量の性能指数[12]または効率[11]を使用します。この尺度を\(\epsilon\)とし、次式で定義します。

\begin{eqnarray}
\epsilon = \frac{1}{\sigma^2 r} \tag{4}
\end{eqnarray}

ここで \(\sigma^2\) は推定量の分散で,\(\tau\) は1つの標本を抽出することに関連するコストです。この場合、サンプルは完全な粒子履歴から構成されます。各衝突事象において、我々は推定器全体が可能な限り効率的になるように入射照明をサンプリングしたいと考えます。パストレーシングの背後にある考え方は、単一のパーティクルを使用することで、環境内の各レイをトレースするコストを含む\(\tau\)を削減することです。このコストは複雑な環境では相当なものになります。一方、多くのパーティクルの履歴を平均化することで、分散\(\sigma^2\)がより小さい推定量になります。この分散の減少が、複数の粒子履歴を追跡するコストを上回るような状況はあるでしょうか?一般的に、与えられた戦略に対して\(\tau\)と\(\sigma\)の両方を推定することは困難ですが、それでも、分割が明確な利点をもたらす例を構築することができます。
 拡散反射鏡に到達するまでに\(N\)個の理想鏡面反射鏡に出会う粒子を考えます。1つの経路をたどることによって拡散面への入射照明を推定し、コスト\(\tau\)で\({\sigma_1}^2\)の分散を得るとすると、推定器全体の効率は次のようになります。

\begin{eqnarray}
\epsilon_1 = \frac{1}{{\sigma_1}^2 (N \alpha + \tau) } \tag{5}
\end{eqnarray}

ここで、\(\alpha\)は環境内で1本のレイをトレースする平均コストである。一方、拡散反射鏡までの1本のレイを追跡した後、同じコストの\(m\)本の光線に分割することで、分散\({\sigma_m}^2\)をわずかに小さくすると、推定器全体の効率は次のようになります。
 
\begin{eqnarray}
\epsilon_m = \frac{1}{ {\sigma_m}^2 (N \alpha + m \tau)} \tag{6}
\end{eqnarray}

スプリッティングが有利な場合があることを理解するには、次のことを観察すればよいです。

\begin{eqnarray}
\lim_{N \rightarrow \infty} \frac{\epsilon_m}{\epsilon_1} = \frac{{\sigma_1}^2}{{\sigma_m}^2} \gt 1 \tag{7}
\end{eqnarray}

このことは、任意の\(\alpha\)と\(\tau\)について、十分な数の鏡面反射の後、複数のパスに分割する方が、単一のパスを継続するよりも効率的な戦略であることを示しています。
 スプリッティングが有利なもう1つの例は、複数のサンプルが分散を著しく減少させる場合です。より正確には、パスに沿った任意の点で、入射照明を推定するために等しいコストの\(m\)個のサンプルを使用し、以下のような分散\({\sigma_m}^2\)を達成できる場合です。

\begin{eqnarray}
{\sigma_m}^2 \lt \frac{{\sigma_1}^2}{m} \tag{8}
\end{eqnarray}

ここで、\({\sigma_1}^2\)は単一サンプルの分散であり、\(\epsilon_m \gt \epsilon_1\)となり、効率が向上します。ある条件下では、このような分散の削減はサンプル層別化(積分領域を独立にサンプリングされる不連続領域に分割する一般的なモンテカルロ手法)によって得ることができます。
 サーフェイス点における入射照明が、平均値が大きく異なる低分散の層に分離できる場合、各層に対して1つのパスに分割することで、より効率的な推定が可能になります[9]。光源からの強い直接照明と、残りの環境からの減衰した間接照明の2つの層は、この基準を満たすことが多いです[10]。
 レイツリーは一般的にリーフの部分に計算負荷がかかりすぎますが、これらの例は、レイツリーがパストレーシングの厳密な適用よりも高い効率をもたらすケースが存在することを示しています。このことは、ハイブリッド法が、戦略選択のための安価なヒューリスティックスを採用すれば、どちらかの戦略単独よりも高い効率を達成できることを示唆しています。

5 Conclusion

コンピュータ生成画像のリアリズムのレベルが高まるにつれ、基礎となる照明モデルは、他の粒子輸送問題に共通する多くの複雑さに遭遇してきました。このことは、レンダリング方程式を線形ボルツマン方程式の一種であり、科学や工学の多くの分野で応用されている輸送方程式であると考えれば、驚くべきことではありません。他の輸送問題で開発された技術を画像合成に応用することで、この類似性を利用することができます。原子力工学のような分野は、確率的レイトレーシングやレンダリング方程式のモンテカルロ解法に適用可能な統計的手法の豊富な供給源です。その例として、ロシアンルーレットとスプリッティングの使用法について説明しました。最後に、画像合成は、複雑なシーン形状のような特徴により、さらなる課題をもたらすため、画像合成のために開発された技法は、他の領域においても有用である可能性があります。

References