目次
はじめに
- HoloLensを使ったアプリケーション開発において、現実空間の物体に対し、3Dコンテンツをぴたりと重ねて表示したいユースケースが多くあります
- ARマーカー、QRコードなどのマーカーを利用する方法、Spatial Anchorsなどの空間の特徴点を用いる方法がありますが、今回は物体の特徴点をもとに、現実空間と3Dコンテンツの位置合わせを行う「Azure Object Anchors」というサービスについて、検証を行います
- なお、本記事が概要編で、利用方法については別記事での投稿を予定しています
Azure Object Anchorsとは
- 前述のとおり、現実空間の物体の特徴点を用いて、3Dコンテンツの位置合わせを行う事ができるサービスです
- 対象となる物体の3Dモデルをもとに、AIを用いて特徴点を抽出してくれます
- AzureのMR向けサービスのニューフェイスであり、Remote Rendering、Spatial Anchorsに続く3つめのMR向けサービスとなっています
- 対象デバイス:HoloLens2のみ(2021/6現在)
- サービス提供ステータス:Public Preview(2021/6現在)
Azure Object Anchorsのメリット
- 他の位置合わせ方式と比較した場合のメリットとしては、以下のような事が考えられます
- マーカー方式(ARマーカー、QRコード等)に対するメリット:
- マーカー不要で、位置合わせが可能になる
- 空間の特徴点を用いる方式(Spatial Anchors等)に対するメリット:
- 特定の物体の特徴点をもとに位置合わせを行うため、別の空間であっても同じ物体があれば位置合わせが可能になる
- マーカー方式(ARマーカー、QRコード等)に対するメリット:
- 特定の物体(製品など)に合わせて、情報を表示するコンテンツを開発したい場合にメリットがありそうです!
Azure Object Anchorsの構成
- 以下のイメージのような構成になっています
特徴点の抽出(Ingestion)
- 物体の3Dモデルを、Azure上のObject Anchorsサービスへアップロードする事により、物体の特徴点を抽出します
- 対応形式:fbx、ply、obj、glb、gltf(2021/6現在)
- 特徴点データはファイルとして出力されます
物体の認識(Object Recognition)
- HoloLens向けアプリの開発時に、Azure Object Anchors SDKを利用した開発を行う事により、上記の特徴点ファイルを利用した物体認識・位置合わせを行う機能を実装する事できます
- 物体認識を行う際には、Azure上のObject Anchorsサービスとの通信は行わないため、オフライン環境で利用することが可能です
動作イメージ
- 当社で開発中のRoboLens(HoloLens2を利用したロボットティーチングシステム)に組み込んでみました!
- 今回は、Microsoftの推奨する対象物のサイズ(各次元が 1-10 メートル)よりも、小さい対象物(Universal Robot社:UR3e)を使用しましたが、比較的高精度かつ、簡単に位置合わせをすることができました!
- ユースケースに合えば、活用を検討してみてはいかがでしょうか