Face recognition is an easy task for humans. Experiments have shown, that even one to three day old babies are able to distinguish between known faces. So how hard could it be for a computer? It turns out we know little about human recognition to date. Are inner features (eyes, nose, mouth) or outer features (head shape, hairline) used for a successful face recognition? How do we analyze an image and how does the brain encode it? It was shown by David Hubel and Torsten Wiesel, that our brain has specialized nerve cells responding to specific local features of a scene, such as lines, edges, angles or movement. Since we don’t see the world as scattered pieces, our visual cortex must somehow combine the different sources of information into useful patterns. Automatic face recognition is all about extracting those meaningful features from an image, putting them into a useful representation and performing some kind of classification on them.
Face Recognition Algorithms :In our project, we use OpenCV 3.1, which is an open source computer vision and machine learning software library. This library includes a comphrehensive set of both classic and state-of-the-art computer vision and machine learing algorithms.
We use these algorithms to detect faces in the frames which are extracted from the IP camera's video stream and then build up our training database to store the individuals' faces with several different expressions. Before we are able to recognize faces, the training databese is used to train the "recognizer" function and each individual is labled with a integer number to distinguish them. For each frame in the video stream, we compare the sample faces with our training dataset. Based on the face recognition system, we build up our web application to show up the status of each person in our database.
We have implemented this system using OpenCV 3.1, Ubuntu 16.04, Python 2.7 and an IP camera.
Click the link below to check out the web application for this project:
Web applicationDepartment of Electrical and Computer
Research Interests: Computer Vision, Graphs, Operating System
Department of Electrical and Computer
Research Interests: Computer Vision, IoT, Algorithms