Аннотация 2
Введение 5
1 Исследование предметной области 6
1.1 Постановка задачи 7
1.2 Алгоритмы распознавания лиц 8
1.3 Предварительная трансформация изображения 13
1.4 Анализ эффективности систем распознавания 14
2 Реализация системы распознавания лиц 18
2.1 Алгоритм HOG для обнаружения лиц 18
2.2 Классификация данных методом опорных векторов (SVM) 23
2.3 Детектирование алгоритмом гистограммы направленных градиентов и классификация методом опорных векторов 28
2.4 Ансамбль решающих деревьев 28
2.5 Сверточная нейронная сеть (CNN) 31
2.6 Программная разработка модулей системы 34
2.6.1 Реализация модуля сохранения кодировок в файл (data.py) 35
2.6.2 Реализация модуля распознавания лиц (recognition.py) 37
3 Тестирование и анализ результатов 45
Заключение 49
Список используемой литературы и используемых источников 50
На сегодняшний день многие предприятия используют системы контроля и управления доступом (СКУД), благодаря которым повышается уровень безопасности компании и сотрудников. С помощью такой системы разграничивается доступ к определенным объектам или территориям для конкретных лиц.
Ранее, для ограничения доступа использовались турникеты, к считывателям которых прикладывался один из идентификаторов: магнитная карта; брелок; отпечаток пальца. Однако, в связи с сильным ростом биометрических технологий, сегодня существуют более точные и удобные методы идентификации. Например, распознавание лиц по видеопотоку в режиме реального времени.
Распознавание лиц по видеопотоку гораздо более удобный способ идентификации, так как человеку надо лишь оказаться в поле зрения видеокамер, а все остальное сделает система. Также, благодаря распознаванию лиц решается проблема отсутствия идентификатора, ведь человек не сможет потерять или оставить дома свое лицо.
В связи с этим была поставлена цель данной работы - разработка интеллектуальной системы распознавания лиц.
Для достижения поставленной цели потребуется:
• Изучить и сравнить методы обнаружения и распознавания лиц.
• Сравнить эффективность существующих систем распознавания.
• Определить основные инструменты и средства для разработки.
• Реализовать модуль распознавания лиц.
В данной пояснительной записке к выпускной квалификационной работе были рассмотрены основные аспекты разработки интеллектуальной системы распознавания лиц. Реализация производилась на тестовой упрощенной базе данных, состоящей из 20 изображений лиц разных людей.
В ходе исследования предметной области были указаны материалы, позволяющие ознакомиться с теоретическими данными и реализацией алгоритмов обнаружения лиц с точки зрения математического моделирования, а также приложена блок-схема, способствующая пониманию того, как работает программная часть модуля.
При описании программной реализации были рассмотрены и применены выбранные алгоритмы обнаружения и распознавания лиц, реализация модулей программы на скриптовом языке Python, позволяющих создавать файл, хранящий в себе кодировки и имена лиц, и распознавать лица с видеопотока в режиме реального времени.
Во время описания тестирования модулей и анализа результатов приводились примеры входных данных и их взаимодействия, чтобы показать правильность работы всех алгоритмов. В ходе тестирования не было встречено ошибок, а результаты, полученные при взаимодействии с программой, оказались верными. Из всей информации, полученной ранее следует, что программный продукт работает правильно.
Подытожив все указанные данные, следует отметить, что для разработки данного программного продукта и модулей, для решения схожих задач, требуется знание и понимание алгоритмов обнаружения и распознавания лиц, а также языка программирования Python. В результате выполнения выпускной квалификационной работы были разработаны модули системы распознавания лиц.