Как стать автором
Обновить
146.04

Распознавание лиц на стройке

Время на прочтение6 мин
Количество просмотров53K


В один яркий солнечный день, когда на стройке работа просто кипит, всё вокруг ярко и позитивно, и прямо хочется вечерком пожарить шашлык, на объект проник бывший сотрудник одного из подрядчиков. Он прошёл мимо проходной, помахал рукой охраннику, который знал его в лицо (но не знал, что он уволен), и зашёл внутрь. Там он пошёл к своим друзьям из Центральной Азии. Через полчаса они уже жарили шашлык и наслаждались жизнью.

Нюанс в том, что костёр они развели между двух газовых баллонов.

Один из баллонов почему-то взорвался. Как говорится, ничего не предвещало, и вот баллон почему-то повёл себя нетипично. Если вы видели, как с этими баллонами обращаются в родных для героев рассказа регионах, то можете представить себе и их искреннее недоумение от произошедшего.

Все остались живы и даже более-менее целы (ничего необратимого). Шашлык улетел, но на орбиту не вышел. Шампуры не проткнули никого внизу и сбоку. А вот к неудавшимся космонавтам приехала полиция, скорая и чуть ли не Спортлото.

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

За одного такого родственника на стройке накладывается штраф от 500 тысяч рублей и выше, и стройка может быть приостановлена от 14 до 90 дней. А это кончается очень, очень печально для генподрядчика и заказчика.

Именно после этого инцидента позвали нас решить задачу ИТ-средствами.

Да-да, это продолжение истории про кота-терминатора


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

Возможно, вы уже читали наш пост про первые внедрения системы распознавания лиц на проходных по видео. Краткий сюжет: большой магазин, несколько сотен человек персонала и ещё примерно треть от этого количества — грузчики, подрядчики, уборщики и прочие люди из аутстаффа, которые постоянно меняются. Задача была пропускать только своих и следить за тем, чтобы сколько людей прошло по турникету, столько пропусков и было. Многие уходили на обед вчетвером, а возвращался один с четырьмя пропусками. В среднем рабочий обманывал работодателя на 4 часа в неделю.

Тогда система распознавания давала достаточно высокий процент ложноотрицательных случаев — до 2,5% было с нашей стороны. Это грязные лица, фингалы, махание руками перед лицом, перекрытия, каски, очки и всё прочее. Мы не могли проконтролировать часть факторов, поскольку в той части проекта собирали данные с обычной камеры видеонаблюдения, чтобы сначала оценить масштабы проблемы.

С тех пор технологии шагнули далеко вперёд, и появилась возможность распознавать лица точно при большом перекрытии. Главное — иметь камеры достаточного разрешения и несколько кадров с лицом, из которых можно выбрать лучшие без перекрытий. Так мы начали ловить магазинных воров — вот этот детектив.

На этом строительном объекте нужно было:

  1. Впускать на объект только тех, у кого есть пропуск. Если у бригады подрядчика пропуска на месяц — то ровно через месяц система перестанет их впускать. Железно.
  2. Впускать на объект только тех, у кого лицо соответствует образцу в базе данных. При выдаче пропуска сотрудник безопасности объекта проверяет документы и фотографирует человека на веб-камеру на терминале (примерно как при получении пропуска в Ленинскую библиотеку в Москве), и лицо почти сразу появляется в базе на сервере ядра распознавания.



Типовые ситуации:

  1. По чужому пропуску пытается пройти другой человек. Тревога, охрана останавливает его и разбирается вручную.
  2. На объект пытается пройти бывший сотрудник. Охрана не пускает его.
  3. На объект пытается прийти сотрудник, которого не должно быть: охрана просит получить пропуск и приходить с ним.

Ещё каждый вечер руководителям отправляется отчёт о том, сколько было заявлено людей на работы и сколько пришло по факту. Это очень важно, потому что одно из самых больших мошенничеств подрядчиков — это заявить 50 человек, а по факту прислать на стройку 30. А после отчитаться про 50.

Ещё эти данные по фактическому количеству людей в духе «Сегодня должно было быть 600 человек, а пришло 450» помогают понять, что сроки уже срываются. Сразу, а не через неделю-две-три-месяц.

Что было до этого


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

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

В общем, остались только лица и радужки глаза.

Радужки медленнее и чуть дороже. А утром на стройку приходят автобусы, и с 7 до 8 нужно впустить примерно 600 человек.

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

Решение




На каждый турникет устанавливаются две камеры: одна смотрит на входящих, другая — на выходящих.


Место установки камеры.

На территории объекта внутри периметра стоит небольшая охлаждаемая кондиционером серверная, у нас там стойка. В стойке — два сервера и коммутатор. Первый сервер принимает видеопоток камер и выделяет из него наиболее удачные кадры с лицами. Второй сервер получает «чистые» кадры с лицами и запускает на них ядро распознавания, сравнивая эти лица с базой людей.

Бизнес-логика крутится на первом сервере, там же рядом запущен софт управления турникетом. Если в кадре было только одно лицо, и оно имеет право прохода — турникет открывается. Если что-то не так — оповещается охранник.

№ п.п.



Наименование



Кол-во



1



IP камера, 2Мп, WDR, PoE



4



2



Сервер видеобработки и Сервер приложений. Портативный компьютер на базе процессора Intel i7, 16 Гб RAM, 250 Гб SSD



1



3



Сервер видеораспознавания. Портативный компьютер на базе процессора Intel i7, 16 Гб RAM, 250 Гб SSD



1



4



Коммутатор 4-8 портов с поддержкой PoE, 100-1000 Мбит/с



1



5



Web-камера, FullHD



1




Под нашу задачу вендор заявил 1 ошибку (ложноположительное и ложноотрицательное срабатывание) раз в 4 месяца. Вот их тесты. Мы знаем, что система отличает близнецов последние лет пять (тесты для сотрудников ФСБ, они же спрашивали, можно ли пройти по отрубленной голове — нет, нельзя, мышцы «обвиснут» и потеряют форму, и вообще там много интересных тестов). Понятно, что вендор заявляет данные для «тепличных» условий, но если закопаться в таблицы, видно, что там используются изображения хорошего качества.

На практике получить такие изображения получается не всегда, тем не менее, мы создали почти «тепличные» условия внутри бытовки с проходной.

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

Параллельно охрана выставила очень жёсткий режим проверки: теперь никаких «ну мне просто спросить», всё через пропуск, а любой пропуск — через занесение лица в базу данных.

Результаты


На практике обнаружилось, что поскольку отделка ещё не началась, «зелёные человечки» с объекта не выходят. Максимум — грязь, но это мы уже проходили на Чемпионате мира по футболу, там была фанатская раскраска. Распознавание лиц теперь больше ориентируется на геометрию лица и строит объёмную модель внутри ядра. Проблем с грязью не было. Небольшие синяки тоже не влияли: основные опорные точки — вокруг носа. Один пришёл вообще весь в солидоле, кажется, и мы ждали, что он не распознается. Но ничего, прошёл.

Очереди утром почти пропали. Раньше там скапливалась большая толпа, а теперь два турникета запускают 700 человек за час с учётом разбирательств с охраной и махания руками «ну мне же надо, там бригада ждёт».

Помещение пришлось чуть доработать, чтобы не было лишних засветок лица, камеры расставить так, чтобы не было перекрытий. Головные уборы (каски) и очки реально представляли проблему, но было введено правило, что всё это надо снимать перед проходом через турникет. Повесили таблички с рисунками.

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

Про окупаемость системы я ничего сказать не могу, поскольку основной коммерческий случай — предотвращение штрафа ФМС в 500 тысяч и закрытия строительства на 14-90 дней. Система стоит дешевле этого штрафа, но проверки случаются нерегулярно, поэтому экономический эффект рассчитать сложно. Но старожилы говорят, оно того полностью стоит.

Собственно, конец рассказа.

Ссылки


Теги:
Хабы:
Всего голосов 132: ↑130 и ↓2+128
Комментарии85

Публикации

Информация

Сайт
croc.ru
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия