Мы долго шли к этому дню. Ещё в 2012 году на Хабре мы объявили конкурс на создание демонстрационного приложения с использованием OpenCV для слежения за несколькими объектами и, в конечном счете, для запуска сервиса детекции лиц.
Наша цель – сделать функции видеоанализа, которые присутствуют в дорогостоящих профессиональных решениях, доступными для любого пользователя. Мы думали, что быстро достигнем намеченной цели, но недооценили сложность задачи.
Проблему можно было решить, создав собственную систему. Но оказалось, что это долго и дорого для клиентов. Мы выбрали второй путь – стать интеграционной платформой для сторонних поставщиков модулей распознавания лиц.
Хотя за кадром остаются годы поиска и тестов, давайте сразу посмотрим, как сейчас работает наше решение для малого и среднего бизнеса. Почему для них? Раньше системы такого уровня устанавливали в аэропортах, метро или в периметре крупных предприятий. Теперь Ivideon запускает бета-релиз модуля распознавания лиц по доступным для всех тарифам от 1 700 рублей.
Списки и персоны
Составляйте списки сотрудников, привилегированных покупателей или нежелательных гостей. Полный скрин
Изображение лица необходимо добавить в базу данных, чтобы система обнаружила человека. Для этого создаются списки распознавания с лицами людей (персонами), появление которых нужно отслеживать. По спискам удобно рассортировать людей на объекте наблюдения – сотрудников, клиентов, топ-менеджмент, а также группу нежелательных лиц.
К каждому списку необходимо подключить камеру или несколько камер. Например, для списка «сотрудники» будет работать камера в офисе; для распознавания VIP-клиентов подключаем камеры со входа в магазин и в зоне ожидания; выявлять воришек в «черном списке» помогут камеры в торговом зале. Если камера к списку не привязана — найденные в её видеопотоке лица сверяться с этим списком не будут.
Создавать персоны в списках можно двумя способами:
- загрузив фото;
- на основе автоматически найденных камерами лиц.
Для создания персоны подойдет снимок, на котором хорошо видно лицо. Не обязательно фотографировать человека «как на паспорт». На загруженном фото система распознавания автоматически найдёт лицо и привяжет к персоне.
Для персон пользователь указывает ФИО (или просто имя), краткое описание, и загружает одно или несколько фото.
События
Детекции и распознавания персон по добавленным камерам за заданный период. Полный скрин
На вкладке События отображаются все распознанные лица – тысячи детекций, глубина хранения которых на данный момент составляет от одного месяца и не зависит от наличия облачного архива Ivideon.
Содержимое вкладки События разделено на две части:
- справа расположен список детекций лиц — здесь появляются все лица, обнаруженные подключенными к системе камерами;
- слева находятся события обнаружения персон (лиц из пользовательских списков).
Если кликнуть по событию в списке детекций и нажать иконку play, то откроется запись появления персоны в кадре. Доступен не только момент детекции лица, а вся сцена – с точки появления человека в кадре.
На основе событий из списка детекций можно создать персону в пользовательском списке (или добавить фото из детекции к уже существующей персоне). Кнопка Добавить к персоне позволит прикрепить фото лица из этого события к одной из существующих персон. С помощью кнопки Создать персону можно создать на основе найденного лица новую персону.
Откройте исходник по ссылке, чтобы увидеть больше подробностей
Событиям можно присваивать различные статусы, а затем, если необходимо, фильтровать. Каждая детекция изначально имеет статус «не обработан», но её можно вручную изменить на «подтвержден» или «ложное совпадение».
Система не только фиксирует события, но также определяет возраст, пол, процент схожести с эталоном.
Поиск
Откройте исходник по ссылке, чтобы увидеть больше подробностей
На вкладке Поиск вы можете искать детекции по конкретным камерам, статусам распознавания, фото или имени персоны, выбирая любой доступный период времени.
Найдите лицо по фото или посмотрите все детекции персоны из списка. Исходник скриншота
Выбор из списков откроет доступ к событиям (момент детекции лица в видеопотоке), появившимся с момента создания персоны. Но вдруг нам понадобилось узнать, когда человек попадал в объектив камер до того момента, как его внесли в список? В таком случае воспользуемся поиском по фотографии, который найдет все события с нужным нам человеком.
Результаты поиска по распознанным и нераспознанным лицам можно экспортировать в Excel. Таблица будет содержать следующие данные:
- Дата и время события
- Фото события
- Имя камеры
- Уникальный ID камеры
- Персона (ФИО)
- Лицо распознано (Нет/Да)
- Список (в какой список входит персона)
- Логин оператора
- Проверено оператором
- Статус события
Последние три пункта необходимы для объектов со строгим контролем, где за распознаванием лиц наблюдают специальные сотрудники-операторы. В частности, делать это могут охранники на пропускном пункте.
Отчёты
Вкладка Отчёты позволяет выгрузить отчеты по распознаванию в формате Excel
Пока что мы предоставляем два типа отчетов: по рабочему времени (времени присутствия персоны на территории объекта) и по нераспознанным лицам (в отчет попадают все лица, обнаруженные выбранными пользователем камерами).
Отчет по рабочему времени содержит следующие поля:
- ФИО
- Вход (дата и время)
- Схожесть с эталоном (на входе)
- Выход (дата и время)
- Схожесть с эталоном (на выходе)
- Отработанное время (за указанный период)
Отчет о нераспознанных лица включает такие данные:
- Фотография
- Дата и время
- Камера (имя и группа)
Требования к железу
Сейчас для работы сервиса достаточно установить наш преднастроенный видеорегистратор, а затем подключить к нему камеры видеонаблюдения. Систему тестировали на обычных 2-х мегапиксельных IP-камерах.
Для создания персон использовали обыкновенные фотографии, но алгоритм, сопоставляя данные множества точек лица, способен верно определять персону даже по фрагментированным данным – в некоторых случаях мы наблюдали безошибочную детекцию даже на половине лица в кадре. Борода и очки систему тоже не обманут.
Кому полезно?
Безопасность, борьба с мошенничеством и предотвращение краж – это важный, но не единственный вариант использования. Система распознавания лиц понадобится для определения постоянных посетителей, что необходимо для улучшения качества обслуживания, для анализа маркетинговых кампаний, контроля доступа на территорию, нарушений правил охраны труда, учета рабочего времени и в ситуациях, которые мы пока даже не прогнозировали.
Мы привязали стоимость решения к объему трафика, который в свою очередь зависит от количества людей в списках распознавания. На объектах уровня крупных промышленных предприятий уже подключены какие-то системы видеоаналитики, но подавляющее большинство обычных кампаний не получали аналогичные услуги.
Таким образом, face recognition найдет применение в магазинах, ресторанах, банках, офисах, на строительные площадках и там, где вы сами захотите.
Сколько стоит и как подключить
На стадии бета-тестирования подключаем три тарифных плана: «Распознавание лиц 100», «Распознавание лиц 500», «Распознавание лиц 1000».
Каждый тарифный план имеет практически одинаковые возможности, перечисленные в статье: списки персон, поиск определенного лица в архиве, пол и возраст, отчеты по лицам и учету рабочего времени.
Разница только в одном – стоимость тарифа зависит от количества уникальных лиц в сутки.
«Распознавание лиц 100» – 100 уникальных лиц от 1 700 руб/месяц.
«Распознавание лиц 500» – 500 уникальных лиц от 3 500 руб/месяц.
«Распознавание лиц 1000» – 1000 уникальных лиц от 5 500 руб/месяц.
Тариф устанавливается для каждой подключенной камеры и рассчитан из средних значений трафика на объекте.
Если трафик на объекте превышает 1000 уникальных посетителей за 24 часа, мы сделаем персональный тарифный план.
Вариант Basic подходит для магазинчиков площадью до 200 м^2, офисов и объектов, где необходимо распознавать лица персонала. В крупных торговых точках при отслеживании лиц покупателей суточный трафик может составлять сотни и тысячи лиц.
Отправьте заявку по почте – с вами свяжется менеджер, который удаленно поможет подключить камеры к Face Recognition и проведет короткое обучение по возможностям сервиса.