Распознавание лиц в реальном времени с использованием библиотеки Emgu CV
Распознавание лиц - это применение на практике теории распознавания образов, которое включает в себя автоматическое определение положения лица на изображении и, в случае необходимости, идентификацию персоны по лицу.
В области компьютерного зрения большое распространение получила библиотека с открытым исходным кодом Open CV. Но не смотря на популярность библиотеки Open CV, она поддерживает ограниченный список платформ. Эту проблему решает библиотека Emgu CV.
Emgu CV является кроссплатформенной оберткой над технологией Open CV. Emgu CV был полностью написан на языке программирования C# с использованием преимуществ платформы .Net.
Для начала процесса распознавания необходимо выбрать ресурс, с которого будет производиться захват изображения при помощи класса Capture. Получение изображения в библиотеке Emgu CV происходит при помощи функции QueryFrame, которая находится в классе Capture. Для локализации лица, полученное изображение необходимо передать функции анализатору в классе CascadeClassifier. CascadeClassifier – это классификатор, который обучается сотнями образцов изображений. При создании экземпляра класса классификатора в его конструктор передается *.xml файл с данными обучения.
После того, как на изображении были локализованы лица, можно приступать к их дальнейшей обработке. Например, координаты крайних точек лица можно принять за область интереса (ROI) и с большой эффективностью определить положения рта и глаз, т.к. классификатору придется работать лишь с небольшой частью изображения, ограниченной областью интереса.
В результате исследования было создано приложение, которое определяет на видео потоке лица и глаза людей (Рисунок 1). Приложение разработано на платформе .Net Framework на языке программирования C# с использованием библиотеки Emgu CV.
Научный руководитель - к. пед.н., доц., Ефименко С.М.
Рисунок 1 – Определение лиц на видеопотоке в реальном времени