本リポジトリでは、2023年度にProject PLATEAUが開発した「3D都市モデルに最適化したVPS」(スマートフォン向け)の実証用アプリケーションを公開しています。 「3D都市モデルに最適化したVPS」(スマートフォン向け)は、PLATEAUの3D都市モデルをVPSマップとして利用する仕組みを構築することで、スケーラブルなVPSを実現し、自動運転やAR体験など高精度自己位置測位を必要とする様々なソリューションを実現していくことを目的に開発されています。
「3D都市モデルに最適化したVPS」(スマートフォン向け)は、PLATEAUの3D都市モデルから生成した点群マップと、スマートフォンで撮影したカメラ画像から生成した点群マップとを比較し、自己位置を推定するシステムを開発しました。
本システムは、PLATEAUの3D都市モデル(LOD3)が整備された沼津の特定エリア(10箇所)において、アプリケーションで撮影したカメラ画像から生成した点群マップと、3D都市モデルから生成した点群マップとを比較し、自己位置を推定する機能を実装しています。
実証用アプリケーションでは、周辺の建物に関連するアイコン(3Dコンテンツ)をAR表示する機能、PLATEAUの3D都市モデルをAR表示する機能(透過度調整可)を実装しています。 実証用アプリケーションは、プレティア・テクノロジーズ株式会社が保有するAR開発プラットフォームPretiaをもとに、簡易的な自己位置推定の精度評価用スマートフォン向けARアプリケーションと合わせて開発されています。
本システムの詳細については 技術検証レポートを参照してください。
- 留意事項
- 本リポジトリで提供する実証用アプリケーションでは、VPSによる自己位置推定処理をプレティア・テクノロジーズ社が運用するPretiaサーバーにおいて行っています。
- Pretiaサーバー及びその機能は予告なく変更または削除する可能性がございます。
本システムの構築手順及び利用手順については利用チュートリアルを参照してください。
-
ARコンテンツの表示: 利用者が、本プロジェクトで指定する沼津市のチェックポイントにて、アプリ上からカメラを起動しスキャンを実行することで、アプリケーションで撮影したカメラ画像から生成した点群マップと3D都市モデルから生成した点群マップとを比較し、自己位置を推定。認識した空間上にARコンテンツを配置します。
-
オクルージョン: "オクルージョン"機能によって、ARコンテンツは現実世界と同じように、ビルの後ろや中にあるように見えるリアルな効果を生み出します。
-
コンテンツ位置情報の表示 : この機能は、Plateau SDKから算出したARコンテンツの位置を表示します。ARコンテンツがグローバル座標のどこに配置されているかを表示します。
-
デバイス位置情報の表示 : 画面下部に、あなたのデバイスの座標を2種類表示します:
- GPS座標: GPSで取得したデバイスの位置情報を表示します。
- 相対座標: VPSで取得した相対座標とPlateau SDKからデバイスのグローバル座標を算出し表示します。
名称 | 概要 |
---|---|
SfM (Structure from motion) | 複数枚の画像から対象の形状を復元する技術。画像内の特徴点をもとにVPS用の点群を出力する。3D都市モデルからの点群出力アルゴリズムの要素技術として利用する。 |
点群to点群対応化アルゴリズム | - 異なる2つの点群データ(①現実世界から変換した点群データと②3D都市モデルから変換した点群データ)をもとに座標情報等を整理し双方の対応関係を導出し、同一の処理で扱える点群へ変換するアルゴリズム。 - Pretiaが既存でもつアルゴリズムをベースに公知の論文情報等を参照しながらモデル及びパラメータを調整し、Pretiaの点群出力アルゴリズムで抽出した①及び②の点群の対応に最適化する。 |
自己位置推定アルゴリズム(PLATEAU-to-Pretia VPS) | 実世界から出力した点群と、スマートフォン向けARアプリケーションから送られたカメラ映像から出力された点群をマッチングし、自己位置情報(x1, y1, z1)を返す処理をおこなう。本プロジェクトでは、Pretiaが所有するアルゴリズムをそのまま適用する。 |
座標変換アルゴリズム | PLATEAU-to-Pretia VPSにて出力した自己位置情報(x1, y1, z1)を点群to点群対応化アルゴリズムで出力したメタデータ(座標変換マトリクス)で3D都市モデルに最適化した自己位置情報(x2, y2, z2)へ変換する処理。本プロジェクトでは、Pretiaが所有するアルゴリズムをベースに一部調整を行う。 |
項目 | 推奨動作環境 |
---|---|
Unityのバージョン | Unity 2021.3.27f1 LTS |
ARフレームワーク | AR Foundation 4.2.8 ARKit XR Plugin 4.2.9 Pretia SDK 0.11.0 |
Unityエディタ対応OS | iOS (Minimum iOS Version: iOS 12) |
デバイス | iPhone X 以降 |
Xcodeのバージョン | Xcode 15.0.1 |
フォルダ名 | 詳細 |
---|---|
Assets | Scenes, PrefabsなどUnity用のAssetsデータを管理 |
Packages | Unity用のPackageを管理 |
ProjectSettings | Unity用のProjectSettingsデータを管理(Unityの[Edit] > [Project Settings]で編集された情報) |
Docs/Images | Readme用の画像などを管理 |
- ソースコードおよび関連ドキュメントの著作権は国土交通省に帰属します。
- 本ドキュメントはProject PLATEAUのサイトポリシー(CCBY4.0及び政府標準利用規約2.0)に従い提供されています。
また、本システムでは、下記CC0による3Dコンテンツを利用しております。
- Cake!! by Movieinyou
- Shrimp ramen by Oleksandra
- CORNUCOPIA by artlylee
- tooth by Rulfo
- China's Food by Marta Cvetkova
- Sugar cookies by Speedy
- Pre-Latte by JONUNO
- Glass Vanity by heizal
- CARTOON CONE by Rulfo
- Golb by Mr
- Good Tv for sale by NoodlesCan
- simple monopoly house by womp_for_3Dprinting
- talking tree by Benjamin Browning
- Longbush Templa by Alexandra Stobiecka
- CanScene attempt by Eduardo Gutierréz
- Oligastiri by ssen
- Bottle 02 v2 by Maxwell Willman
- 本リポジトリは参考資料として提供しているものです。動作保証は行っていません。
- 本リポジトリについては予告なく変更又は削除をする可能性があります。
- 本リポジトリの利用により生じた損失及び損害等について、国土交通省はいかなる責任も負わないものとします。
オープンソースへのコントリビュートに興味をお持ちいただきありがとうございます。以下にコントリビュートに向けた簡易手順を記載します。:
- 環境がプロジェクトの要件を満たしていることを確認します。リポジトリのクローンを作成します。
- 未解決の課題を選択するか、課題を新規作成して変更を提案してください。
- ローカル・リポジトリに、わかりやすい名前で新しいブランチを作成してください。
- プロジェクトのコーディング標準に従って、変更を実装してください。
- ブランチをGitHubにプッシュし、プルリクエストを作成してください。
- 承認されると、管理者があなたの変更を取り込みます。
- 技術検証レポート: https://www.mlit.go.jp/plateau/file/libraries/doc/plateau_tech_doc_0088_ver01.pdf
- PLATEAU WebサイトのUse caseページ「3D都市モデルに最適化したVPSの開発等」: https://www.mlit.go.jp/plateau/use-case/uc23-18/