Augmented Reality and Object Tracking
Perception of the real world is a challenge for an augmented reality application. There are several methods for learning on the surrounding environment. They have their strengths and their weaknesses in production use. Knowing these methods and their limits is essential when creating an augmented reality experience.
Location based identification
Identifying a target by its location is an operation that has three phases. First we need to get an estimate of our absolute position to figure out the fixed area we’re in. Then we can load a pre-recorded area description (point cloud) to track the exact position of the device. After that we can combine the pre-built three-dimensional collision models to identify single objects inside the area. These collision models can be created with an offline editor.
Location based tracking
- Get a rough absolute position via GPS or indoor navigation systems (building, floor).
- Use that absolute position to fetch a corresponding area description (room).
- Find an object inside that area description using high precision position information.
Location based tracking is a good solution if the area is static and the targets stay in place. Such targets would be racks, cabinets, switches or built-in machinery. Dynamic environments require re-mapping to be a part of the process.
Identification by visual tracking
There are several methods to find a target and track its position and orientation by its visuals. A common way is to use identifiers such as markers, images or text.
Markers are efficient to track, but they take flat space in real world. Image recognition needs more processing power than markers. Image recognition takes also planning and design to make it reliable. Reading a text is a good way to identify objects, but tracking object orientation needs another visual method such as markers.
It’s also possible to track individual objects with 3D-cameras. This works to some extent in “lab conditions”, but it is not a practical solution for the field yet.
- Locate a marker, image or text with the device camera.
- Compare the findings to either to local device database or a cloud service.
- Identify and track the target.
Visual tracking is a good solution in a dynamic environment with moving desks and rolling cabinets. Intense or low lighting will cause issues and there is a limit to the number of trackable targets. From a practical point of view it isn’t always sensible to maintain a set of visual identifiers. The identifiers have to stay clean and rigid and they have to be distributed to the field in advance. Maintaining them requires expensive manual work.
Combining different methods
It’s best to choose a combination of technologies that is most suitable for the task at hand. We need to consider answers for two questions.
What is a reliable way to identify our targets?
How can we bring it to an existing environment?
There are differences between environments. Number of simultaneously tracked targets may vary. Lighting may be low or intense. Connections to existing information services may set limitations. Can we provide a good augmented reality device or do we have to live with the existing device base?
Few examples of these combinations:
We can use text recognition to identify the target and a generic marker to track the orientation. Text is already in the product and the distributed marker will be always the same for all products. No need to maintain different marker types.
Markers and images begin to resemble each other too much when their number goes up. We can use position information as a way to narrow the search. The same tested set of reliable visual identifiers is then distributed to different locations.
An indoor area location may be recognised from an image in a poster, from a text at the door or from an RFID tag. Then we have enough information to load corresponding area description files and start location based tracking.
There are no silver bullets for object tracking in augmented reality. You need to evaluate both the available technology and the environment you’re working in.