Introduction to AR Engine
Hi friends, today we will introduce to Huawei AR Engine which is developed by Huawei. But, before the AR Engine explains, we should talk about the Augmented Reality.
What is Augmented Reality(AR)?
Augmented reality (AR) is an interactive experience of a real-world environment where the objects that reside in the real world are enhanced by computer-generated perceptual information, sometimes across multiple sensory modalities, including visual, auditory, haptic, somatosensory and olfactory. AR can be defined as a system that fulfills three basic features: a combination of real and virtual worlds, real-time interaction, and accurate 3D registration of virtual and real objects.
If we talk about some important features:
- Working with Graphics, video, sound, 3D model etc.
- AR technology changes the perception of reality, making it more interactive.
- Combination of the real world and digitally produced elements.
- The virtual content can be interacted with in real time.
- Virtual objects appear fixed in space.
How AR is working?
Augmented reality uses complex computer vision algorithms to differentiate between the physical and digital worlds. The technology involved often includes the following core features:
Simultaneous localization and mapping, or SLAM technology, which is effectively a robot that creates a real-time visual map of its surroundings, constantly updating and reorienting as its home device moves.
Cameras and depth tracking sensors that collect data from the surrounding area to help the device locate physical objects and generate 3D models.
Processing power, as AR devices are essentially little computers that contain a CPU, GPU, RAM, flash memory, Bluetooth, WiFi, and GPS. These components enable the device to measure direction, speed, angles, and orientation.
Miniature projectors to place 3D holographic images onto the view of the real-world environment.
Mirrors to reflect natural and artificial light towards the camera and also to the user’s eyes. The inclusion of these reflection paths enhances image alignment, which adds to the illusion.
What is Huawei AR Engine?
HUAWEI AR Engine is a platform for building augmented reality (AR) apps on Android smartphones. It is based on the HiSilicon chipset, and integrates AR core algorithms to provide basic AR capabilities such as motion tracking, environment tracking, body tracking, and face tracking, allowing your app to bridge virtual world with the real world, for a brand new visually interactive user experience.
AR Engine continuously tracks the device location and pose to improve its perception of the real world, in order to provide motion tracking and environment tracking abilities. Specifically, AR Engine identifies feature points in a space through the device camera, tracks the movement of these points, and integrates these changes with the data reported by the inertial sensor on the device, to continuously track the device location and pose. In addition, it recognizes such planes as floors or walls, and estimates the lighting intensity around them when identifying the feature points.
Currently, AR Engine provides three types of capabilities, including motion tracking, environment tracking, and human body and face tracking.
Motion Tracking
HUAWEI AR Engine continuously tracks changes in the location and pose of the device relative to the surrounding environment, and establishes a cohesive geometric space that bridges the virtual digital world and the real world. Motion tracking currently supports motion tracking and hit test.
Environment Tracking
HUAWEI AR Engine also tracks the illumination, plane, image, object, surface, and other environmental information, to assist your apps in integrating virtual objects into the physical world in the same manner as in the real scene. Environment tracking currently supports the following capabilities: illumination estimation, plane detection, image tracking, and environment mesh.
Human Body and Face Tracking
HUAWEI AR Engine tracks real-time information related to human bodies, faces, and hand gestures to assist your apps in implementing natural interactions between users and virtual objects.
Huawei AR Engine Structure
Supported Devices
AR Engine Versions
AR Engine Development Process
Example Codes For Face Comparision
Check whether AR Engine has been installed on the current device. If yes, the app can run properly. If not, the app automatically redirects the user to AppGallery to install AR Engine. The sample code is as follows:
Set the AR scene parameters and start the AR scene.
The calculation results of AR Engine can be obtained by frame. You can call ARSession.update in OnDrawFrame to get ARFrame, and call ARSession.getAllTrackables(ARPlane.class) to obtain the AR plane captured by AR Engine.
After the plane is captured, click the plane on the device screen to trigger the hit test (hitTest), and add the hit result as an anchor (ARAnchor) to the ARSession for continuous tracking.
Hand Gesturing
Conclusion
I have tried to explain what is AR Engine with its features and examples. See you in our other article, bye :)