階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法

Slides:



Advertisements
Similar presentations
G ゼミ 2010/5/14 渡辺健人. パフォーマンスの測定 CUDA Visual Profiler CUDA の SDK に標準でついているパフォーマン ス測定用のツール 使い方: exe ファイルのパスと作業ディレクトリ指定して実 行するだけ 注意点 : GPU のコード実行後にプログラム終了前に,
Advertisements

多目的GAに対する パレート最適個体の分布制御 九州大学大学院工学府知能機械システム専攻徳井 宏司.
『わかりやすいパターン認 識』 第 5 章 特徴の評価とベイズ誤り確率 5.4 ベイズ誤り確率と最近傍決定則 発表日: 5 月 23 日(金) 発表者:時田 陽一.
池内研究室 Computer Vision Laboratory 東京大学 The University of Tokyo 偏光レイトレーシング 宮崎大輔 2004 年 6 月 22 日(火) CVL セミナー.
Determining Optical Flow. はじめに オプティカルフローとは画像内の明る さのパターンの動きの見かけの速さの 分布 オプティカルフローは物体の動きの よって変化するため、オプティカルフ ローより速度に関する情報を得ること ができる.
ゲーム開発者向け最新技術論文の解説・実装講座
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
豊洲 304教室 15 JULY コンピュータグラフィックス 2008年度版.
高度情報演習1A “テーマC” 実践 画像処理プログラミング 〜画像認識とCGによる画像生成〜 第四回 演習課題 画像中からの物体抽出処理(背景情報を手がかりとして) 芝浦工業大学 工学部 情報工学科 青木 義満 2006/05/15.
パノラマ動画像モデルによる 仮想空間表現システムの研究
影付け,映り込み,光の屈折・反射などが表現でき,リアルな画像を生成できるレイトレーシング法について説明する.
Pose Tracking from Natural Features on Mobile Phones
11章 ボリュームレンダリングを学ぶ 本来は目に見えない内部情報をレンダリングし可視化する技術
TCPコネクションの分割 によるスループットの向上
ラベル付き区間グラフを列挙するBDDとその応用
3DCG技法についての 調査報告 ○○県立○○高等学校 1年は組 グループ0.
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
全体ミーティング (4/25) 村田雅之.
Problem D: Double Sorting 原案: oxy, 解答作成: oxy, nya.
スペクトル法による数値計算の原理 -一次元線形・非線形移流問題の場合-
神奈川大学大学院工学研究科 電気電子情報工学専攻
中間発表用スライド 田中健太.
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
医療支援診断のためのコンピュータ分散システムの検討
ピクセル レス サンプリング 高桑昌男 国際情報科学芸術アカデミー.
高山建志 五十嵐健夫 テクスチャ合成の新たな応用と展開 k 情報処理 vol.53 No.6 June 2012 pp
階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法
3次元剛体運動の理論と シミュレーション技法
Yuri Y. Boykov Marie-Pierre Jolly
アスペクト指向プログラミングを用いたIDSオフロード
IPv6アドレスによる RFIDシステム利用方式
大規模アドホックネットワークにおける 階層的な名前解決法
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
二分探索木によるサーチ.
文献名 “Performance Tuning of a CFD Code on the Earth Simulator”
サポートベクターマシン によるパターン認識
型付きアセンブリ言語を用いた安全なカーネル拡張
高速剰余算アルゴリズムとそのハードウェア実装についての研究
Bottom-UpとTop-Down アプローチの統合による 単眼画像からの人体3次元姿勢推定
決定木とランダムフォレスト 和田 俊和.
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
トポロジを考慮する データ転送スケジュラー
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
Computer Graphics 第10回 レンダリング(4) マッピング
早わかりアントコロニー最適化 (Ant Colony Optimization)
先進的計算基盤システムシンポジウム SACSIS2007併設企画 マルチコアプログラミングコンテスト 「Cellスピードチャレンジ2007」
一方向画像からの 3Dモデル生成 電気電子工学科 白井研究室 T215049 田原 大輝.
バイトコードを単位とするJavaスライスシステムの試作
1-Q-9 SVMとCARTの組み合わせによる AdaBoostを用いた音声区間検出
文化財のデジタル保存のための 偏光を用いた透明物体形状計測手法
岩澤全規 理化学研究所 計算科学研究機構 粒子系シミュレータ研究チーム 2015年7月22日 AICS/FOCUS共催 FDPS講習会
第4章 識別部の設計 4-5 識別部の最適化 発表日:2003年5月16日 発表者:時田 陽一
JAVAバイトコードにおける データ依存解析手法の提案と実装
Bottom-UpとTop-Down アプローチの組み合わせによる 単眼画像からの人体3次元姿勢推定
手書き文字の自動認識アプリケーション 15K1013 坂本 倖輝
自己組織化マップ Self-Organizing Map SOM
高精細計算を実現するAMR法フレームワークの高度化 研究背景と研究目的 複数GPU間での袖領域の交換と効率化
全体ミーティング (5/23) 村田雅之.
設計情報の再利用を目的とした UML図の自動推薦ツール
「マイグレーションを支援する分散集合オブジェクト」
ポッツスピン型隠れ変数による画像領域分割
わかりやすいパターン認識 第6章 特徴空間の変換 6.5 KL展開の適用法 〔1〕 KL展開と線形判別法 〔2〕 KL展開と学習パターン数
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
Cプログラミング演習 ニュートン法による方程式の求解.
弱電離気体プラズマの解析(LXXVI) スプラインとHigher Order Samplingを用いた 電子エネルギー分布のサンプリング
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
コンピュータの高速化により, 即座に計算できるようになってきたが, 手法的にはコンピュータ出現以前に考え出された 方法が数多く使われている。
Presentation transcript:

階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法 西田研究室  渡辺健人

発表の流れ 研究の背景・目的 関連研究 提案法 結果 まとめと今後の課題

発表の流れ 研究の背景・目的 関連研究 提案法 結果 まとめと今後の課題

研究の背景 レイトレーシング 3次元シーン上での視線の経路を追跡することでリアルな画像が生成できる 欠点:計算コストが大きい レイトレーシングは視線を追跡することで、反射、屈折、影等の影響を考慮して写実的な画像を生成できる方法です。 欠点としては、各画素ごとに別々に計算するので計算コストが大きい。 [Wald06]

研究の背景(2) ここではメタボールを扱う 陰関数曲面 少数のプリミティブでなめらかな曲面を表現できる 直接描画することで正確に曲面を表現可能 ここではメタボールを扱う CGで扱う面の表現としては、ポリゴンメッシュ、陽関数、陰関数によるものがあります。 今回は、直接描画することで正確に描画できる陰関数、その中でも、メタボールを扱います。 [Knoll07]

研究の目的 多数のメタボールに対する高速なレイトレーシング方法の開発 多数のメタボールに対するレイキャスティングはあるが、レイトレーシングはない レイトレーシングは計算コストが高いので高速化が必要 メタボールは流体のシミュレーションなどに使われますが、多数のメタボールに対して曲面を近似せずにレイトレーシングを行ったものはない。 屈折1回のみ 3回まで屈折を追跡

発表の流れ 研究の背景・目的 関連研究 提案法 結果 まとめと今後の課題

関連研究(1) レイトレーシング 再帰的にレイの経路を追跡することで、反射、屈折、影などの現象を扱う手法 [Whitted 1980] 大規模なシーン向けの高速化 Bounding Volume Hierarchy(BVH),kd-treeなどの空間データ構造を用いた手法 [Wald 2007] レイトレーシングの関連研究として [Whitted80] [Wald07]

関連研究(2) 陰関数曲面 任意の陰関数曲面のレイトレーシング [Knoll et al. 2007] 長所:任意の陰関数曲面を扱える 短所: 区間演算法を用いているので計算量が大きい 多数の動的なメタボールのレイキャスティング     をGPUで高速化 [Kanamori et al. 2008] 長所:大量の動的なメタボールをリアルタイムで描画可能 短所:反射、屈折などは1回までしか扱えない [Knoll07] [Kanamori08]

メタボールとは 空間上に配置された密度を持った球 各球の密度を足してできる密度場の等値面によって表現される陰関数曲面 次にメタボールについて説明します。 メタボールは空間上に配置された密度を持った球の重ねあわせによってできる密度場の等値面によってできる曲面です。 図の青い曲面ができます。

メタボールとの交差判定 [Nishita et al. 1994]の方法による メタボールの曲面は球内にのみ存在する 球との交差判定行い、球内でのみ曲面との交差判定(BezierClipping)を行う さらに、曲面との正しい交点を効率よく求めるために球内でも交差判定を行う範囲を分ける 西田先生の方法の説明 区間の定義をきちんとする

メタボールとの交差判定 図のような場合について説明します。

メタボールとの交差判定 下のグラフはレイ上の各球の密度関数です。 2つ目の区間では両方の密度関数の和によってあらわされる関数が閾値に達しているかがわかる必要があります。

メタボールとの交差判定 レイトレーシングでは最も近い交点が必要になるので、 図のような区間で交差判定を行います。

メタボールとの交差判定

メタボールとの交差判定 このように

メタボールとの交差判定 このように、球との交点によりレイを各区間に分けて曲面と交差判定を行いますが。 多数のメタボールの場合、ボトルネックはレイと球との交差判定部分になります。

発表の流れ 研究の背景・目的 関連研究 提案法 結果 まとめと今後の課題

提案法 メタボールの交差判定でのボトルネックは区間を求めるための球との交差判定部分 区間の求め方を2種類検討した 球との交差判定の高速化に2分木の空間データ構造であるBVHを用いる 区間の求め方を2種類検討した 1区間ずつを高速に求める 1度に複数区間求めることで高速化 メタボールとのレイトレーシングでは先ほど述べましたように レイと球との交差判定とレイと曲面の交差判定を行いますが、球の数が多い場合ボトルネックとなるのはレイと球との交差判定部分です。 そこで、提案法ではまず、球との交差判定をBVHを用いることで高速化します。 それに加えて、区間を1度に1つずつ求める方法と、複数求める方法のそれぞれを考え、 それぞれを高速化しました。

レイと球との交差判定 レイと球との交差判定 空間データ構造なしの場合: レイとすべての球との交差判定を行い、最も近い交点を求める 空間データ構造なしの場合:                 レイとすべての球との交差判定を行い、最も近い交点を求める BVHを用いれば高速化できる プリミティブ(今回は球)の集合をつつむ領域による2分木構造 ここでは、まずレイと球との交差判定について説明します。 最も近い交点を求めるには空間データ構造がない場合にはすべてのプリミティブと交差判定が必要になり、プリミティブの数Nに対してオーダーNかかる。 BVHという2分木の空間データ構造を用いることでプリミティブの数Nに対して大体logNですむ BVHは任意のプリミティブを扱えますが、ここではプリミティブは球となります。

BVH 次に、BVHについて説明します。 BVHは対象が球とは限らない

BVH

BVH

BVHを用いた球との交差判定 A B C D E F G Stack

BVHを用いた球との交差判定 A B C D E F G Stack

BVHを用いた球との交差判定 A B C D E F G Stack

BVHを用いた球との交差判定 A B C D E F G 遠いほうをスタックにつみます。 Stack

BVHを用いた球との交差判定 A B C D E F G Stack D

BVHを用いた球との交差判定 A B C D E F G Stack

球との交差判定(2回目) A B C D E F G Stack

球との交差判定(2回目) A B C D E F G Stack

球との交差判定(2回目) A B C D E F G Stack

球との交差判定(2回目) A B C D E F G Stack

曲面との交差判定 A B C D E F G 求まった交点間で曲面との交差判定を行う 交点が求まらなければ、球との交差判定をもう一度行う 求まった交点間で曲面との交差判定を行う 交点が求まらなければ、球との交差判定をもう一度行う Stack

方法1 同じレイでBVHを複数回たどると余分な交差判定を繰り返すことになる 2回目以降は交差判定が必要なノードから判定を開始 経路は基本的に同じなので、最初に球と交差したノードとスタック 関連研究があればいれるべき

BVHを用いた球との交差判定 A B C D E F G Stack

BVHを用いた球との交差判定 A B C D E F G Stack

BVHを用いた球との交差判定 A B C D E F G Stack

BVHを用いた球との交差判定 A B C D E F G Stack D

BVHを用いた球との交差判定 A B C D E F G Stack

球との交差判定(2回目) A B C D E F G 2回目はこうなります Stack

球との交差判定(2回目) A B C D E F G 本来ならこうなる Stack

球との交差判定(2回目) A B C D E F G Stack

球との交差判定(2回目) A B C D E F G Stack

球との交差判定(2回目) A B C D E F G Stack

方法2 複数の区間を1度に求める 最も単純な方法 BVHを用いれば、レイに近い順の交点を部分的に求められる 全交点を求め、ソートすれば全区間が求まる BVHを用いれば、レイに近い順の交点を部分的に求められる 交点を順次ソートしながらたどる スタックに積む際にノードをソートしながら積む たどるノードをレイに近い順にすることで、レイに近いほうの

BVHを用いた球との交差判定 A B C D E F G Stack

BVHを用いた球との交差判定 A B C D E F G Stack

BVHを用いた球との交差判定 A B C D E F G Stack B

BVHを用いた球との交差判定 A B C D E F G Stack B

BVHを用いた球との交差判定 A B C D E F G Stack

BVHを用いた球との交差判定 A B C D E F G Stack

BVHを用いた球との交差判定 A B C D E F G Stack D

BVHを用いた球との交差判定 A B C D E F G Stack

BVHを用いた球との交差判定 A B C D E F G Stack

結果 実行環境 Core 2 Duo 2.00GHz, Memory 2GB 2スレッドで計算 画像サイズは640x480

実行時間のグラフ(時間はsec) ランダムに生成した球に対する結果で、屈折を3回まで 図の差し替え

実行時間のグラフ(時間はsec) ランダムに生成した球に対する結果で、反射を3回まで 図の差し替え

結果 例1 20個のメタボールに対して4回まで反射を考慮(0.23sec) 右図は左図の赤い部分の拡大図

結果 例2 5000個のメタボールに対して3回屈折を考慮

結果 例3 8351個のメタボールに対して3回屈折を考慮(2.68sec)

発表の流れ 研究の背景・目的 関連研究 提案法 結果 まとめと今後の課題

今後の課題 球との交差判定のさらなる高速化 メタボール以外の陰関数曲面の描画 質の高いBVHの構築方法 GPUによる実装 Sparse Low degree Implicit(SLIM)曲面など 他の陰関数とは何か?

まとめ 多数のメタボールに対する高速なレイトレーシング方法の提案 BVHを用いた密度球との交差判定の高速化 曲面が存在しうる区間を高速に求める方法を示した 方法1:1つの区間を求めることを高速化 方法2:1度に複数求めることによる高速化 BVHを使っただけの方法より、方法1では10~20%、方法2では3~4倍の高速化 全体のまとめをする

ご清聴ありがとうございました