Android is a huge industry in the mobile technology field. Google has really struck it rich with the Android operating system, which powers around 80% of the country’s smartphones. However, although the Android operating system is very well known, there is another layer of software built on top of that architectural base which gives Android devices a lot of their flexibility, power, and customization options.
This level of APIs, SDKs, and app development platforms is critically important for any developer wanting to work on Android to learn about and get used to. This level of developer control is the lifeblood of Android development, and it’s also where Google is making some of their most interesting advancements to what mobile devices are and what they can do.
Google has been making huge strides recently with their Android technology, particularly in the areas of advanced detection programs. Two of these programs were recently released for open support with the update of the Google Play Services platform to version 7.8. This article is an overview of the two detection programs and goes into a little detail about what they are, how they work, and how the interact with Android technology as a whole.
An exciting and fairly sci-fi development, this first piece of detection software is the Face API. It’s constructed to pick out human faces when they are present in images and video files, and to do so faster than any other type of similar technology. It includes expanded processing that helps the program distinguish human faces at more extreme angles, in poorer-quality images and video, and with a wider variety of facial expressions.
The idea of this API is to make it easier to edit images and video by focusing in on human faces, which are generally the focal point of casual photos and video that have people in them. It also highlights landmarks on the face, such as eyes, jawline, nose, mouth, and so forth. It’s important to note that this API is not a facial recognition API. Rather, it scans images and video for human faces. It is not a part of biometric scanning suite, nor can it be used to distinguish and identify an individual’s face.
In a video, when someone’s face appears on the screen and the API detects it, it then infers the person’s movement through the video and tracks the face across the screen. However, that same person were to leave the screen and then come back on, the API would still detect them, but it would not have the capability to recognize that it was the same person as before. When the API detects a human face, the face is projected as a Face object, which can be manipulated by a variety of software tools that use the Face Detection API. It provides vital data about the face such as positioning data and spatial data which let users do certain editing tasks, like slightly alter or add features on someone’s face, or give them a different hat or something similar.
One of the really impressive things about the Face Detection API is that it can distinguish faces at a wide variety of angles that other detection software has a hard time dealing with. As a result of this, the API is able to detect facial information even when, for example, half of the individual’s face is missing as a result of the way their head is turned or the angle the film or video was shot at. Using the landmarks programmed into the API, users can use this to accurately shift or replicate faces in a way that they want. Landmarks, as mentioned earlier, are points of interest on a face like the mouth, nose, ears, eyes, and so forth. Once landmarks have been identified on a face, the API connects these to activities run by apps or programs that connect to various states of the face, such as whether the eyes and mouth are opened or closed.
The second detection API isn’t quite as sci-fi, but it is still very useful. The Bar Code Scanner API is used to read and decode different types of barcodes at an instant. There are a bunch of different classes available for detecting and analyzing barcodes available for free online, and these kinds of codes work with the API to allow a mobile device to essentially serve as a barcode scanner.
The idea behind the Bar Code Scanner is, really, quite simple. It uses the device’s camera to take a snapshot of the barcoded item and then connects that information to the API in order to translate it. Then, based on the kind of translation software available on the mobile device, it translates the information encoded in the bar code. For 1D barcodes of simple types like the type used in most stores or by the UPS, this is a relatively quick process that involves the numbers encoded by the bar codes, which are then translated into a rawValue property which is formatted into the appropriate information.
More complex types of bar code are becoming a lot more popular these days, and 2D bar codes like QR codes which are now available in all kinds of things take a bit more processing power to sort through. These codes are interesting because they use structured data to encode a specific value type which is then translated into more complicated types of things like URL links or images or whatever else. One thing it’s important to note is that bar code parsing is always done locally, which means that a device must have any translation software stored on its local drive in order for the bar code AP.
Take advantage of these new API’s to enhance the apps you develop with facial recognition and barcode scanning abilities.