Augmented Reality (AR) Blog in Android

Augmented Reality

21 December, 2022

augmented reality
Suryaprakash Narsinghbhai Sharma

Suryaprakash Narsinghbhai Sharma

Sr Developer, Softices

1. What is AR?

Augmented Reality is defined as the technology and methods that allow overlaying of real-world objects and environments with 3D virtual objects using an AR device, and allow the virtual to interact with the real-world objects to create intended meanings. It is the real-time use of information in the form of text, graphics, audio and other virtual enhancements integrated with real-world objects. It is this "real world" element that differentiates AR from virtual reality. AR integrates and adds value to the user's interaction with the real world, versus a simulation.
Common Augmented Reality Use Cases
AR can be used in the following ways:
  • Retail. Consumers can use a store's online app to see how products, such as furniture, will look in their own homes before buying.
  • Entertainment and gaming. AR can be used to overlay a virtual game in the real world or enable users to animate their faces in different and creative ways on social media.
  • Navigation. AR can be used to overlay a route to the user's destination over a live view of a road. AR used for navigation can also display information about local businesses in the user's immediate surroundings.
  • Architecture. AR can help architects visualize a building project.
  • Tools and measurement. Mobile devices can use AR to measure different 3D points in the user's environment.
  • Military. Data can be displayed on a vehicle's windshield that indicates destination directions, distances, weather and road conditions
  • Archaeology. AR has aided archaeological research by helping archeologists reconstruct sites. 3D models help museum visitors and future archeologists experience an excavation site as if they were there.
AR Technology: What Do Brands Need?
will vary among brands, but the short version is that adding AR to a website today is much easier, faster, and more accessible than it was even a couple of years ago, thanks to new software on the market. If you’re intrigued by the potential AR has to improve your bottom line, here are a few guiding principles to keep in mind:
  • AR functionality should live on your website, not in a dedicated AR app.</span >Customers don’t want to download an app just to use AR features. To enjoy the sales boost that AR features can offer, eliminate unnecessary hurdles to using them.
  • AR-generating software can save you time, energy, and money.</span > A few years ago, any brand that wanted AR had to build the functionality itself, from the ground up. Today, software like Threekit makes it possible to generate AR content with a SaaS model. This makes the path to AR smoother, faster, and more accessible.
  • Build AR for smartphones. Again, if you want the benefits AR offers, you have to maximize the odds that your customers will use it. That means creating AR experiences that work with the tech most people have today, which means smartphones (such as iPhones and Android).
Examples of augmented reality in action
augmented reality
AR for Snapchat Snapchat is a popular messaging app that lets users exchange pictures and videos (called snaps) that are meant to disappear after they're viewed. It's advertised as a "new type of camera" because the essential function is to take a picture or video, add filters, lenses or other effects and share them with friends.
Showing different filters on faces Snapchat gives you your own unique QR code. When you meet a fellow Snapchat user and want to friend each-other, you can just take a snap of the other person's code, and they're automatically added to your friends list. World lenses are augmented reality elements, such as rainbows, that you can add to a snap so it looks like it's part of the photo.

2. AR With Android

Augmented reality (AR) describes user experiences that add 2D or 3D elements to the live view from a device’s camera in a way that makes those elements appear to inhabit the real world. ARCore combines device motion tracking, camera scene capture, advanced scene processing, and display conveniences to simplify the task of building an AR experience. You can create many kinds of AR experiences with these technologies using the front or rear camera of an Android device.
ARCore
ARCore is Google’s platform for building augmented reality experiences. Using different APIs, ARCore enables your phone to sense its environment, understand the world and interact with information. Some of the APIs are available across Android and iOS to enable shared AR experiences. ARCore's motion tracking technology uses the phone's camera to identify interesting points, called features, and tracks how those points move over time. With a combination of the movement of these points and readings from the phone's inertial sensors, ARCore determines both the position and orientation of the phone as it moves through space.
ARCore's understanding of the real world lets you place objects, annotations, or other information in a way that integrates seamlessly with the real world. You can place a napping kitten on the corner of your coffee table, or annotate a painting with biographical information about the artist. Motion tracking means that you can move around and view these objects from any angle, and even if you turn around and leave the room, when you come back, the kitten or annotation will be right where you left it. ARCore provides SDKs for many of the most popular development environments. These SDKs provide native APIs for all of the essential AR features like motion tracking, environmental understanding, and light estimation. With these capabilities you can build entirely new AR experiences or enhance existing apps with AR features.
Content Technology
Whereas ARKit handles the heavy lifting of configuring the camera, finding anchors, and tracking those anchors, you have a choice of what type of Content Technology you plan to use to actually render/show your 3D content. The Content Technology is the framework doing the heavy lifting of either loading your 3D model (that you probably created elsewhere, such as a 3D modeling program, or in Reality Composer), or creating 3D content programmatically. There are four main choices for Content Technology;
  • DroidAR :-
DroidAR is a framework for Augmented Reality on Android. Location based AR and marker based AR are both possible. The created development tool (SDK) enables other programmers to integrate augmented reality in their own applications. We provided the SDK without charge with an Open Source License for non-commercial projects. It has since evolved into one of the most used open source augmented reality SDKs for Android . Location based AR and marker based AR are both possible. This framework can be used for many different scenarios, there are already some demo applications available.
  • Footstep recognition & Indoor AR
  • Location based Gaming & Crowdsourcing Framework
Sample Project : https://github.com/bitstars/droidar
  • Wikitude :-
Wikitude, a Qualcomm company, is the renowned pioneer of mobile augmented reality (AR) technology and the company behind a number of award-winning AR solutions for smartphones, tablets and smart glasses. Its fully in-house developed AR technology is available through its core product, the Wikitude AR SDK and a number of complementary products enabling thousands of apps, brands, agencies, developers and AR enthusiasts to achieve their project goals. With tens of thousands of developer accounts and published AR apps, Wikitude is the leading AR technology provider.
Store large image collections that can be scanned and instantly recognized to trigger powerful AR experiences. The cross platform SDK is available for Android, iOS and Windows operating systems, being optimized as well for several smart eyewear devices. Wikitude initially entered the market with its geo-location AR app. The Wikitude app was the first publicly available application that used a location-based approach to augmented reality. Wikitude SDK allows developers to easily map environments and display augmented reality content without the need for target images or objects (markers). Wikitude’s SLAM markerless augmented reality tracking is one of the most versatile cross-platform 3D-tracking systems available for mobile. Sample Project : https://www.wikitude.com/documentation/
  • Augment :-
Augment is an augmented reality SaaS platform that allows users to visualize their products in 3D in a real environment and in real-time through tablets or smartphones. The software can be used for retail, e-commerce, architecture, and other purposes. Augment created a mobile app of the same name, used to visualize 3D models in augmented reality and a web application called Augment Manager for 3D content management.
Augment lets businesses and 3D professionals visualize projects in their actual size and environment, on iPhone, iPad, and Android, using the power of augmented reality. Users can print the Augment tracker or create their own tracker to place the 3D models in space and at scale in real time. Common uses of the technology include product presentations, interactive print campaigns and e-Commerce product visualization. Augmented reality can be delivered in a variety of formats, including within smartphones, tablets and glasses. AR delivered through contact lenses is also being developed. The technology requires hardware components, such as a processor, sensors, a display and input devices. Augmented reality apps are written in special 3D programs that enable developers to tie animation or contextual digital information in the computer program to an augmented reality marker in the real world. When a computing device's AR app or browser plugin receives digital information from a known marker, it begins to execute the marker's code and layer the correct image or images. Documentation : https://developers.augment.com/android-sdk
  • EasyAR :-
EasyAR is featured with relocalization functionality, which means the positional relationship between AR contents and the physical environment can be persistently reserved, offering easy access to persistent AR content and experience, local relocalization, cloud-based relocalization. EasyAR AR Cloud uses a single RGB camera to capture necessary spatial information about the physical environment in real time so as to compute the occlusion relationship between the AR content and the real world. EasyAR Cloud Recognition Service (CRS) is a web service that enables the advantage of cloud computing and storage, to provide cloud based image recognition for large scale databases.EasyAR CRS provides both image retrieval and target management as web services. EasyAR Sense 4.0 brings brand-new algorithm components and platform support to achieve more AR capabilities.EasyAR Sense 4.0 brings powerful motion tracking capabilities.
Documentation : https://help.easyar.com/EasyAR%20Sense/v4/GettingStarted/Setting-up-EasyAR-Android.html
For this series of tutorials you will need:
  • Android Studio version 3.1 or higher with Android SDK Platform version 7.0 (API level 24) or higher
  • Kotlin or Java
  • OpenGL
For more details refer below link : https://github.com/google-ar/arcore-android-sdk
AR Supported Apple Devices :-
A list of specific device models that are currently supported are listed here:
PROJECT MANAGEMENT

Previous

Exploring Agile Project Management: Principles, Practices, and Benefits

Next

Build an Augmented Reality app in Android

Build an Augmented Reality app in Android