SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
Распознавание лиц с использованием OpenCV

Бабий А.С. - 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]
Например, отчет победителя Utechzone Machine Vision Prize
http://robinhsieh.com/?p=156

Бабий А.С. - apratster@gmail.com
Используем OpenCV
Определение лица:
/** Global variables */
String face_cascade_name = "lbpcascade_frontalface.xml";
CascadeClassifier face_cascade;
…….
//-- 1. Load the cascade
if( !face_cascade.load( face_cascade_name ) )
printf("--(!)Error loadingn"); 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 detected
object.
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::train
FaceRecognizer::update
FaceRecognizer::predict
FaceRecognizer::save
FaceRecognizer::load
Конструкторы
createEigenFaceRecognizer(int num_components=0, double threshold=DBL_MAX)
createFisherFaceRecognizer(int num_components=0, double 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
Базы изображений

The Database of Faces
http://www.cl.cam.ac.uk/research/dtg/attarchive/pub/data/att_faces.zip
Yale Facedatabase A
http://cvc.yale.edu/projects/yalefaces/yalefaces.html
Yale Face Database B
http://vision.ucsd.edu/~leekc/ExtYaleDatabase/ExtYaleB.html

The Database of Faces, formerly The ORL Database of Faces, contains
ten different images of each of 40 distinct subjects
The Yale Face Database A (size 6.4MB) contains 165 grayscale images in GIF
format of 15 individuals.
The extended Yale Face Database B contains 16128 images of 28 human subjects
under 9 poses and 64 illumination conditions.

Бабий А.С. - apratster@gmail.com
Литература
1)Haar Feature-based Cascade Classifier for Object Detection
http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html
2)Face Recognition with OpenCV
http://docs.opencv.org/modules/contrib/doc/facerec/facerec_tutorial.html#fisherfaces
3)Huang, C., Ai, H., Li, Y., Lao, S.: High-performance rotation invariant multiview face detection. IEEE Trans. Pattern Anal. Mach. Intell. 29(4), 671–686 (2007)
4)An Introduction to Active Shape Models. Tim Cootes
http://personalpages.manchester.ac.uk/staff/timothy.f.cootes/Papers/asm_overview.pdf
5)Face Detection using Haar Cascade
http://docs.opencv.org/trunk/doc/py_tutorials/py_objdetect/py_face_detection/py_face_detection.html
6)Gaze tracking based on active appearance model and multiple support vector regression on mobile
devices
http://opticalengineering.spiedigitallibrary.org/article.aspx?articleid=1089301
7)Распознавание изображений. Алгоритм Eigenface
http://habrahabr.ru/post/68870/
8)Fisherfaces
http://www.bytefish.de/blog/fisherfaces/
9)Utechzone Machine Vision Prize
http://robinhsieh.com/?p=156
10)Active Apperance models. T.F. Cootes
http://www.cs.cmu.edu/~efros/courses/AP06/Papers/cootes-eccv-98.pdf

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

Más contenido relacionado

Destacado

нейронные сети
нейронные сетинейронные сети
нейронные сети
hudvin
 
Recognition of handwritten digits
Recognition of handwritten digitsRecognition of handwritten digits
Recognition of handwritten digits
Andrew Babiy
 
ROS - Robotics Operation System
ROS - Robotics Operation SystemROS - Robotics Operation System
ROS - Robotics Operation System
hudvin
 
Mobileye C2-270 Brochure german
Mobileye C2-270 Brochure germanMobileye C2-270 Brochure german
Mobileye C2-270 Brochure german
Eran Perzelan
 
WE2.L10.3: PROSPECTS OF NEW REAL-TIME RADAR APPLICATIONS FOR ENVIRONMENTAL RE...
WE2.L10.3: PROSPECTS OF NEW REAL-TIME RADAR APPLICATIONS FOR ENVIRONMENTAL RE...WE2.L10.3: PROSPECTS OF NEW REAL-TIME RADAR APPLICATIONS FOR ENVIRONMENTAL RE...
WE2.L10.3: PROSPECTS OF NEW REAL-TIME RADAR APPLICATIONS FOR ENVIRONMENTAL RE...
grssieee
 
Mobileye for your Fleet
Mobileye for your FleetMobileye for your Fleet
Mobileye for your Fleet
Eran Perzelan
 
Mobileye a story of success
Mobileye   a story of successMobileye   a story of success
Mobileye a story of success
Eran Perzelan
 

Destacado (18)

нейронные сети
нейронные сетинейронные сети
нейронные сети
 
Recognition of handwritten digits
Recognition of handwritten digitsRecognition of handwritten digits
Recognition of handwritten digits
 
ROS - Robotics Operation System
ROS - Robotics Operation SystemROS - Robotics Operation System
ROS - Robotics Operation System
 
Deep Q-Learning
Deep Q-LearningDeep Q-Learning
Deep Q-Learning
 
1118_Seminar_Continuous_Deep Q-Learning with Model based acceleration
1118_Seminar_Continuous_Deep Q-Learning with Model based acceleration1118_Seminar_Continuous_Deep Q-Learning with Model based acceleration
1118_Seminar_Continuous_Deep Q-Learning with Model based acceleration
 
Introduction For seq2seq(sequence to sequence) and RNN
Introduction For seq2seq(sequence to sequence) and RNNIntroduction For seq2seq(sequence to sequence) and RNN
Introduction For seq2seq(sequence to sequence) and RNN
 
Mobileye C2-270 Brochure german
Mobileye C2-270 Brochure germanMobileye C2-270 Brochure german
Mobileye C2-270 Brochure german
 
AutomotiveProjects
AutomotiveProjectsAutomotiveProjects
AutomotiveProjects
 
24 GHz Radar for CCTV Camera Control
24 GHz Radar for CCTV Camera Control24 GHz Radar for CCTV Camera Control
24 GHz Radar for CCTV Camera Control
 
WE2.L10.3: PROSPECTS OF NEW REAL-TIME RADAR APPLICATIONS FOR ENVIRONMENTAL RE...
WE2.L10.3: PROSPECTS OF NEW REAL-TIME RADAR APPLICATIONS FOR ENVIRONMENTAL RE...WE2.L10.3: PROSPECTS OF NEW REAL-TIME RADAR APPLICATIONS FOR ENVIRONMENTAL RE...
WE2.L10.3: PROSPECTS OF NEW REAL-TIME RADAR APPLICATIONS FOR ENVIRONMENTAL RE...
 
Mobileye brief
Mobileye briefMobileye brief
Mobileye brief
 
Mobileye for your Fleet
Mobileye for your FleetMobileye for your Fleet
Mobileye for your Fleet
 
Mobileye: International Studies - Israel
Mobileye: International Studies - IsraelMobileye: International Studies - Israel
Mobileye: International Studies - Israel
 
Mobileye a story of success
Mobileye   a story of successMobileye   a story of success
Mobileye a story of success
 
Bus and coach
Bus and coachBus and coach
Bus and coach
 
Medical sensing, localization, and communications usingultra wideband technol...
Medical sensing, localization, and communications usingultra wideband technol...Medical sensing, localization, and communications usingultra wideband technol...
Medical sensing, localization, and communications usingultra wideband technol...
 
Mobileye Project
Mobileye ProjectMobileye Project
Mobileye Project
 
Ground Penetration Radar as a Tool for Pavement Condition Diagnostics
Ground Penetration Radar as a Tool for Pavement Condition DiagnosticsGround Penetration Radar as a Tool for Pavement Condition Diagnostics
Ground Penetration Radar as a Tool for Pavement Condition Diagnostics
 

Similar a Face detection and recognition using OpenCV (6)

FaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_reviewFaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_review
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04
 
API Яндекс.Карт
API Яндекс.КартAPI Яндекс.Карт
API Яндекс.Карт
 
Построение гендерного классификатора
Построение гендерного классификатораПостроение гендерного классификатора
Построение гендерного классификатора
 
Denis Perevalov -- Computer Vision with OpenCV 2
Denis Perevalov -- Computer Vision with OpenCV 2Denis Perevalov -- Computer Vision with OpenCV 2
Denis Perevalov -- Computer Vision with OpenCV 2
 
CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.
 

Face detection and recognition using OpenCV

  • 1. Распознавание лиц с использованием OpenCV Бабий А.С. - apratster@gmail.com
  • 2. Какие задачи возникают при распознавании лиц? изображение Определение лиц в кадреизображении Определение ключевых точек Извлечение ключевых признаков Сопоставление с базой ключевых признаков Нормализация лица результат сопоставления Бабий А.С. - apratster@gmail.com
  • 3. Особенности реализации систем распознавания лиц Кооперация Тип сценария Отсутствие кооперации один к одному Обучающая выборка Тип сопоставления один ко многим одна камера Исходные данные решения с несколькими камерами, NIR Бабий А.С. - apratster@gmail.com
  • 4. Карта подходов и методов для определения лиц Определение лица Методы основанные на частных признаках (Feature-based methods) Контурный анализ, классификация цвета кожи, поискраспознавание анатомических признаков Методы основанные на обобщенных признаках (Appearance based methods) Используют мета-алгоритм AdaBoost, RealBoost …. и «слабые» классификаторы для построения «сильных» классификаторов. Локальные признаки: - HAAR-Like features - LBP - Gaussians fields Конкретная задача позволяет комбинировать подходы Бабий А.С. - apratster@gmail.com
  • 5. HAAR like features, LBP Haar like features[1, 5] Local binary patterns[2] Бабий А.С. - apratster@gmail.com
  • 6. Определение лица в кадре при разных углах зрения и наклона головы[3] Бабий А.С. - apratster@gmail.com
  • 7. Нормализация лица Active Shape Model[4] Active Appearance Model[10,6] Бабий А.С. - apratster@gmail.com
  • 8. Распознавание лиц. EigenFace[7] - Нормализация - Определение главных компонент, т.е. фактически имеющих наибольшую вариативность(дисперсию) (PCA) - Вычисление расстояния Мехаланобиса для Поиска ближайшего элемента Бабий А.С. - apratster@gmail.com
  • 9. FisherFace – Распознавание с использованием ЛДА[8] - Нормализация - Определение «набора линий» которые лучше всего разделяют классы Поиска ближайшего элемента отталкиваясь от найденных разделителей(дискриминант) Бабий А.С. - apratster@gmail.com
  • 10. Local binary patterns histograms[5] -Используются локальные признаки -Разделяем на M областей -Строим гистограммы -Полученные вектора гистограмм сравниваем Бабий А.С. - apratster@gmail.com
  • 11. Какие методы могут использоваться для решения конкретной задачи[9] Например, отчет победителя Utechzone Machine Vision Prize http://robinhsieh.com/?p=156 Бабий А.С. - apratster@gmail.com
  • 12. Используем OpenCV Определение лица: /** Global variables */ String face_cascade_name = "lbpcascade_frontalface.xml"; CascadeClassifier face_cascade; ……. //-- 1. Load the cascade if( !face_cascade.load( face_cascade_name ) ) printf("--(!)Error loadingn"); return -1; }; ….. face_cascade.detectMultiScale( frame_gray, faces, 1.1, 2, 0, Size(80, 80) ); samples/ObjectDetection2.cpp Бабий А.С. - apratster@gmail.com
  • 13. 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 detected object. 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
  • 14. FaceRecognizer Методы : FaceRecognizer::train FaceRecognizer::update FaceRecognizer::predict FaceRecognizer::save FaceRecognizer::load Конструкторы createEigenFaceRecognizer(int num_components=0, double threshold=DBL_MAX) createFisherFaceRecognizer(int num_components=0, double 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
  • 15. Базы изображений The Database of Faces http://www.cl.cam.ac.uk/research/dtg/attarchive/pub/data/att_faces.zip Yale Facedatabase A http://cvc.yale.edu/projects/yalefaces/yalefaces.html Yale Face Database B http://vision.ucsd.edu/~leekc/ExtYaleDatabase/ExtYaleB.html The Database of Faces, formerly The ORL Database of Faces, contains ten different images of each of 40 distinct subjects The Yale Face Database A (size 6.4MB) contains 165 grayscale images in GIF format of 15 individuals. The extended Yale Face Database B contains 16128 images of 28 human subjects under 9 poses and 64 illumination conditions. Бабий А.С. - apratster@gmail.com
  • 16. Литература 1)Haar Feature-based Cascade Classifier for Object Detection http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html 2)Face Recognition with OpenCV http://docs.opencv.org/modules/contrib/doc/facerec/facerec_tutorial.html#fisherfaces 3)Huang, C., Ai, H., Li, Y., Lao, S.: High-performance rotation invariant multiview face detection. IEEE Trans. Pattern Anal. Mach. Intell. 29(4), 671–686 (2007) 4)An Introduction to Active Shape Models. Tim Cootes http://personalpages.manchester.ac.uk/staff/timothy.f.cootes/Papers/asm_overview.pdf 5)Face Detection using Haar Cascade http://docs.opencv.org/trunk/doc/py_tutorials/py_objdetect/py_face_detection/py_face_detection.html 6)Gaze tracking based on active appearance model and multiple support vector regression on mobile devices http://opticalengineering.spiedigitallibrary.org/article.aspx?articleid=1089301 7)Распознавание изображений. Алгоритм Eigenface http://habrahabr.ru/post/68870/ 8)Fisherfaces http://www.bytefish.de/blog/fisherfaces/ 9)Utechzone Machine Vision Prize http://robinhsieh.com/?p=156 10)Active Apperance models. T.F. Cootes http://www.cs.cmu.edu/~efros/courses/AP06/Papers/cootes-eccv-98.pdf Бабий А.С. - apratster@gmail.com