Start by create a program called runfacialrecognitionm the


This project involves human face recognition using Euclidean distance analysis. The heart of the approach is the creation of a user defined function that computes the similarity (i.e., Euclidean distance) between images. In this project you will also analyze the performance of that approach as a function of noise.
The dataset is posted on Isidore ("deck.mat"). The dataset consists of images of 40 difference people's faces with 10 distinct images of each face (for a total of 400 images).

Project Steps

1. Start by create a program called run_facial_recognition.m. The first step is load the deck and to divide the images into separate training and testing image sets. Use the first 9 images (1.pgm - 9.pgm) of each person for training and use the last image (10.pgm) for each person for testing.

2. The next step is to convert and to store each image as a column vector. Create matrices called training_data and testing_data such that the columns of those matrices are "columinized" images from the training and testing sets respectively. Hint: the size of training_data ought to be 10304 by 360 and the size of testing_data should be 10304 by 40.

3. Matching is done by finding the vector in the training set that has the minimum Euclidean distance to that of image/vector being tested. In order to accomplish that task, write a user defined function called compute_distance.m that computes the Euclidean distances between vectors. To be precise, the input arguments of the function should be a set of vectors (i.e., the training data) and a vector from the testing data. The function shall compute the distances between the test vector and all training vectors and return a total of 360 distances. The testing image/vector is declared to be the person in the training who's face vector gave the minimum Euclidean distance. Note that you get 9 tries to find a match for each person since the training set include 9 distinct examples of each person.

4. Devise a systematic means such that your program displays the current testing image and the one declared of a match side by side (use subplot(), image(), colormap(gray(256)) and pause as shown in class) as it cycles through the testing images.

5. Next, implement a way to measure the performance of the approach. The easiest way is to divide the number of correctly identified testing faces by the total

number of testing faces. Initiate another cycling process (separate to that of part 2.4) for this part of the project. In other words, no need to visualize the testing and matching images per iteration as the sole purpose of this part of the project is to quantify performance. You need to automate the scoring technique since it is a crucial component for the subsequent task.

6. Finally, you are to examine the performance of this approach subject to some levels of noise. Make use of the built-in MATLAB function imnoise() so as to add "salt & pepper" noise to the testing image beforehand (i.e., before computing it's distance with respect to the training images). Note that the noise needs to be added to the testing image and NOT the testing vector. You are then to convert the noisy image to a vector so that you can compute its distance. Loop over 100 distinct values ranging 0 to 1 for the level of additive noise and make note of the performance of the detection system for each of those cases. Use fprintf() to display the level of noise and corresponding performance at each iteration of the loop.

7. Provide a plot showing performance as a function of added level of noise.

What to Prepare and Submit

You are to prepare and submit a Word document and MATLAB files for this project.
Your MATLAB program should be organized as follows

  • A cell titled "Organize and prepare data" for parts 2.1 and 2.2
  • Another cell titled "Facial recognition using Euclidean distance" for parts 2.3 and 2.4
  • Another cell titled "Performance analysis" for part 2.5
  • Lastly, another cell titled "Performance analysis with respect to additive noise" for parts 2.6 and 2.7

 

Include the following in the Word document:

Question 1: Briefly describe the approach. It is a must that you include the equation used to compute Euclidean distance.

Question 2: Include an example of the training images and testing image for a person.

Question 3: Report the performance of the system in terms of the number of correct and incorrect matches for the case without noise.

Question: For any incorrectly classified faces (for the case without noise only), show the training and testing images for the correct person and the incorrectly matched person.

Request for Solution File

Ask an Expert for Answer!!
Application Programming: Start by create a program called runfacialrecognitionm the
Reference No:- TGS0980900

Expected delivery within 24 Hours