Table of Contents

Diagnosis and repair: content jitter

This article addresses issues where virtual content exhibits jitter, drift, or sudden jumps during planar image tracking. It helps developers distinguish between normal and abnormal jitter and provides systematic troubleshooting and improvement solutions.

Distinguishing "normal jitter"

Understanding the following scenarios helps avoid over-optimization or misdiagnosis:

Slight displacement (normal)

  • Manifestation: Virtual content shows slight floating or slow rotation of a few pixels.
  • Scenarios:
    • Uneven lighting (e.g., indoor light/shadow variations)
    • Camera auto-focus or exposure adjustment
    • Slight hand shake (without tripod stabilization)
  • Expectation: Hard to avoid in such scenarios, no special handling required.

Brief jitter (normal)

  • Manifestation: Virtual content jitters for 0.5~1 second when the device or target image is moved quickly, then stabilizes.
  • Scenarios:
    • Transition from static to dynamic motion
    • Initial recognition phase when the target image enters the field of view
  • Expectation: Part of the algorithm convergence process, normal if recovery is quick.

Edge jitter (normal)

  • Manifestation: Virtual content slightly jumps when the image is at the edge of the camera’s field of view or near loss.
  • Scenarios:
    • Partial occlusion of the image (e.g., fingers covering the edge)
    • When the camera’s field of view extends beyond boundaries
  • Expectation: Caused by partial loss of tracking information at algorithm boundaries, recommend guiding users to keep the image centered.

Common causes and improvements for abnormal jitter

The following jitter types are problematic and require targeted solutions:

Poor target image quality

Phenomenon: Persistent high-frequency jitter, irregular jumps, or frequent disappearance of virtual content.
Troubleshooting:

Improvement suggestions:

  • Optimize the image:
    • Increase local contrast.
    • Avoid solid-color areas; add subtle textures.
    • Avoid repetitive textures.

Insufficient hardware performance

Phenomenon: Jitter is significantly more noticeable or loss occurs more easily on low-end devices compared to mid/high-end devices.
Troubleshooting:

  • Check CPU usage: Monitor the app’s CPU usage rate using Profiler tools.

Improvement suggestions:

  • Enable performance mode: Set ImageTrackerMode to PreferPerformance, trading slight precision for fluency.
  • Reduce tracking quantity: If multi-target tracking is enabled, reduce the Simultaneous Number appropriately.
  • Platform-specific adaptation: Provide simplified scenes for low-end devices.

Environmental interference

Phenomenon: Jitter occurs under specific lighting or backgrounds but resolves when the environment changes.
Troubleshooting:

  • Lighting test: Test under uniform lighting (e.g., cloudy day) vs. strong light/shadow contrast.
  • Background interference: Check if the camera background is overly cluttered (e.g., multiple people moving).
  • Reflection interference: Determine if the physical surface of the target image is reflective (e.g., glass, metal).

Improvement suggestions:

  • Control lighting: Advise users to operate in uniformly lit environments, avoiding direct light or strong shadows.
  • Physical optimization: If the image is on a reflective surface, cover it with a matte film or print it as a physical entity.

Significant localized jitter

Phenomenon: In large virtual scenes, content near the physical target image shows minimal jitter, but content farther away jitters noticeably.
Troubleshooting:

  • Scale down content: Uniformly reduce the Scale of virtual content in the scene and retest under the same conditions.

Improvement suggestions:

  • Adjust content appropriately: Oversized virtual content amplifies angle errors in distant areas (e.g., a 0.1° error causes a 0.1cm alignment error near the target but magnifies to 10cm farther away). Adjust the virtual content’s size relative to the physical target image during design.

Summary and best practices

Distinguish between normal jitter (slight displacement, brief recovery) and abnormal jitter. Normal jitter requires no special handling; abnormal jitter (high-frequency jumps, frequent loss) impacts user experience and should be addressed by sequentially checking:

  1. Target image quality;
  2. Device-specific performance limitations;
  3. Environmental interference (lighting, dynamic scenes, reflective surfaces);
  4. Whether virtual content is excessively large.

If issues persist, submit log files, screen recordings, etc., via the EasyAR official forum or technical support for further analysis.