EasyAR Sparse Spatial Map¶
EasyAR Sparse Spatial Map provides developers cross-platform tools to interact with surrounding physical world by building 3D visual map and performing localization with regard to it.
Sparse Spatial Map can be saved or shared among different devices in real-time. When other devices revisit the same space, they can obtain their pose with regard to the map accurately. This enables developers to build persistent AR experience as well as multi-player AR experience.
EasyAR Sparse Spatial Map supports loading multiple maps and performing localization among them. You can query the map if which the device is located as well as the relative pose.
Currently Sparse Spatial Map requries metric 6 DOF motion tracking module (eg. EasyAR Motion Tracking, ARKit, ARCore) to provide poses. During map building process, the Sparse Spatial Map uses the input pose as well as camera images to build metric-scale visual map. During localization process, once the visual localization succeeds, the relative pose between the device and the map is continouly tracked by motion tracking module.
Sparse Spatial Map building procedure relies on scanning the environment and 3D points are triangulated from images and given poses. Each 3D point is associated with additional information which encodes the appearance of surrounding local patch for localization. For localization, the Sparse Spatial Map compares the camera images with the existing map and try to recover the relative pose between them.
When building Sparse Spatial map, try to make translational motion relative to the scanned environment. You do not need to deliberately hold your device still, walk around the environment like you are taking 360 degree video when building the map.
Build in static area with rich visual features.
DO NOT build in textureless areas such as white walls.
DO NOT build in areas with many reflective materials such as mirrors.
DO NOT build in areas with many repetitive textures.
When building the Sparse Spatial map, it is important to take into account where other users might be located in the environment. It is suggested to cover all possible viewing perspectives. When map building completed, try to test the established map. If the localization success rate or accuracy is not satisfactory, you may consider building more complete map.
Due to device limitation, the map building for region over 1000 square meters is not recommended. The distance between target environment and device should be less than 10 meters.
Generally speaking, the localization success rate will drop when the localization image looks significantly different from images used for map building.
Guide the user to perform localization from known position by providing preview of map if possible. Consider the most common factors listed below for which localization may fail.
Localization is unlikely to succeed if the viewing angle change is greater than 45° between map building and localization.
The illumination when performing localization should be similar to the illumination when building the map. For example, peforming localization during night using the map built during the day will hardly succeed.
It is recommended to move your device and build map from different distances to cover places where the users may perform localization.