ВВЕДЕНИЕ 5
ГЛАВА 1 ОСНОВНАЯ ЧАСТЬ 7
1.1 Характеристика предприятия ООО «Триатрон» 7
1.2 Обоснование проблематики 10
1.3 Обзор современных методов распознавания лиц 11
1.4 Недостатки существующих систем 19
1.5 Библиотека OpenCV 20
ГЛАВА 2 РАЗРАБОТКА АЛГОРИТМА РАСПОЗНАВАНИЯ ЛИЦ НА ОСНОВЕ МЕТОДА ВИОЛЫ-ДЖОНСА 23
2.1 Основные принципы 23
2.2 Принцип сканирующего окна 24
2.3 Интегральное представление изображений 25
2.4 Признаки Хаара 26
2.5 Сканирование окна 27
2.6 Модель машинного обучения 28
2.7 Обучение классификатора в методе Виолы-Джонса 29
2.8 Применяемый в алгоритме бустинг 30
2.9 Каскадная модель разрабатываемого алгоритма 34
2.10 Итоговое представление алгоритма 37
ГЛАВА 3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ СИСТЕМЫ РАСПОЗНАВАНИЯ ЛИЦ С ПРИМЕНЕНИЕМ БИБЛИОТЕКИ OPENCV 42
3.1 Основной модуль 42
3.2 Разработка интерфейса 48
3.3 Тестирование разработанной программы 51
3.4 Обоснование экономической эффективности системы распознавания лиц с применением библиотеки OpenCV 53
ЗАКЛЮЧЕНИЕ 59
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 61
ПРИЛОЖЕНИЕ А 65
ПРИЛОЖЕНИЕ Б 66
ПРИЛОЖЕНИЕ В 67
ПРИЛОЖЕНИЕ Г 69
ПРИЛОЖЕНИЕ Д 73
Развитие современных компьютерных технологий происходит в экспоненциальном масштабе. Уже невозможно представить нашу жизнь без компьютера и сети Интернет. В настоящее время очень активно развивается и меняется такая научная дисциплина как компьютерное зрение. Компьютерное зрение (computer vision) — совокупность программно-технических средств, обеспечивающих считывание информации в цифровой форме видеоизображений, их обработку и выдачу результата в форме, пригодной для его практического использования в реальном масштабе времени.
На сегодняшний день нет общепринятой формулировки проблемы компьютерного зрения. А что даже еще важнее, нет стандартной формулировки того, как должна решаться проблема компьютерного зрения. Вместо этого, существует большое количество методов, позволяющих решать различные, строго определённые задачи компьютерного зрения, где методы часто зависимы от задач и редко могут быть обобщены для широкого круга применения. Многие методы и приложения все ещё находятся в стадии фундаментальных исследований, но постепенно всё большее число методов находит применение в коммерческих продуктах, где они часто составляют часть большей системы, которая может решать сложные задачи.
В большинстве практических применений компьютерного зрения компьютеры предварительно запрограммированы для решения отдельных задач, однако, методы, основанные на знаниях, становятся всё более общими.
Распознавание образов считается сферой, использующей разнообразные методы получение информации из видеопотока, и в основном, базирующиеся на статистическом подходе. Существенная часть этой области посвящена фактическому использованию этих методов.
На сегодняшний день алгоритм Виолы-Джонса является самым востребованным ввиду своей высокой скорости работы и высокой точности срабатывания.
Целью данной работы является создание программного средства распознавания лиц по методу Виолы-Джонса.
Поставленная цель достигается решением следующих задач:
1) Обзор современных методов распознавания лиц.
2) Определение недостатков существующих методов.
3) Разработка алгоритма поиска контура и распознавания лица в видеопотоке на основе метода Виолы-Джонса.
4) Программная реализация разработанных алгоритмов с применением библиотеки OpenCV.
5) Тестирование разработанной программной системы.
В качестве предмета исследования выступает процесс распознавания лиц. Объектом является метод Виолы-Джонса.
В первой главе проводится обзор основных методов распознавания лиц, рассмотрены недостатки современных методов, обоснована актуальность проблемы и описание её решения с помощью библиотеки OpenCV.
Во второй главе был разработан и описан алгоритм распознавания лиц на основе методов Виолы-Джонса.
В третьей главе был программно-реализован алгоритм распознавания лиц с помощью библиотеки OpenCV. Проведен обзор работоспособности разработанной программной системы, на основе вычислительных и визуальных экспериментов по времени вычислений и качественному показателю распознанных и не распознанных лиц.
Выпускная квалификационная работа состоит из 63 страниц и содержит в себе 19 рисунков, 20 формул, 5 таблиц , 5 приложений и 40 источников литературы.
В ходе выполнения работы были достигнуты все поставленные цели. Согласно поставленным целям были исследованы основные существующие методы распознавания лиц.
На сегодняшний день распознавание объектов в мультимедийном видеопотоке становится особо актуальным. Ведется очень много исследований в этой области. На одной из конференций была презентация одной интересной системы, разработанной немецкими учеными, в которой программное обеспечение распознавало фигуры людей, и в зависимости от того, куда двигался человек программа автоматически поворачивала камеру и следила за ним. Данную систему возможно использовать для автоматической записи лекций, которые читает преподаватель у доски.
Путем выявления достоинств и недостатков был определен самый подходящий метод для распознавания в видеопотоке. Метод Виолы-Джонса на данный момент является максимально подходящим по всем параметрам для задач распознавания объектов в видеопотоке. Был разработан и реализован алгоритм в виде программы и использование библиотеки компьютерного зрения OpenCV, которая содержит алгоритмы для: интерпретации изображений, калибровки камеры по эталону, устранение оптических искажений, определение сходства, анализ перемещения объекта, определение формы объекта и слежение за объектом, 3D-pеконстpукция, сегментация объекта, распознавание жестов и т.д. Эта библиотека очень популярна за счёт своей открытости и возможности бесплатно использовать как в учебных, так и коммерческих целях.
Разработанное приложение позволяет осуществлять видеонаблюдение, выделяя лица людей в видеопотоке, а также осуществлять автоматическое слежение с фотофиксацией лиц людей, которые были зафиксированы при наблюдении. Этот механизм позволяет делать фотоотчет с датой и временем, когда сработала детекция. При этом отпадает необходимость сохранять всю видеозапись наблюдения. Попавшие в кадр лица будут сохранены и доступны к просмотру, как в приложении, так и в папке проводника. Кроме того, есть возможность коррекции изображения с целью улучшения качества картинки в условиях плохой освещенности.
Тестирование показало, что программа справляется со своей задачей. Подавляющая часть объектов была успешно распознана. При внедрении программы повысилась безопасность на складах предприятия «Триатрон», за счет детекции персонала, посещающих склад и обеспечении удобства доступа к информации, собранной программой.
1 Egmont-Petersen, M. Image processing with neural networks - a review. Pattern Recognition 35 [Текст]/ M. Egmont-Petersen, D. de Ridder, H. Handels - Elsevier B.V, 2002. - 2301 c.
2 Kaehler, A. Learning OpenCV 3 Computer Vision in C++ with the OpenCV Library [Текст]/ A. Kaehler - O'Reilly Media, 2015. - 650 с.
3 Laganier, R. OpenCV Computer Vision Application Programming Cookbook Second Edition [Текст]/ R. Laganier - PACKT Publishing, 2014. - 570 c.
4 Suarez, O. D. OpenCV Essentials [Текст]/ O. D. Suarez - PACKT Publishing, 2014. - 366 c.
5 Форсайт, Д. А., Компьютерное зрение. Современный подход = Computer Vision [Текст]/ Д. А. Форсайт, Д. Понс. — Вильямс, 2004. — 928 с.
6 Шапиро, Л., Компьютерное зрение = Computer Vision [Текст]/ Л. Шапиро, Д. Стокман — Лаборатория знаний, 2006. - 752 с.
7 Фомин, Я. А. Распознавание образов: теория и применения [Текст]/ Я. А. Фомин - ФАЗИС, 2012. — 429 с.
8 Фомин, Я. А., Статистическая теория распознавания образов [Текст]/ Я. А. Фомин, Г. Р. Тарловский - Наука, 1979. — 624 с.
9 Горелик, А. Л., Методы распознавания. — 4 - е изд. [Текст]/ А. Л. Горелик, В. А. Скрипкин — Высшая школа, 2004. — 262 с.
10 Вапник, В. Н., Теория распознавания образов [Текст]/ В. Н. Вапник, А Я. Червоненки — Наука, 1974. — 416 с.
11 Земцов, А. В., Алгоритмы распознавания лиц и их применение в системах биометрического контроля доступа [Текст]/ А. В. Земцов - LAP Lambert Academic Publishing, 2011. - 128 с.
12 Закревский, А.Д., Логика распознавания [Текст]/ А. Д. Закревский. - . 2003, - 144 с. - (статья)
13 Распознавание образов. Состояние и перспективы [Текст]/ К. Верхаген, Р. Дейн, Ф. Грун и др, - Радио и связь 1985. - 104 с.
14 Kaeler, A., Learning OpenCV 3 Computer Vision in C++ with the OpenCV Library [Текст]/ A. Kaehler, G. Bradski - O'Reilly Media, 2015. - 650 с.
15 Николаев, М. И., Измерительный контроль с применением неиндустриальных камер в производственных условиях [Текст]/ М. И. Николаев - Наука, 1989. - 312 с.
16 Горшенин, В. A., Геодезический инвариант в биометрике лица [Текст]/ В. A. Горшенин -. 2014. - 4 с. - (науч. статья)
17 Алфимцев, А.Н., Разработка и исследование методов захвата, отслеживания и распознавания динамических жестов [Текст]/ А. Н. Алфимцева - МГТУ им. Н.Э. Баумана. - Москва: 2008. - 226 с.
18 Ирматов, А.А., Способ и система для распознавания лица с учетом списка людей, не подлежащих проверке [Текст]/ А. А. Ирматов, Д. Ю. Буряк - Корпорация «Самсунг электроникс Ко., Лтд.». - Москва: 2010. - 22 с.
19 Колесник, А. В., Распределенная программная система распознавания лиц [Текст]/ А. В. Колесник, Ю. В. Ладыженский - VI международная научно - техническая конференция студентов, аспирантов и молодых научных работников «Информатика и компьютерные технологии» - Донецк: ДонНТУ, 2010. - 251 с.
20 Умяров, Н. Х., Выделение лица на снимке из видеопотока с целью его распознавания [Текст]/ Н. Х. Умояров, О. И. Федяев - VII международная научно - техническая конференция студентов, аспирантов и молодых научных работников «Информатика и компьютерные технологии» - Донецк: ДонНТУ, 2011. - 177 с.
21 Костецкая, Г. Ю., Кодирование изображений человеческих лиц с помощью самоорганизующейся карты Кохонена [Текст]/ Г. Ю. Костецкая, О. И. Федяев - V международная научно - техническая конференция студентов, аспирантов и молодых научных работников «Информатика и компьютерные технологии» - Донецк: ДонНТУ, 2009. - 268 с.
22 Processing Neocognitron of Face Recognition on High Performance Environment Based on GPU with CUDA Architecture [Текст]/ G. Poli, J. H. Saito, J.
F. Mari, M. R. Zorzan, - 20th International Symposium on Computer Architecture and High Performance Computing, 2008. - 88 с.
23 The Java Language Specification, Second Edition [Текст]/ J. Gosling, B. Joy, G. Steele, G. Bracha - Oracle America, Inc. 2013. - 788 c.
24 The Java Language Specification, Second Edition [Текст]/ J. Gosling, B. Joy, G. Steele, G. Bracha, A. Buckley - Oracle America, Inc. 2013. - 604 c.
25 Шилдт, Г., Java. Полное руководство [Текст]/ Г. Шилдт - Oracle Press, 2014, - 1104 c.
26 Гослинг, Д., Язык программирования Java SE 8. Подробное описание [Текст]/ Д. Гослинг, Б. Джой - Oracle Press, 2014, - 672 c.
27 Блох, Д., Java. Эффективное программирование [Текст]/ Д. Блох - Oracle Press, 2014, - 310 c.
28 Мартин, Р., Чистый код: создание, анализ и рефакторинг. Библиотека программиста [Текст]/ Р. Мартин - Питер, 2016. - 464 с.
29 Макконелл, С., Совершенный код. Мастер - класс [Текст]/ С. Макконелл - Русская редакция, 2017. - 896 с.
30 Лафоре, Р., Структуры данных и алгоритмы в Java [Текст]/ Р. Лафоре - Питер, 2016. - 604 с.
31 Седжвик, Р., Алгоритмы на Java [Текст]/ Р. Седжвик, К. Уейн - Питер, 2016. - 848 с.
32 Метод Виолы - Джонса (Viola - Jones) как основа для распознавания лиц [Электронный ресурс]/ Н. Наумов -, 2011. -. режим доступа: https://habrahabr.ru/post/133826/
33 Open Computer Vision library [Электронный ресурс]/ OpenCV team, 2017. - . - режим доступа: http://opencv.org/
34 The CImg library [Электронный ресурс]/ CImg team, 2017. -. -
режим доступа: http://cimg.sourceforge.net/
35 Теория распознавания образов [Электронный ресурс]/ -, 2017 -. - режим доступа: https:// ru.wikipedia.org/wiki/Теория_распознавания_образов
36 Marr - Hildreth [Электронный ресурс]/ -. 2017 -. - режим доступа: http://de.wikipedia.org/wiki/Marr - Hildreth - Operator
37 Face Recognition by Elastic Bunch Graph Matching [Электронный
ресурс]/ -. 2017 - режим доступа: http://www.face -
rec.org/algorithms/ebgm/wisfelkrue99-facerecognition- jainbook.pdf
38 DeepFace Closing the Gap to Human - Level Performance in Face
Verification [Электронный ресурс]/ 2017. - режим доступа:
https: //www. cs.toronto. edu/~ranzato/publications/taigman_cvpr 14. pdf
39 Face Detection and Recognition Using Hidden Markovs Models
[Электронный ресурс]/ V. Nefian, H. Hayes -. 2017. -. - режим доступа:
http://www.anefian.com/research/nefian98_face.pdf
40 FaceVACSTechnology. B6T8 Algorithm Performance [Электронный ресурс]/ -. 2015. -. - режим доступа: http://www.cognitec- systems.de/fileadmin/cognitec/media/technology/FaceVACS-biometric-performance- b6t8.pdf