Как интегрировать систему распознавания лиц с контролем доступа

Всем привет!

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

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

Мы уже более десяти лет занимаемся разработкой программного обеспечения для запуска абонентских сервисов по работе с видео. Некоторое время назад мы начали разработку собственных модулей видеоаналитики, одним из первых среди которых стал модуль распознавания лиц. Более подробно процесс разработки будет рассмотрен в другой статье, а здесь мы расскажем о том, как сами стали заказчиком системы контроля и управления доступом (СКУД), во сколько нам обошлась установка системы, и как была настроена интеграция распознавания лиц и СКУД.

У нас, как и у многих других, есть свой офис и постоянно растущее количество сотрудников. К нам в офис часто приходят посетители, подрядчики, партнеры. Чем больше проходимость в офисе посторонних людей, тем больше вероятность краж или вандализма. Именно по этой причине мы задумались об установке СКУД на входе в офис.

Мы выбрали одну из популярных на рынке систем и купили комплект контроля доступа на одну дверь, состоящий из:

●            контроллера, управляющего замком;

●            электромагнитного замка, удерживающего дверь;

●            доводчика двери, позволяющего не задумываться о том, что дверь была не закрыта;

●            считывателя карт доступа и идентификаторов сотрудников;

●            кнопки “Выход”, чтобы можно было выходить за дверь свободно;

●            небольшого планшета на ресепшн для управления IP-домофоном и открытия двери;

●            блока питания;

●            программного обеспечения для управления контроллером, его настройками, просмотра отчетов и т.д.

Стоимость комплекта составила 50 тысяч рублей. Мы не стали приобретать отдельный сервер для СКУД и развернули виртуальную машину в нашей локальной сети.

Для монтажа мы никого не привлекали, смонтировали и запустили все за один день самостоятельно.

Мы собрали данные по пропускам, которые были выданы в нашем бизнес-центре, добавили всех пользователей в систему и… уже через пару часов отключили наш СКУД. Причиной этому стало крайнее неудобство в обязательном ношении с собой карт доступа. Карту можно забыть дома, забыть на рабочем месте, выходя из офиса, ее очень просто сломать. С этими проблемами у нас столкнулась примерно половина сотрудников, и чтобы сэкономить всем нервы, мы решили отключить СКУД до лучших времен. Почему мы не стали вводить регламенты и правила ношения с собой пропусков? Это плохая практика. Гораздо лучше предусмотреть дополнительную автоматизацию и акцентировать внимание сотрудника на его рабочих обязанностях, чем на том, что он постоянно должен иметь при себе пропуск. На тот момент у нас уже была высокая степень готовности системы распознавания лиц, и мы для себя решили, что доступ в наш офис будет строго по лицам.

Настал день, когда наш модуль распознавания еще не успел попасть в продакшн, но был полностью готов к решению задачи интеграции с офисным СКУДом. Мы начали процесс интеграции.


Модуль распознавания позволяет создавать списки персон, присваивать каждому сотруднику фотографию и уникальный идентификатор.

Update How to integrate face recognition with access control

Добавление персоны в список

В момент распознавания в системе остается событие о том, что лицо было распознано, и по этим событиям можно посмотреть отчет. Для реализации интеграции со СКУД этого недостаточно. Отдельно мы разрабатывали сценарии интеграции с другими системами, когда событие распознавания должно инициировать реакцию со стороны интегрируемой системы. Для того чтобы реализовать такую логику, мы предусмотрели механизм подписки на события внутри Flussonic Watcher. Как это работает: через API можно задать URL, на который Flussonic Watcher будет отправлять JSON с данными распознанного лица.

Метод отправки событий о распознании на заданный URL вызывается так:
http://host/vsaas/api/v2/my/subscriptions с параметрами:

-event_type = push_person_list

-notification_type - id созданного заранее списка персон

-notify_url - url, куда отправлять уведомления

При этом уведомлений может быть два:

  1. о появлении конкретной персоны:

-event_type = push_person_single

-notification_type - id персоны

-notify_url - url, на который будут приходить уведомления о событии распознавания

  1. о любой персоны из категории

-event_type = push_person_category

-notification_type = id категории

После того, как подписка будет оформлена, на заданный URL в момент распознавания будет приходить в формате JSON:

{"registration_ids": [],

"priority": "high",

"notification": {

"id": "person.detection.test.camera-7d8ea4ebf2",

"body": "Person detected",

"group": "camera1_group1"

},

"data": {

"targetScreen": "camera_events",

"event": "person",

"person_look_took": 0,

"event_start_at": 1593706529,

"camera": "person.detection.test.camera-7d8ea4ebf2",

"person": {

"id": 135,

"first_seen_at": "2020-06-23 14:18:31",

"last_seen_at": "2020-06-25 17:09:36",

"person_list_id": 1,

"name": "Person 135"},

 "camera_id": "person.detection.test.camera-7d8ea4ebf2",

 "utc": "1593706530"}

 

Следующим этапом мы связались с разработчиком СКУД, установленной у нас в офисе и запросили API к их системе.

Их протокол интеграции оказался несколько иным. Это было не тот http API, к которому мы привыкли. Чтобы общаться с системой контроля доступа, необходимо установить TCP соединение с ее сервером, пройти авторизацию и отправить команды заданного формата.

Из всего перечня команд нам нужна только одна, суть которой сводится к тому, чтобы сказать, через какую точку доступа какой объект пытается пройти.                                 

"ALLOWPASS" <ap-id> <obj> <direction>

Дальше решение о допуске персоны, об открывании двери заботится уже сервер СКУД. В целом, тоже просто.

Итак, мы подошли к самому процессу интеграции. Наш модуль распознавания умеет отправлять события, а у СКУД есть возможность получать команды. Задача оказалась очень простой: надо было написать небольшой модуль интеграции, который

●            поднимает веб-сервер;

●            принимает от нашего модуля распознавания события;

●            устанавливает связь с сервером СКУД;

●            отправляет в установленное с сервером СКУД соединение команду;

Мы синхронизировали идентификаторы в обоих системах. Таким образом, модуль интеграции просто транслировал идентификатор персоны в СКУД.На создание модуля интеграции у нас ушел примерно 1 день.

Все запущено, проверяем:

Сотрудник подходит к офису, тянет руку к двери и в этот момент срабатывает система распознавания лиц. Сотрудник идентифицируется по списку персон, событие о факте распознавания лица отправляется на сервер модуля интеграции, где оно распаковывается. Идентификатор распознанной персоны отправляется в виде команды на запрос доступа в СКУД, который принимает решение, можно ли пустить сотрудника или нет исходя из правил доступа, после чего дверь перед сотрудником разблокируется. Открывание сопровождается звуковой сигнализацией и зеленым свечением на считывателе карт доступа. Интеграция работает!

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

Update How to integrate face recognition with access control

Подробная информация о персоне

Также в пользовательском интерфейсе Flussonic Watcher можно посмотреть список событий распознавания со скриншотами распознанных лиц, датой и временем распознавания.

Update How to integrate face recognition with access control

Список событий распознавая лиц

Теперь об экономической стороне вопроса. Выше мы писали о том, что оборудование СКУД на одну дверь обошлось нам в 50 тысяч рублей. Еще пара сотрудников на протяжении дня устанавливали систему. Примерно один день разработчик потратил на написание модуля интеграции. Таким образом, суммарные затраты на развертывание СКУД, который интегрирован с распознаванием лиц, обошлись нам примерно в 70 тысяч рублей. 
 На текущий момент в стоимость нашей стандартной лицензии Flussonic Watcher уже входит аналитика распознавания лиц. Мы хотим сделать эту услугу массовой, чтобы она была востребована и экономически эффективна для конечных пользователей.

Обратитесь к нам, мы предложим комплексные решения в сфере контроля и управления доступом, а также:

●            дадим возможность протестировать систему,

●            окажем профессиональные консультации по развертыванию таких систем,

●            предоставим всё необходимое программное обеспечение,

●            предоставим модуль интеграции и расскажем, как интегрироваться с любым другим СКУД,

●            порекомендуем необходимое оборудование.

How We Developed Our Own Billing System

Алексей Юрченко Руководитель проекта Flussonic Watcher

Пробная версия Flussonic Media Server

Отправляя заявку, вы соглашаетесь с правилами и условиями

Пожалуйста, заполните форму для получения бесплатного тестового ключа.

Если вы не получите от нас письмо в течение 30 мин, проверьте в спаме и добавьте наш адрес в избранные контакты.

Email: support@flussonic.com Phone: +7 (800) 777-84-13 +7 (495) 481-37-63

Документация