Project 2. Face Detection Face detection and recognition is a classical AI topic
ID: 3825010 • Letter: P
Question
Project 2. Face Detection
Face detection and recognition is a classical AI topic. It can be used in a variety of applications that identifies human faces in digital images or videos. For example, it is used in video surveillance, human computer interface, and image database management. In addition, face detection is gaining the interest of marketers. Face detection is an important object detection technique in commercial environment like Amazon Go.
Task 1: Study the paper attached in the project 2. The paper is “A survey on face detection in the wild: Past, present and future”.
Read this paper and understand some questions like what the face detection is and what techniques of face detection are.
You can focus on one technique, such as deep neural network based method in the paper. Then, list some relevant documents like theory description, open source software, and relevant libraries. The following items are a group of examples focusing on deep neural network based face detection method. You can also use other methods listed in the paper.
Study the convolutional neural network code (any programming language is fine). There are a lot of open source convolutional neural network code online. For example, the following link provides a Python version of convolutional neural network.
In order to get frame images from a streaming video, you can reference the following article and source code. You can also use any other programming languages and tools to extract frames (For example, OpenCV: http://opencv.org/). After the task 1, you would provide the answers
(1) What techniques are used for face detection?
(2) What is difference between these techniques in the above question?
(3) What technique you use to solve face detection in the project? List theory description, open source software or libraries. (Like examples of deep neural network technique list above)
Explanation / Answer
1. There are various techniques that used for face detections.
a) Principal Component Analysis (PCA)
b) Convolutional neural network (CNN)
c) Deep Neural network (DNN)
d) linear discriminant analysis (LDA)
e) Artificial Neural Network (ANN)
2. PCA does dimensionality reduction and stores the most prominent feature of the face such as eyes, nose, lips. So it is the easiest way to detect the face, but accuracy is fine.
LDA is extension version of PCA. LDA does intra-class classifications as PCA does inter-class. It basically to check the other feature of images to calculate the image similarity metric.
Basically, the neural network is used to identify the face in an image or video. Convolutional complete a distorted patterns according to its learning. Artificial NN is used to learn the system on the basis of training set images. But Deep NN is basically required huge data set, computation is very high. It gives you high accuracy results. It has 1000 of hidden layers unlike ANN.
3. Matlab, Any OS (Windows, Linux).
I have used PCA for face detection. First, we have taken a set of images, then preprocessing and convert it into similar dimensions (Same size).
Then I have applied PCA for getting the coefficient vector, now perform reduction to get the reduced feature vector. This reduced feature vector will be the most prominent feature for the face. Eigen-faces could be extracted from these values. The same process will be applied for test-set images.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.