Pregunta

Estoy tratando de implementar la detección automática de cara usando MATLAB. Sé cómo implementarlo usando OpenCV, pero me gustaría hacerlo en MATLAB.

Vi dos sitios web en esto:

1) http://www.mathworks.com/matlabcentral/fileExchange/11073. En primer lugar, este sitio web es bueno y funciona en redes neuronales. Funciona bien con las imágenes que se dedican a ella. Sin embargo, cuando entreno las redes neuronales usando mis imágenes, la precisión es muy mala.

2) El segundo es http://www.mathworks.com/matlabcentral/fileExchange/13716-face-eye-Detection. La precisión es mala cuando pruebo con una imagen propia.

Buscando mejores soluciones y sugerencias sobre lo que debo hacer. Gracias.

¿Fue útil?

Solución

Comenzando con la versión R2012A, la caja de herramientas del sistema de visión por computadora incluye una Basado en Viola-Jones detector de la cara con el vision.CascadeObjectDetector objeto del sistema.

demo


EDITAR:

Desde que mencionó OpenCV, ¿qué tal si lo usa directamente de MATLAB? Verificar Mexopencv proyecto.

Aquí hay código de muestra para detectar caras:

%# 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

Vale la pena mencionar que la caja de herramientas de visión por computadora de Matlab también usa OpenCV en su implementación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top