診断と修正: コンテンツの jitter
本記事は、平面画像 tracking において仮想コンテンツに jitter、drifting、または跳ねが発生する問題を対象とし、開発者が正常な jitter と異常な jitter を区別できるようにし、体系的な troubleshooting と改善方法を提供します。
「正常な jitter」を区別する
次の状況を理解すると、過剰な最適化や誤判定を避けるのに役立ちます。
軽微な変位 (正常)
- 挙動: 仮想コンテンツが数ピクセルほど軽く浮動する、またはゆっくり回転する。
- シナリオ:
- 照明が不均一、例えば室内で光や影が変化する
- カメラの auto focus または exposure 調整時
- デバイスの軽い手ブレ、三脚固定なし
- 期待: この種のシナリオは避けにくく、特別な処理は不要です。
短時間の jitter (正常)
- 挙動: デバイスまたは target image を素早く動かしたとき、仮想コンテンツが 0.5-1 秒 jitter し、その後安定する。
- シナリオ:
- 静止状態から動的状態への切り替え過程
- target image が視野に入った初期認識段階
- 期待: アルゴリズムの収束過程に属し、短時間で回復すれば正常です。
エッジ jitter (正常)
- 挙動: image がカメラ視野の端にある、または失われかけているとき、仮想コンテンツがわずかに跳ねる。
- シナリオ:
- image が部分的に遮られている、例えば指が端を覆っている
- カメラ視野が image の外へ移動するとき
- 期待: tracking information の一部欠落によって生じるアルゴリズムの境界です。ユーザーに image を視野中心に保つよう案内することを推奨します。
異常 jitter の一般的な原因と改善
以下の jitter は問題であり、対象に応じた解決が必要です。
target image の品質が低い
現象: 仮想コンテンツが高頻度で継続的に jitter し、不規則に跳ねたり頻繁に消えたりする。 Troubleshooting 方法:
- recognition score の確認: target image detection tool を使用して recognition score を確認します。
改善提案:
- image を最適化:
- 局所コントラストを上げる。
- 単色領域を避け、細かな texture を追加する。
- 繰り返し texture を避ける。
hardware 性能不足
現象: ローエンドデバイスでは中上位デバイスより jitter が明らか、または tracking を失いやすい。 Troubleshooting 方法:
- CPU 使用率を確認: Profiler tool を使用してアプリの CPU 使用率を監視します。
改善提案:
- performance mode を有効化:
ImageTrackerModeをPreferPerformanceに設定し、少量の精度を犠牲にして滑らかさを得ます。 - tracking 数を減らす: 複数 target の同時 tracking を有効にしている場合、
Simultaneous Numberを適切に減らします。 - プラットフォーム別対応: ローエンドデバイス向けに簡略版 scene を提供します。
環境干渉
現象: 特定の照明または background で jitter し、環境を変えると正常になる。 Troubleshooting 方法:
- 照明テスト: 曇天のような均一な照明と、強い光/影のコントラスト環境でそれぞれテストします。
- background 干渉: カメラ background が複雑すぎないか、例えば多くの人が歩いていないかを確認します。
- 反射干渉: target image の物理表面が反射するか、例えばガラスや金属かを確認します。
改善提案:
- 照明を制御: ユーザーには均一な照明環境で使用し、直射光や強い影を避けるよう推奨します。
- 物理的最適化: image が反射面にある場合は、マットフィルムを被せるか、印刷して物理物にします。
コンテンツの局所 jitter が明らか
現象: 仮想コンテンツ scene が大きく、target image の物理实体に近い仮想コンテンツの jitter は小さいが、target entity から遠い仮想コンテンツの jitter が明らか。 Troubleshooting 方法:
- コンテンツを縮小: scene 内の仮想コンテンツの
Scaleを一律に小さくし、同じ環境と条件で再度テストします。
改善提案:
- コンテンツを適切に調整: 大きすぎる仮想コンテンツは、target entity から離れる方向で角度誤差の拡大効果があります。例えば 0.1° の角度誤差は近くでは 0.1cm の virtual-real alignment error として現れますが、遠くでは 10cm に拡大されます。仮想コンテンツを設計する際は、target image に対する仮想コンテンツの物理サイズを適切に調整する必要があります。
まとめとベストプラクティス
コンテンツ jitter は正常 jitter と異常 jitter を区別する必要があります。正常 jitter、例えば軽微な変位や短時間での回復などは特別な処理を必要としません。異常 jitter、例えば高頻度の跳ねや頻繁な消失などはユーザー体験に影響するため追加の注意が必要です。次の順序で troubleshooting することを推奨します。
- target image の品質を確認する。
- 特定デバイスの性能による固有現象か確認する。
- 照明、動的 scenes、反射面などの環境要因を排除する。
- 仮想コンテンツ自体が大きすぎないか確認する。
問題が続く場合は、EasyAR 公式フォーラムまたは技術サポートを通じて log files、画面録画などを提供し、追加分析を行ってください。