Facial Recognition and Cloud Computing

As we know, facial recognition is based on artificial intelligence and machine learning. Machine learning involves recognizing patterns from a great number of existing data by a set algorithm until it is capable of predicting new data. In machine learning, a Convolutional Neural Network (CNN) is a class of deep artificial neural networks that has successfully been applied to analyzing visual imagery. Facial recognition is one of its applications. To enhance the capability of this technology, cloud-based facial recognition system has emerged.

According to National Institute of Standards and Technology (NIST), cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. It has five desirable characteristics such as on-demand self-service, broad network access, resource pooling and rapid elasticity. In a facial recognition system implemented in cloud infrastructure, the facial recognition engine is located in the cloud, not in the local processing unit (used in the traditional method).

Moving both the facial recognition engine and facial recognition database onto the cloud helps to render a seamless system. This model is employed by several commercial applications to carry out security check. The query face is captured by the user and transmitted to the cloud server for conducting authentication with the gallery faces of the facial recognition database located on the cloud.

The new faces are enrolled through the user interface, or say, user application. In order to carry out the task of Face Tagging, the user interface communicates with the cloud-based web API (application programming interface) that contains the facial recognition engine and a database of faces. The user interface enrolls new faces and encodes the face image, which is then sent to the cloud-based API that processes the image through the facial recognition engine. The facial recognition engine runs a pre-defined facial recognition algorithm. The query face from the user interface is then compared by the facial recognition engine against a gallery of images.  After a conclusive match is determined, the query face will be classified as belonging to a particular individual or not. Then, the result will be sent back to the user interface.

Cloud-based facial recognition systems bring about various benefits coming from inherent characteristics. They have the advantage of real-time processing. On demand self-service allows customers to quickly procure and access the services they want. Moreover, cloud computing allows the system to become broadly accessible in the sense that cloud services provide the capability for quick and reliable integration with other applications. In addition, cloud services facilitate high scalability in order to ensure that the system can be adapted to a wide user base.

References

Nayan B. Ruparelia, Cloud Computing (Cambridge, MA: MIT Press, 2016). Selections. Read chapters Introduction, 1-3.

Derrick Roundtree and Ileana Castrillo. The Basics of Cloud Computing: Understanding the Fundamentals of Cloud Computing in Theory and Practice. Amsterdam; Boston: Syngress / Elsevier, 2014. Excerpts from Introduction and Chap. 2.

Vinay, A., Shekhar, V. S., Rituparna, J., Aggrawal, T., Murthy, K. N. B., & Natarajan, S. (2015). Cloud based big data analytics framework for face recognition in social networks using machine learning. Procedia Computer Science, 50, 623-630. doi:10.1016/j.procs.2015.04.095