EasyAR surface tracking
EasyAR Surface Tracking provides a lightweight capability for continuously tracking the device position and orientation relative to a selected surface point in space. It can be used for scenarios such as small AR interactive games, AR short video shooting, and product placement display.
How EasyAR surface tracking works
To establish a correspondence between real space and virtual space, Surface Tracking uses data from the device camera and inertial measurement unit.
Surface Tracking first recognizes significant features on environmental surfaces, not necessarily on planes, through camera images, and tracks the positions of these features using consecutive image frames and sensor data. At startup, the virtual object is placed by default on a feature point surface near the center of the screen, and the virtual object position is treated as the origin of the world coordinate system.
The virtual object is also placed at the corresponding feature point and continuously tracked. As the device moves, the feature depth in the camera image is continuously updated, and the virtual object continues to fit the corresponding feature point surface. If the feature point corresponding to the virtual object is lost, the system automatically selects a new feature point and outputs the device position and orientation relative to that feature point.
Note
Losing Surface Tracking features may cause the virtual object position to drift. If you need continuous tracking of a fixed position, we recommend using Motion Tracking.
Comparison between surface tracking and motion tracking
Compared with 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 scale, can only place one virtual object, and the bottom of the virtual object must be placed at the coordinate system origin.
| Comparison dimension | Surface Tracking | Motion Tracking |
|---|---|---|
| Device calibration requirement | No device calibration required | Device calibration required |
| Device model support | Supports more device models | Higher hardware capability requirements, relatively limited supported models |
| Spatial scale | Does not provide real-world scale | Provides real-scale pose |
| Initialization flow | Runs without initialization | Usually requires an initialization process |
| Number of virtual objects | Only supports placing one virtual object | Supports multiple virtual objects |
| Virtual object placement constraint | The bottom of the virtual object must be placed at the coordinate system origin | Virtual objects can be placed at any spatial position |
| Applicable scenarios | Lightweight AR display and quick experience | High-precision AR, spatial interaction, navigation and measurement |
Note
Surface Tracking tries to keep the virtual object attached to the environmental surface, which may be an uneven object surface or a flat floor or wall, but it does not detect whether planes exist in the environment. If you need horizontal or vertical plane detection, see Plane Detection.