The mouth detection using Viola-Jones face detection algorithm shows several mis-detection also. What can I do for accurate mouth detection?

The mouth detection based on Viola-Jones face detection algorithm shows several mis-detection also. What can I do for accurate mouth detection?
The code is as follows;
MouthDetect = vision.CascadeObjectDetector('Mouth','MergeThreshold',16);
BB=step(MouthDetect,I);
figure,
imshow(I); hold on
for i = 1:size(BB,1)
rectangle('Position',BB(i,:),'LineWidth',4,'LineStyle','-','EdgeColor','r');
end
title('Mouth Detection');
hold off;
Used software: Matlab 2012a

Answers (3)

You might need to tune the parameters to the size of the mouth in your pictures. Otherwise, go here http://iris.usc.edu/Vision-Notes/bibliography/contentspeople.html#Face%20Recognition,%20Detection,%20Tracking,%20Gesture%20Recognition,%20Fingerprints,%20Biometrics for a better algorithm. Look expecially at this section: "21.3.4.2 Mouth Location, Lip Location, Detection "

2 Comments

After 3 and a half years, I'd think so. They probably found a suitable algorithm in the link I provided and then coded it up.

Sign in to comment.

clc; clear; close all; mouth_detect = vision.CascadeObjectDetector('Mouth', 'MergeThreshold', 300); read_image = imread('distract_001001-000000.jpg'); bounding_box=step(mouth_detect, read_image); figure, imshow(read_image); hold on for i = 1 : size(bounding_box, 1) rectangle('Position',bounding_box(i, :), 'LineWidth', 4, 'LineStyle', '-', 'EdgeColor', 'r'); end title('Mouth Detection'); hold off;
Same code just change threshold value to 300 if u r using matlab 2017a. I have tested on this version on mac. Otherwise 16 and default value will not work.
You can try this deep learning based face detector: https://github.com/matlab-deep-learning/mtcnn-face-detection
It outputs the location of eyes, nose and mouth corners as well as the face bounding box, and has much better performance than the built in vision.CascadeObjectDetector

Asked:

on 30 Oct 2013

Answered:

on 31 Jan 2020

Community Treasure Hunt

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

Start Hunting!