Table of Contents

平面トラッキングとモーショントラッキングの統合

本稿では、平面画像トラッキングとデバイスモーショントラッキング機能を融合させ、複雑なシーンにおけるトラッキングの安定性とユーザーエクスペリエンスを向上させる方法について説明します。コア原理、期待される効果、および潜在的な問題分析を含みます。

基本原則

モーションフュージョン(Motion Fusion) は、平面画像トラッキングのポーズデータとデバイスモーショントラッキングのポーズデータを組み合わせ、よりロバストなポーズ推定を実現します。以下はそのコアプロセスです:

データ同期と補完

  • ビジュアルトラッキング:画像特徴点のマッチングを通じて現在フレームのポーズ(位置+回転)を計算しますが、オクルージョン、ぼけ、または高速移動の影響を受けやすいです。
  • モーショントラッキング:IMUセンサーの高頻度出力とビジュアル画像の出力を利用してデバイスのモーションデータを取得しますが、累積ドリフト誤差が発生します。
  • 融合メカニズム
    • ビジュアルトラッキングのポーズとデバイスモーショントラッキングのポーズを座標系で整列させます。
    • ターゲット画像が明確に可視で安定した動きの場合:ビジュアルトラッキングを優先します。継続的にビジュアルトラッキングポーズを融合モジュールに送信し、システム全体の累積ドリフトを低減します。
    • ターゲット画像が消失または画面内で非常に小さい、高速移動の場合:ビジュアルトラッキングが失敗するため、モーショントラッキングを優先します。現在のモーショントラッキングポーズに基づいて融合ポーズを予測します。

キーテクノロジーポイント

  • タイムスタンプ同期:ビジュアルフレームのタイムスタンプとモーショントラッキングデータを同期させ、遅延によるジッターを回避します。
  • 座標系整列:ビジュアルトラッキングの軌跡とモーショントラッキングの軌跡に基づいて座標系を整列させます。
  • 再位置特定:画像が再出現した際、ビジュアルトラッキングが引き継ぎ、潜在的な累積誤差を迅速に補正し、仮想オブジェクトを正しい位置に「引き戻し」ます。

適用シーンと制限

モーションフュージョンはすべてのシーンで使用できるわけではありません。以下のいずれかに該当する場合は、モーションフュージョン機能を 使用できません

  • ターゲットデバイスが ARCore/ARKit などのモーショントラッキング機能をサポートしていない場合。詳細なデバイスサポートリストはこちらを参照:モーショントラッキングデバイスサポート
  • ターゲット画像/平面オブジェクトがシーン内で動的である場合(例:手に持って体験するカード)。

上記以外のシーンでは、モーションフュージョンの使用により平面画像トラッキングのユーザーエクスペリエンスが大幅に向上します。以下の使用シナリオを含みますが、これらに限定されません:

  • 高速移動:ユーザーがデバイスを高速で移動させるとき、モーションブラーにより画像トラッキングが失敗します。
  • ターゲット消失:画面からターゲット自体が離れたり、ターゲットが動的オブジェクト(例:通行人)で遮蔽された場合でも、シーン内の仮想コンテンツの表示を維持します。
  • ターゲットからの遠距離:ユーザーがデバイスを遠ざけ、ターゲット画像が画面内で非常に小さくなっても、安定した継続的トラッキングを実現します。
  • 低照度条件:ビジュアルトラッキングの性能が低下しても、エクスペリエンスを維持します。

効果と期待される結果

シーンが適切であることを前提に、モーションフュージョンの使用は単純な平面画像トラッキングよりも安定性と滑らかさを向上させます。

理想的な効果

  • より安定したトラッキング:仮想オブジェクトがジッターやジャンプを起こしません。
  • 滑らかな遷移:ビジュアルトラッキングが失敗した際、融合ポーズの変化が連続的で自然です。
  • 耐妨害性:ターゲット画像の消失や遮蔽、デバイスの高速移動などの状況下でも、仮想オブジェクトがデバイスの動きに追随し続けます。

非理想的な状況と対策

現象 原因 ユーザー知覚 解決策
初期未動作 モーショントラッキングの初期化に時間がかかる 初期段階でコンテンツが消失する UIでシステムモーショントラッキングの初期化完了を促す
顕著なドリフト システム誤差の蓄積と長時間のビジュアル補正不足 仮想オブジェクトが元の位置からずれる 遮蔽時間の短縮を促す、またはビジュアル再位置特定のヒントを追加
性能低下 長時間の二機能同時実行 フレームレート低下、画面のカクつき 正常現象。APIでモーションフュージョンをオフに可能

期待される結果の検証方法

サポートデバイスを使用した実シーンでのテスト手順:

  1. 画像に合わせ、仮想オブジェクトが安定することを確認。
  2. 画像を手で2秒間遮蔽しながらデバイスを移動し、仮想オブジェクトが滑らかに移動するか観察。
  3. 手を離し、仮想オブジェクトが素早く正確な位置に戻りジャンプしないことを確認。

まとめとベストプラクティス

モーションフュージョンは平面画像トラッキングの多くのシーンでのロバスト性を著しく向上させますが、デバイスのハードウェアサポートと十分な性能が必要です。開発者はターゲットユーザーデバイスに基づいてこの機能を選択的に有効化し、低性能デバイスでは機能低下対策を提供すべきです。

モーションフュージョン機能のリアルタイムON/OFF APIリファレンス: