EasyAR Plane Detection
EasyAR Plane Detection automatically detects horizontal planes in the environment while EasyAR Motion Tracker is running, providing features such as virtual object placement.
How EasyAR Plane Detection Works
EasyAR Plane Detection is a simple environment-understanding capability that is automatically performed synchronously while EasyAR Motion Tracker is running. Based on the spatiotemporal information obtained from the device camera and inertial sensors, the system continuously models the real environment, thereby identifying and tracking horizontal planes in the environment and providing basic support for virtual object placement, interaction alignment, and spatial understanding.

The specific process is:
Motion tracking
During motion tracking, EasyAR continuously obtains two core types of data: continuous image frames from the RGB camera, and data from the accelerometer and gyroscope. Through a visual-inertial fusion algorithm, the system estimates the device's continuous six-degree-of-freedom position and orientation in the world coordinate system, providing a stable, low-drift camera trajectory for subsequent spatial modeling and plane analysis.
Feature point detection and triangulation
Based on pose estimation, EasyAR extracts and tracks stable visual feature points from the image sequence, such as corners or visually distinctive textured areas, and triangulates these feature points through multi-view geometry to recover their positions in 3D space, forming a local 3D point-cloud representation.
Plane candidate region generation
After obtaining the 3D point cloud, the system performs geometric analysis on the point cloud to find point sets that may belong to the same plane. By checking the relationship with the gravity direction, the system can distinguish horizontal plane candidates, namely planes whose normal vectors are approximately parallel to the gravity direction, such as floors and tabletops.
Plane tracking and detection
EasyAR validates and updates detected planes across consecutive frames:
- Determines whether newly observed 3D points support an existing plane model;
- Dynamically adjusts plane extent, boundary, and confidence according to observation consistency;
- Removes plane candidates that are transient or unstable. A result becomes an “available plane” only when both geometric consistency and temporal stability meet the requirements.
Plane coordinate system and virtual content alignment
Once a plane is confirmed, you can use the plane detection result to implement more realistic AR effects:
- Place virtual objects on the plane, achieving alignment with real scale and direction;
- Perform ray casting, Hit Test, to map screen taps to real plane positions;
- Implement plane-based interaction logic, such as object snapping, movement, and occlusion decisions.
Because planes and the motion tracking system share the same world coordinate system, virtual objects can maintain stable and continuous spatial consistency as the user moves the device.
Plane detection depends on the stable pose and spatial structure provided by motion tracking, and plane detection results can in turn enhance environment-understanding capabilities, such as helping with content placement and interaction design. Together they form the core foundation of EasyAR spatial perception, but they are decoupled in system architecture. Plane detection does not change the pose estimation result of motion tracking itself.
Best Practices
To ensure the user experience of plane detection, follow these practices.
- Guide users to move slowly and avoid staying still, moving quickly, or rotating in place.
- Avoid planes that are textureless, solid-colored, mirror-like, or otherwise difficult to recognize visually.
Note
Plane Detection is EasyAR's feature for recognizing horizontal planes in the environment. Surface Tracking does not detect or recognize plane structures in a scene and should be distinguished from it.