• 検索結果がありません。

VR 対応可視化ライブラリ KVS に対する地形デー タ表示機能の追加 仕様書

N/A
N/A
Protected

Academic year: 2021

シェア "VR 対応可視化ライブラリ KVS に対する地形デー タ表示機能の追加 仕様書"

Copied!
14
0
0

読み込み中.... (全文を見る)

全文

(1)

VR 対応可視化ライブラリ KVS に対する地形デー

タ表示機能の追加

(2)

目次

第 I 部 契約に関する一般事項 ... 3 1. 作業の実施形態 ... 3 2. 作業項目 ... 3 3. 作業方法および作業期間 ... 3 4. 納入品目 ... 4 5. 納期および納入場所... 4 6. 検査 ... 4 7. 検収 ... 4 8. 貸与品 ... 5 9. 計算機の利用 ... 5 10. 協議事項 ... 5 11. 産業財産権等... 5 12. グリーン購入法の推進 ... 5 第 II 部 技術仕様 ... 6 1. 目的 ... 6 2. 要素技術の概要 ... 7 2.1. PBVR ... 7 2.2. KVS ... 7 2.3. Oculus 対応 KVS の概要 ... 9 3. 作業内容 ... 10 3.1. 開発項目 ... 10 3.2. 機能の詳細 ... 11 3.3. 機能・性能評価試験 ... 12 3.4. ドキュメント類の作成 ... 12 別紙-1 産業財産権特約条項 ... 13

(3)

3 本発注仕様書は,日本原子力研究開発機構システム計算科学センター(以下,原子力機 構)が行う,「VR 対応可視化ライブラリ KVS に対する地形データ表示機能の追加」につい て記述するものである.第Ⅰ部は契約に関する一般事項を定め,第Ⅱ部は本作業の目的, 内容および基本仕様を定めるものである. 第 I 部 契約に関する一般事項 1. 作業の実施形態 本作業は,原子力機構の発注により受注者が実施し,その成果は第 4 項に定める納入品 として,原子力機構に納めるものとする. 2. 作業項目 本作業では,「VR 対応可視化ライブラリ KVS に対する地形データ表示機能の追加」を行 うために以下の項目を実施する. (1) VR 対応可視化ライブラリ KVS に対する、テクスチャ付きポリゴンデータの読み込み・ 表示機能の開発 (2) 機能・性能評価試験 (3) 報告書等の納入資料の作成 3. 作業方法および作業期間 本作業は受注者の環境を利用して実施し、契約成立日以降速やかに開始し、納期内に全 作業を終了するものとする。 ソフトウェアの開発には C/C++による標準的開発環境、昨年度開発した VR 対応可視化ラ イブラリ KVS を利用する。作業対象のデバイスとして、Oculus 社の OculusRift および OculusTouch を利用する。また作業環境として、NVIDIA 社の Geforce GTX1050 と同等以上 の グラフィックス処理性能を有する PC を利用する。

ただし、原子力機構が必要と認めた場合は、原子力機構において作業を行うこともでき るとする。

(4)

4 4. 納入品目 (1) ソースプログラム 1 式 (2) 実行バイナリ 1 式 (3) 詳細設計書 1 部 (4) マニュアル 1 部 (5) 作業報告書 1 部 (6) 上記(1)~(4)を格納した DVD-R 1 式 (7) 管理体制を証明する書類 1 部 (3)~(5)はマイクロソフト社 Office 製品(Word,Excel 等)および PDF で作成すること. 受注者は納期までに,上記の納入品目の電子ファイルと印刷物を,DVD-R およびファイリ ングした形で,原子力機構に納入すること. (7)について、資本関係・役員の情報、本契約の実施場所、従事者の所属・専門性(情 報セキュリティに係る資格・研修等)・実績及び国籍についての情報を記した書類を契約 締結後速やかに提出すること。 5. 納期および納入場所 (1) 納期 :令和 2 年 2 月 28 日 (2) 納入場所:日本原子力研究開発機構 システム計算科学センター 6. 検査 納入品に対しては,納入時に以下の検査を行う. (1) 動作確認試験 第 4 項(1)(2)に基づき納入されたプログラム・実行バイナリが,仕様書に記載された 機能と性能を満足すること. (2) 書類検査 納入品の書類が本仕様書に定める内容を満たしていることを確認する. (3) 員数検査 納入品が第 4 項で定めた事項に定める数量を満たしていることを確認する. 7. 検収 第 6 項に定める検査に合格することをもって検収とする.

(5)

5 8. 貸与品 本作業の実施にあたり,原子力機構から受注者に対して以下のものを無償貸与する. (1) ソフトウェア ・ VR 対応可視化ライブラリ KVS (2) 可視化試験用のテストデータ一式 (3) 原子力機構の認めたドキュメント類 ・ VR 対応可視化ライブラリ KVS の詳細設計書 ・ その他コンパイラ仕様手引書等の関連文書 9. 計算機の利用

性能評価試験に関して、原子力機構が所有する PC(Windows 10 Pro、Intel Core i7、 トリプル NVIDIA GeForce GTX 980)と VR 用デバイス OculusRift+OculusTouch を利用でき る.利用にあたっては原子力機構の利用規則を遵守すること. 10. 協議事項 本作業を的確に実施するために,原子力機構及び受注者は必要に応じ密接に協議を行う. 本仕様書に関して疑義が生じた場合,または仕様書に規定されていない事項については, 相互合意に基づき協議を実施する. 11. 産業財産権等 産業財産権等の取扱いについては、別紙―1「産業財産権特約条項」に定められたとお りとする。 12. グリーン購入法の推進 (1) 本契約において,グリーン購入法(国等による環境物品等の調達の推進等に関する法 律)に適用する環境品(事務用品,OA 機器等)が発生する場合は,これを採用するも のとする. (2) 仕様に定める提出図書(納入印刷物)については,グリーン購入法の基本方針に定め る「紙類」の基準を満たしたものであること.

(6)

6 第 II 部 技術仕様 1. 目的 システム計算科学センターでは、第三期中長期計画の一環として大規模な都市圏の風況 シミュレーション技術を開発しており、その計算結果を効率的に可視化・解析するための 技術が必要とされている。 計算結果の可視化に没入型立体視装置を用いることで、ユーザは仮想現実(VR)空間の 中に入り込んで可視化データを詳細に観察できるようになる。都市圏の風況シミュレーシ ョン結果の場合は、都市形状のデータとシミュレーション結果の可視化を合成し、ウォー クスルーで観察することにより、リアリティのある可視化が可能になる。 表示装置やモーションセンサのポータブル化により、ヘッドマウントディスプレイ (HMD)型の没入型立体視装置およびジェスチャ制御インターフェースが普及している。 とりわけ OculusRift と OculusTouch (以降合わせて Oculus)は、高性能なレンダリング機 能と直感的なインターフェースを備えた先進的な HMD とジェスチャ制御インターフェース であり、商用可視化ソフトウェア AVS や ParaView が Oculus に対応している。

シス テム計算科学 センター では これまで に、粒子 ベースボリュ ームレン ダリング (Particle Based Volume Rendering, PBVR)[1]という可視化手法に基づく独自可視化ソ フ ト ウ ェ ア を 開 発 し て お り 、“ 遠 隔 可 視 化 ソ フ ト ウ ェ ア PBVR ” [2] と し て 公 開 (http://ccse.jaea.go.jp/ja/download/software.html)している。PBVR は高い並列処理性 能とデータ転送量の圧縮により、従来可視化ソフトウェアでは困難だった大規模データの 対話的可視化を実現できる。

昨 年 度 は 、 PBVR を 利 用 す る た め に 必 要 な 可 視 化 ラ イ ブ ラ リ KVS (https://github.com/naohisas/KVS)の Oculus 対応機能を開発し、Oculus 上での PBVR 表示 を可能にした。

本年度は、3D モデリングされた都市データを表示するのに必要な、テクスチャ付きの ポリゴンデータを読み込み、PBVR と合成して表示する機能を開発する。

(7)

7 2. 要素技術の概要 2.1. PBVR 粒子ベースボリュームレンダリングはボリュームレンダリングのアルゴリズムの一つで あり、シミュレーション結果のボリュームデータの内部に可視化用の粒子データを生成し (図 1 右)、それを画像面に投影してレンダリング処理を行う(図1左)。通常のボリュー ムレンダリングでは、ユーザ指定の色関数と不透明度関数がボリュームデータの物理値に 割り当てられ、3次元形状を可視化する。一方、粒子ベースボリュームレンダリングでは、 物理値の色を粒子の色で、不透明度を粒子の密度で表現することで3次元形状を可視化す る。 粒子生成処理では、格子内部の物理値から不透明度を介して粒子密度を計算し、その粒 子密度の分布に従うように、モンテカルロ法により粒子分布を形成する。 レンダリング処理では、サブピクセルに分割されたデプスバッファに粒子データを投影 し、対応するカラーバッファでレンダリングを実行する。デプスバッファは Z バッファア ルゴリズムにより各サブピクセルでもっとも手前の粒子を選び出し、カラーバッファに格 納する。投影後、カラーバッファでは、サブピクセルの色の値をブレンディングし、画像 面の最終的なピクセルの色の値を計算する。 図1 遠隔可視化ソフトウェア PBVR の処理概要 PBVR は遠隔地で粒子生成をする粒子サーバと手元のクライアント PC 上でレンダリング を行うビューワから構成され、それらを ssh トンネル経由のソケット通信によってスパコ ンのストレージ上のボリュームデータを対話的に可視化するシステムを構築している。粒 子サーバでの粒子生成処理はボリュームデータの時刻、要素について完全に独立な処理と なっている。 2.2. KVS KVS はシミュレーション結果データや医療用データ等の3次元データ向け可視化アプリ クライアント CPUメモリ グラフィック カード ストレージ サーバ 並列環境における粒子データの 生成 ボリュームデータ 要素(セル) 粒子データ 粒子データの転送 グラフィックカードによる粒子投影 と画像生成処理 画像面 粒子データ Ex)4.2GBの ボリューム データ Ex)120MBの 粒子データ

(8)

8 ケーションを簡単に開発するための C++クラスライブラリである。Windows、Linux、 MacOS 上で動作し、ウィンドウの生成やデバイスへの入出力に GLUT を利用している。 KVS では PBVR の他に、ポリゴンによる等値面、ラインによる流線、グリフによるベクト ル場の矢印表示等、様々な可視化要素を利用した可視化に対応しており、KVS を用いてプ ログラミングをすることで統合的な可視化が可能になる。 KVS は図2に示すパイプラインに従って可視化を実行する。このパイプラインを構成す る各モジュールが、入力データの読み込みやフィルタリング、可視化用のライン・ポリゴ ンデータへの変換を実行し、最終的に画像を生成する。KVS を用いたプログラミングでは、 各モジュールに相当する関数の出力を次のモジュールに渡すことで可視化処理を実現でき る。 図2 KVS の可視化パイプライン KVS ではポイント・ライン・ポリゴン・グリフ・PBVR それぞれの単体を描画するレンダ ラ に 加 え て 、 こ れ ら の レ ン ダ ラ を 混 在 さ せ る 仕 組 み と し て StochasticRenderingCompositor が実装されている。この機能は、ポイント・ライン・ポ リゴン・グリフの描画時に画面中のピクセルを埋める方法として、PBVR と同様の確率的手 法を用いることで、全ての可視化要素を統一的にレンダリングできる。 KVS では、複数の混在するオブジェクトを管理する枠組みとして、シーングラフの管理 機構が実装されている。そして画面上に表示されている各オブジェクトは、マウスやキー ボードによって対話的な視点変更が可能である。また可視化パラメータの操作のための代 表的な GUI(伝達関数変更用パネルや等値面の閾値変更用のスライダー等)を提供してい る。 データリード •サポートして いるフォーマ ットのデータ を読み込む フィルタリング •可視化対象の データを変換 する。(間引 き等) マッピング •可視化用デー タ(ライン・ ポリゴン等) を生成する。 レンダリング •可視化用デー タを描画する

(9)

9 2.3. Oculus 対応 KVS の概要 昨年度は公開されている KVS ver.2.7 をベースにして Oculus 対応の機能開発を実施し た。この開発では、Oculus 開発用ツールキット(OculusSDK)を利用して PBVR 表示機能と その他可視化要素との合成表示機能を開発し、クラスとして KVS ライブラリに追加した。 本書では以降この KVS を KVS_Oculus と呼称する。KVS_Oculus では、以下の機能拡張が行 われた。 ・ Oculus 上で動作するポイント・ライン・ポリゴン・グリフ・PBVR のレンダラおよび 混在表示用の StochasticRenderingCompositor の開発。 ・ Oculus 上で動作する、左右両眼用の描画フレームを生成する機能および、ダブルバ ッファリング機能。 ・ Oculus Rift 本体の内蔵センサーによる位置情報をリアルタイムに取得し、視点移動 を行う機能の開発 ・ Oculus Touch のスティックやボタンの状態をリアルタイムに取得し、拡大縮小など の描画オブジェクトに対する操作を行う機能 ・ 対話操作のための GUI を 3D 空間内に描画する機能およびそれに対する操作機能の開 発。この機能の開発にはオープンソースの GUI ライブラリである Dear ImGui (https://github.com/ocornut/imgui)を利用した。 実装の詳細は、添付する詳細設計書を参照すること。 参考文献 [1] 河村拓馬, 坂本尚久, 山崎晃, 小山田耕二, "粒子ベースボリュームレンダリン グのための粒子密度推定法 -大規模非構造ボリュームデータに対する適用-", 可視 化情報学会論文誌, Vol.28, No.11, pp.69-77, 2008.

[2] Takuma Kawamura, Yasuhiro Idomura, Hiroko Miyamura, Hiroshi Takemiya, Naohisa Sakamoto, Koji Koyamada, “Remote visualization system based on particle based volume rendering”, Visualization and Data Analysis 2015 (VDA 2015), Vol.9397, pp. 93970S_1 - 93970S_8, 2015.

(10)

10 3. 作業内容 KVS_Oculus を拡張し、3D 用の地形データ等で用いられるテクスチャ付きポリゴンを表 示する機能を開発する。この機能は KVS の拡張として実装し、通常のディスプレイ上に表 示する機能と Oculus 上で表示する機能の両方を開発すること。開発にあたっては KVS 公開 ページ(https://github.com/naohisas/KVS)に記載されているコーディング規約に則るこ と。 受注者は開発するソースコードを KVS_Oculus 内部のディレクトリに配置し、従来の KVS と同様にコンパイル内容をコンフィグファイルで制御できるように開発すること。開発す る機能は KVS_Oculus の追加クラスとして開発し、可能な限りベースとなる KVS_Oculus を 変更しないこと。変更が必要な場合は機構と協議の後実施すること。 3.1. 開発項目 本件では以下の機能を追加する。以下では、通常のディスプレイに対するレンダラを** レンダラ、Oculus に対するレンダラを**レンダラ_Oculus と呼称する。 (1) 3D モデラソフトで作成されたテクスチャ付きポリゴンデータを読み込む機能 (2) (1)で読み込んだデータを KVS_Oculus のデータ構造に適合したオブジェクトに変換 する機能 (3) (2)で作成したオブジェクトをポリゴンレンダラ、及びポリゴンレンダラ_Oculus で 表示する機能 (4) (2) で 作 成 し た オ ブ ジ ェ ク ト を (3) の レ ン ダ ラ で 表 示 し 、 StochasticRenderingCompositor でその他の可視化要素と混在表示させる機能 3.2. 機能の詳細 3.2.1. テクスチャ付きポリゴンデータを読み込む機能 KVS のデータ読み込みフォーマットとして、既存の 3D モデラソフト等で作成されたデー タファイルを読み込む機能を追加する。この開発では、ゼンリン株式会社から提供されて いる「3D 地図データ」 (https://www.zenrin.co.jp/product/category/gis/contents/3d/index.html) で 使 用 さ れているフォーマットを始めとして、いくつかの代表的なフォーマットに対応すること。 以下に読み込み対象とするモデルデータの種類を列挙する。

(11)

11 名称 タイプ 参考情報 FBX 形式 バ イ ナ リ Autodesk 社が開発した 3D モデル用ファイル形式。I/O 用の SDK が 公開されている。 https://www.autodesk.com/products/fbx/overview 3DS 形式 バ イ ナ リ Autodesk 社が開発した3D モデル用ファイル形式。仕様が公開され ている。 https://knowledge.autodesk.com/support/3ds-max/learn- explore/caas/CloudHelp/cloudhelp/2015/ENU/3DSMax/files/GUID-A16ECF7F-70E5-4F9F-8EAD-35F5CFB485A2-htm.html 3.2.2. テクスチャ付きポリゴンデータを KVS のデータ構造に適合したオブジェクトに変 換する機能 KVS では、Object クラスを継承したデータオブジェクトクラスに、描画データを格納す る構造となっている。しかし、既存のポリゴンデータクラス(PolygonObject クラス)はテ ク ス チ ャ に 関 す る 情 報 を 持 っ て い な い た め 、 新 た に テ ク ス チ ャ 情 報 を 持 つ ク ラ ス TexturePloygonObject を新たに実装する。 TexturePolygonObject は、以下の用件を満たすように実装する。 (1) ポリゴン形状定義(頂点座標及びコネクティビティ)については PolygonObject に合 わせること。 (2) ポリゴンの各頂点に 2D テクスチャ座標を持つこと。 (3) テクスチャ用 2D 画像データを持つこと。 3.2.3. テクスチャ付きポリゴンオブジェクトを描画する機能 KVS の既存のポリゴンレンダラおよびポリゴンレンダラ_Oculus はテクスチャ描画に対応 していないため、新たなレンダラを開発する。新しいレンダラは、以下の用件を満たすよ うに実装する。 (1) TexcturePolygonObject の描画に対応すること。テクスチャ座標を参照して、テク スチャデータの情報を取得し描画できるようにする。テクスチャデータの補間方法 は、CG で代表的な最近傍補間、バイリニア補間、トリリニア補間、異方性フィルタ リングを実装すること。 (2) テクスチャ画像は一度 KVS の画像読み込み機能でメインメモリに読み込んだ後、 Texture2D クラスを使って VRAM にバインドし、描画処理では VRAM 上のテクスチャ

(12)

12 を参照すること。 3.2.4. StochasticRenderingCompositor で混在表示させる機能 StochasticRenderingCompositor で利用する確率的なピクセルの描画処理において、 TexcturePolygonObject のテクスチャによるレンダラと重ね合わせて描画できるように実 装すること。 3.3. 機能・性能評価試験 機能及び性能評価試験を実施する。この試験は原子力機構に設置されている PC と OculusRift および OculusTouch を使用し、以下に示す項目に関して実施する。 (1) 指定したテクスチャ付きポリゴンデータフォーマットの全てに関して、ポリゴン単体 でのレンダリング、及び PBVR との混在表示が正常に動作するか確認する。 (2) 複数種類の可視化用データに対する複数の Renderer を組み合わせた場合について、描 画結果の正しさ、シーングラフの利用、ヘッドトラッキング、そして幾何変換に関す る動作確認を実施する。 (3) 上記の機構所有 PC を用いて OculusRift での描画速度を測定する。約 100 万ポリゴン のデータに対し 45FPS 以上を実現すること。 3.4. ドキュメント類の作成 以下のドキュメント等を作成する (1) 詳細設計書 本作業において設計した内容をまとめること。 (2) 作業報告書 試作したプログラムを用いて行った機能の評価結果をまとめること。 (3) マニュアル 開発した機能を利用できるようにマニュアルを作成すること。このマニュアルでは KVS ユーザに向けて、既存の KVS との違い、そして Oculus のセットアップ手順もまとめる こと。

(13)

13 別紙―1 産業財産権特約条項 (乙が単独で行った発明等の産業財産権の帰属) 第 1 条 乙は、本契約に関して、乙が単独でなした発明又は考案(以下「発明等」とい う。)に対する特許権、実用新案権又は意匠権(以下「特許権等」という。)を取得する 場合は、単独で出願できるものとする。ただし、出願するときはあらかじめ出願に際し て提出すべき書類の写しを添えて甲に通知するものとする。 (乙が単独で行った発明等の特許権等の譲渡等) 第 2 条 乙は、乙が前条の特許権等を甲以外の第三者に譲渡又は実施許諾する場合には、 本特約条項の各条項の規定の適用に支障を与えないよう当該第三者と約定しなければな らない。 (乙が単独で行った発明等の特許権等の実施許諾) 第 3 条 甲は、第 1 条の発明等に対する特許権等を無償で自ら試験又は研究のために実施 することができる。甲が甲のために乙以外の第三者に製作させ、又は業務を代行する第 三者に再実施権を許諾する場合は、乙の承諾を得た上で許諾するものとし、その実施条 件等は甲、乙協議の上決定する。 (甲及び乙が共同で行った発明等の特許権等の帰属及び管理) 第 4 条 甲及び乙は、本契約に関して共同でなした発明等に対する特許権等を取得する場 合は、共同出願契約を締結し、共同で出願するものとし、出願のための費用は、甲、乙 の持分に比例して負担するものとする。 (甲及び乙が共同で行った発明等の特許権等の実施) 第 5 条 甲は、共同で行った発明等を試験又は研究以外の目的に実施しないものとする。 ただし、甲は甲のために乙以外の第三者に製作させ、又は業務を代行する第三者に実施 許諾する場合は、無償にて当該第三者に実施許諾することができるものとする。 2 乙が前項の発明等について自ら商業的実施をするときは、甲が自ら商業的実施をしな いことにかんがみ、乙の商業的実施の計画を勘案し、事前に実施料 等について甲、乙

(14)

14 協議の上、別途実施契約を締結するものとする。 (秘密の保持) 第 6 条 甲及び乙は、第 1 条及び第 4 条の発明等の内容を出願により内容が公開される日 まで他に漏洩してはならない。ただし、あらかじめ書面により出願 を行った者の了解 を得た場合はこの限りではない。 (委任・下請負) 第 7 条 乙は、本契約の全部又は一部を第三者に委任し、又は請け負わせた場合において は、その第三者に対して、本特約条項の各条項の規定を準用するものとし、乙はこのた めに必要な措置を講じなければならない。 2 乙は、前項の当該第三者が本特約条項に定める事項に違反した場合には、甲に対し全 ての責任を負うものとする。 (協議) 第 8 条 第 1 条及び第 4 条の場合において、単独若しくは共同の区別又は共同の範囲等に ついて疑義が生じたときは、甲、乙協議して定めるものとする。 (有効期間) 第 9 条 本特約条項の有効期限は、本契約締結の日から当該特許権等の消滅する日までと する。

参照

関連したドキュメント

め測定点の座標を決めてある展開図の応用が可能であ

2021] .さらに対応するプログラミング言語も作

回転に対応したアプリを表示中に本機の向きを変えると、 が表 示されます。 をタップすると、縦画面/横画面に切り替わりま

[r]

 アメリカの FATCA の制度を受けてヨーロッパ5ヵ国が,その対応につ いてアメリカと合意したことを契機として, OECD

それに対して現行民法では︑要素の錯誤が発生した場合には錯誤による無効を承認している︒ここでいう要素の錯

この設備によって、常時監視を 1~3 号機の全てに対して実施する計画である。連続監

では,フランクファートを支持する論者は,以上の反論に対してどのように応答するこ