Veach 論文に関する私的補足(22) | Chandler@Berlin

Chandler@Berlin

ベルリン在住

Overview idea of Bidirectional path tracing

Forward path tracing では,光が来る方向が実際にはわかっていないので,サンプルして確かめるしかない.しかし,光源は通常わかっているのだから,光源から光がどのように伝わるのかを計算して,光が伝播している場所を視点からサンプルすると効率がよい.ここでまた bias がかからないようにするにはどうするかという話があり,論文ではそれについて述べられている.

たとえば,forward path tracing で難点のある場合は,プロジェクタから光が壁に投影されているような場合である.forward 法では視点から壁にパスがある時,プロジェクタの方向はより高い可能性で見ることはできるが,プロジェクタが投影している画像をサンプルするのは大変難しいことが想像できる.プロジェクタのレンズをかなりの密度でサンプルする必要があるからだ.これは forward 法ではまったく不可能な場合というわけではないが,実質的には投影されている画像の内容がはっきりわかるということいはまずないだろう.

このような場合,プロジェクタから画像を投影し,壁に写ったその結果をサンプルする方が効率良くできそうだということは予測できるかと思う.Bidirectional path tracing の基本的考えはこのようなものでそんなに間違いではないと思う.

Overview idea of Metropolis sampling algorithm

Bidirectional path tracing 法でも難しいパスというものがある.論文の例では隣の部屋に光源があり,ドアがわずかに開いているという状況である.光源からサンプルする場合にも bias がかかってはいけないので,特定の方向にだけサンプルするというわけにはいかない.そうすると計算できないパスができてしまう.そこで最初になんらかの方法で難しいパスみつけることができたら,それを元に重点的に適応的にサンプルできないかというのが Metropolis 法のアイデアである.(Metropolis は提唱者の名前)

ドアがわずかに開いて,そこからほのかに光が漏れているような状況を考える.論文で提案されている方法では,最初のパス探しは Bidirectional pathtracing 法を使う.そしてもし光が来る方法がわずかでもみつかったら,ある確率でそのパスを摂動させる.

ところで,私は Geometry 計算に Variational な手法を使うことが多かった.それは問題をエネルギーの形で解釈して解くという手法である.ただ,どんなエネルギでもいいわけではなく,そのデザインが難しい.しかし,基本的な考えは,エネルギ関数がよくわからないので,それを摂動させて,もしエネルギが低くなるような場合にはそちらの解を探索する.というのが variational 法の基本である.サンプリングの場合には gradient を求めることが容易ではないが,基本的な考えが同じであることには驚く.

Veach の論文を読んでみて思ったのは,特に奇をてらった方法ではなく,基本的で一般的な手法,ある意味,正統な手法を使って述べられていることがうれしい.正統な手法というものは様々な分野で試され,考えぬかれたものであるから,それを基礎としているということもとてもすばらしいと思う.

さて,一通り Veach の論文を見ることができた.とても楽しかった.私のVeach 論文への annotation の話もここでひとまず終える.さて次は何を読もうかな.