Face it, a mobile AI-based hairstyle app, “is guaranteed to make you look your best” according to its creator Pallab Paul. Paul is an Intel student ambassador who presented his work at the 2017 Intel Developers conference in Denver, Colorado. The app has a very simple interface: all you have to do is provide some simple information about your hair, skin, and lifestyle and Face It does the rest. In addition to hairstyle suggestions, the app also provides tips to give to your hairstylist so you get the perfect cut.
From self-driving cars to the wonders of the Internet, AI is certainly a buzzword nowadays. Most people have heard about AI and many people know that AI can now recognize faces with better than human accuracy (using something called deep learning). The Face It app exploits the remarkable capabilities of AI to make you look your best.
Many people know that AI can now recognize faces with better than human accuracy. The Face It app exploits the capabilities of AI to make you look your best.
Face It is fun and intuitive
Very simply, Face It is fun, easy to install in Android via the Google Play store, and it brings home the potential of AI to help improve our lives.
As can be seen in Figure 1, the app presents a very simple interface segregated across three main screen types to make it easy to use. Paul and two of his friends also provide a simple video about the app that includes how it can be adapted in the future provide links to nearby hair salons.
The app shows the speed of the AI technology as it opens and immediately identifies your face shape. If you fit the defaults, then you are done. Otherwise, click “Preferences” to make any changes then click “Get Hairstyles” to get your personalized recommendations and tips to get the right haircut. Future versions will also recommend types of facial hair as well.
Unfortunately ladies, Face It is currently only for men. Of course, this gives ladies the opportunity to try Face It on the males in their lives without risk.
Intel Student Ambassadors for AI innovation
Face It it highlights the path Intel is taking to incorporate new ideas and AI innovation by enabling bright students with tools and access to expertise.
Have a cool AI idea? Then sign up for the Student Developer Program for Artificial Intelligence. Students from around the world are welcome to apply. Not only do students get access to free software, tools, and libraries, the also get time on an Intel Xeon Phi computing cluster and access to early information from Intel.
Select students are invited to become a student ambassador like Pallab Paul. Major perks of ambassadorship include sponsored travel to speaker opportunities and/or sponsored funds to assist in hosting, training and speaking sessions at their campus to promote their work and, if needed, Intel also provides direct access to Intel engineers and resources plus they may pay for additional training of the student ambassador. It’s a great way to start building a career in AI and potentially at Intel as well.
Intel also provides the ability to publish a write-up on the project. Not only does this start a publication list for the student (which can be an advantage in getting a job or furthering an academic/scientific career), it also gives others the opportunity to learn from the student’s project. For example, Paul published a full write-up on his Face It project on the Intel AI Academy website (link).
Access to Tools and Technology
In his Intel AI Academy write-up, Paul notes he used OpenCV, Android Studios*, and Intel® Optimized TensorFlow*. The application codes were written in Java and Python.
Let’s take a quick look at how these tools were used to create the Face It app.
The OpenCV library is a popular computer vision library that is used in everything from robotics to security systems. Paul notes he incorporated this library into the Android application because he made use of a technique called a Harr transform for frontal face detection that is included in the OpenCV library.
While detecting faces in real-time sounds complicated, it’s not. The OpenCV library provides some very concise, straightforward, and easy to understand program examples that lets new users start performing real-time facial recognition simply by compiling and running.
Using TensorFlow to train the AI to determine face shape
TensorFlow is one of the most commonly used packages for machine learning. TensorFlow provides a number of pre-configured and pre-trained artificial neural network (ANN) models that users can adapt to their needs. Paul, for example, used a pre-trained convolutional neural network (CNN) to identify the shape of a person’s face simply by providing a new data set annotated with the shape of the face be it round, square, and other classifications.
The process of adapting an existing, pre-trained neural network is called Transfer Learning. This method can greatly speed the retraining of the ANN as, in a sense, the ANN already “knows” something about faces. Even so, training can be a very time consuming process.
Intel provides an Intel optimized version of TensorFlow so people can make the most efficient use of their processors and thus minimize the time they spend in training (or retraining) the ANN. Intel has publically stated that they aim to deliver up to 100x reduction in the time to train a deep learning model over the next three years as compared to GPU solutions.
This incredible 100x speedup will be made available to TensorFlow users in a very transparent fashion. Without being too technical, Intel provides a technology called Nervana Graph that works as a backend to TensorFlow and other popular machine learning packages so users can run efficiently on a variety of current and future Intel technologies including neural network processors.
Android Studio is the main development kit used to create Android applications. Google provides various detailed tutorials explaining how to combine the trained ANN from TensorFlow and integrate it with Android Studio. Paul notes, “This made the process very simple as long as the instructions were followed”.
As with any project, a process called regression testing was performed to insure that bugs were not inadvertently introduced in a new build of the app.
This is another benefit of joining the Intel student developer program, as it teaches good (and essential) software practices. Paul noted that whenever a modification was made – however slight – “a full build and test was always done”.
Face It provides a very personal glimpse of how AI can benefit us in the future. The process of becoming an Intel student ambassador also shows how students can become acquainted with AI technology and bootstrap their career and/or entrepreneurial dreams.
Rob Farber is a global technology consultant and author with an extensive background in HPC and in developing machine learning technology that he teaches and applies at national labs and commercial organizations. Rob can be reached at firstname.lastname@example.org
* All product names, logos, and brands are property of their respective owners.