EasyAR 平面検出
EasyAR 平面検出は、EasyAR モーショントラッキング実行中に環境内の水平面または垂直面を自動検出し、仮想オブジェクト配置などの機能を提供します。
EasyAR 平面検出の原理
EasyAR 平面検出(Plane Detection)は、EasyAR モーショントラッキング(Motion Tracker)プロセス中に同期して自動的に行われる、シンプルな環境理解機能です。システムは、デバイスのカメラと慣性センサーから取得した時空間情報に基づき、実環境を連続的にモデリングします。これにより環境内の水平面と垂直面を識別・追跡し、仮想オブジェクト配置、インタラクションの位置合わせ、空間理解のための基礎サポートを提供します。

具体的なプロセスは以下の通りです:
モーショントラッキング
モーショントラッキング実行中、EasyAR は以下2種類のコアデータを継続的に取得します:RGBカメラからの連続画像フレーム、加速度計およびジャイロスコープのデータ。システムはビジュアル–慣性融合アルゴリズムを用いて、デバイスの世界座標系における連続的な6自由度位置と姿勢を推定します。これにより、後続の空間モデリングと平面解析のための安定した、ドリフトの少ないカメラ軌跡を提供します。
特徴点検出と三角測量
姿勢推定を基盤として、EasyAR は画像シーケンスから安定した視覚的特徴点(コーナー点やテクスチャの顕著な領域など)を抽出・追跡します。多視点幾何学手法を用いてこれらの特徴点を三角測量し、3次元空間内での位置を復元します。これにより局所的な3次元点群が形成されます。
平面候補領域の生成
3次元点群を取得後、システムは幾何学的解析を行い、同一平面に属する可能性のある点群を発見します。重力方向との関係性を基に、異なるタイプの平面候補を区別します:
- 水平面: 法線ベクトルが重力方向とほぼ平行(床、テーブルなど)。
- 垂直面: 法線ベクトルが重力方向とほぼ垂直(壁、柱など)。
平面追跡と検出
EasyAR は連続フレームで検出済み平面を検証・更新します:
- 新たに観測された3次元点が既存平面モデルを支持するかどうかを判断。
- 観測の一貫性に基づき、平面の範囲、境界、信頼度を動的に調整。
- 短時間出現または不安定な平面候補を除外。 幾何学的整合性と時間的安定性の両要件を満たした場合のみ、結果は「利用可能な平面」として確定されます。
平面座標系と仮想コンテンツの位置合わせ
平面が確定されると、その検出結果に基づきよりリアルなAR効果を実現できます:
- 平面上への仮想オブジェクト配置、実スケールと方向の位置合わせ。
- レイキャスト(Hit Test)による画面タップ位置の実平面へのマッピング。
- オブジェクトのスナップ、移動、遮蔽判定など平面ベースのインタラクションロジックの実装。
平面はモーショントラッキングシステムと同一の世界座標系を共有するため、ユーザーがデバイスを移動させても仮想オブジェクトは安定した連続的な空間的一貫性を維持します。
平面検出はモーショントラッキングが提供する安定した姿勢と空間構造に依存します。逆に平面検出結果は、コンテンツ配置やインタラクション設計の強化など、環境理解能力の向上にも寄与します。これら二者は共同で EasyAR の空間認識能力の中核を形成しますが、システムアーキテクチャ上は互いに分離されています。平面検出はモーショントラッキング自体の姿勢推定結果を変更しません。
ベストプラクティス
平面検出の効果を保証するため、以下のプラクティスに従うことでユーザー体験を向上できます。
- ユーザーにゆっくりと移動するよう促し、静止、高速移動、その場旋回を避けること。
- 無地、単色、鏡面など視覚的に識別困難な平面を避けること。
注記
平面検出は環境内の水平/垂直面を認識するEasyAR機能です。表面追跡(Surface Tracking)はシーンの平面構造を検出・認識しないため、区別が必要です。