XR Kaigi 2022 HoloLens Meetup の登壇資料です
株式会社ナレッジコミュニケーション藤本賢志(がちもとさん)XR Kaigi 2022VPS入門
View Slide
自己紹介藤本賢志(ふじもとさとし)ニックネーム:がちもとさん株式会社ナレッジコミュニケーション R&D戦略チームCo-founder KumaMCN高専で制御を、大学でセンシングを学び、次は脳みそARナビや電動車いすの自動運転に関する研究開発専門は、コンピュータビジョン、画像処理、制御工学Twitterフォローお願いします! @sotongshi
Society5.0サイバー空間(仮想世界)とフィジカル空間(現実世界)を高度に融合させたシステムにより、経済発展と社会的課題の解決を両立する、人間中心の社会を目指すhttps://www8.cao.go.jp/cstp/society5_0/
Society5.0におけるXRの位置づけ可視化(AR)自動化(ロボット)シミュレーション(VR)デジタルツインセンシング フィードバック・位置情報・カメラ映像・視線・環境マップなど・環境情報・予測情報・認識結果などサイバー空間フィジカル空間
VPS(Visual Positioning System)とは?• 画像から位置を特定するシステムのこと• ARやVRで現実世界に合わせて仮想コンテンツを表示させるために重要な技術https://learn.microsoft.com/ja-jp/azure/spatial-anchors/overview
AR/VRの主要機能1. SLAM(カメラの位置推定&トラッキングとマップ作成)2. 現実世界と仮想世界の位置合わせ3. 仮想コンテンツの配置と表示
SLAM(カメラの位置推定&トラッキングとマップ作成)• 事前マップなしで自己位置推定とマップ作成を同時に行うこと(ARKitやARCore)※フォトグラメトリ(SfM/Reconstruction)は、リアルタイムである必要がなく、異なるカメラや時間に撮影した画像群からでも内部パラメータの推定~カメラ位置とマップを最適化• ロストした場合、作成したマップから復帰(Relocalization、VPSと同じ原理)SLAM System1.特徴抽出2.特徴対応付け短期間:特徴追跡長期間:ループクロージャフロントエンドマップ作成バックエンドフレームR,t
現実世界と仮想世界の位置合わせ• VPSなし• アプリ開始位置またはARマーカーが基準座標• アプリ開始位置から計測して、現実世界に合わせて表示するのは困難• 物理的なマーカーが必要、それに合わせて表示• VPSあり• 事前にSLAMなどでマップ作成が必要• 事前マップが基準座標• 事前マップ上にコンテンツを配置https://youtu.be/pFn11hYZM2Ehttps://youtu.be/udoSz_UBUdc2007, http://kougaku-navi.net/ARToolKit/
• iPhone 12 Proで簡単にスキャン• All Dataでエクスポートすることで画像群とカメラの位置や内部パラメータを取得現実空間のスキャン(3D Scanner App)
事前マップから自己位置推定• 先ほどエクスポートした画像群から特徴を抽出し、画像特徴データベースを構築• 現在のフレームから特徴を抽出• 画像特徴データベースに照合し、最も似ている画像を検索します• 2D-3Dの対応付けを行い位置推定(PnP: Perspective n point)データベースフレームR,t
VPS比較表(2022年8月20日 更新)Spatial Anchors Immersal Pretia Geospatial APIマップ作成 セッション内でスキャン 画像アップロード 専用スキャンアプリ Googleがスキャン座標系 アンカーID マップID マップID グローバルマップ(経度緯度高度)iOS/Android 〇 〇 〇 〇HoloLens2 〇 〇 × ×Reloc API(画像をPOST、自己位置返す)× 〇 × ×屋内 〇 〇 〇 ×屋外 × 〇 〇 ◎(地球規模対応)コンテンツ配置 × × 〇 ×Playback API × 〇 〇 〇備考・アンカーを基準にオブジェクトを配置するためマップとの位置合わせが面倒・マップがエクスポートできないためどの領域を認識できるのか不明・アンカー位置の編集が不可能(削除して再度配置)・マップを基準にオブジェクトを配置できる・マップ作成には画像アップロードするだけ、カメラはなんでもOK、専用スキャンアプリもある・Reloc APIがあるためデバイスに依存しない・マップを基準にオブジェクトを配置できる・マップ作成には専用のスキャンアプリが必要・専用のコンテンツオーサリングツールやAR Playbackが用意されている・Googleがスキャンするため、スキャンする必要がない・Googleがスキャンできないところでは使用できない・Googleがマップを更新するまで認識できない場所が出てくるかも・Reloc APIが出たら最強
Spatial Anchorsを用いたナビ作成アプリ「ナレコムVR」• セッション内でアンカーを配置し、周辺をスキャン• アンカーに対してコンテンツを配置• アンカーの周辺のみ認識していて、どの領域で位置推定できるのか不明• アンカーの位置を修正するためには、削除して再度配置する必要があるhttps://youtu.be/1R-VGfkI4vA
Immersal x 3D Scanner App• 専用アプリで撮影(3D Scanner Appを使えばスキャンを確認しながら画像取得)• 画像とカメラ情報をImmersalにアップロードし、マップ作成• ダウンロードしたマップ上にコンテンツを配置• APIで画像をPOSTすると自己位置推定できるhttps://twitter.com/sotongshi/status/1431203787796926467
Pretia x ARサイネージ• 専用アプリで3Dスキャン• マップをダウンロードし、コンテンツを配置• 専用アプリでコンテンツを配置する機能もある(3)(1)スキャン(2)VRでシミュレーション(3)AR表示https://twitter.com/sotongshi/status/1492760083503398915
Geospatial API x PLATEAU• Googleが事前にスキャンしている(地球規模対応w つよ• 経度緯度高度の指定だけでコンテンツが置ける• 精度はあまり良くない印象https://twitter.com/sotongshi/status/1557003609019400194
Gachispatial API• 3D Scanner Appでスキャンし、画像特徴データベースを構築• 特徴点の抽出と対応付けにはDeep Learningベースの手法(SuperPoint)を利用• 画像とLiDARの点群の両方を利用したRGB-D SLAM• 画像をサーバーに送信し、自己位置を返すAPIを作成
Gachispatial API x 電動車いすの自動運転• 事前マップを作成• 事前マップ上に経路計画• VPSにより初期位置推定し、自動運転https://twitter.com/sotongshi/status/1168740395125075968
まとめ• VPSは事前マップから自己位置推定• VPSのライブラリを表にまとめた• VPS活用して、現実と仮想を融合しよう
告知https://qiita.com/advent-calendar/2022/hololens 7年目です!
ノーコードでXR体験を作れる「ナレコムVR」• 横河レンタリース様のHoloLens2レンタル事業にバンドル• 大学生協で販売
ご清聴ありがとうございました