Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Programming Language Expert

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.

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M91267050
  • Price:- $200

Guranteed 48 Hours Delivery, In Price:- $200

Have any Question?


Related Questions in Programming Language

Question 1 what is hadoop explaining hadoop 2 what is

Question: 1. What is Hadoop (Explaining Hadoop) ? 2. What is HDFS? 3. What is YARN (Yet Another Resource Negotiator)? The response must be typed, single spaced, must be in times new roman font (size 12) and must follow t ...

Assignmentquestion onegiving the following code snippet

Assignment Question One Giving the following code snippet. What kind of errors you will get and how can you correct it. A. public class HelloJava { public static void main(String args[]) { int x=10; int y=2; System.out.p ...

Assignment - haskell program for regular expression

Assignment - Haskell Program for Regular Expression Matching Your assignment is to modify the slowgrep.hs Haskell program presented in class and the online notes, according to the instructions below. You may carry out th ...

Task working with arraysoverviewin this task you will

Task: Working with Arrays Overview In this task you will create a simple program which will create and work with an array of strings. This array will then be populated with values, printed out to the console, and then, w ...

Overviewthis tasks provides you an opportunity to get

Overview This tasks provides you an opportunity to get feedback on your Learning Summary Report. The Learning Summary Report outlines how the work you have completed demonstrates that you have met all of the unit's learn ...

Question 1 what is a computer program what is structured

Question: 1. What is a Computer program? What is structured programming? 2. What is modular programming? Why we use it? 3. Please evaluate Sin (x) by infinite series. Then write an algorithm to implement it with up to th ...

1 write a function named check that has three parameters

1. Write a function named check () that has three parameters. The first parameter should accept an integer number, andthe second and third parameters should accept a double-precision number. The function body should just ...

Assignment - horse race meetingthe assignment will assess

Assignment - Horse Race Meeting The Assignment will assess competencies for ICTPRG524 Develop high level object-oriented class specifications. Summary The assignment is to design the classes that are necessary for the ad ...

Assignment - horse race meetingthe assignment will assess

Assignment - Horse Race Meeting The Assignment will assess competencies for ICTPRG524 Develop high level object-oriented class specifications. Summary The assignment is to design the classes that are necessary for the ad ...

Assignment task -q1 a the fibonacci numbers are the numbers

Assignment Task - Q1. (a) The Fibonacci numbers are the numbers in the following integer sequence, called the Fibonacci sequence, and are characterised by the fact that every number after the first two is the sum of the ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As