Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: CXXXV Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 04 марта 2024 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Зудилова В.Е. РАЗРАБОТКА ПОДСИСТЕМЫ РАСПОЗНАВАНИЯ ЛИЦ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. CXXXV междунар. студ. науч.-практ. конф. № 3(133). URL: https://sibac.info/archive/technic/3(133).pdf (дата обращения: 27.12.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 68 голосов
Дипломы участников
Диплом Интернет-голосования

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

Зудилова Валерия Евгеньевна

студент, кафедра электронных вычислительных машин, Вятский государственный университет,

РФ, г. Киров

Крутиков Александр Константинович

научный руководитель,

старший преподаватель, Вятский государственный университет,

РФ, г. Киров

DEVELOPMENT OF A FACIAL RECOGNITION SUBSYSTEM

 

Valeria Zudilova

student, Department of Electronic Computing Machines, Vyatka State University,

Russia, Kirov

Alexander Krutikov

scientific supervisor, senior lecturer, Vyatka State University,

Russia, Kirov

 

АННОТАЦИЯ

В данной статье рассматривается проектирование и разработка подсистемы распознавания лиц. Анализируется эффективность предложенной подсистемы в сравнении с существующими. Полученные результаты подчеркивают важность предложенного подхода и его потенциал внедрения данной подсистемы в повседневную жизнь офисов.

ABSTRACT

This article discusses the design and development of a facial recognition subsystem. The efficiency of the proposed subsystem is analyzed in comparison with the existing ones. The results obtained emphasize the importance of the proposed approach and its potential for introducing this subsystem into the daily life of offices.

 

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

Keywords: subsystem, face recognition, security, machine learning, computer vision, diagram.

 

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

Распознание лица используется не только в смартфонах, но и во многих других гаджетах. Например, в камерах, которые висят на улице, в банке, в аэропортах и многих других общественных местах. Кроме этого, распознание может быть использовано в системе «Умный город», в некоторых домофонах, в приложениях, банковских или других.

Актуальность данной темы обусловлена тем, что распознание лиц во многом упрощает жизнь человечеству. В системах безопасности и контроля доступа распознание используется для обеспечения безопасности и предотвращения различных преступлений. Также с развитием технологий машинного обучения и компьютерного зрения, алгоритмы стали работать более точно и эффективно, что делает их более привлекательными для таких областей, как медицина, бизнес или образование. Эффективное внедрение рекомендательных систем в бизнес-процессы способствует росту ключевых метрик, таких как объем продаж. Упрощение поиска и предоставление контента, соответствующего интересам пользователя, приводит к увеличению удовлетворенности клиентов и удержанию аудитории.

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

Подсистемы распознания лиц очень полезны. Они помогают защищать данные, которые хранятся, например, в нашем телефоне, что, в случае потери гаджета, не даст нашедшему его узнать какую-либо информацию о владельце. Также данная подсистема используется в приложениях, где содержатся какие-либо данные о человеке, например, «ГосУслуги» (данные паспорта, полиса, СНИЛСа).

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

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

Построение модели разработки подсистемы распознания лиц начинается с описания функционирования системы в целом в виде контекстной диаграммы (рисунок 1).

 

Рисунок 1. Контекстная диаграмма IDEF0 «Подсистемы распознания лиц»

 

Разработка подсистемы распознания лиц – непростой процесс, который включает в себя несколько основных функций:

  • Сбор фотографий пользователей для базы данных;
  • Сбор данных о пользователях для дальнейшего использования;
  • Подготовка макетов для подсистемы;
  • Написание кода на языке программирования Python.

Поэтому после описания контекстной диаграммы можно произвести ее декомпозицию (рисунок 2).

 

Рисунок 2. Декомпозированная контекстная диаграмма IDEF0 «Подсистемы распознания лиц»

 

На детализированной диаграмме система разделена на четыре части.

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

Вторая часть – сбор данных о пользователях. Для этого создается база данных «реального времени». В нее будут занесены данные о сотруднике, такие как ФИО, должность сотрудника, год начала работы, количество посещений, репутация, стаж работы и последний вход в систему.

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

Четвертая часть – написание кода. Код пишется на языке Python, так как для данного языка программирования имеется довольно большое количество библиотек для работы с распознаванием лиц.

Для подсистемы для распознавания лиц также можно смоделировать жизненный цикл через диаграмму состояний (рисунок 3).

 

Рисунок 3. Диаграмма состояний «Подсистемы распознавания лиц»

 

Вся основная программа находится в модуле main.py. В нем происходит подключение камеры, а также основные процессы отображения макетов и данных о пользователе. Кроме того, в нем происходит фиксация лица пользователя в случае, если он есть в базе данных. А также, при повторном обнаружении лица одного и того же пользователя, подсистема не засчитает это как за новый вход, а просто выведет «сообщение» о том, что пользователь уже идентифицирован.

Данные о пользователях хранятся в модуле AddDataToDatabase.py. В нем происходит подключение и передача данных в БД. Затем эти данные передаются в главный модуль main.py для дальнейшего использования.

Модуль EncodeGenerator.py используется для кодирования изображений. Для работы с изображениями требуется перенести их в хранилище. Затем для того, чтобы распознать определенное лицо, требуется «закодировать» его. После «кодирования» данные загружаются в специальный файл, который называется EncodeFile.p. Когда данные загружены, а файл сохранен, то это данные используются в main.py для распознания.

 

Рисунок 4. Начало работы подсистемы

 

Рисунок 5. Определение пользователя из базы данных

 

Рисунок 6. Пользователь авторизирован

 

Рисунок 7. Пользователь не может войти, так как уже авторизирован

 

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

  1. Документация по использованию opencv // Keras URL: https://opencv.org/get-started/ (дата обращения: 14.11.23).
  2. Документация по использованию face_recognition // Keras URL: https://github.com/ageitgey/face_recognition (дата обращения: 15.11.23).
  3. Документация по использованию firebase // Keras URL: https://pypi.org/project/firebase/ (дата обращения: 15.11.23).
  4. Документация по использованию сверточных нейронных сетей // Keras URL: https://ru.wikipedia.org/wiki/Свёрточная_нейронная_сеть (дата обращения: 22.11.23).
Удалить статью(вывести сообщение вместо статьи): 
Проголосовать за статью
Конференция завершена
Эта статья набрала 68 голосов
Дипломы участников
Диплом Интернет-голосования

Оставить комментарий