+7 (383) 363-50-86
Написать

Нарния

Разработка системы распознавания лиц с интеграцией в СКУД для пропускной системы Digital Clouds
Идея

Идея разработки системы распознавания лиц для сотрудников Digital Clouds принадлежит директору компании — Ситникову Артёму. 
Цель: повысить безопасность, а также создать удобную пропускную систему для сотрудников в офисе компании. Идея выросла в проект, который стартовал в 2021 году и получил название “Нарния”.

Цели и задачи

Разработать продукт, представляющий собой систему распознавания лиц, интегрированную в СКУД (система контроля и управления доступом).

Задачи
  • Разработать инструмент, обеспечивающий бесконтактный доступ в помещение (старт разработки пришёлся на период пандемии коронавируса);
  • Внедрить систему отслеживания времени прихода и ухода сотрудников;
  • Повысить физическую безопасность помещения и оборудования за счет использования физических индивидуальных ключ-карт, а также биометрических данных в качестве ключа для допуска.

Решение
Механика работы
Система с помощью нейронной сети позволяет обнаруживать лицо человека в видеопотоке с камер и сравнивать с базой сотрудников. 
Настройка прохода сотрудников через интеграцию систем распознавания позволяет автоматизировать систему входа/выхода с различными сценариями:
  • разрешение прохода при обнаружении в группе хотя бы одного сотрудника. При этом люди, которые отсутствуют в базе, будут записаны как гости сотрудника, по Face ID которого был обеспечен вход;
  • отказ в доступе при наличии в области видимости хотя бы одного неавторизованного лица. 

При входе в офис Telegram-бот компании пишет приветственное сообщение от лица вошедшего сотрудника. Также имеется возможность подключения как к турникету, так и к автоматической двери — это позволяет автоматически предоставлять доступ или отказывать в нем.
Данные о проходе записываются в систему, что позволяет: 
  • проводить регулярную автоматическую выгрузку информации по входам и выходам;
  • собирать статистику по времени прихода и ухода;
  • определять суммарное время перерывов по всем сотрудникам.

Для сотрудников подобная система привлекательна отсутствием необходимости постоянного ношения пропусков. Для организации — минимизируется вероятность проникновения неавторизованных лиц. 

Этапы разработки
1. Разработка системы детектирования и распознавания лиц.

2. Интеграция разработанной системы и веб-контроллера Z5R-Web для управления автоматической дверью.

3. Разработка собственного веб-контроллера для СКУД:
  •  программирования основного функционала веб-контроллера использовались ЯП C и Assembler;
  • для создания веб-интерфейса контроллера использовался ЯП JavaScript.

4. Интеграция разработанной системы и собственного веб-контроллера для СКУД. 

5. Реализация Telegram-бота:
  • для разработки Telegram-бота использовались бизнес-процессы Битрикс24;
  • для реализации серверной интеграционной части между основной частью проекта и Telegram-ботом использовался язык программирования Python.

6. Перенос разработанной системы на серверное решение.

В качестве основного языка программирования был выбран Python. Однако, помимо Python, также использовался языка программирования C++. 

Результат
1. Стабильно функционирующая на протяжении 2,5 лет СКУД с несколькими возможными способами идентификации сотрудника:
  • ключ-карта;
  • биометрические данные.

2. Возможность отслеживания и хранения графиков всех приходов и уходов сотрудников.

3. Повышение физической безопасности помещения и оборудования.

4. Разработка прототипа контроллера СКУД — больше года бесперебойной работы.

5. Разработка CRM.

6. Разработка Telegram-бота на базе Битрикс24 в рамках MVP 1. На данный момент происходит сбор обратной связи от тестовой группы и доработка до MPV 2. 
Комментарий разработчика
image
Владимир Овсянников
Инженер-разработчик
В ходе разработки мы столкнулись с новыми вызовами для себя: работа с вычислителем с процессором на базе ARM и веб-контроллером неудовлетворительного качества, использование одноплатного компьютера. Но самые сложные части являются самыми интересными — все “довели до ума” самостоятельно, а в случае с компьютером — решили вопрос с переходом на сервер. Наша команда также познакомилась с множеством новых технологий. Например, освоили нейросеть на C++, выстроили архитектуру сокетов для взаимодействия Python и C++, осознали проблемы и построили новую. А полученный опыт мы применили на проекте распознавания автомобильных номеров.

Команда проекта
  • Менеджер проекта
  • Техлид
  • Главный инженер-разработчик
  • Разработчик
  • Дизайнер
  • Backend-разработчик
  • QA-инженер