- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Решение

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

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

Распознавание лиц на стройке - 4
Место установки камеры.

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

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

№ п.п.

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

Кол-во

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

Мы создали почти «тепличные» условия внутри бытовки с проходной.

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

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

Результаты

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

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

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

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

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

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

Ссылки

Автор: Игорь Недельский

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/obrabotka-izobrazhenij/327488

Ссылки в тексте:

[1] турникетов: https://habr.com/ru/company/croc/blog/151680/

[2] проходных: https://habr.com/ru/company/croc/blog/308300/

[3] детектив: https://habr.com/ru/company/croc/blog/358128/

[4] тесты: https://www.nist.gov/programs-projects/face-recognition-vendor-test-frvt-ongoing

[5] Распознавание номеров: https://habr.com/ru/company/croc/blog/158719/

[6] Как мы распознавали прорабов и тележки: https://habr.com/ru/company/croc/blog/314318/

[7] Разные детекторы видеоаналитики: https://habr.com/ru/company/croc/blog/313494/

[8] Большой Брат на производствах: детекция ношения касок, перчаток и котов на станке: https://habr.com/ru/company/croc/blog/449560/

[9] Источник: https://habr.com/ru/post/463963/?utm_source=habrahabr&utm_medium=rss&utm_campaign=463963