Comments
Description
Transcript
大域照明
コンピュータビジョンII 2016/10/25 3. 大域照明 Global Illumination 担当教員:向川康博 直接照明と間接照明 直接照明 直接照明 光源→物体表面→眼(カメラ) 間接照明 間接照明 光源→物体表面→物体表面→…→眼(カメラ) CGでの表現の違い(wikipediaより) 実際の間接照明 大域照明(グローバルイルミネーション)とは 間接照明を考慮した画像のレンダリング法 CGでは,写実的な表現のために必要 CVでは,現実のシーンを解析するために必要 間接照明の種類 相互反射 体積散乱 表面下散乱 体積散乱 相互反射 表面下散乱 今日のミニレポート 以下の5成分は,それぞれどのような光学現象か, それぞれ簡単に説明せよ. 拡散反射 鏡面反射 相互反射 単一散乱 多重散乱 相互反射 Inter-reflection 相互反射 拡散反射のみを考慮した相互反射 ラジオシティ法 物体表面同士の光の受け渡しを有限要素法で記述 wiki.povray.org 直接照明のみ 直接照明+環境光 ラジオシティ法 鏡面反射を考慮した相互反射 映り込みや集光現象の表現 モンテカルロレイトレーシング 光線の追跡にモンテカルロサンプリングを導入 フォトンマッピング フォトンのばらまきと数え上げの2段階処理 POV-Rayによるフォトンマッピング ラジオシティ法 拡散反射成分の相互反射を計算 CGにおける代表的な照度分布の計算法 パッチ間の相互作用(フォームファクタ) Bi Ei i j Fij Bj Bi i 反射係数 Ei 放射光強度 (直接光源) Fij V ( xi , x j )G ( xi , x j ) ビジビリティ関数 (互いに見えるか見えないか) 幾何減衰項 cos qi cos q j G ( xi , x j ) | xi x j | qi qj xi xj フォームファクターの計算 [Sillion94] ラジオシティ法に基づくシーン解析 相互反射を考慮した反射率推定 Bi Ei i j Fij Bj i ( Bi Ei ) / j Fij Bj 仮想物体の重ね合せ [ Fournier93 ] [ Drettakis97 ] [ Loscos99 ] [ Loscos00 ] 鏡面反射成分を考慮した相互反射 鏡面反射成分は反射方向に依存 各パッチの放射輝度を直接観測できない 1次反射による鏡面反射強度計算と反射係数推定の反復 処理 実画像 再合成 室内形状と撮影位置(40箇所) [ Yu99 ] 鏡面反射成分を考慮した相互反射 入力画像と同じ照明での再合成 仮想物体(7個)の重畳 フォトンマッピング (Jensen 1996) 2パスレンダリング 1. 2. 光源からフォトン(光子)を飛ばしてフォトンマップを作成 視点からレイトレーシングによりフォトンを回収 シンプルなレイトレーシング フォトンマッピング 複雑なシーンでの相互反射 拡散反射による相互反射 ラジオシティ法 鏡面反射の存在を許容 鏡面反射は1次反射のみ 均一な鏡面反射 光源→拡散→鏡面→カメラ 鏡面反射による相互反射 入力画像に近づくようにモデルを反復修正 フォトンマッピング法 体積散乱 Volume Scattering パーティシペイティングメディア(関与媒質) 微粒子との衝突による影響が大きい媒体 真空 パーティシペイティングメディア SIGGRAPH ASIA 2008 Course Note 媒体中のライトトランスポート 吸収: 微粒子に衝突して強度が減少 散乱(アウトスキャッタリング): 進行方向の外部に散乱して強度が減少 散乱(インスキャッタリング): 他方向からの入射光が進行方向に散乱して強度が増加 吸収 散乱(アウトスキャッタリング) 散乱(インスキャッタリング) エネルギーの減衰 吸収による減衰 dL( x, ) a ( x) L( x, )ds 散乱による減衰 dL( x, ) s ( x) L( x, )ds a (x) :吸収係数 [m-1] s (x) :散乱係数 [m-1] 吸収+散乱による減衰をまとめると dL( x, ) t ( x) L( x, )ds t ( x) a ( x) s ( x) :消滅係数 [m-1] ds L ( x, ) x L( x, ) dL( x, ) 吸収 増分 散乱(アウトスキャッタリング) エネルギーの増加 散乱による増加 点xを取り囲む球面Wの各方向'から到達する光を積分 dL( x, ) s ( x) p( x, ' , ) L( x, ' )d ' ds W フェーズ関数 ' ds x dL( x, ) W インスキャッタリング x L ( x, ' ) フェーズ関数 フェーズ関数 Henyey-Greenstein関数 散乱の偏りを表現 1 と'のなす角をq とすれば p (q ) 4 1 g 2 (1 g 2 2 g cos q ) 3 2 ' x q g>0 前方散乱 g=0 等方散乱 g<0 後方散乱 20 表面下散乱 Subsurface Scattering 半透明物体で生じる表面下散乱 半透明 不透明 表面下散乱 x xi xo 半透明物体は特殊ではない 典型的な半透明物体 ミルク,大理石,肌 金属以外の物体は,程度の差こそあれ半透明である 卵 ミルク 野菜 ロウソク 肌 果物 プラスチック 紙 大理石 石鹸 布 CGにおける散乱光表現の重要性 写実的な皮膚の質感の表現 特に人間のレンダリングには必須 ジュラシックパーク(1993) 「ロードオブザリング」の 「ハリーポッターと秘密の部屋」のDobby (2002) (物理的に正確な表面下散乱を計算した最初の映画) Gollum (2002-2003) 散乱特性の違い 双方向散乱表面反射分布関数(BSSRDF) (Bidirectional Scattering Surface Reflectance Distribution Function) ある点 xi に方向 (qi,fi) から照明した光が,観測点 xr から(qr,fr)方向にどれだけの強さで出射するか? 入射点と出射点が異なることが BRDFとの違い x 不透明物体 f BRDF ( x, q i , fi , q r , fr ) 半透明物体 f BSSRDF ( xi ,q i , fi , xr , q r , fr ) xi xr 単一散乱と多重散乱 単一散乱(シングルスキャッタリング): 媒体内部で一度だけ微粒子に衝突 光学的な密度の低い媒体(霧や不純 物を含む水など)で観測 指向性が高く光路が一意に定まる 多重散乱(マルチスキャッタリング): 媒体内部で何度も反射を繰り返す 光学的な密度の高い媒体(皮膚や大 理石など)で観測 ディフュージョン近似 単一散乱のモデル 減衰 → 散乱 → 減衰 の過程をモデル化 f single BSSRDF 減衰: e ( xi , q i , fi , xr , q r , fr ) s p (q )e t d1 xi xr 減衰: e t ( d1 d 2 ) t d 2 q p(q) s p (q ) 散乱: 多重散乱のモデル 反射を繰り返すため,膨大な計算時間が必要 モンテカルロレイトレーシング法,フォトンマッピング法 簡単なパラメトリック関数で近似するダイポールモデル (Jensen et al. SIGGRAPH2001) 入射方向と出射方向に依存しない散乱項の導入 無限平面を仮定 f multiple BSSRDF ( xi , q i , fi , xr , q r , fr ) 1 Ft ( , q i , fi ) Rd (|| xi xr ||) Ft ( ,q r , fr ) 入射点のフレネル項 d xi xr 散乱項 出射点のフレネル項 ダイポールモデル ディフュージョン近似を仮定 物体内部に点光源 境界条件を満たすように,入射点の上方に負の光源 R(d ) 4 e tr d r e tr d v zr tr d r 1 3 zv tr d v 1 3 t dr t dv 光を吸収する光源 R(d ) 1 0.1 d xi xo 光を放出する光源 ダイポールモデルの概念 0.01 リンゴ (σs=2.29,σa=0.003) 0.001 0.0001 0 肌 (σs=0.74,σa=0.032) 2 4 6 散乱項の例 8 d [mm] ダイポールモデルによるレンダリング例 (Jensen et al. SIGGRAPH2001) BRDF BSSRDF 大域照明の分解 Decomposition of Global Illumination 高周波照明法 (Nayar 2006) 2成分の分離 直接成分(拡散反射・鏡面反射) 大域成分(相互反射,体積散乱,表面下散乱...) 照明としてプロジェクタを利用 細かい格子模様(高周波パターン)を投影 大域照明が,低域通過フィルタとして働くことを利用 高周波パターン 高周波照明の原理 非照明時: 大域成分/2 - 白画素と黒画素が混ざる - 1/2は投影パターンの白と 黒の比率に相当 照明時: 直接成分+大域成分/2 2成分の分解 1 max = 𝑑𝑖𝑟𝑒𝑐𝑡 + 𝑔𝑙𝑜𝑏𝑎𝑙 2 1 min = 𝑔𝑙𝑜𝑏𝑎𝑙 2 𝑑𝑖𝑟𝑒𝑐𝑡 = max − min 𝑔𝑙𝑜𝑏𝑎𝑙 = 2 min 直接成分と大域成分の分解例 直接成分 大域成分 直接成分と大域成分の分解例(つづき) シーン 相 互 反 射 体 積 散 乱 表 面 下 散 乱 直接成分 大域成分 光伝播の解析 Analysis of Light Transport 光伝播(ライトトランスポート) 反射・散乱・屈折・透過・干渉・減衰などのあらゆる 光学現象を考慮して光の伝播を記述 光源を出た光線は,どのような光学現象を繰り返し て,眼(カメラ)に届くのか? 入射光線 ? シーン 出射光線 散乱媒体中のライトトランスポート 微粒子との衝突の繰り返し 複雑な光線空間を形成 dark bright 光学的な濃さによる散乱の違い Vitamin water 単一散乱 オレンジジュース 低次の散乱 牛乳 多重散乱 散乱光の分解 散乱媒体中のライトトランスポートを解析 散乱光を反射回数ごとに分解 ライトトランスポートの可視化 複雑な体積散乱の伝播を解析 = + 1-bounce + 2-bounce +... 3-bounce 光線空間の分解 光線空間(L) シーン中の各点を通過する光線の強度分布を記述 T: ライトトランスポート行列により再帰的に表現 L0:光源から発せられる光線空間 ... L1= TL0 L2= TL1 Lk+1= TLk 1次反射 (単一散乱) 2次反射 再帰的に表現される 高次の散乱成分 L Lk k 1 各反射回数ごとの 光線空間の総和 光線空間の次元数 次元数の比較 平面の場合 L(x,y,q) (s,t) (q) (u,v) (q,f) (x,y) (x,y,z) 真空中:4次元 媒体中:5次元 厚みのない媒体:3次元 厚みのない媒体の散乱計測 カメラ 容器に注いだ 半透明の液体 プロジェクタ 計測の例 水で薄めた牛乳 計測のための容器 55cm カメラ (Point Grey Chameleon) プロジェクタ (3M MPro110) 27cm 12cm 撮影画像の例 単一散乱と多重散乱の分離 周波数特性の違いを利用 [Nayar 2006] 照明の空間的な高周波成分 単一散乱:保存される 多重散乱:反射を繰り返すため失われる 単一散乱と 多重散乱が混在 高周波1次元ストライプパターンの照明 単一散乱:ポジ・ネガ投影で値が変化 多重散乱:同一の強度 多重散乱 単一散乱 高周波1次元 ストライプパターン 分離結果 高周波照明 通常の照明 = + = + 単一散乱 dark 多重散乱 (低次の散乱を含む) bright 単一散乱の解析 純粋な単一散乱は指数関数的に減衰 指数関数の当てはめにより,消滅係数 t を推定 1200 600 800 400 指数関数の当てはめ 400 0 200 観測値 10 20 30 分離しない場合 (多重散乱を含む) 40 [mm] 0 指数関数の当てはめ 分離した単一散乱光の強度 10 20 30 分離した場合 (単一散乱のみ) 40 [mm] 多重散乱の解析 フォワードレンダリングに基づく散乱パラメータの推定 散乱係数(s)と異方性係数(g)を適当な値に仮定 高次の散乱成分を再帰的にレンダリング 検証 ... L1 分離した 単一散乱 L2 L3 L4 高次の散乱成分 L5 Lk k 2 レンダリング した多重散乱 分離した 多重散乱 反射回数ごとに分解 1600 1400 観測値 各反射成分の総和 1200 1-bounce (単一散乱) 1000 2-bounce 800 3-bounce 4-bounce 600 反射回数が増すにつれ, ピーク位置が内部に移動 5-bounce 400 200 0 10 20 30 40 50 [mm] ライトトランスポートの可視化 4-bounce 5-bounce 3-bounce 2-bounce 1-bounce 6-bounce 光線空間 観測値 dark bright ライトトランスポートの可視化 観測値 光線空間 1-bounce 2-bounce 3-bounce 4-bounce 5-bounce 6-bounce 大域照明のまとめ 我々の身の回りには,体積散乱・表面下散乱を生じる 物体がたくさん 特に,不均一な媒質中で生じる散乱の取り扱いが困難 シーンの光学的なモデル化は果てしない ロウソク 大理石