face detection and recognition using opencv

Post on 05-Dec-2014

2.743 Views

Category:

Technology

17 Downloads

Preview:

Click to see full reader

DESCRIPTION

Face detection and recognition overview. Using OpenCV functions to detect and recognize face. Eigenfaces, FisherFaces, HaarClassifier, LBP, LBPH

TRANSCRIPT

Распознавание лиц с использованием OpenCV

Бабий А.С. - apratster@gmail.com

Бабий А.С. - apratster@gmail.com

Какие задачи возникают при распознавании лиц?

Определение лиц в

кадре\изображенииОпределение

ключевых точек

Нормализация

лица

Извлечение

ключевых признаков

Сопоставление с

базой ключевых

признаков

изображение

результат сопоставления

Бабий А.С. - apratster@gmail.com

Особенности реализации систем распознавания лиц

Тип сценария

Кооперация

Отсутствие кооперации

Тип сопоставления

один к одному

один ко многим

Исходные данные

одна камера

решения с несколькими камерами, NIR

Обучающая выборка

Бабий А.С. - apratster@gmail.com

Карта подходов и методов для определения лиц

Определение лица

Методы основанные на частных признаках (Feature-based methods)

Методы основанные на обобщенных признаках (Appearance based methods)

Контурный анализ, классификация цвета кожи, поиск\распознавание анатомических признаков

Используют мета-алгоритм AdaBoost, RealBoost ….и «слабые» классификаторы

для построения «сильных» классификаторов.Локальные признаки:- HAAR-Like features- LBP- Gaussians fields

Конкретная задача позволяет комбинировать подходы

Бабий А.С. - apratster@gmail.com

HAAR like features, LBP

Haar like features[1, 5]

Local binary patterns[2]

Бабий А.С. - apratster@gmail.com

Определение лица в кадре при разных углах зрения и наклона головы[3]

Бабий А.С. - apratster@gmail.com

Нормализация лица

Active Shape Model[4] Active Appearance Model[10,6]

Бабий А.С. - apratster@gmail.com

Распознавание лиц. EigenFace[7]

- Нормализация- Определение главных компонент, т.е. фактическиимеющих наибольшую вариативность(дисперсию)(PCA)

- Вычисление расстояния Мехаланобиса для

Поиска ближайшего элемента

Бабий А.С. - apratster@gmail.com

FisherFace –Распознавание с использованием ЛДА[8]

- Нормализация- Определение «набора линий»которые лучше всего разделяют классы

Поиска ближайшего элемента

отталкиваясь от найденных

разделителей(дискриминант)

Бабий А.С. - apratster@gmail.com

Local binary patterns histograms[5]

-Используются локальныепризнаки

-Разделяем на M областей-Строим гистограммы

-Полученные векторагистограмм сравниваем

Бабий А.С. - apratster@gmail.com

Какие методы могут использоваться для решения конкретной задачи[9]

http://robinhsieh.com/?p=156

Например, отчет победителя Utechzone Machine Vision Prize

Бабий А.С. - apratster@gmail.com

Используем OpenCV

Определение лица:

/** Global variables */String face_cascade_name = "lbpcascade_frontalface.xm l";CascadeClassifier face_cascade;…….//-- 1. Load the cascadeif( !face_cascade.load( face_cascade_name ) )

printf("--(!)Error loading\n"); return -1; };…..face_cascade.detectMultiScale( frame_gray, faces, 1 .1, 2, 0, Size(80, 80) );

samples/ObjectDetection2.cpp

Бабий А.С. - apratster@gmail.com

OpenCV CascadeClassifier.detectMultiscale - параметры

image – Matrix of the type CV_8U containing an image where objects are detected.

objects – Vector of rectangles where each rectangle contains the detectedobject.

scaleFactor – Parameter specifying how much the image size is reduced at each image scale.

minNeighbors – Parameter specifying how many neighbors each candidate rectangle should have to retain it.

flags – Parameter with the same meaning for an old cascade as in the function cvHaarDetectObjects. It is not used for a new cascade.

minSize – Minimum possible object size. Objects smaller than that are ignored.

maxSize – Maximum possible object size. Objects larger than that are ignored.

Бабий А.С. - apratster@gmail.com

FaceRecognizer

FaceRecognizer::trainFaceRecognizer::updateFaceRecognizer::predictFaceRecognizer::saveFaceRecognizer::load

Методы :

Конструкторы

createEigenFaceRecognizer(int num_components=0, doub le threshold=DBL_MAX)

createFisherFaceRecognizer(int num_components=0, dou ble threshold=DBL_MAX )

createLBPHFaceRecognizer(int radius=1, int neighbors= 8, int grid_x=8, int grid_y=8, double threshold=DBL_MAX)

Бабий А.С. - apratster@gmail.com

Базы изображений

http://www.cl.cam.ac.uk/research/dtg/attarchive/pub/data/att_faces.zipThe Database of Faces

Yale Facedatabase A

http://cvc.yale.edu/projects/yalefaces/yalefaces.html

Yale Face Database B

http://vision.ucsd.edu/~leekc/ExtYaleDatabase/ExtYaleB.html

The extended Yale Face Database B contains 16128 images of 28 human subjects under 9 poses and 64 illumination conditions.

The Yale Face Database A (size 6.4MB) contains 165 grayscale images in GIFformat of 15 individuals.

The Database of Faces, formerly The ORL Database of Faces, containsten different images of each of 40 distinct subjects

Бабий А.С. - apratster@gmail.com

Литература

1)Haar Feature-based Cascade Classifier for Object Detectio nhttp://docs.opencv.org/modules/objdetect/doc/cascade_classification.html2)Face Recognition with OpenCVhttp://docs.opencv.org/modules/contrib/doc/facerec/facerec_tutorial.html#fisherfaces3)Huang, C., Ai, H., Li, Y., Lao, S.: High-performanc e rotation invariant multiview face detec-tion. IEEE Trans. Pattern Anal. Mach. Intell. 29(4), 671–686 (2007)4)An Introduction to Active Shape Models. Tim Cooteshttp://personalpages.manchester.ac.uk/staff/timothy.f.cootes/Papers/asm_overview.pdf5)Face Detection using Haar Cascadehttp://docs.opencv.org/trunk/doc/py_tutorials/py_objdetect/py_face_detection/py_face_detection.html6)Gaze tracking based on active appearance model and multiple support vector regression on mobiledeviceshttp://opticalengineering.spiedigitallibrary.org/article.aspx?articleid=10893017)Распознавание изображений. Алгоритм Eigenfacehttp://habrahabr.ru/post/68870/8)Fisherfaceshttp://www.bytefish.de/blog/fisherfaces/9)Utechzone Machine Vision Prizehttp://robinhsieh.com/?p=15610)Active Apperance models. T.F. Cooteshttp://www.cs.cmu.edu/~efros/courses/AP06/Papers/cootes-eccv-98.pdf

top related