モンテカルロ積分

モンテカルロ積分

楽 詠灝(新領域創成科学研究科 助教,情報科学科 兼担)

本コラムではコンピューターグラフィックス (CG) におけるモンテカルロ積分の利用について述べる。近年の映画などの映像産業では,CGが盛んに活用されており,高い写実性により実写と区別できない映像も多い。こうした映像制作では,物体や光源,カメラの配置などの数値データを入力とし,光の反射や散乱をシミュレーションして物体の見え方を求めることで,画像生成(レンダリング)を行う。ある点から射出される輝度を求めるには,放射輸送方程式とよばれる積分方程式にしたがって,その点に入射するあらゆる光について,反射・散乱される成分を足し合わせる積分計算を行う。反射や散乱は通常複数回起こり,そのたびに積分が必要なので,高次元での積分となる。レンダリングでは,計算精度が画質に直結するため,こうした高次元での積分を高精度に行うことが重要である。

モンテカルロ積分は積分計算を確率的に行う数値計算法である。モンテカルロ積分では,積分領域内からランダムに複数のサンプル(光の入射方向や散乱までの距離などに対応)を選び,それらのサンプルでの関数値(輝度)の平均(期待値)を求めることによって,積分の近似値を求める。サンプル数が多いほど,この近似値は真の値に収束し,その収束速度は積分領域の次元によらない。この収束性と,計算効率が次元によらないという性質により,モンテカルロ積分はレンダリングに広く利用されるようになってきた。

積分計算を効率よく行うには,関数値の大きいところほど高確率にサンプリングすることが重要で,そのための手法が長年研究されている。たとえば,非均質な煙の中を光が通過する場合,光の減衰効果を表す確率密度関数は複雑になるため,統計的に不偏かつ効率的にサンプリングすることは難しい。これに対して当研究室では,核物理学の方法と情報科学のデータ構造を利用した解決法を開発した。また,複数の反射や散乱を同時に考慮してサンプリングできると,さらに計算効率が上がると期待されるが,確率密度関数の構築が難しい場合が多い。これに対する一解決策として,MCMC(マルコフ連鎖モンテカルロ)法の利用が注目を集めている。ただし,物体の材質や遮蔽の状況によっては性能が発揮できない場合があり,あらゆる場面でロバストに計算できる手法の開発が今後望まれている。