Table of Contents

Mega と ARKit/ARCore の機能比較

EasyAR Mega は Apple の ARKit および Google の ARCore と関連がありながら、異なる点もあります。それらの関係とそれぞれの利点を理解することは、開発者が Mega の動作メカニズムを把握するうえで非常に重要です。簡単に言えば、Mega は ARKit/ARCore の motion tracking 能力を十分に活用しつつ、ARKit/ARCore では満たせない large-scale spatial localization のニーズを拡張します。

中核的な関係

  • ARKit/ARCore (基盤レイヤー):

    • これらはデバイスの OS (iOS/Android) が提供する AR development frameworks です。
    • 中核的な役割は、デバイスレベル の environment perception と tracking です。たとえば、デバイス camera と IMU を利用して simultaneous localization and mapping (SLAM)、plane detection、lighting estimation、image/object recognition などを実現します。
    • 上位アプリケーションに、安定した低遅延の 6DoF pose data stream を提供します。
  • EasyAR Mega (アプリケーション/プラットフォームレイヤー):

    • これは 超大規模空間コンピューティングプラットフォーム です。
    • 中核的な役割は、事前に構築された高精度 3D データと先進的な visual localization 技術を組み合わせ、都市スケールセンチメートル級 の persistent localization を実現することです。ARKit/ARCore が提供する基盤 6DoF データを利用して fused motion tracking を実現します。
    • Mega は ARKit/ARCore を置き換えるものではありません。むしろ、それらを利用して物理世界におけるデバイスの初期運動データを取得し、そのデータを Mega マップと照合して、統一された高精度な座標系に「アンカー」します。

機能比較と Mega の利点

ARKit/ARCore も、ARKit の ARWorldMap や ARCore の Cloud Anchors/Geospatial API など、一定の spatial recognition と localization 能力を提供しています。これらの機能は Mega が提供する ultra-large-scale spatial localization 能力と一部似ていますが、根本的に異なります。以下は詳細な技術比較です。

機能 ARWorldMap Cloud Anchors/Geospatial API EasyAR Mega
Localization 範囲 周辺環境をスキャンして localization 可能 周辺環境をスキャンして localization 可能 都市級の空間環境をスキャンして localization 可能
Localization 特性 環境変化に対応可能 環境変化に対応可能 環境変化や昼夜の変化に対応可能
Map 構築 デバイス側で収集・構築し、local area network で共有 デバイス側で収集・構築し、Google Cloud にホストされた endpoints で共有 専用デバイスで収集して cloud で構築し、cloud localization services を通じて任意のデバイス端で共有
Virtual-real occlusion LiDAR でスキャンした Mesh による geometric occlusion Depth API による depth ベースの occlusion LOD と豊富な詳細を持つ 3D モデルを提供し、正確な geometric occlusion を実現
クロスデバイス体験 iOS デバイス間でのみ共有と体験をサポート Google Cloud endpoints により Android と iOS デバイス間で共有と体験を実現 統一 cloud localization services または on-device deployment により、ほぼすべてのデバイス (Android、iOS、XR headsets) 間で共有と体験を実現
技術依存 ARKit 搭載デバイスでのみ動作し、一部機能には追加の hardware または software 要件 (LiDAR など) がある ARKit、ARCore 搭載デバイスで動作 幅広いデバイスと互換性があり、ARKit または ARCore の搭載を必須要件としない

ARKit/ARCore と同時に使用する

EasyAR Mega を統合する際、通常は ARKit または ARCore の API を直接呼び出す必要はありません。これは非常に重要な概念です。

  • Mega アプリケーションは、実行端末に応じて利用可能な ARKit/ARCore の 6DoF data stream を自動的に取得します。
  • localization services の管理と pose data の取得には、統一された MegaTracker または MegaGoTracker API を使用するだけです。内部では ARKit/ARCore の raw data が自動的に融合計算され、最終的に統一された高精度で継続 tracking される spatial localization 結果を提供します。
  • この設計により、開発プロセスが大幅に簡素化されます。異なるプラットフォーム向けに 2 セットのコードを書いて保守する必要も、ARKit/ARCore の複雑な API を深く理解する必要もありません。EasyAR Mega の機能を使ってアプリケーションロジックを構築することに集中できます。
ヒント

例外: Mega localization を使用しながら、ARKit の People Occlusion など ARKit/ARCore の特定機能も利用したい場合は、アプリケーション内で native API を組み合わせて呼び出す必要がある場合があります。


EasyAR Mega は ARKit/ARCore と競合したり置き換えたりするものではなく、相互補完し協調するものです。ARKit/ARCore は「デバイスが環境内でどのように動くか」という問題を解決し、EasyAR Mega は「すべてのデバイスが同じ巨大空間内でどのように正確に localization するか」という問題を解決します。両者を組み合わせることで、大規模空間共有と persistent localization 能力を備えた、これまでにない AR アプリケーションを構築できます。