Аннотация 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. В результате выполнения выпускной квалификационной работы были разработаны модули системы распознавания лиц.
1. Алгоритм извлечения изображения изображений LBP. 2018. URL: https://russianblogs.com/article/12861795224/
2. Гузий Е.А., Федоренков В.В. Сверточная нейронная сеть для разработки системы распознавания и классификации изображений. 2017. 9 с. URL: https://docplayer.com/58000991-Svertochnaya-neyronnaya-set-dlya-razrabotki-sistemy-raspoznavaniya-i-klassifikacii-izobrazheniy.html (дата обращения 11 апреля 2022)
3. Истишев В. Как работает распознавание лиц? Разбор. 2021 URL: https://habr. com/ru/company/droider/blog/568764/
4. Клоков А. SVM. Объяснение с нуля и реализация на python. Подробный разбор метода опорных векторов. 2020. URL: https://habr.com/ru/company/ods/blog/484148/
5. Корешкова Т. Компьютерное зрение: технологии, компании, тренды. 2021. URL: https://rdc.grfc.ru/2021/04/analytics-computer-vision/
6. Костерин В.В. Урок 2. Гистограмма направленных градиентов с использованием openCV. 2021. URL: https://waksoft.susu.ru/2021/11/01/histogram-of-oriented-gradients/
7. Левчук С.А., Якименко А.А. Сборник научных трудов НГТУ. 2018. с. 40-58. URL: https://journals.nstu.ru/digital-tech-security/catalogue/contents/view_article?id=19341
8. Мусин Д. Самоучитель Python. Выпуск 0.2. 2017. URL: https://pythonworld.ru/uploads/pythonworldru.pdf (дата обращения 12 апреля 2022)
9. Паршин С.Е. Исследование параметров алгоритмов распознавания лиц. 2019. 16 с. URL: https://journals.nstu.ru/digital-tech-security/catalogue/contents/view_article?id=20363
10. Перминов А. Свёрточная нейронная сеть с нуля. Часть 0. Введение. 2019 URL: https://programforyou.ru/poleznoe/convolutional-network- from-scratch-part-zero-introduction
11. Сармьенто К., Саваж Х. (2020). Сравнение двух методов классификации объектов с использованием скрытых марковских моделей и сверточных нейронных сетей. 2020. 33 с. URL: http: //ia.spcras .ru/index.php/sp/article/view/14007/14825
12. Современные тенденции технических наук. 2018. 38 с. URL: https://moluch. ru/conf/tech/archive/346/
13. Солдатов А.Н., Миньков С.Л. Сборник материалов инноватика- 2017. с. 392-395 URL: https://storage.tusur.ru/files/67171/Innovatika_2017.pdf
14. Титов А. Технология распознавания лиц от А до Я. 2017. URL: https://securityrussia.com/blog/face-recognition.html
15. Тымчук А. И. Метод Виолы-Джонса для распознавания объектов на изображении. URL: http://www.nauteh-journal.ru/files/7a7d96c9-acd8-4936- 819f-5607386faf51
...