Основы и применение статического анализа кода при разработке лекция 1
Facemetric
1. АНАЛИЗ ПОТОКА
ПО ЛИЦУ И НЕ ТОЛЬКО
МЕТРИКИ ДЛЯ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ
Финалист конкурса
2016
2. ПОЧЕМУ facemetric?
• Сервис facemetric – отечественная разработка в области распознавания лиц,
образов, движений и других объектов
• Сильная партнерская сеть (SAP, Jet Infosystems, Beeline, Help-Line)
• Большой кумулятивный опыт команды:
• Более 30 лет в области систем машинного обучения;
• Более 10 лет в области видеоаналитики
• Более 25 лет разработки высоконагруженных систем (Мастертел, Kaspersky,
Infowatch, Zalando, Beeline, NetCracker и др.)
• Более 30 лет экспертизы в аналитике бизнес-процессов и поведения
потребителей.
• Качественная экспертиза большинства существующих DL-фреймворков в
области распознавания лиц (torch, mxnet, caffe), в т.ч. конкурентов (VisionLabs,
Vocord, Cognitec)
• Большой опыт работы с изображениями низкого качества (генерируемыми
стандартными камерами видеонаблюдения)
3. АРХИТЕКТУРА РЕШЕНИЯ
Магазин ЦОД facemetric SAP Cloud Platform
Видеосъемка Детектирование
и трекинг лиц
Выделение
вектора
Матчинг Бизнес-логика
4. ФУНКЦИОНАЛ КОНТРОЛЛЕРА
Предварительный отбор лиц для анализа:
• Детектирует лицо;
• Отслеживает его перемещения;
• Коллекционирует ракурсы;
• Собирает кадры в пакет и отправляет на сервер.
Дополнительная аналитика:
• Анализирует время нахождения перед камерой;
• Считает количество лиц в зоне камеры.
Преимущества от использования:
• Снижение нагрузки на ЦОД;
• Снижение требований к каналу связи;
• Гарантированность доставки данных в ЦОД (встроенный
буфер памяти на случай возникновения проблем с
доступностью сервиса).
5. ДЕТЕКТИРОВАНИЕ ЛИЦ
На уровне предобработки (Raspberry PI):
• OpenCV (декодирование видео);
• Метод Виолы-Джонса (продакшн);
• Тонкая нейросеть Caffe (прототип).
На уровне выделения вектора (CUDA, CPU)
• Использование нейронных сетей (mxnet, Caffe);
• Точность распознавания:
• В кооперативной режиме – до 99%
(на базах до 10 тыс. лиц);
• В некооперативном режиме – от 80 до 90%
(на самозаполняемых базах)
• Скорость выделения вектора – 110 мс
• Детектор эмоций – 400 мс (среднее)
• Производительность одной ноды – 400 запр. / сек
6. РАБОТА С БАЗАМИ
Время поиска на базах свыше 100 тыс. лиц – не более 300 мс
Заполнение баз:
• Неограниченное количество изображений
на 1 персону;
• Автозаполнение (все неопознанные
вносятся автоматически);
• Заполнение через API из внешней
системы;
• Обогащение данных из внешних источников
(базы МВД, социальные сети и другие
открытые источники).
Списки:
• Ведение раздельных списков;
• Различные сценарии реагирования на
события с привязкой к списку или персоне.
7. ОБУЧЕНИЕ И ДООБУЧЕНИЕ
Подходы к дообучению:
• Использование эталонных баз Заказчика;
• Использование баз, полученных с видеокамер
Заказчика в период пилотной эксплуатации
(повышает точность распознавания на 5-7%);
• Склейка разобщенных референсов в персоне
дополнительным прогоном по базе (повышает
точность распознавания и аналитики на 2-4%);
• Склейка разобщенных референсов в персоне
через поведенческий анализ - высокоуровневая
аналитика (повышает точность распознавания
на 7-10%)
8. УРОВНИ РАСПОЗНАВАНИЯ
• Обычное детектирование и трекинг (просто посчитать);
• Определение углов ориентации головы (yaw/pitch/roll);
• Распознавание пола;
• Распознавание возраста (определение возрастной группы);
• Определение этнической группы;
• Определение отличительных признаков (очки, растительность
на лице, головной убор);
• Сопоставление лица с лицами в базе;
• Распознавание эмоций.
Сложностьопределения
9. ВОЗМОЖНОСТИ РАСШИРЕНИЯ
facemetric – не только распознавание лиц:
• В разработке возможность распознавания
движений, поз и заданных предметов;
• Возможность распознавания речи и других
звуков (выявление иностранной речи,
обсценной лексики, крика и др.);
• Интеграция с информационными
системами заказчика (CRM, СКУД, BPM и
др.) – REST API (как платформа
распознавания, так и аналитическая
платформа)
10. АППАРАТНЫЕ ТРЕБОВАНИЯ
Видеокамеры:
• IP-камеры с поддержкой h.264 (RTSP);
• Разрешение 720p и выше;
• Размер матрицы: 1/2.8’’;
• Возможность управления минимальным/максимальным уровнем
срабатывания затвора;
• Поддержка 2х и более основных видеопотоков
Рабочая станция (on-premise вариант):
• CPU – Core i5 и выше;
• 8 GB RAM и более;
• nVidia GeForce GTX 1050 и выше
12. СЦЕНАРИЙ №1.
РАБОТА СО СПИСКАМИ
Задача:
• Обнаружение лиц из списка (черный, VIP) c точностью до 95%;
• Сигнализация о появлении лица заинтересованной стороне
Реализация:
• Установка камер с двукратным и трехкратным резервированием;
• Интеграция с ИС заказчика
Результат:
• True Positive Rate при единственном оригинале – 90%;
• True Positive Rate на дообученной системе – 98%
Конкуренты:
• Cognitec – паритет;
• Panasonic – победа.
13. СЦЕНАРИЙ №2.
АНАЛИТИКА ПОТОКА
Задача:
• Сделать подсчет посетителей с распознаванием новых и вернувшихся;
• Сделать демографический анализ потока;
• Рассчитать показатели лояльности (частота возращения, кол-во визитов);
• Оценить время обслуживания на кассе и длительность пребывания в магазине;
• Предсказать длину очереди через 15 минут.
Реализация:
• Установка камер на каждом рубеже (вход, выход);
Результат:
• Точность подсчета – 98%;
• Точность определения пола и возрастной группы – более 90%;
• True Positive Rate на живой системе – 80%;
• False Positive Rate – не более 2%.
Конкуренты:
• VisionLabs –победа.
14. СЦЕНАРИЙ №3.
ПЕРСОНИФИЦИРОВАННЫЙ СЕРВИС
Задача:
• Узнать человека на входе/на кассе/у терминала;
• Сделать ему персональное предложение.
Реализация:
• Установка камер на рубеже
Результат:
• True Positive Rate при единственном оригинале – 93%;
• True Positive Rate на дообученной системе – 98%;
• False Positive Rate – не более 0.5%;
• Время транзакции – не более 3 секунд.
15. СЦЕНАРИЙ №4.
ИДЕНТИФИКАЦИЯ И ТАРГЕТИНГ
В DIGITAL SIGNAGE
Задача:
• Узнать/классифицировать человека у терминала;
• Детектировать улыбку;
• Запустить релевантный сценарий.
Реализация:
• Установка камер на терминале или встраивание камеры в терминал.
Результат:
• True Positive Rate при пакете из 5 оригиналов – 95%;
• False Positive Rate – не более 0.5%;
• Точность детекции улыбки – 80%;
• Время транзакции – не более 3 секунд.
16. СЦЕНАРИЙ №5.
ОЦЕНКА ЭМОЦИОНАЛЬНОГО ФОНА
Задача:
• Оценить эмоциональный фон посетителей на входе и на выходе из
ресторана;
• Сделать оценку изменения эмоционального фона.
Реализация:
• В проработке, готовится пилотный проект
21. НАШ ПОДХОД К БИЗНЕСУ
• Постоянное совершенствование технологии:
• Анализ современных тенденций и трендов, бенчмаркинг;
• Дообучение нейронных сетей, расширение функционала;
• Анализ обратной связи от клиентов.
• Реализация пилотных проектов
• Подстройка под требования клиентов:
• Реализация кейсов заказчика (стратирование аудитории, выявление трендов и закономерностей);
• Интеграция с информационными системами;
• Выстраивание партнерских связей:
• Системные интеграторы (Альт-Лан, Инфосистемы Джет, Help-Line);
• Вендоры и сетевые компании (SAP, Вымпелком, РосФон);
• Технологические компании (Вокорд Телеком, Zorgtech);
• Информационные партнеры (beholder.pro, wowcall)