face-recognition code in matlab
Show older comments
Hello all ... all i need is face recognition and face matching code in matlab because my project depends on that and i've not studied matlab or DIP as a course .... please help me by giving me face recognition code in matlab ... thnxxxxx
Answers (1)
Sabarinathan Vadivelu
on 11 Feb 2014
If you have MATLAB R2013a, Then you can find the face detector which comes inbuilt with MATLAB.
% Create a cascade detector object.
faceDetector = vision.CascadeObjectDetector();
% Read a video frame and run the detector.
videoFileReader = vision.VideoFileReader('visionface.avi');
videoFrame = step(videoFileReader);
bbox = step(faceDetector, videoFrame);
% Draw the returned bounding box around the detected face.
videoOut = insertObjectAnnotation(videoFrame,'rectangle',bbox,'Face');
figure, imshow(videoOut), title('Detected face');
7 Comments
Muhammad Omer
on 11 Feb 2014
Sabarinathan Vadivelu
on 11 Feb 2014
Edited: Sabarinathan Vadivelu
on 11 Feb 2014
- Acquire face images from "n" Number of persons.
- Detect face.
- Extract the required features.
- Train the database using a classifier, E,g SVM.
- Test Your code.
Muhammad Omer
on 11 Feb 2014
prashanth
on 9 May 2014
http://www.pages.drexel.edu/~sis26/Eigenface%20Tutorial.htm please check this site very helpful.You will get code here.
Sabarinathan Vadivelu
on 31 Jul 2014
@ Omer, If this fulfills your need, then make sure you accepted the answer.
shahana muzaffar
on 19 Aug 2015
Edited: shahana muzaffar
on 19 Aug 2015
if we want to capture the image through direct integrated cam wt can i do??plz tel me in 2014a matlab
omar A.alghafoor
on 17 Mar 2021
Edited: Walter Roberson
on 30 Mar 2023
Hi Mathworks team .
I am having two problems distinguishing faces using (face recognition convolutional neural network)
First: How to detect the intruder.
Second: The facial recognition overlaps between one person and another in the system.
The first test on grayscale images was good recognition, but on realtime of web camera the results are incorrect, knowing that I use a camera that has accuracy: 1024x570
note : all imge are grayscale .
Where is the defect in the code?
this my code for training dataset:
clc
clearvars
close all
%% variables
trainingNumFiles = 0.8;
rng(1)
faceData = imageDatastore('AutoCapturedFaces','IncludeSubfolders',true,'LabelSource','foldernames');
% Resize the images to the input size of the net
faceData.ReadFcn = @(loc)imresize(imread(loc),[227,227]);
% read one image to get pixel size
img = readimage(faceData,1);
% splitting the testing and training data
[trainFaceData,testFaceData] = splitEachLabel(faceData, ...
trainingNumFiles,'randomize');
%% defining CNN parameters
% defining layers
layers = [imageInputLayer([size(img,1) size(img,2) 1])
%middle layers
convolution2dLayer(5,3,'Padding', 2, 'Stride',3)
reluLayer
maxPooling2dLayer(3,'Stride',3)
%final layers
fullyConnectedLayer(8)
softmaxLayer
classificationLayer()];
% options to train the network
options = trainingOptions('sgdm', ...
'MiniBatchSize', 40, ...
'InitialLearnRate', 1e-4, ...
'MaxEpochs', 25, ...
'LearnRateSchedule', 'piecewise', ...
'LearnRateDropFactor', 0.875, ...
'LearnRateDropPeriod', 12, ...
'VerboseFrequency', 5);
% training the network
convnet = trainNetwork(trainFaceData,layers,options);
%% classifying
YTest = classify(convnet,testFaceData);
TTest = testFaceData.Labels;
%% Calculate the accuracy.
accuracy = sum(YTest == TTest)/numel(TTest)
save convnet
accuracy =
0.9375
Categories
Find more on Semantic Segmentation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!