Table of Contents

平面跟蹤與運動跟蹤結合

本篇介紹如何將平面圖像跟蹤與設備運動跟蹤功能相融合,以提升複雜場景下的跟蹤穩定性和用戶體驗。內容包括核心原理、預期效果及潛在問題分析。

基本原理

運動融合(Motion Fusion) 結合平面圖像跟蹤的位姿數據和設備運動跟蹤的位姿數據,實現更魯棒的位姿估計。以下是其核心流程:

數據同步與互補

  • 視覺跟蹤:通過圖像特徵點匹配計算當前幀的位姿(位置+旋轉),但易受遮擋、模糊或快速移動影響。
  • 運動跟蹤:利用 IMU 傳感器高頻輸出以及視覺圖像的輸出獲得設備運動數據,但存在累積飄移誤差。
  • 融合機制
    • 將視覺跟蹤的位姿與設備運動跟蹤的位姿進行座標系對齊。
    • 當目標圖像清晰可見、穩定運動時:以視覺跟蹤爲主。不斷地將視覺跟蹤位姿送入融合模塊進行修正,以減少整個系統的累積漂移。
    • 當目標圖像丟失或者在畫面中佔比過小、快速運動時:此時視覺跟蹤失效,以運動跟蹤爲主。根據當前的運動跟蹤位姿進行融合位姿預測。

關鍵技術點

  • 時間戳對齊:將視覺幀的時間戳與運動跟蹤數據對齊,避免因延遲導致抖動。
  • 座標系對齊:根據視覺跟蹤的軌跡和運動跟蹤的軌跡進行座標系對齊。
  • 重定位:圖像重新出現時,視覺跟蹤接管快速校正可能的累積誤差,將虛擬物體“拉回”正確位置。

適用場景與限制

運動融合並不適合所有場景下的使用。有以下情形之一的將 不適用 運動融合功能:

  • 目標設備不支持 ARCore/ARKit 等運動跟蹤功能。詳細的設備支持列表參考:運動跟蹤設備支持
  • 目標圖像/平面物體在場景中是動態的,例如拿在手上體驗的卡片。

除此之外的場景,使用運動融合將極大的提升平面圖像跟蹤的用戶體驗,包括但不限於以下使用情景:

  • 快速運動:用戶手持設備快速移動,運動模糊會導致圖像跟蹤失效。
  • 目標消失:畫面離開目標本身或者目標被動態物體(如行人)遮擋時,依然保持整個場景裏虛擬內容的呈現。
  • 遠離目標:用戶手持設備遠離導致目標圖像在畫面中佔比過小,依然穩定持續跟蹤。
  • 低光照條件:視覺跟蹤性能下降,需要維持體驗。

效果與預期結果

在場景適用的前提下,使用運動融合將比單純的使用平面圖像跟蹤帶來更穩定、平滑的用戶體驗。

理想效果

  • 更穩定的跟蹤:虛擬物體不抖動、不跳變。
  • 平滑過渡:視覺跟蹤失效時,融合位姿的變化連續自然。
  • 抗干擾能力:目標圖像丟失或被遮擋、設備快速運動等情形下,虛擬物體仍能跟隨設備運動持續跟蹤。

不理想情況與應對

現象 原因 用戶感知 解決方案
初始未生效 運動跟蹤需要一定時間進行初始化 在初始階段出現內容消失 一定的 UI 提示,確保系統運動跟蹤初始化完成
飄移明顯 系統誤差累積,且長時間無視覺校正 虛擬物體偏離原位置 引導用戶縮短遮擋時間,或增加視覺重定位的提示
性能下降 長時間同時運行兩個功能 幀率下降畫面卡頓 正常現象,可通過接口關閉運動融合

預期結果驗證方法

使用支持的設備在真實場景中測試:

  1. 對準圖像,確認虛擬物體穩定。
  2. 用手遮擋圖像2秒並移動設備,觀察虛擬物體是否平滑移動。
  3. 移開手,確認虛擬物體快速回正且無跳變。

總結與最佳實踐

運動融合顯著提升了平面圖像跟蹤在許多場景下的魯棒性,但需要設備的硬件支持且性能足夠。開發者應根據目標用戶設備選擇性啓用該功能,並在低性能設備上提供降級方案。

實時打開/關閉運動融合功能的 API 參考: