EasyAR surface tracking
EasyAR Surface Tracking enables lightweight continuous tracking of a device's position and orientation relative to selected surface points in space. It can be used in scenarios such as small AR interactive games, AR short video shooting, and product placement displays.
How easyAR surface tracking works
To establish a correspondence between real and virtual space, surface tracking utilizes data from the device's camera and inertial measurement unit.
Surface tracking first identifies salient features on environmental surfaces (not necessarily flat) through camera images and tracks the positions of these features using consecutive image frames and sensor data. Upon initialization, virtual objects are placed by default on the surface of feature points near the center of the screen, and the position of the virtual object is considered the origin of the world coordinate system.
Virtual objects are also placed at the corresponding feature points and continuously tracked. During device movement, the depth of features in the camera image is continuously updated, ensuring the virtual objects remain aligned with the corresponding feature points on the surface. If the feature points corresponding to the virtual objects are lost, the system automatically selects new feature points and outputs the device's position and orientation relative to them.
Note
Feature loss in surface tracking may cause the position of virtual objects to drift. For continuous tracking of fixed positions, it is recommended to use Motion Tracking.
Comparison between surface tracking and motion tracking
Compared to Motion Tracking, surface tracking does not require device calibration, supports more device models, and can run without initialization. However, surface tracking does not provide real-world scale, supports only one virtual object, and requires the bottom of the virtual object to be placed at the coordinate origin.
| Comparison dimension | Surface tracking | Motion tracking |
|---|---|---|
| Device calibration requirements | No calibration required | Requires device calibration |
| Device model support | Supports more models | Higher hardware requirements, relatively limited model support |
| Spatial scale | Does not provide real-world scale | Provides real-scale pose |
| Initialization process | Runs without initialization | Typically requires initialization |
| Number of virtual objects | Supports only one virtual object | Supports multiple virtual objects |
| Virtual object placement constraints | The bottom of the virtual object must be placed at the coordinate origin | Virtual objects can be placed at any spatial position |
| Applicable scenarios | Lightweight AR displays, quick experiences | High-precision AR, spatial interaction, navigation, and measurement |
Note
Surface tracking strives to keep virtual objects aligned with environmental surfaces (which may be uneven surfaces or flat ground/walls), but it does not detect whether planes exist in the environment. If you need to detect horizontal or vertical planes, refer to Plane Detection.