2D/3D распознавание лиц
и трекинг тела

Алкотестеры с распознаванием лиц: как 3DiVi Face SDK решает проблему пьянства за рулем

Обзор

По данным Еврокомиссии, около 25% всех смертельных ДТП в странах ЕС связаны с употреблением алкоголя. В мировом масштабе статистика не менее тревожна: из примерно 1,25 млн смертей на дорогах ежегодно, 273 000 происходят с участием хотя бы одного нетрезвого водителя.

При этом обязательное алкотестирование касается лишь узкой группы водителей — в основном общественного и грузового транспорта. Обычно тест проводится на месте, под контролем медика, перед началом смены или рейса.

Но что делать, если:
– водитель находится в длительном рейсе и должен ежедневно проходить проверку самостоятельно?
– проверяющий сознательно закрывает глаза на нарушение или даже помогает "подменить" участника теста?

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

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

Вызовы

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

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

Разные сценарии использования — одно решение.
Система должна была поддерживать два принципиально разных сценария:
– Идентификация (1:N) — для терминалов, которыми пользуются десятки сотрудников,
– Верификация (1:1) — для мобильных приложений, привязанных к конкретному водителю.

Решение

Поскольку устройства клиента работают под управлением Android, интеграция 3DiVi Face SDK через Kotlin API прошла быстро и без сложностей. Решение было реализовано сразу в двух форматах — для терминала и мобильного приложения:

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

2. Мобильное приложение
В случае с мобильным приложением, концептуально всё работает примерно также, только алкотестер в данном случае - это отдельный прибор, который по Bluetooth связывается с мобильным приложением.

Реализация

В приложение был интегрирован классический пайплайн распознавания лиц, единственное различие в версиях приложения состоит в том, что на смартфоне мы делаем в конце сравнение шаблонов 1:1 (поскольку легитимный пользователь у приложения всего один), а в кейсе терминала – 1:N, поскольку им пользуется несколько десятков человек.

В последнем случае клиент также внедрил обновленный модуль DynamicTemplateIndex из 3DiVi Face SDK 3.25.0, позволяющий более гибко управлять базой зарегистрированных персон.

Результаты

Решение было внедрено в системы алкотестирования трёх транспортных компаний. До запуска биометрической верификации в каждой из них фиксировалось в среднем 2–3 инцидента в месяц, связанных с попытками обойти тест, т.е. выходом в рейс в нетрезвом состоянии. До внедрения технологии в каждой компании ежегодно происходило в среднем 4–5 ДТП, связанных с вождением в состоянии алкогольного опьянения.

После интеграции 3DiVi Face SDK ситуация изменилась кардинально: подмены стали невозможны, а за полгода работы не было зафиксировано ни одного случая вождения в состоянии опьянения и ни одного ДТП, связанного с алкоголем.

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

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

Рассматриваете возможность добавить распознавание лиц в свое приложение на Kotlin? Напишите нам, подробно проконсультируем и предложим эффективное решение.

Read More Success Stories

Omnigo Software
Ecortex
Mobile-Technologies Inc.
Papillon APFIS
Unique Technologies
Papillon ACS
Start your project with 3DiVi