УДК 004.93 DOI: 10.17213/0321-2653-2016-3-24-30
СИСТЕМА УЧЕТА ПОСЕЩЕНИЯ ЗАНЯТИЙ СТУДЕНТАМИ НА ОСНОВЕ АЛГОРИТМОВ РАСПОЗНАВАНИЯ ЛИЦ1
ATTENDANCE CONTROL SYSTEM BASED ON FACE RECOGNITION ALGORITHMS
© 2016 г. Р.М. Синецкий, М.М. Гавриков
Синецкий Роман Михайлович - канд. техн. наук, кафедра Sinetsky Roman Mikhailovich - Candidate of Technical Sci-
«Программное обеспечение вычислительной техники», ences, department «Software Engineering», Platov South-
Южно-Российский государственный политехнический уни- Russian State Polytechnic University (NPI),
верситет (НПИ) имени М.И. Платова, г. Новочеркасск, Novocherkassk, Russia. Ph. (8635)255295. E-mail: rmsin@srspu.ru Россия. Тел. (8635)25-52-95. E-mail: rmsin@srspu.ru
Гавриков Михаил Михайлович - канд. техн. наук, доцент, Gavrikov Mikhail Mikhailovich - Candidate of Technical
кафедра «Программное обеспечение вычислительной тех- Sciences, assistant professor, department «Software Engineer-
ники», Южно-Российский государственный политехниче- ing», Platov South-Russian State Polytechnic University (NPI),
ский университет (НПИ) имени М.И. Платова, г. Новочер- Novocherkassk, Russia. Ph. (8635)255295. E-mail: gmm1000
касск, Россия. Тел. (8635)25-52-95. E-mail: gmm1000@yandex.ru @yandex.ru
Затронуты вопросы детектирования и распознавания лиц в приложении к задаче учета посещения студентами занятий в вузе. Обсуждаются особенности задачи, предлагается общая структура системы, рассматриваются основные этапы ее функционирования. Уделено внимание обсуждению самых важных алгоритмов системы: детектирования лиц на изображении, получаемом с камеры наблюдения, и распознавания этих лиц. Для решения задачи детектирования обсуждается использование алгоритма Виолы - Джонса. Задача распознавания решается методом LBPH. На основе описанных алгоритмов реализован прототип системы идентификации лиц на изображении и проведены практические испытания прототипа, сделаны выводы. Эксперименты показывают результаты, подтверждающие перспективность системы для решения задачи учета посещения занятий студентами.
Ключевые слова: распознавание лиц; детектирование лиц; обработка изображений; обработка и распознавание образов; алгоритм Виолы - Джонса; алгоритм LBPH.
This work raises the questions of face detection and recognition in the annex to the task of the accounting of visit by students of classes in higher education institution. Firstly, features of the task are discussed, the general structure of system, the main stages of its functioning is offered. Further attention is paid to discussion of the most important algorithms of system: detections of faces on the image received from the camera and recognitions of these faces. For the solution of the task of detection, using Viola-Jones algorithms is discussed. The problem of recognition is solved by the LBPH method. Based on the described algorithms the prototype of system of identification of persons on the image is realized and practical tests of a prototype are carried out, conclusions are drawn. Experiments show the good results confirming prospects of system for the solution of the task of the accounting of visits of occupations by students.
Keywords: face recognition; face detection; image processing; pattern recognition and processing; algorithm Viola -Jones; algorithm LBPH.
Введение Среди прочих методов, ставших уже тра-
диционными, наиболее перспективным можно В самых разных сферах хозяйственной признать распознавание человека по лицу. Этот деятельности человека всегда имелись задачи, в метод имеет ряд неоспоримых преимуществ: он которых необходимо опознание конкретного позволяет проводить идентификацию на рас-человека. Наиболее часто это необходимо при стоянии, допускает скрытную проверку и может управлении, обеспечении безопасности, для кон- использовать недорогое распространенное обо-троля над перемещением людей. рудование (видеокамеры), хотя и имеет ряд огра-
'Данная работа ведется в рамках инициативной ничений [1]. научно-исследовательской работы П3-905, выполняемой в Современные системы распознавания лич-
ЮРГПУ(НПИ). ности по лицу находят применение не только для
решения серьезных задач типа обнаружения разыскиваемых лиц в местах массового пребывания людей, но и для сугубо гражданских целей, например, как системы контроля посещаемости студентами занятий.
В большинстве современных вузов учет посещаемости студентов ведется устаревшими способами - отметками в специальных журналах, которые заполняют сами преподаватели или старосты студенческих групп. В некоторых учебных заведениях внедрены системы электронных пропусков, которые позволяют контролировать прохождение владельца пропуска на территорию кампуса, но не гарантируют присутствия студента на занятии и не исключают возможности подтасовок с пропусками на турникетах.
Целью работы являлось описание общей структуры, алгоритмов и методов системы распознавания, которые могут составить основу для программно-аппаратного комплекса учета посещения занятий студентами вузов. В завершение работы приведены результаты практической апробации реализованного прототипа системы, показывающие достаточно приемлемые результаты.
Общая структура системы распознавания
Задача системы распознавания лиц заключается в обработке входного изображения I, полученного с камеры наблюдения или иного источника фото- и видеоданных, нахождении на нем лиц и идентификации личности человека, которому принадлежит лицо.
В общем виде процесс идентификации человека по лицу включает четыре основных этапа [2], показанных на рис. 1:
1) детектирование лиц - на данном этапе на всем изображении I выполняется поиск прямоугольных областей, внутри каждой из которых расположено лицо (рис. 2 а), результатом шага является множество ^1°,...,изображений лиц;
2) нормализация - лица людей на изображении могут быть наклонены вбок, иметь разный размер (рис. 2 б), различаться яркостью, цветом и т.д., поэтому на данном этапе они приводятся к одному размеру и выравниваются, результатом шага является нормализованное изображение si для лица sг0, г = 0,...,/;
3) выделение признаков - нормализованные изображения лиц анализируются с целью получения для каждого из них вектора признаков F = (/1,..., fn), количество и значения элементов которого зависят от метода распознавания лиц, используемого в системе;
4) сопоставление с эталонами - на данном этапе вектор Е сравнивается с базой данных эталонов {Т}т мощности т (количество известных лиц в базе), определяется наиболее близкий к Е по заданной метрике ц эталон Т и определяется идентификатор эталона, которому соответствует изображение лица:
г = а^тт {|о,(Е,Т) <5} .
г=1,...,т
Обычно задается порог 5, при превышении которого считается, что вектор Е не может соответствовать эталону Т (образы слишком
далеки). Если в базе эталонов {Т}т не найдется эталона с ,Т) <5, то лицо считается не идентифицированным (г = 0).
Рис. 1. Общая структура процесса идентификации человека по лицу
б
Рис. 2. Иллюстрация основных этапов процесса идентификации
Состав вектора признаков F и базы эталонов {Т}т, метрика ц и другие параметры зависят от выбора метода распознавания лиц на изображении. Шаги 3 и 4 неразрывно связаны друг с другом, так что можно их считать одним шагом - распознавание лиц.
Рассмотрим подробнее функционирование системы на основных этапах приведенной схемы.
Детектирование лиц
Одним из наиболее распространенных методов детектирования лиц является метод Виолы - Джонса, который зарекомендовал себя как очень надежный и быстродействующий [3]. Метод был предложен в работе [4] и затем развит в [5]. Также метод часто называют методом каскада фильтров Хаара.
В основе метода лежат принципы машинного обучения. Каскадная функция обучается на множестве изображений - обучающей выборки. Для обучающей выборки известно, является ли изображение лицом или нет.
Метод выполняет классификацию, основываясь на значениях характеристик изображения, вычисленных в прямоугольном окне - подмножестве исходного изображения, покрываемом прямоугольным шаблоном фильтра Хаара. Используются три типа характеристик (рис. 3): рассчитанные по двум (а, б), трем (в) и четырем (г) прямоугольникам.
В процессе вычисления шаблон накладывается на сканирующее окно. Значения характеристик вычисляются как F = X - У, где X -сумма значений яркостей точек, закрываемых светлой частью шаблона; У - сумма значений яркостей точек, закрываемых темной частью шаблона.
иИсшН
а б в г
Рис. 3. Примеры шаблонов Хаара
Вычисление таких характеристик для всего изображения может занимать достаточно долгое время. Для уменьшения количества расчетов в методе предлагается использование специального интегрального представления изображения, в котором значение каждого пикселя изображения равно сумме всех пикселей левее и выше него:
п( ^ у) = X Кх' , У'),
х'< х, у'< у
где п(х, у) - значение пикселя изображения в интегральном представлении; I(х, у) - значение пиксела изображения в обычном представлении в оттенках серого цвета.
Эффективность применения интегрального представления для расчета характеристик проиллюстрирована на рис. 4. Значение интегральной характеристики точки р1 равно сумме интегральных характеристик всех пикселей в области А: И(хь у1) = А .
Аналогично:
II(х2,у2) = А + В, II(х3, у3) = А + С , "(х4,у4) = А + В+С + D .
Таким образом, для определения суммы всех пикселей в области D необходимо выполнить элементарные операции над значениями пикселей точек в интегральном представлении:
D = И(х4,У4) + х1,У1) - х2,У2) - "(х3,У3) .
Количество вычисленных таким способом характеристик довольно велико. С использованием приведенных на рис. 3 шаблонов для анализа изображения 384*288 пикселей при помощи
окна 24^24 пикселя можно получить более 180 000 значений характеристик.
А В Pi
С D P3
Р2
Р4
Рис. 4. Иллюстрация применения интегрального
представления для вычисления характеристик
Полученные характеристики при помощи алгоритмов машинного обучения относятся к одному из двух классов - положительному (лицо присутствует в окне) и отрицательному (лицо отсутствует). Для классификации применяется алгоритм AdaBoost [6].
На начальном этапе при помощи огромной обучающей выборки, для которой известно, имеется на изображении лицо или нет, производится обучение алгоритма. Процесс обучения обычно занимает довольно продолжительное время, но затем детектирование объектов на изображении выполняется очень быстро.
Метод Виолы - Джонса обрабатывает всё исходное изображение и находит на нем все лица, которые смог определить. На следующем этапе работы системы выполняется распознавание всех найденных лиц.
Распознавание лиц
Среди множества современных методов распознавания лиц, таких как метод главных компонент, дискриминантный анализ, нейросе-тевые методы и другие, можно выделить метод гистограмм локальных бинарных шаблонов (Local Binary Patterns Histogram - LBPH), отличающийся достаточно высокой надежностью и хорошей производительностью [7 - 9].
В основе метода LBPH лежит понятие базового LBP-оператора. Этот оператор широко применяется в компьютерной графике для описания текстур и обладает важными свойствами -инвариантен к изменению уровня яркости и тре-
бует небольшого объема вычислений [10]. Принцип вычисления простейшего LBP-оператора для изображения показан на рис. 5. Оператор позволяет пометить каждый пиксель изображения бинарной меткой - шаблоном, которая вычисляется, исходя из значений всех соседних пикселей в квадрате размером 3*3 пикселя.
Изображение преобразуется к представлению в оттенках серого цвета. В этом случает каждому 7-му пикселю изображения соответствует значение v7 в оттенках серого.
Затем для каждой точки изображения вычисляется LBP-оператор. Задается некий порог 5 (обычно он равен значению центрального пиксела), тогда пиксел со значением цвета v7 имеет значение бинарного дескриптора Ь7:
10, если у7 <5, Ь =\ 7
[1, если у7 >5.
Для пиксела изображения в центре прямоугольника 3*3 шаблон состоит из последовательности бинарных дескрипторов всех его соседей, как показано на рис. 5.
Из всего множества шаблонов отдельно выделяются однородные шаблоны, которые имеют в последовательности не более двух переходов из 0 в 1 и наоборот. Например, шаблоны 00111000 (2 перехода) и 11111000 (1 переход) являются однородными, а 11001011 (4 перехода) и 01001111 (3 перехода) - нет.
В реализациях метода LBPH для вычисления шаблона используются более сложные LBPp,r-операторы, в которых соседи пикселя берутся в некотором радиусе г [11]. Поскольку в общем случае окружность произвольного радиуса может проходить через большое число пикселей, то задается количество р используемых для шаблона пикселей, лежащих на окружности заданного радиуса г. На рис. 6 приведены примеры таких операторов. Очевидно, что оператор LBP8д совпадает с простейшим LBP-оператором, показанным на рис. 5.
Для произвольного оператора LBPp,r пиксели, используемые для вычисления шаблона, не являются непосредственными соседями центрального пикселя. Окружность разбивается на р
86 51 74 5 = 53 1 0 1
99 53 86 - 1
12 66 0 1
=10111101
Рис. 5. Базовый LBP-оператор
равных частей, и с помощью билинейной интерполяции определяется ближайший к началу каждого отрезка дуги окружности пиксель изображения.
а б в
Рис. 6. Примеры операторов LBP8,i (а), LBPi6,2 (б) И LBP8,2 (в)
Для получения описания лица в представлении LBPH, изображение разбивается на m регионов R0, ..., Rm_b например, как показано на рис. 7. Для каждого региона отдельно вычисляются LBP^-операторы и формируется LBP-гистограмма H размером m xp.
X2(H, E) = SS w
1<i< p 1< j< m
(Hi,j - Ei,j)2 ' H,j + Ei,j
где Hij и Е/у' - значения /'-го бита шаблона у'-го региона для распознаваемого изображения (характеризуемого гистограммой Н) и эталонного изображения (характеризуемого гистограммой Е) соответственно.
Если в базе данных эталонов системы распознавания содержится К эталонов {Е},
/ = 1, ..., К, тогда результатом распознавания входного изображения, характеризуемого гистограммой Н, будет индекс:
С (Н) = а^шт {Х 2( Н, Ек)},
1<к<К 1 ;
а расстояние между Н и ближайшим к нему эталоном: D(Н) = х (Н,ЕС(Н)).
Практические испытания
Был создан прототип системы учета посещения занятий студентами, функционирующий по схеме (рис. 1) с применением описанных ранее методов.
С целью оценки эффективности алгоритмов распознавания были проведены испытания, в ходе которых проверялось качество распознавания на реальных данных, полученных на занятиях со студентами ЮРГПУ(НПИ). В течение ряда занятий делались периодические снимки группы студентов и велась видеозапись. Пример одного из кадров, использованных в экспериментах, показан на рис. 8.
Рис. 7. Разбиение изображения на 5*5 прямоугольных регионов
В задачах распознавания лиц предварительно формируется эталонная гистограмма Е, полученная путем обработки эталонного изображения.
Некоторые регионы изображения, например те, в которых находятся глаза, являются более важными для распознавания, чем другие [12]. Для учета этого в методе каждому региону Я' ставится в соответствие вес
Функция расстояния между двумя гистограммами Ни Е, полученными на т регионах PBLp,r-оператором, определяется как [11]:
N 2
Рис. 8. Пример кадра изображения занятия со студентами
Для шести студентов были подготовлены эталоны - отдельно в высоком разрешении были сфотографированы лица студентов в фас и выделены в изображения размером 450х450 точек. Примеры некоторых эталонных изображений показаны на рис. 9.
Рис. 9. Примеры изображений эталонов
Для оценки надежности распознавания лиц из кадров занятий были выбраны 205 лиц, из
них 49 лиц принадлежали известным людям, для которых были заданы эталоны, а для остальных людей шаблоны не были настроены - они были неизвестными. Лица выделялись из кадров реальных занятий со студентами при помощи метода Виолы - Джонса. Примеры лиц из тестовой выборки показаны на рис. 10.
Алгоритм распознавания LBPH запускался на каждом изображении из тестовой выборки. Результатами распознавания являлись идентификатор студента г и показатель ошибки распознавания ё - отклонение гистограммы изображения от ближайшего эталона. Если значение ё было меньше заданного порога, то лицо считалось неидентифицированным.
В ходе эксперимента оценивались ошибки трех типов:
- ошибка типа 1 - объект известного класса А идентифицирован как объект другого известного класса Б (ошибка идентификации);
- ошибка типа 2 - объект известного класса А идентифицирован как неизвестный объект (пропуск объекта);
- ошибка типа 3 - неизвестный объект идентифицирован как объект известного класса (ложное срабатывание).
В таблице показаны результаты подсчета количества ошибок распознавания, полученных в ходе эксперимента.
Результаты эксперимента
Показатель Всего Без ошибки Ошибки
тип 1 тип 2 тип 3
Количество 205 151 0 47 7
Процент 100 74 0 23 3
По результатам экспериментов можно сделать следующие выводы:
1. Вероятность правильного распознавания программы не высока (74 %), большая часть ошибок распознавания приходится на тип 2. Однако в течение занятия можно распознать сотни снимков, и вероятность определения присутствия студента на занятии существенно должна повыситься.
2. Ошибок неверного распознавания (тип 1) не наблюдается, что является несомненным плюсом, это означает, что вероятность ошибочного определения присутствия на занятии студента, которого на нем на самом деле нет, очень мала.
3. Небольшой процент ошибок ложного срабатывания (тип 3) возникает по причине отсутствия в системе эталона студента и, следовательно, может быть снижен, если настроить эталоны для всех студентов.
Заключение
В работе была предложена схема функционирования системы распознавания лиц, основанной на алгоритме Виолы - Джонса для детектирования лиц на изображении и методе LBPH для распознавания выделенных лиц. Основной задачей являлось создание рабочего прототипа системы, на котором можно исследовать требования к системе учета посещения занятий студентами вузов, проводить эксперименты по сравнению различных алгоритмов для данной задачи и выработать практический опыт применения таких систем.
Дальнейшим развитием прототипа предполагается создание полноценной системы учета посещения занятий, имеющей необходимый набор функций по настройке эталонов студентов, ведению расписаний занятий, учету посещаемости и его анализу.
Рис. 10. Примеры изображений лиц из тестовой выборки
Литература
1. Face Recognition by Humans: Nineteen Results All Computer Vision Researchers Should Know About-URL: http://web.mit.edu/sinhalab/Papers/19results_sinha_etal.pdf (дата обращения: 11.04.2016).
2. Stan Z.Li, Anil K.Jain. Handbook of Face Recognition. Second edition. Springer-Verlag, London, 2011. 716 p. ISBN 978-0-85729-931-4
3. Face Detection-URL: https://facedetection.com / (дата обращения: 11.04.2016).
4. Paul Viola and Michael J. Jones. Rapid Object Detection using a Boosted Cascade of Simple Features. IEEE CVPR, 2001 - URL: https://www.cs.cmu.edu/~efros/courses/LBMV07/ Papers/viola-cvpr-01.pdf (дата обращения: 12.04.2016).
5. Rainer Lienhart, Alexander Kuranov, Vadim Pisarevsky. Empirical Analysis of Detection Cascades of Boosted Classifiers for Rapid Object Detection. IEEE ICIP 2002 - URL: http://www.multimedia-computing.de/mediawiki//images/5 /52/MRL-TR-May02-revised-Dec02.pdf (дата обращения: 12.04.2016).
6. Freund Y., Schapire R.E. A decision-theoretic generalization of on-line learning and an application to boosting. Journal of Computer and System Sciences, 55(1):119 - 139, August 1997.
7. Turk M., Pentland A. Eigenfaces for recognition // Journal of Cognitive Neuroscience. 1991. Vol. 3, № 1. P. 71 - 86.
8. Etemad K., Chellappa R. Discriminant analysis for recognition of human face images // Journal of the Optical Society of America. 1997. Vol. 14. P. 1724 - 1733.
9. Yang J., Zhang D., Frangi A.F. Two-dimensional PCA: A new approach to appearance-based face representation and recognition // IEEE Transactions on Pattern Analysis and Machine Intelligence. Jan 2004. Vol. 26, № 1. P. 131 - 137.
10. Ojala T., Pietikainen M., Harwood D. A comparative study of texture measures with classification based on feature distributions // Pattern Recognition. 1996. Vol. 29, № 1. P. 51 - 59.
11. Ahonen T., Hadid A. Pietikainen M.: Face recognition with local binary patterns. In: Proceedings of the European Conference on Computer Vision. Prague, Czech Republic, 2004. P. 469 - 481.
12. Zhao W., Chellappa R., Phillips P.J., Rosenfeld A. Face recognition: A literature survey // ACM Computing Surveys. Dec. 2003. Vol. 35, № 4. P. 399 - 458.
References
1. Face Recognition by Humans: Nineteen Results All Computer Vision Researchers Should Know About-URL: http://web.mit.edu/sinhalab/Papers/19results_sinha_etal.pdf
2. Stan Z. Li, Anil K. Jain. Handbook of Face Recognition. Second edition. - Springer-Verlag, London, 2011. 716 pp.
3. Face Detection-URL: https://facedetection.com/
4. Paul Viola, Michael J. Jones. Rapid Object Detection using a Boosted Cascade of Simple Features. IEEE CVPR, 2001. URL: https://www.cs.cmu.edu/~efros/courses/LBMV07/Papers/viola-cvpr-01.pdf
5. Rainer Lienhart, Alexander Kuranov, Vadim Pisarevsky. Empirical Analysis of Detection Cascades of Boosted Classifiers for Rapid Object Detection. IEEE ICIP 2002 - URL: http://www.multimedia-computing.de/mediawiki//images/5/52/MRL-TR-May02-revised-Dec02.pdf
6. Yoav Freund, Robert E. Schapire. A decision-theoretic generalization of on-line learning and an application to boosting. Journal of Computer and System Sciences, 1997, no. 55(1), pp. 119-139.
7. Turk and M., Pentland A. Eigenfaces for recognition. Journal of Cognitive Neuroscience, 1991, vol. 3, no. 1, pp. 71-86.
8. Etemad K., Chellappa R. Discriminant analysis for recognition of human face images. Journal of the Optical Society of America, 1997, vol. 14, pp. 1724-1733.
9. Yang J., Zhang D., Frangi A.F. Two-dimensional PCA: A new approach to appearance-based face representation and recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004, vol. 26, no. 1, pp. 131-137.
10. Ojala T., Pietikainen M., Harwood D. A comparative study of texture measures with classification based on feature distributions. Pattern Recognition, 1996, vol. 29, no. 1, pp. 51-59.
11. Ahonen T., Hadid A., Pietikainen M. Face recognition with local binary patterns. In: Proceedings of the European Conference on Computer Vision Prague, Czech Republic, 2004, pp. 469-481.
12. Zhao W., Chellappa R., Phillips P.J., Rosenfeld A. Face recognition: A literature survey. ACM Computing Surveys, 2003, vol. 35, no. 4, pp. 399-458.
Поступила в редакцию 22 июня 2016 г.