how to get the facial feature points from the faces???

19 次查看(过去 30 天)
Using the Viola Jones algorithm m able to detect the face parts. Now i want to extract the facial feature points from eyes,nose and mouth. how do i do that?? which method to use?? which function to use?? can anyone plz give me some suggestions..
  5 个评论

请先登录,再进行评论。

回答(3 个)

Image Analyst
Image Analyst 2013-8-12
I'm sure there are lots of published methods, and I don't work in the face recognition field, so you're best off looking up published papers of those who do. Look here for an algorithm that seems promising: Recognition, Detection, Tracking, Gesture Recognition, Fingerprints, Biometrics
  4 个评论
Isha Pandya
Isha Pandya 2016-10-22
I have referred some of the published papers for facial feature extraction. They mentioned LDA is a good method for dimentionality reduction/ feature extraction. I have previously detected faces from images. Then I cropped the images to get full frontal view of the face. Now I want to extract facial features like eyes, Eyebrows and lips. And this should be done using LDA. But I am facing difficulty to do so. Can you please help me with the code?
Image Analyst
Image Analyst 2016-10-22
Are their images color or monochrome? Are they using LDA on the original image or on the feature vectors?

请先登录,再进行评论。


Anand
Anand 2013-8-12
You can feed the bounding box of the detected face to any one of the feature detectors in the Computer Vision System Toolbox: detectFASTFeatures, detectHarrisFeatures, detectMinEigenFeatures, detectMSERFeatures or detectSURFFeatures. Here is an example of how to do this:
I = imread('visionteam.jpg');
% Detect faces
faceDetector = vision.CascadeObjectDetector;
bboxes = step(faceDetector, I);
% Select the first face
face = I(bboxes(1,2):bboxes(1,2)+bboxes(1,4),bboxes(1,1):bboxes(1,1)+bboxes(1,3));
% Detect SURF features
ftrs = detectSURFFeatures(face);
%Plot facial features.
imshow(face);hold on; plot(ftrs);
If you specifically want features around lets say the eyes, you can change the classification model to eyes and follow the same steps:
eyeDetector = vision.CascadeObjectDetector('eyepairsmall');
bboxes = step(eyeDetector,I);
  6 个评论
lê linh
lê linh 2021-3-12
How can I compare points on r face to give database identity or dryness

请先登录,再进行评论。


sudeep g
sudeep g 2017-1-22
编辑:Walter Roberson 2018-8-11
I = imread('visionteam.jpg');
% Detect faces
faceDetector = vision.CascadeObjectDetector;
bboxes = step(faceDetector, I);
% Select the first face
face = I(bboxes(1,2):bboxes(1,2)+bboxes(1,4),bboxes(1,1):bboxes(1,1)+bboxes(1,3));
% Detect SURF features
ftrs = detectSURFFeatures(face);
%Plot facial features.
imshow(face);hold on; plot(ftrs);
  4 个评论
Alawi Al-Saggaf
Alawi Al-Saggaf 2022-2-23
How to compare two features for example ftrs1 of face1 and ftrs2 for face2.
What is the type of this ftr, it give me
3×1 SURFPoints array with properties:
Scale: [3×1 single]
SignOfLaplacian: [3×1 int8]
Orientation: [3×1 single]
Location: [3×2 single]
Metric: [3×1 single]
Count: 3
Sakshi
Sakshi 2023-10-16
@sudeep g Thank you so much for this code. They work fine for me, but I want to ask if one can modify the code so that it will detect each point and then provide the coordinates of each feature. My aim is to find the vertical and horizontal distances of the face (working on an animal's face), and the mean value needs to be measured. Can you help me provide this code?

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by