Face recognition in live video

조회 수: 6 (최근 30일)
tamim boubou
tamim boubou 2017년 7월 22일
댓글: omar A.alghafoor 2021년 3월 17일
I need to detect and track faces using MatLab ....I'm suing MatLab 2014a,I tried the example on the following page but gave me an error It responds with the following message :
Undefined function 'isOpen' for input arguments of type
'vision.VideoPlayer'.
Here is the link to the page :
https://www.mathworks.com/help/vision/examples/face-detection-and-tracking-using-live-video-acquisition.html
Any ideas ....plz help

답변 (2개)

Gareth Thomas
Gareth Thomas 2017년 7월 22일
Does this work for you from the example? (This is the basic starting point of that demo).
%%Play a Video File
% Read video from a file and set up player object.
videoFReader = vision.VideoFileReader('viplanedeparture.mp4');
videoPlayer = vision.VideoPlayer;
Play video. Every call to the step method reads another frame.
while ~isDone(videoFReader)
frame = step(videoFReader);
step(videoPlayer,frame);
end
Close the file reader and video player.
release(videoFReader);
release(videoPlayer);
  댓글 수: 1
omar A.alghafoor
omar A.alghafoor 2021년 3월 17일
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
https://www.mathworks.com/matlabcentral/answers/774947-face-recognition-convolutional-neural-network?s_tid=prof_contriblnk

댓글을 달려면 로그인하십시오.


tamim boubou
tamim boubou 2017년 7월 26일
No, it didn't work
the video file doesn't seem to be existed in my laptop

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by