診断と修正:コンテンツのジッター
本稿では、平面画像トラッキングにおいて仮想コンテンツがジッター(微小震動)、漂移、または跳躍する問題に対処し、開発者が正常なジッターと異常なジッターを区別できるように支援するとともに、体系的な調査と改善策を提供します。
「正常なジッター」の区別
以下の状況を理解することで、過剰な最適化や誤った問題判断を回避できます:
微小な変位(正常)
- 現象:仮想コンテンツが数ピクセル単位でわずかに浮動または緩慢に回転する。
- 発生シナリオ:
- 照明が不均一な場合(室内の光と影の変化など)
- カメラのオートフォーカスまたは露光調整時
- デバイスがわずかに手ブレしている場合(三脚未使用)
- 対処方針:これらの状況は回避が困難であり、特別な対応は不要。
一時的なジッター(正常)
- 現象:デバイスまたはターゲット画像を高速移動させた際、仮想コンテンツが0.5~1秒間ジッターし、その後安定する。
- 発生シナリオ:
- 静止状態から動的状態への移行過程
- ターゲット画像が視野内に入った初期認識段階
- 対処方針:アルゴリズムの収束プロセスに伴う現象であり、短時間で回復すれば正常。
エッジジッター(正常)
- 現象:画像がカメラ視野の端にある、または追跡喪失に近い状態で仮想コンテンツがわずかに跳動する。
- 発生シナリオ:
- 画像の一部が遮蔽された場合(指でエッジを覆うなど)
- カメラ視野から画像が押し出されようとする時
- 対処方針:トラッキング情報の部分的な欠落によるアルゴリズムの境界条件のため、ユーザーに画像を視野中心に保つよう促すことを推奨。
異常ジッターの主な原因と改善策
以下のジッターは問題であるため、原因に応じた対応が必要です:
ターゲット画像の品質不良
現象:仮想コンテンツが持続的に高頻度でジッターし、不規則な跳躍や頻繁な消失が発生する。
調査方法:
- 認識度検証:ターゲット画像検証ツールを使用し、認識度をチェックする。
改善提案:
- 画像の最適化:
- 局所的なコントラストを向上させる。
- 単色領域を避け、微細なテクスチャを追加する。
- 繰り返しパターン(均一テクスチャ)を避ける。
ハードウェア性能不足
現象:ローエンドデバイスで、ミドル~ハイエンド端末と比較して明らかにジッターが増加、または追跡喪失しやすい。
調査方法:
- CPU使用率の確認:プロファイラツールを使用し、アプリケーションのCPU使用率をモニタリングする。
改善提案:
- パフォーマンスモードの有効化:
ImageTrackerModeをPreferPerformanceに設定し、わずかな精度を犠牲にして滑らかさを確保する。 - 同時トラッキング数の削減:複数ターゲットの同時トラッキングを有効にしている場合、
Simultaneous Numberを適宜減少させる。 - プラットフォーム別最適化:ローエンドデバイス向けに簡略化シーンを提供する。
環境要因による干渉
現象:特定の照明条件や背景でジッターが発生し、環境変更後に正常化する。
調査方法:
- 照明テスト:均一照明(曇天環境)と強光/影の対比環境でそれぞれテストする。
- 背景ノイズ:カメラ背景が過度に雑多でないか確認(複数人の移動など)。
- 反射干渉:ターゲット画像の物理実体表面が反射していないか(ガラス、金属など)。
改善提案:
- 照明制御:ユーザーに均一な照明環境での利用を推奨し、直射日光や強い影を避けるよう案内する。
- 物理的対策:反射表面に画像がある場合、マットフィルムを貼る、または印刷物として実体化する。
コンテンツの局所的な顕著なジッター
現象:仮想コンテンツのシーン規模が大きく、ターゲット画像の物理実体近傍ではジッターが小さいが、遠隔部で顕著にジッターする。
調査方法:
- スケール縮小テスト:仮想コンテンツの
Scaleを一律縮小し、同一環境・条件下で再テストする。
改善提案:
- コンテンツの適切な調整:過大な仮想コンテンツは、物理実体から遠ざかる方向に角度誤差の増幅効果が生じます(例:0.1°の角度誤差が近接部では0.1cmのずれでも、遠方では10cmのズレに増幅)。設計時には、仮想コンテンツの物理サイズに対する相対的なスケールを適切に調整する必要があります。
まとめとベストプラクティス
コンテンツジッターは「正常」と「異常」を区別することが重要です。正常ジッター(微小変位、一時的ジッター等)は特別な対応不要です。一方、異常ジッター(高頻度跳躍、頻繁な追跡喪失等)はユーザーエクスペリエンスを損なうため、以下の順序で調査を推奨します:
- ターゲット画像品質の確認
- 特定デバイスの性能が原因かどうかの特定
- 環境要因(照明、動的背景、反射面等)の除外
- 仮想コンテンツ自体のスケール過大の有無確認
問題が継続する場合は、EasyAR公式フォーラムまたはテクニカルサポートにログファイルや画面録画を提供し、詳細な分析を依頼してください。