Научная статья на тему 'Распознавание лиц на примере библиотеки OpenCV'

Распознавание лиц на примере библиотеки OpenCV Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
692
934
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПОЗНАВАНИЕ ОБРАЗОВ / OPENCV / КОМПЬЮТЕРНОЕ ЗРЕНИЕ / МАШИННОЕ ОБУЧЕНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Каипбергенов Б.Т., Кадыров А.А.

В данной работе рассматриваются возможности библиотеки для распознавания образов OpenCV, позволяющей анализировать данные об изображении в режиме реального времени.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Распознавание лиц на примере библиотеки OpenCV»

РАСПОЗНАВАНИЕ ЛИЦ НА ПРИМЕРЕ БИБЛИОТЕКИ OPENCV

© Каипбергенов Б.Т.*, Кадыров А.А.*

Нукусский филиал Ташкентского университета

информационных технологий, Республика Узбекистан, г. Нукус

В данной работе рассматриваются возможности библиотеки для распознавания образов OpenCV, позволяющей анализировать данные об изображении в режиме реального времени.

Ключевые слова: распознавание образов, OpenCV, компьютерное зрение, машинное обучение.

Распознавание лиц представляет из себя частный случай задачи распознавания образов. Для решения задачи распознавания лиц существует множество инструментов, из которых наиболее распространенным является библиотека с открытыми исходными кодами OpenCV, а именно - класс FaceRecognition, который занимается конкретно распознаванием лиц.

OpenCV (Open Source Computer Vision, компьютерное зрение с открытыми исходными кодами) это популярная библиотека компьютерного зрения, разработанная компанией Intel в 1999 году. Кросс-платформенная библиотека нацелена на обработку изображений в режиме реального времени, и включает в себя свободную реализацию новейших алгоритмов компьютерного зрения. Библиотека OpenCV сейчас доступна для множества языков программирования и платформ, включая C, C++, Python и Android.

Версии OpenCV 2.4.1 и выше включают в себя обученные каскадные классификаторы для распознавания лиц, а также для распознавания глаз, носа, и т.д. в библиотеку включено два типа классификаторов:

- Каскады Хаара.

- LBP-каскады.

Для распознавания лиц используются LBP-каскады, а каскады Хаара используются для распознавания глаз. Некоторые авторы, среди которых Шервин Эмами [1], утверждают, что использование LBP-каскадов для распознавания лиц в несколько раз быстрее, чем по Хаару.

В OpenCV используются три алгоритма распознавания лиц:

- Eigenfaces.

- Fisherfaces.

- LBPH (local binary patterns histograms, гистограмма двоичных локальных особенностей).

Каждый из этих алгоритмов поддерживает обучение на основе заданного массива изображений, предсказание найденного лица, а также загрузку и

Системный анализ, управление и обработка информации

9

сохранение состояния модели в формате XML или YAML. Алгоритм LBPH также поддерживает обновление модели, иначе говоря, вы можете обновлять имеющуюся модель новыми изображениями.

Реализация алгоритма предоставляет возможность установки чувствительности распознавания. По умолчанию, значение чувствительности установлено на высокий уровень, что означает, что процесс распознавания всегда будет выдавать вам результат из вашего набора данных. И наоборот, если уровень чувствительности установлен низким, в результате распознавания вы с более высокой будете получать неопределенный результат. Таким образом, необходимо найти оптимальное значение чувствительности, которое может быть вычислено после нескольких начальных тестов, и которое может сильно зависеть от выбранного алгоритма распознавания.

Для обучения модели мы использовали алгоритм EigenFaces. В основе алгоритма лежит использование фундаментальных статистических характеристик: средних (мат. ожидание) и ковариационной матрицы; использование метода главных компонент. На вход подается набор изображений-фотографий с указанием класса изображения (каждому человеку назначается свой класс). Для примера мы используем набор из 9 изображений трех людей, по три изображения на каждого человека.

После обучения модели, на вход программы подается изображение, на котором нужно распознать личность. После анализа обученной модели, программа находит наилучшее соответствие распознанного лица.

C:\temp\projects\facerec\bir\Debug\apercv.exe

Изображении принадлежит классу 1. Указанный клас =5. распознанный класс = —1 fcigenualue ЙШ = 1080,95685 ■Е ige пи а lue ttl = 0.7Ш121 ■Eigenualue 02 = 0.03837

Рис. 1. Результат работы программы

Качество распознавания очень сильно зависит от обучения модели, которая, в свою очередь, зависит от количества изображений, использованных при обучении. Для достижения наилучшего результата, при обучении рекомендуется использовать заранее подготовленный набор изображений, даю-

10

ПЕРСПЕКТИВЫ РАЗВИТИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

щий наиболее полный обзор распознаваемого лица. Желательно также приводить размеры изображений к одному стандарту.

Как было сказано выше, возможностью обновления модели обладает только алгоритм LBPH. Это означает, что в нашем примере мы не сможем после обучения модели на одном наборе изображений «дообучить» ее на дополнительном наборе. Поэтому, для динамических, самообучающихся систем, рекомендуется использовать алгоритм LBPH.

Приведенный выше алгоритм может быть использован в самых разных прикладных приложениях, от систем контроля доступа до продвинутых интеллектуальных систем.

Список литературы:

1. Shervin Emami. Face Recognition using Eigenfaces or Fisherfaces // in Mastering OpenCV with Practical Computer Vision Projects. Pact Publishing, 2012. ISBN 1849517827.

2. Cendrillon R., Lovell B. (2000). Real-time face recognition using eigenfaces. Visual Communications and Image Processing. pp. 269-276.

СОВРЕМЕННАЯ ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ В СИСТЕМАХ УПРАВЛЕНИЯ

© Каипбергенов Б.Т.*, Татлымуратов Н.Ж.Ф

Нукусский филиал Ташкентского университета информационных технологий, Республика Узбекистан, г. Нукус

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

Ключевые слова: интеллектуальное управление, искусственный интеллект, генетические алгоритмы, нейрокомпьютер, эволюционное моделирование, амплификация, мутация.

Исследования в области создания эффективных систем управления, способных функционировать в условиях неопределенности входной информа-

i Надоели баннеры? Вы всегда можете отключить рекламу.