Azure Object Anchors のQuick Startで理解を深めたい

680 Views

July 04, 21

スライド概要

XRミーティング 2021/5/19登壇資料。
https://osaka-driven-dev.connpass.com/event/211954/
Azure Object AnchorsのQuick Startの解説

profile-image

ICT業界でソフトウェアエンジニア/アプリケーションアーキテクトを担当。 社内ではXR関連技術に関する啓もう活動や技術支援に従事。 業務の傍ら、XR(特にMixed Reality領域)についての開発技術の調査、開発などを行っています。 また、「大阪駆動開発」コミュニティ所属しており、日々の調査で得た知見はコミュニティを通して情報発信を行っています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Azure Object Anchors の Quick Startで理解を深めたい takabrz1 大阪駆動開発 Takahiro Miyaura

2.

Microsoft MVP for Windows Development 2018-2021 某会社でSE(アプリケーション領域のアーキテクト的なお仕事なはず)= XRは趣味です(貢献領域:Mixed Reality) 宮浦 恭弘 (Miyaura Takahiro) ◼ 大阪駆動開発コミュニティに生息 ◼ HoloLens日本販売してからXR系技術に取組む ◼ 普段はよくMixed Reality Toolkitに関する調査している ✓ ✓ ✓ リリース機能調べたり・・・ 面白い機能使ってみたり・・・ 新しい実験してフィードバックしたり・・・ ◼ 新しい技術や、MRに使えそうな技術を調べる 技術Tips : https://qiita.com/miyaura takabrz1 ※よかったらこれを機にお知り合いになってください

3.

Azure Object Anchors 2023/2/16 Copyright © 2021 Takahiro Miyaura

4.

Azure Object Anchors 概要 (参考)Azure Spatial Anchorsはスキャンし た空間情報を学習済み形状として活用 空間をスキャンし学習済みの形状と照合 ◆ Azure Services HoloLensで認識している空間情報 =現実空間をスキャンし凹凸や奥行を把握 Azure Object Anchors ①空間スキャン Azure Object Anchors Runtime SDK [オプション]診断情報送信 ②空間情報取得 HoloLens 2 学習済み形状モデル ③アンカー設置&可視化 [事前作業] インポート 取得 APIで登録 ou ファイル 3Dモデリング ツール等で作成 3Dモデル 2023/2/16 Copyright © 2021 Takahiro Miyaura 現実の物体は要登録

5.

Azure Object Anchors 概要 Dynamics 365 Guidesでも使えるようになる ◆ Point Dynamics 365 Guides HoloLens を活用して現実環境での作業を支援 手順等をガイダンスとして空間表示 ガイダンスの表示手段 QRコード 円形コード ホログラフィック Azure Object Anchors https://cloudblogs.microsoft.com/dynamics365/bdm/2021/05/05/improve-on-the-job-guidance-with-dynamics-365-guides-and-azure-objectanchors/ 2023/2/16 Copyright © 2021 Takahiro Miyaura

6.

Azure Object Anchors 概要 特徴 ◼ 検索する現実の物体は3Dモデルで同じ形状のものを用意 ◼ 3Dモデルは事前に登録し検索用の学習済みモデル(OUファイル)を取得 ◼ 実際の物体検索時にはOUファイルを使って称号を行う。 ◼ つまり基本的にオフラインでの利用が可能 2023/2/16 Copyright © 2021 Takahiro Miyaura

7.

Azure Object Anchors 利用について 大きくは2段階の作業 現実空間での利用 モデルの登録 (事前作業) HoloLensで認識している空間情報 =現実空間をスキャンし凹凸や奥行を把握 ◆ Azure Services Azure Object Anchors ①空間スキャン Azure Object Anchors Runtime SDK [オプション]診断情報送信 ②空間情報取得 HoloLens 2 学習済み形状モデル ③アンカー設置&可視化 [事前作業] インポート 取得 APIで登録 ou ファイル 3Dモデリング ツール等で作成 3Dモデル 2023/2/16 Copyright © 2021 Takahiro Miyaura

8.

Azure Object Anchors 利用について – 現実オブジェクトの登録 3DモデルとしてAzure Object Anchorsに登録 【現実オブジェクトは3Dモデルで用意】 ◼ フォーマット .glb, .gltf, .ply, .fbx, .obj ◼ サイズは1m ~10m の範囲内がスイートスポット ◼ 適切なスケール ユニット ◼ センチメートル, デシメートル, フィート, インチ, キロメートル, メートル, ミリメートル, ヤード, ◼ オブジェクトの重力方向 ◼ 例:オブジェクトの下向き-Y の場合は、(0, -1, 0) ◆ Azure Services Azure Object Anchors Azure Object Anchors Runtime SDK 【注意点】 サイズが大きく、LOD (詳細レベル) が高いモデルの処理には時間がかかる可能性あり。 学習済み形状モデル [事前作業] インポート Azure Object Anchorsの オブジェクト変換サービスを利用 • • 学習済みモデルはouファイルとして取得 HoloLensにインポート(ファイルコピー) 取得 APIで登録 ou ファイル 3Dモデリング ツール等で作成 3Dモデル 2023/2/16 Copyright © 2021 Takahiro Miyaura

9.

Azure Object Anchors 利用について – 現実のオブジェクトの検出と可視化 学習済みモデルと現実空間の情報を照合 HoloLensで認識している空間情報 =現実空間をスキャンし凹凸や奥行を把握 ①空間スキャン ②空間情報取得 検出時の主な調整項目 ◼ ObjectSearchArea Azure Object Anchors Runtime SDK HoloLens 2 ③アンカー設置&可視化 ✓ 現実の物体を検出するエリア範囲 (動画の赤のボックス) ◼ MinSurfaceCoverage ✓ 現実の物体と一致したとみなす表面の 最小カバレッジ率 ◼ IsExpectedToBeStandingOnGroundPlane ✓ 現実オブジェクト床面に設置しているかどうか ◼ ExpectedMaxVerticalOrientationInDegrees ✓ 認識可能な上方向と重力の最大角度 ◼ MaxScaleChange ✓ 2023/2/16 Copyright © 2021 Takahiro Miyaura オブジェクトのスケールを調整(0~1)

10.

Azure Object Anchors 実装の話 ◼ Quick Startのコードをちょっと紹介 2023/2/16 Copyright © 2021 Takahiro Miyaura

11.

Azure Object Anchors 実装の話 大きくは2つのアプリに分かれている。 https://github.com/Azure/azure-object-anchors quickstarts ├─apps //Hololens アプリ │ ├─directx //DirectX版アプリ │ └─unity │ ├─basic //Unity版素のアプリ │ └─mrtk //Unity版MRTK利用アプリ └─conversion └─ConversionQuickstart //3Dモデル登録アプリ ←今日はこのサンプルの話を少し アプリ概要 ◼ HoloLens アプリ ◼ HoloLensにデプロイ ◼ 学習済みモデルと現実物体を照合&位置合わせ ◼ 3Dモデル登録アプリ ◼ 現実物体を模した3DモデルをAzure Object Anchorsサービスに登録 ◼ 学習済みモデルファイル(.ou)の取得 2023/2/16 Copyright © 2021 Takahiro Miyaura

12.

Azure Object Anchors 実装の話 - 現実の物体との照合 ◼ Quick Startのコードをちょっと紹介 2023/2/16 Copyright © 2021 Takahiro Miyaura

13.

Azure Object Anchors 実装の話 - 現実の物体との照合 ポイントになるクラスはこれ! ◼ObjectAnchorsServiceクラス ObjectTrackerクラス 以下の手順で物体検出を実現する 1. サービスの初期化 TrackableObjectDataLoaderクラス 2. 検索する物体に対応するOUファイルの格納 ObjectTrackerクラス 3. 物体検出時のイベントの設定 • ObjectAdded - 物体を検出した • ObjectUpdate - 物体の状態が変わった • ObjectRemoved - 物体をロストした • RunningChanged –ステータス(一時停止/実行中) TrackableObjectMenuクラス が変更 4. 検出パラメータの調整 ObjectTrackerクラス 5. 物体検出の開始/一時停止 6. 物体検出時の条件(範囲や精度)の設定 7. 終了 2023/2/16 Copyright © 2021 Takahiro Miyaura

14.

まとめ 2023/2/16 Copyright © 2021 Takahiro Miyaura

15.

まとめ Azure Object Anchors ◼3Dモデル形状を登録 ◼現実空間から学習済モデルと一致する現実の物体を検索 ◼現実の物体位置、向きを推定しデジタル情報と位置合わせ 今日の詳細版は近日Qiitaにアップ予定! 2023/2/16 Copyright © 2021 Takahiro Miyaura

16.

参考 ◼ Azure Object Anchors の公式ドキュメント ◼ https://docs.microsoft.com/ja-jp/azure/object-anchors/overview ◼ Azure Object AnchorsのGithub ◼ https://github.com/Azure/azure-object-anchors ◼ Azure Mixed Reality の新サービス「Azure Object Anchors」を使う ◼ 機能概要などの解説 ◼ https://qiita.com/miyaura/items/45f978f8833b3aad12dc ◼ Kobe HoloLens Meetup! vol.4 - Microsoft Ignite Recap ◼ 今日説明していない3Dモデルを登録する方の実装を少し解説 ◼ https://arkobe.connpass.com/event/210424/ 2023/2/16 Copyright © 2021 Takahiro Miyaura

17.

大阪駆動開発 関西を中心に、IT系のおもしろそうなことを楽しんでやるコミュニティ 2023/2/16 Copyright © 2021 Takahiro Miyaura