Table of Contents

EasyAR Plane Detection

EasyAR Plane Detection は、EasyAR Motion Tracker の実行中に環境内の水平面を自動検出し、仮想オブジェクト配置などの機能を提供します。

EasyAR Plane Detection の原理

EasyAR Plane Detection は、EasyAR Motion Tracker の実行中に同期して自動実行される、シンプルな環境理解機能です。デバイスカメラと慣性センサーから取得した時空間情報に基づいて、システムは実環境を継続的にモデル化し、環境内の水平面を識別、追跡します。これにより、仮想オブジェクト配置、インタラクションの整列、空間理解の基礎を提供します。

planedetection

具体的な流れは次のとおりです。

  1. Motion tracking

    Motion tracking の実行中、EasyAR は RGB カメラからの連続画像フレーム、加速度計とジャイロスコープのデータという 2 種類の核心データを継続的に取得します。システムは視覚慣性融合アルゴリズムにより、世界座標系におけるデバイスの連続的な 6 自由度位置と姿勢を推定し、後続の空間モデリングと平面分析に安定した低ドリフトのカメラ軌跡を提供します。

  2. Feature point 検出と三角測量

    pose 推定に基づいて、EasyAR は画像シーケンスから角点やテクスチャが顕著な領域などの安定した視覚 feature point を抽出、追跡し、多視点幾何によりこれらの feature point を三角測量して 3D 空間内の位置を復元し、局所的な 3D point cloud 表現を形成します。

  3. 平面候補領域の生成

    3D point cloud を取得した後、システムは点群に対して幾何解析を行い、同一平面に属する可能性のある点集合を見つけます。重力方向との関係により、床やテーブル面など、法線ベクトルが重力方向とほぼ平行な平面、つまり水平面候補を区別できます。

  4. 平面の追跡と検出

    EasyAR は連続フレームで検出済み平面を検証、更新します。

    • 新しく観測された 3D 点が既存の平面モデルを支持するか判断します。
    • 観測の一貫性に基づいて、平面の範囲、境界、confidence を動的に調整します。
    • 一時的または不安定な平面候補を除外します。 幾何的一貫性と時間的安定性の両方が要件を満たす場合にのみ、結果は「利用可能な平面」になります。
  5. 平面座標系と仮想コンテンツの整列

    平面が確認されると、plane detection 結果に基づいてよりリアルな AR 効果を実現できます。

    • 平面上に仮想オブジェクトを配置し、実スケールと方向に整列します。
    • ray casting、Hit Test を行い、画面タップを実平面上の位置へマッピングします。
    • オブジェクトの吸着、移動、オクルージョン判定など、平面ベースのインタラクションロジックを実装します。

平面と motion tracking システムは同じ世界座標系を共有するため、ユーザーがデバイスを動かしても、仮想オブジェクトは安定した連続的な空間一貫性を維持できます。

Plane detection は motion tracking が提供する安定した pose と空間構造に依存します。一方で plane detection の結果は、コンテンツ配置やインタラクション設計の補助など、環境理解能力を強化するためにも使用できます。両者は EasyAR の空間認識能力の中核基盤を構成しますが、システムアーキテクチャ上は分離されています。Plane detection は motion tracking 自体の pose 推定結果を変更しません。

ベストプラクティス

plane detection の効果を確保するため、次の実践に従ってください。

  • ユーザーにゆっくり移動するよう促し、静止、速い移動、その場回転を避けます。
  • テクスチャのない平面、単色の平面、鏡面など、視覚的に認識しにくい平面を避けます。
注記

Plane Detection は EasyAR が環境内の水平面を認識する機能です。Surface Tracking はシーン内の平面構造を検出または認識しないため、区別する必要があります。

関連資料