多光源レンダリング法のための効率的な可視関数の確率的評価
Efficient Probabilistic Visibility Evaluation for Many-light Rendering
名畑豪祐＊
岩崎慶＊
土橋宜典†
西田友是‡
Kosuke NABATA* Kei IWASAKI* Yoshinori DOBASHI† and Tomoyuki NISHITA‡
＊
＊
和歌山大学
Wakayama University††
北海道大学/JST CREST
Hokkaido University /JST CREST‡‡
広島修道大学/UEI リサーチ Hiroshima Shudo University/UEI Research

1 はじめにCG 分野において，効率的な可視判定法の研究は多くされている．
特に，シーンをレンダリングする際に，各ピクセルに対応するシー2 研究背景2.1 先行研究

ン上の陰影を計算する点であるシェーディング点が光源に照らさ

Keller らは，少量の仮想的な点光源(Virtual Point Light, VPL)

れているかどうかを判定するために，光源とシェーディング点間のを使用し間接照明を計算するインスタントラジオシティ法を提案

可視判定が大量に必要となり，可視判定が大きなボトルネックとなした[1]．多光源レンダリング法は，インスタントラジオシティ法

る．可視判定を行うには，2 点間を結ぶ直線とシーン中の物体とのを基にした手法で，大量の VPL を使用してレンダリングする手法

交差判定を行う必要があり，最先端の高速化データ構造や GPU をである．多光源レンダリング法は，大域照明効果をよく近似でき，使用しても非常に計算コストが高い処理である．

効率的に写実的な画像を生成できる手法として研究されてきてい1 点対多点の可視判定を効率よく行う方法としてシャドウマッ

る[2]．Walter らは，VPL の階層構造を使用することで効率的なレピング法がある．光源を視点としてシーンをラスタライズし，光源

ンダリングを行う方法を提案した[3]．Hasan らは，多光源問題をまでの距離を格納した深度マップを生成する．
可視判定はシェーデ

行列で表し，行，列サンプリングにより効率的にレンダリングを行

ィング点と光源間の距離と，シェーディング点に対応する深度マッう方法を提案した[4]．Ou らはこの手法を拡張し，シェーディング

プのピクセル値との比較で行える．しかしながら，画像というデー

点をクラスタリングし，各クラスタで行・列サンプリングを行うこ

タ構造を使用しているため，エイリアシングの問題がある．

とでより効率的にレンダリングを行う方法を提案した[5]．

近年，多数の仮想的な点光源を設置し，点光源からの寄与を計算

Georgiev らは，VPL からの寄与を記録するキャッシュ点を使うこすることによって大域照明効果を効率的に計算する多光源レンダとで，VPL の寄与に比例した重点的サンプリングを行う方法を提リング法がよく研究されている．
この手法ではレンダリング時間の案した[6]．これらの手法は，すべての VPL からの寄与を計算する

内，可視判定のための時間が支配的である．そこで，本研究では，のではなく，寄与の高い VPL を重点的に使用することで効率的に多光源レンダリング法において確率的に可視判定を行うことで，
可レンダリングを行っている．しかし，依然として大量の可視判定が視判定を行う回数を削減し効率的に画像を生成する手法を提案す必要であり，
シャドウマッピング法またはレイキャスティング法をる．提案法では，ある確率で可視判定を省略し，それ以外では実際用いて可視判定を行っている．提案法では，これらの手法とは別のに可視判定を行う．そのため，可視判定を省略する確率を大きくすアプローチにより効率化を行うため，これらの手法と組み合わせる

るほど，
可視判定を行う回数を削減でき，
高速に画像を生成できる．

ことができる．

しかし，確率を大きくするほど確率的評価による分散が増加し画像

Clarberg らは，直接照明からの寄与計算において，可視判定結にノイズが発生する．そこで，可視判定を省略する確率と，確率的果を記録するキャッシュ点を用いることによって，効率的にレンダ

評価による分散の関係を考慮し，画像生成の効率を最大とする確率

リングを行う手法を提案した[7]．この手法では，制御変量法を用の導出を行う．また，本研究では可視関数の空間，方向のコヒーレいることで，ノイズの少ない画像を生成する．Popov らは，類似ンスを利用するために，可視判定結果のキャッシングを行う．提案

する経路間で可視判定結果を再利用することで，可視判定回数を削法による確率的な可視関数評価により，可視関数の値を正確に評価減する手法を提案した[8]．Ulbrich らは，低解像度のシャドウマッ

した場合と比較して最大 6 倍高速化された．また，従来の確率的プをキャッシュ点として使用し，キャッシュ点の重要度に基づき，な可視関数評価法と比較して最大 2.5 倍高速化された．

キャッシュ点の位置を改善していくことで，
プログレッシブなレンダリングを行う手法を提案した[9]．

Billen らは，可視関数を確率的に評価し，交差判定を行う回数を削減する方法を提案した[10]．この手法では直接照明のみを扱って

光源
(a)

(b)

(c)

おり，間接照明は考慮していなかった．また，画像生成の効率につ𝑐𝑗

いても考慮していなかった．Veach は，画像生成の効率を考慮した

𝑐1
𝑐2 𝑥 𝑐3

ロシアンルーレット法により，可視判定を行う回数を削減する方法を提案した[11]．この方法は，双方向パストレーシングにおいて導入された手法であるため，保守的な仮定を多く立てており，高い高速化率は得られない．
本稿では，Veach の提案した，画像生成を考慮したロシアンルー
レット法を，多光源レンダリング法に応用し，キャッシュ点を用いることでさらなる効率化を行う方法を提案する．
Veach の手法では，寄与の低い VPL に対して可視判定を省略する確率が高くなるのに

𝑦𝑖

: VPL

: キャッシュ点: シェーディング点

図1: 提案法の処理の流れ．(a)VPL，キャッシュ点の生成．(b)各キャッシュ点𝑐𝑗 で各VPL𝑦𝑖 に対して可視関数の値と𝑡𝑖 𝑣𝑖 の分散を記録．(c)近傍のキャッシュ点(𝑐1 , 𝑐2 , 𝑐3 )の情報から推定した可視関数の値𝑉̂(𝑥, 𝑦𝑖 )を使い放射輝度𝐿𝑜 を計算．

対し，提案法では，寄与の低い VPL だけでなく，近傍で可視判定の結果が類似している VPL に対しても可視判定を省略する確率をの暫定的な寄与𝑡𝑖 との積を計算し，視点方向へ出射する放射輝度𝐿𝑜高く設定することができる．これにより，Veach の手法では，あるを計算する．

程度の回数の可視判定が必ず必要であるのに対し，提案法では，可視判定の回数を著しく削減することが可能となる．

3.1 キャッシュ点の生成
本研究では Ou らの手法と同様，6 次元の kd 木を使用したシェ

2.2 多光源レンダリング法 による輝度計算

ーディング点のクラスタリングによりキャッシュ点を生成する[5]．

シェーディング点𝑥から視点𝑥𝑣 方向に出射する放射輝度𝐿𝑜 は以下の式で計算される．

シェーディング点を位置(3 次元)，法線(3 次元)の 6 次元点として表し，全てのシェーディング点を包含する軸平行の 6 次元バウンデ
ィングボックスを計算する．そして，含まれるシェーディング点の𝐿𝑜 (𝑥, 𝑥𝑣 ) = ∫ 𝐿(𝑦, 𝑥)𝑓𝑟 (𝑦, 𝑥, 𝑥𝑣 )𝑉(𝑥, 𝑦)𝐺(𝑥, 𝑦)𝑑𝐴(𝑦)(1)

数が十分小さくなるか，
バウンディングボックスが十分小さくなる

ここで，𝐴はシーン内の物体表面全体の集合，𝐿(𝑦, 𝑥)はシーン中のまで，バウンディングボックスの辺の長さが最大の軸の中点で分割

物体表面上の位置𝑦からシェーディング点𝑥に向かう放射輝度，𝑓𝑟を行う．
分割された各クラスタからランダムに選択したシェーディ

𝐴

は BRDF，𝑉(𝑥, 𝑦)は可視関数，𝐺(𝑥, 𝑦)は幾何項である．可視関数

ング点をキャッシュ点として使用する．

𝑉(𝑥, 𝑦)は点𝑥と点𝑦が互いに可視なら1，可視でないなら0を返す関

各キャッシュ点では，すべての VPL に対して可視判定を行い可数であり，可視判定を行うことで評価できる．多光源レンダリング

視関数の値を記録する．また，可視判定を省略する確率の計算のた法では，シーン内の物体表面全体からの寄与の積分を，大量の VPL

めに各 VPL からの寄与の分散を計算し記録しておく．

からの寄与𝐿𝑓𝑟 𝑉𝐺の総和で近似する．
𝑁

𝐿𝑜 (𝑥, 𝑥𝑣 ) = ∑ 𝐿(𝑦𝑖 , 𝑥)𝑓𝑟 (𝑦𝑖 , 𝑥, 𝑥𝑣 )𝑉(𝑥, 𝑦𝑖 )𝐺(𝑥, 𝑦𝑖 )

(2)

𝑖=1

ここで，𝑦𝑖 は𝑖番目の VPL，𝑁は VPL の数を表す．本研究では，

3.2 可視関数の確率的評価
提案法では，シェーディング点𝑥と VPL 𝑦𝑖 間の可視関数を以下の式で推定する．
𝛼𝑝𝑖

確率𝑝𝑖 で選択

𝑣𝑖 − 𝛼{ 1 − 𝑝𝑖

それ以外

𝐿(𝑦𝑖 , 𝑥)𝑓𝑟 (𝑦𝑖 , 𝑥, 𝑥𝑣 )𝐺(𝑥, 𝑦𝑖 )を𝑖番目の VPL からの暫定的な寄与𝑡𝑖と定義する．また，表記簡略化のため𝑉(𝑥, 𝑦𝑖 )を𝑣𝑖 と表記する．

𝑉̂(𝑥, 𝑦𝑖 ) =3 提案法
提案法の処理の流れを図 1 に示す．提案法は前処理，レンダリ
ング処理から成る．前処理では，まず VPL を生成し，その後キャッシュ点を生成する．VPL は従来と同様の方法[2]で生成し，キャ
ッシュ点にはシェーディング点の中から選択したものを使用する．
キャッシュ点では各 VPL に対する可視関数の値と，各 VPL からの寄与の分散を記録する．レンダリング処理では，まずシェーディ
ング点の近傍のキャッシュ点を計算する．そして，各 VPL に対して，キャッシュ点の情報から推定した可視関数の値と，VPL から(3)

ここで，𝛼は任意のパラメータである．提案法では確率𝑝𝑖 で可視判定を省略し，𝛼/𝑝𝑖 を可視関数の推定値とする．そして，確率1 − 𝑝𝑖
で可視判定を行い，(𝑣𝑖 − 𝛼)/(1 − 𝑝𝑖 )を可視関数の推定値とする．
VPL𝑦𝑖 からの寄与の期待値𝐸[𝑡𝑖 𝑉̂(𝑥, 𝑦𝑖 )]，分散𝑉𝑎𝑟[𝑡𝑖 𝑉̂(𝑥, 𝑦𝑖 )]は以下の式で計算される．
𝐸[𝑡𝑖 𝑉̂(𝑥, 𝑦𝑖 )] = 𝑡𝑖 (𝑝𝑖𝛼𝑣𝑖 − 𝛼+ (1 − 𝑝𝑖 )) = 𝑡𝑖 𝑣𝑖
𝑝𝑖
1 − 𝑝𝑖(4)(𝑝𝑖 𝑣𝑖 − 𝛼)2𝑝𝑖 (1 − 𝑝𝑖 )(5)

𝑉𝑎𝑟[𝑡𝑖 𝑉̂(𝑥, 𝑦𝑖 )] = 𝑡𝑖2

式(4)より，推定値の期待値と真値が等しいので𝑡𝑖 𝑉̂(𝑥, 𝑦𝑖 )は𝑡𝑖 𝑣𝑖 のくなるべきである．
キャッシュ点での可視関数の値の分散はこの性

不偏推定量である．式(5)より，𝛼=𝑝𝑖 𝑣𝑖 のとき確率的評価による分質を満たすため分散を近似として用いた．

散は0となる．すなわち，𝛼 = 𝑝𝑖 𝑣𝑖 とできるならば，可視判定を省略する確率𝑝𝑖 を1に近づけても分散は0である．しかし，𝑣𝑖 の値は
実際に評価するまで未知である．そこで，近傍のキャッシュ点から可視関数の値を補間した値𝑞𝑖 を用い，𝛼 = 𝑝𝑖 𝑞𝑖 とする．キャッシュ点からの補間については，
Clarberg らの手法を使用する[7]．
式(3)，式(5)に𝛼 = 𝑝𝑖 𝑞𝑖 を代入した式は以下となる．
𝑞𝑖

点の可視関数の分散𝑉𝑎𝑟[𝑉(𝑐𝑗 , 𝑦𝑖 )]は0となる．この場合，𝐴𝑖 =
(6)

それ以外

𝑝𝑖 (𝑣𝑖 − 𝑞𝑖 )2
𝑉𝑎𝑟[𝑡𝑖 𝑉̂(𝑥, 𝑦𝑖 )] = 𝑡𝑖2
1 − 𝑝𝑖

4.1 パラメータの計算
可視関数の補間値𝑞𝑖 が0または1と計算された場合，キャッシュ

確率𝑝𝑖 で選択𝑉̂ (𝑥, 𝑦𝑖 ) = 𝑣 − 𝑝 𝑞𝑖𝑖 𝑖{ 1 − 𝑝𝑖4 実装の詳細(7)

𝑡𝑖2 𝑉𝑎𝑟[𝑉(𝑐𝑗 , 𝑦𝑖 )]は0と計算される．そして，式(10)より，可視判定を省略する確率𝑝𝑖 は1と計算される．もし可視関数の補間値𝑞𝑖 が実際の可視関数の値𝑣𝑖 と異なる場合，可視判定が行われないため
𝑡𝑖 𝑉̂(𝑥, 𝑦𝑖 )の期待値は𝑡𝑖 𝑣𝑖 に収束しない．そのため， 𝑉𝑎𝑟[𝑉(𝑐𝑗 , 𝑦𝑖 )]の下限をクランプした以下の式で𝐴𝑖 を計算する．
𝐴𝑖 = 𝑡𝑖2 max(𝜖1 , 𝑉𝑎𝑟[𝑉(𝑐𝑗 , 𝑦𝑖 )])3.3 確率𝒑𝐢 の導出(11)

ここで．𝜖1 は 0 より大きい値で，0.1 程度にすればよい結果が得ら

提案法では，可視判定を省略する確率𝑝𝑖 を大きくするほど高速にれている．𝐴𝑖 が𝜎02 より大きいとき，√𝐴𝑖 (𝑛0 − 1)/(𝜎02 − 𝐴𝑖 ) が負画像を生成できるが，確率的評価による分散が増加し，画像にノイの数の平方根となるが，この場合は可視判定を省略する確率𝑝𝑖 を0ズが生じる．一方，𝑝𝑖 を小さくすれば，分散は小さくできるが，多に設定すればよい．また，可視判定を省略する確率𝑝𝑖 が負の値をとくの可視判定が行われ計算時間が増加する．そこで，Veach の手法

らないよう下限をクランプし，可視判定を省略する確率𝑝𝑖 が大きすと同様に画像生成の効率を最大とするために𝜎 2 𝑛を最小とする確

ぎる場合は，補間値𝑞𝑖 と実際の可視関数の値𝑣𝑖 が大きく異なる場合

率𝑝𝑖 を使用する[11]．ここで，𝜎 2 はサンプルの分散，𝑛はサンプルに大きな分散が生じるのを防ぐために上限をクランプする．
よって，当たりのレイの平均追跡回数である．提案法では 1 つのサンプル

可視関数を省略する確率𝑝𝑖 は以下の式で計算する．

は１つの VPL に対応する．実際に全 VPL について可視判定を行った場合の VPL からの寄与の分散を𝜎02 ，サンプル当たりのレイの
平均追跡回数を𝑛0 とすると，提案法におけるサンプルの分散𝜎 2 は，実際に全 VPL について可視判定を行った場合の VPL からの寄与の分散𝜎02 と確率的評価による分散の増加量の和であり，以下の式
で計算される．
𝑝𝑖
𝜎 2 = 𝜎02 + 𝑡𝑖2(𝑣𝑖 − 𝑞𝑖 )2
1 − 𝑝𝑖𝑝𝑖 = min(1 − 𝜖2 , max(0, 𝑝𝑖 ))ここで，𝜖2 は 0 より大きく 1 以下の値で，0.1 程度にすればよい結果が得られている．
Veach の論文で述べられているように，
サンプル当たりのレイの
追跡回数𝑛0 はすべての種類のレイを含める．𝑁個の VPL からの寄与を計算する場合のレイの追跡回数は，視点からのレイが拡散面と(8)

ここで，𝜎02 はキャッシュ点から補間した値を用いる．サンプル当たりのレイの平均追跡回数𝑛については，提案法では確率𝑝𝑖 で可視

交差するまでのレイの追跡回数𝑛𝑑 と，シェーディング点と各 VPL間の可視判定のためのレイの追跡回数𝑁の和となる．よって，サン
プル当たりのレイの追跡回数𝑛0 は以下の式で計算される．
𝑛0 =判定を省略するので，サンプル当たりのレイの追跡回数は平均で𝑝𝑖減少する．よって， 𝜎 2 𝑛は以下の式で計算される．
(𝜎02 + 𝑡𝑖2

𝑝𝑖 (𝑣𝑖 − 𝑞𝑖 )2) (𝑛0 − 𝑝𝑖 )1 − 𝑝𝑖(9)

式(9)を𝑝𝑖 について微分し，結果を0とおくと，𝜎 2 𝑛を最小とする確率𝑝𝑖 は以下の式で計算される．
𝑝𝑖 = 1 − √𝐴𝑖 (𝑛0 − 1)
𝜎02 − 𝐴𝑖

(12)

𝑛𝑑
+1
𝑁

(13)

4.2 負値の可視関数
提案法による可視関数の推定値は0か1ではなく，負の値も取りうるため，ピクセル値が負となる場合がある．現在の実装では，ピ(10)

ここで，𝐴𝑖 = 𝑡𝑖2 (𝑣𝑖 − 𝑞𝑖 )2 である．パラメータ𝛼の計算時と同様，
𝑣𝑖 は実際に評価するまで未知であるため𝐴𝑖 を計算することができない．そこで，(𝑣𝑖 − 𝑞𝑖 )2 を近傍のキャッシュ点𝑐𝑗 の可視関数の値の分散𝑉𝑎𝑟[𝑉(𝑐𝑗 , 𝑦𝑖 )]で置き換え，𝐴𝑖 = 𝑡𝑖2 𝑉𝑎𝑟[𝑉(𝑐𝑗 , 𝑦𝑖 )]とする．
可視関数の補間値𝑞𝑖 が0か1に近いとき，補間値𝑞𝑖 は可視関数𝑣𝑖 を精度よく近似していると考えられるため，このとき(𝑣𝑖 − 𝑞𝑖 )2 は小さ

クセル値が負となった場合は，ピクセル値を0でクランプしている．
そのため，真値より明るい画像が生成されていることになる．しか
しながら，
実験では，
値が負となるピクセルはわずかであり，また，値も非常に0に近く，クランプによるアーティファクトも見られな
い．

(a)提案法(b)Veach の手法(c)全 VPL で可視関数(d)提案法と参照画像(e)Veach の手法と参照画像

を評価（参照画像）の差分画像（輝度100 倍）の差分画像（輝度100 倍）

図 2: Sanmiguel, Hairball, Sponza, Museum シーンの同 VPL 数でのレンダリング結果．
表 1: 図 2 レンダリング時の計算時間と RMSE．
括弧内の数字は全 VPL で可視関数を評価した場合(c)に対する計算時間の高速化率を表す．
RMSE

計算時間（秒）
シーン

三角形数

VPL 数

キャッシュ点数(a)提案法(b)Veach の手法(c)(a)提案法 (b)Veach の手法

Sanmiguel

1.8M

550k

1,885

2,417 (×2.60)

5,204 (×1.21)

6,273

1.70e−3

1.09e−4

Hairball

2.8M

100k

500

933 (×6.08)

2,310 (×2.45)

5,668

1.43e−4

5.72e−5Sponza

65K

300k

1,414

916 (×2.12)

1,320 (×1.47)

1,942

2.61e−3

1.19e−3

Museum

1.4M

100k

1,900

488 (×2.56)

858 (×1.45)

1,247

8.81e−4

2.75e−4

5 実験結果キャッシュ点の数は 3 である．近傍のキャッシュ点数を変えて実験を行ったが計算時間，誤差の指標である二乗平均平方根誤差

実験には，Xeon E5-2680v2 2.8GHz CPU，64GB メモリを搭載(Root Mean Square Error, RMSE)への影響は小さく，3 程度で十した PC を使用し，マルチスレッドによる並列化を行っている．レ分である．なお，VPL を使用したレンダリングでは，幾何項の特ンダリング画像の解像度は全て 512×512 である．使用した近傍の異点によるアーティファクトが発生するが，実験ではクランプにより緩和している．

表 2: 図 2 レンダリング時のピクセル当たりの1.0

平均可視判定回数（削減率）
シーン

平均可視判定回数（削減率）(a)提案法(b)Veach の手法

Sanmiguel65,185 (88%)

196,818 (64%)

Hairball

10,401 (90%)

37,371 (63%)

Sponza31,485 (90%)

78,820 (74%)

Museum

9,724 (90%)

16,517 (83%)

0.0

図 4: 提案法（左図）と，Veach の手法（右図）の全 VPL 数に図対する可視判定が行われた VPL 数の割合の可視化．

1:
提
案
法
の
処
理
の
流

図 3: キャッシュ点の数と，パストレーシングで生成した画像との RMSE の関係を表すグラフ（左図）と，キャッシュ
点の数と計算時間の関係を表すグラフ（右図）．上段はSanmiguel シーン，下段は Hairball シーン．Intel Xeon
W5590 3.33GHz CPU を搭載した PC を使用し計測．

れ．
(a)
図5: 提案法（左図）と，全VPL で可視関数を評価した場合（右VP図）の同時間レンダリング結果．計算時間と使用したVPL 数はそL，
れぞれ99 秒と13k，101 秒と2k である．
キ
ャ

図 2 に(a)提案法，(b)Veach の手法，(c)全 VPL で可視関数を評ッ
ッシュ点生成のための計算時間が線形的に増加している．一方，
シ

価した場合（参照画像）の同 VPL 数でレンダリングした結果と，

RMSE はキャッシュ点の数が 2k を越える当たりから減少率が小ュ(d)提案法と参照画像の差分画像，(e)Veach の手法と参照画像の差さくなっており，キャッシュ点の数は 2k 程度で十分である．点分画像を示す．なお，差分画像は輝度を 100 倍にしたものである．
(a)と(c)との差分は輝度を 100 倍にして判別できる程度の差分しか

図 4 に，Hairball シーンでの全 VPL 数に対する可視判定が行わのれた VPL 数の割合を可視化した画像を示す．Veach の手法では全生ない．また，このときの統計データを表 1，表 2 に示す．提案法の体的に可視判定が行われた割合が高いのに対し，提案法ではキャッ成．

計算時間は，
キャッシュ点の生成とレンダリングを合わせた時間でシュ点を使用し，
位置および方向に関する可視関数のコヒーレンス(b)ある．なお，表 1 の高速化率と表 2 の削減率は，全 VPL で可視関を利用しているため，壁や天井のように，複雑な形状の物体がない
各数を評価した場合の計算時間と可視判定回数に対するものである．

場所では可視判定が行われた割合が低くなっている．

表 1 より，すべてのシーンで提案手法は Veach の手法より高速に

キ
図 5 に，Hairball シーンでの提案法と全 VPL で可視関数を評価ャ

レンダリングできていることが分かる．特に，複雑な形状をしていした場合の同時間レンダリングの結果画像を示す．なお，図 5ッのる Hairball シーンのように可視判定に時間がかかるシーンでは，画像のレンダリング時のみ，
幾何項のクランプの上限値を高く設定
シVeach の手法が 2.45 倍の高速化率であるのに対し，提案法ではしている．幾何項のクランプの上限値を高く設定するほど，幾何項ュ

6.08 倍の高速化を達成した．また，比較的単純なシーンの Sponzaの特異点によるアーティファクトが顕著になるが，より真値に近い点

シーンにおいても，Veach の手法が 1.47 倍の高速化に対して，提画像を生成することができる．全 VPL で可視関数を評価した場合
𝑐𝑗

案法では 2.12 倍の高速化を達成した．また，表 2 より，すべてのは，101 秒の計算時間で約 2k の VPL を扱えるのに対し，提案法でシーンで提案法は Veach の手法より可視判定回数を削減できていでは可視関数を確率的に評価するため，99 秒の計算時間で約 各13kることが分かる．Veach の手法と比較して高速化率が高かったの VPL を扱うことができる．全 VPL で可視関数を評価した場合
VP

Sanmiguel，Hairball シーンでは，Veach の手法が可視判定回数

では，全てのシェーディング点で同一の VPL を使用するため，画Lを約 64%削減しているのに対し，提案法では約 90%削減すること像にノイズが発生しないが，使用するVPLの数が少ないため，
VPL
𝑦𝑖

ができている．

を用いたレンダリングに特有の幾何項の特異点によるアーティフにァクトが表れている．一方，提案法では，多くの VPL を使用して対

図 3 に，
キャッシュ点数別の RMSE と計算時間のグラフを示す．
図 3 より，キャッシュ点の数が増加するほど，前処理であるキャいるため，アーティファクトが緩和されている．また，可視関数の
し
て
可
視
関

図6: 提案法（左図）と可視関数𝑣𝑖 にキャッシュ点からの補間値𝑞𝑖 を

図7: 提案法（左図）と，全VPL で可視関数を評価した場合（右用いた場合（右図）のレンダリング結果．

図）の光沢反射モデルのレンダリング結果．使用したVPL 数は300k で，計算時間はそれぞれ1,468 秒と3,822 秒である．

評価を省略する確率に，画像生成の効率を最大とする確率を用いる[2]

Walter, and J. Novak, Scalable Realistic Rendering with

ことで，画像に目に見えるほどのノイズはない．
図 6 に，提案法によるレンダリング結果と，可視関数𝑣𝑖 にキャッN
シュ点からの補間値𝑞𝑖 を用いた場合（つまり，𝐿𝑜 = Σi=1
𝑡𝑖 𝑞𝑖 ）のレ

C. Dachsbacher, J. Krivanek, M. Hasan, A. Arbree, B.
Many-light Methods, Eurographics STAR, 2013.

[3]

B. Walter, S. Fernandez, A. Arbree, K. Bala, M. Donikian,

ンダリング結果を示す．図 6 より，可視関数𝑣𝑖 の代わりにキャッシ

and D. Greenberg, Lightcuts: A Scalable Approach toュ点からの補間値𝑞𝑖 を用いた場合では，近傍のキャッシュ点が異な

Illumination, ACM TOG, Vol. 24, No. 3, pp. 1098-1107,

る場所（床，光源付近の天井）で，輝度の変化が不連続になってい2005.

る．提案法では，キャッシュ点からの補間値𝑞𝑖 を可視関数として使[4]

M. Hasan, F. Pellacini, and K. Bala, Matrix Row-Column

用せず，可視関数の推定に使用しているため，輝度の変化が不連続

Sampling for the Many-Light Problem, ACM TOG, Vol. 26,

な場所はない．

No. 3, pp. 26:1-26:10, 2007.

図 7 に，Museum シーンでの，提案法と全 VPL で可視関数を評[5]

J. Ou, and F. Pellacini, LightSlice; Matrix Slice Sampling

価した場合の光沢反射モデルのレンダリング結果を示す．
使用した

for the Many-Lights Problem, ACM TOG, Vol. 30, No. 6,

VPL 数は 300k で，提案法の計算時間は 1,468 秒，全 VPL で可視

pp. 179:1-179:8, 2011.

関数を評価した場合の計算時間は 3,822 秒である．提案法では，全[6]

I. Georgiev, J. Křivánek, S. Popov, and P. Slusallek,

VPL で可視関数を評価した場合と同程度の画質で半分の時間でレImportance Caching for Complex Illumination, Computer

ンダリングできている．提案法，全 VPL で可視関数を評価した場

Graphics Forum Vol. 31, No. 2, pp. 701-710, 2012.

合の両方で，VPL を用いたレンダリングに光沢反射モデルを適用[7]

P. Clarberg, and T. Akenine-Moller, Exploiting Visibility

した際に生じる斑点状の模様が現れている．
このアーティファクト

Correlation in Direct Illumination. Computer Graphicsを緩和するには，より多くの VPL を用いる必要があり，提案法でForum, Vol. 27, No. 4, pp. 1125-1136, 2008.

は，同時間でより多くの VPL を扱うことができる．

[8]

S. Popov, I. Georgiev, P. Slusallek, and C. Dachsbacher,
Adaptive Quantization Visibility Caching, Computer

6 まとめ
本稿では，
確率的な手法を用いて可視判定を行う回数を削減する

Graphics Forum, Vol. 32, No. 2, pp. 399-408, 2013.
[9]

J. Ulbrich, J. Novak, H. Rehfeld, and C. Dachsbacher,
Progressive Visibility Caching for Fast Indirect手法を提案した．また，可視判定を省略する確率と確率的評価によIllumination, Proc. of International Workshop on Vision,

る分散の関係を考慮し，画像生成の効率を最大とする確率の導出をModeling, Visualization, pp. 203-210, 2013.

行った．多光源レンダリング法において，Veach の手法より効率的[10] N. Billen, B. Engelen, A. Lagae, and P. Dutré, Probabilisticにレンダリングを行えることを示した．特に，可視判定のコストがVisibility Evaluation for Direct Illumination. Computer

高いシーンで大きな高速化率を得た．今後の課題として，GPU 実

Graphics Forum, Vol. 32, No. 4, pp. 39-47, 2013.

装による高速化，シェーディング点と VPL のクラスタリングによ[11] E. Veach, Robust Monte Carlo Methods for Lightる高速化が挙げられる．

Transport Simulation. PhD thesis, Stanford University,
1998.

参考文献
[1]

A. Keller, Instant Radiosity, Proc. of SIGGRAPH ’97, 49-56,
1997.