MATLAB Answers

Build model detection after features extraction

1 view (last 30 days)
Ilan Moshe
Ilan Moshe on 10 May 2021
Answered: Manas Meena on 13 May 2021
Hello,
I'm trying to code a nose detection function from a IR video.
I extracted 2 frames from the video and foud the features and compared between them.
ref_img = imread('frame_1.png');
ref_img_gray=rgb2gray(ref_img);
ref_pts=detectSURFFeatures(ref_img_gray);
[ref_features,ref_validPts]=extractFeatures(ref_img_gray,ref_pts);
figure; imshow(ref_img);
hold on; plot(ref_pts.selectStrongest(50));
image=imread('frame_50.png');
I=rgb2gray(image);
I_pts=detectSURFFeatures(I);
[I_features,I_validPts]=extractFeatures(I,I_pts);
figure;imshow(image);
hold on; plot(I_pts.selectStrongest(50));
index_pairs=matchFeatures(ref_features,I_features);
ref_matched_pts=ref_validPts(index_pairs(:,1)).Location;
I_matched_pts=I_validPts(index_pairs(:,2)).Location;
close all
figure,showMatchedFeatures(image,ref_img,I_matched_pts,ref_matched_pts);
Here the figure obtained :
What I have to do as a next step ? We can see from the figure that we got the 2 nostrils as features, so how to train a model a got a function that tracks the region for all the frames ?
thank you

Accepted Answer

Manas Meena
Manas Meena on 13 May 2021
After SURF feature detection you can select the strongest points of interest (eg. nostrils) and the use the vision.PointTracker function to track these selected points in the video.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by