Автоматическое распознавание лиц с использованием MATLAB - PullRequest
9 голосов
/ 15 февраля 2012

Я пытаюсь реализовать автоматическое распознавание лиц с помощью MATLAB.Я знаю, как реализовать это с помощью OpenCV, но я хотел бы сделать это в MATLAB.

Я видел два сайта на этом:

1) http://www.mathworks.com/matlabcentral/fileexchange/11073. Во-первых, этот сайтэто хорошо, и это работает на нейронных сетях.Это хорошо работает с изображениями, которые даются вместе с ним.Однако, когда я обучаю нейронные сети, используя мои изображения, точность очень плохая.

2) Второе значение равно http://www.mathworks.com/matlabcentral/fileexchange/13716-face-eye-detection. Точность плохая, когда я тестирую с моим собственным изображением.

В поисках лучших решений, а также предложений о том, что я должен делать.Спасибо.

1 Ответ

11 голосов
/ 09 июня 2012

Начиная с версии R2012a, набор инструментов Computer Vision System включает детектор лица на базе Альта с системным объектом vision.CascadeObjectDetector.

demo


РЕДАКТИРОВАТЬ:

Так как вы упомянули OpenCV, как насчет прямого использования его из MATLAB.Оформить заказ mexopencv проект.

Вот пример кода для обнаружения лиц:

%# Load a face detector and an image
detector = cv.CascadeClassifier('haarcascade_frontalface_alt.xml');
im = imread('myface.jpg');
%# Preprocess
gr = cv.cvtColor(im, 'RGB2GRAY');
gr = cv.equalizeHist(gr);
%# Detect
boxes = detector.detect(gr, 'ScaleFactor',1.3, 'MinNeighbors',2, 'MinSize',[30,30]);
%# Draw results
imshow(im);
for i = 1:numel(boxes)
    rectangle('Position',boxes{i}, 'EdgeColor','g');
end

Стоит отметить, что инструментальная программа MATLAB для компьютерного зрения также использует OpenCV в своей реализации.

...