Настройки распознавания лиц
В сервисах Image API используется набор объектов и процессинг-блоков (Далее — блоки обработки), в которых реализована функциональность Face SDK — набора библиотек для разработки решений по распознаванию лиц:
- capturer: объект, используемый для детекции лиц.
- recognizer: объект, используемый для сравнения лиц.
- block: блок обработки:
- AGE_ESTIMATOR: блок оценки возраста.
- EMOTION_ESTIMATOR: блок оценки эмоций.
- GENDER_ESTIMATOR: блок оценки пола.
- LIVENESS_ESTIMATOR: блок оценки Liveness.
- MASK_ESTIMATOR: блок детекции маски.
- QUALITY_ASSESSMENT_ESTIMATOR: блок оценки качества изображения.
Настроить объект и/или блок обработки можно в разделе конкретного сервиса в атрибуте configs.
Поля объекта:
- name — имя файла конфигурации Face SDK.
- params — параметры, которые необходимо переопеределить в этой конфигурации.
Поля блока обработки:
- unit_type — название блока обработки, например, AGE_ESTIMATOR.
- modification — модификация блока обработки.
- version — версия блока обработки.
Более подробно об объектах и блоках обработки смотрите в документации Face SDK.
Настройка детекции лиц
В поле processing.services[*].configs[*].capturer.name
указывается название файла конфигурации выбранного детектора лиц. При установке Image API по умолчанию используется common_capturer_uld_fda.xml (файл конфигурации детектора ULD, который может выполнять детекцию лиц разного размера, в том числе лиц в масках).
Во всех сервисах, использующих объект capturer, должен быть указан один и тот же файл конфигурации детектора.
Этот файл конфигурации можно заменить на другой, специально настроенный под один из сценариев использования:
- Безопасный город
- Удаленная идентификация
- СКУД (кооперативное распознавание)
- СКУД (некооперативное распознавание)
Настройка под сценарии использования возможна только для сервисов с детекцией лиц: face-detector-face-fitter, face-detector-liveness-estimator, face-detector-template-extractor.
Для каждого сценария создано несколько специально настроенных под него файлов конфигурации. Наименование сценария и уровень точности детекции указываются в имени файла.
Файл конфигурации access_control_system_several_faces_q1.xml относится к сценарию СКУД (некооперативное распознавание) с точностью детекции q1.
Файлы конфигурации с пометкой q1 дают наибольшую точность детекции, при этом файлы с пометкой q2 позволяют детектировать лица с наибольшей скоростью. С результатами бенчмарков для всех доступных файлов конфигурации можно ознакомиться на страницах отдельных сценариев использования.
Безопасный город
Применение
Поиск пропавших без вести и розыск злоумышленников, сбор статистики. Применение на городских улицах, в общественных пространствах, в развлекательных и торговых центрах. Приоритет — не пропустить разыскиваемого, даже если при этом могут возникнуть ложные идентификации.
Требования к сценарию использования
- Детекция максимального количества лиц в кадре.
- Плотный поток людей в кадре (~1 чел/м²).
- Люди в кадре не смотрят в камеру и не замедляются для идентификации.
- Скорость движения людей на полученном кадре - до 5 км/ч (люди передвигаются не бегом и не на самокате/велосипеде).
- Кадры, полученные при меняющемся освещении и погодных условиях с загрязненных объективов камер.
- Угол поворота лица по отношению к объективу камеры не превышает 40° по горизонтали и 20° по вертикали.
- Тип изображений для детекции и идентификации "WILD" (согласно NIST), что соответствует качеству QAA totalscore >= 40%.
Рекомендуемые файлы конфигурации
- safety_city_q1.xml
- safety_city_q2.xml
Как настроить
Откройте файл ./cfg/image-api.values.yaml в дистрибутиве Image API, найдите объект конфигурации capturer (путь до объекта: processing.services.имя сервиса.configs.capturer) и пропишите одинаковые значения для полей объекта capturer в каждом сервисе детекции: face-detector-face-fitter, face-detector-liveness-estimator, face-detector-template-extractor.
Пример заполнения:
configs:
capturer:
name: safety_city_q2.xml // имя файла конфигурации Face SDKПосле редактирования файла сохраните его и обновите Image API в кластере:
./cli.sh image-api install
Результаты бенчмарков
Файл конфигурации детектора | Время на детекцию одного кадра (мс) | Точность детекции (от 0 до 1) |
safety_city_q1.xml | 1350 | 0,74 |
safety_city_q2.xml | 370 | 0,685 |
Удаленная идентификация
Применение
Удаленная идентификации и аутентификации по селфи с фронтальной камеры телефона в системах банков, бирж, муниципальных порталов и т.д. Приоритет — не допустить ошибок идентификации.
Требования к сценарию использования
- Одно лицо в кадре, вероятность боковых ракурсов минимальна.
- Изображения лиц крупного размера (до 80% площади кадра).
- Допустима высокая зашумленность фотографий из-за плохого освещения или низкого качества камеры.
- Тип изображений для детекции и идентификации "BORDER" или "MUGSHOT" (согласно NIST), что соответствует качеству QAA totalscore >= 51%.
Рекомендуемые файлы конфигурации
- remote_identification_q1.xml
- remote_identification_q2.xml
Как настроить
Откройте файл ./cfg/image-api.values.yaml в дистрибутиве Image API, найдите объект конфигурации capturer (путь до объекта: processing.services.имя сервиса.configs.capturer) и пропишите одинаковые значения для полей объекта capturer в каждом сервисе детекции: face-detector-face-fitter, face-detector-liveness-estimator, face-detector-template-extractor.
Пример заполнения:
configs:
capturer:
name: remote_identification_q1.xml // имя файла конфигурации Face SDKПосле редактирования файла сохраните его и обновите Image API в кластере с помощью команды:
./cli.sh image-api install
Результаты бенчмарков
Файл конфигурации детектора | Время на детекцию одного кадра (мс) | Точность детекции (от 0 до 1) |
remote_identification_q1.xml | 1040 | 0,977 |
remote_identification_q2.xml | 75 | 0,97 |
СКУД (кооперативное распознавание)
Применение
Системы учета рабочего времени и корпоративных СКУД с использованием биометрических терминалов или камер, размещенных преимущественно в помещениях со стабильным освещением. Приоритет — не допустить ошибок идентификации.
Требования к сценарию использования
- Кадры, полученные камерой, установленной в помещении со стабильным освещением.
- Одно лицо в кадре, человек смотрит в камеру.
- Тип изображений для детекции и идентификации "BORDER" (согласно NIST), что соответствует качеству QAA totalscore >= 51%.
Рекомендуемые файлы конфигурации
- access_control_system_one_face_q1.xml
- access_control_system_one_face_q2.xml
- access_control_system_one_face_q3.xml
Как настроить
Откройте файл ./cfg/image-api.values.yaml в дистрибутиве Image API, найдите объект конфигурации capturer (путь до объекта: processing.services.имя сервиса.configs.capturer) и пропишите одинаковые значения для полей объекта capturer в каждом сервисе детекции: face-detector-face-fitter, face-detector-liveness-estimator, face-detector-template-extractor.
Пример заполнения:
configs:
capturer:
name: access_control_system_one_face_q2.xml // имя файла конфигурации Face SDKПосле редактирования файла сохраните его и обновите Image API в кластере с помощью команды:
./cli.sh image-api install
Результаты бенчмарков
Файл конфигурации детектора | Время на детекцию одного кадра (мс) | Точность детекции (от 0 до 1) |
access_control_system_one_face_q1.xml | 70 | 0,996 |
access_control_system_one_face_q2.xml | 69 | 0,986 |
access_control_system_one_face_q3.xml | 95 | 0,98 |
СКУД (некооперативное распознавание)
Применение
Некорпоративные СКУД (например, оплата по лицу в транспорте, учет посетителей спортзалов) без специализированных биометрических терминалов, а только с использованием камер. Особое внимание уделяется скорости детекции и идентификации, чтобы не создавать очередей и задержек при проходе людей. Приоритет — не допустить ошибок идентификации.
Требования к сценарию использования
- Детекция лиц с кадров потока людей с учетом боковых ракурсов.
- Кадры, полученные камерой, установленной в помещении со стабильным освещением.
- До 5-8 лиц в кадре. Идентифицируется только лицо, находящееся ближе всего к камере.
- Тип изображений для детекции и идентификации "WILD" (согласно NIST), что соответствует качеству QAA totalscore >= 40%.
Рекомендуемые файлы конфигурации
- access_control_system_several_faces_q1.xml
- access_control_system_several_faces_q2.xml
Как настроить
Откройте файл ./cfg/image-api.values.yaml в дистрибутиве Image API, найдите объект конфигурации capturer (путь до объекта: processing.services.имя сервиса.configs.capturer) и пропишите одинаковые значения для полей объекта capturer в каждом сервисе детекции: face-detector-face-fitter, face-detector-liveness-estimator, face-detector-template-extractor.
Пример заполнения:
configs:
capturer:
name: access_control_system_several_faces_q1.xml // имя файла конфигурации Face SDKПосле редактирования файла сохраните его и обновите Image API в кластере с помощью команды:
./cli.sh image-api install
Результаты бенчмарков
Файл конфигурации детектора | Время на детекцию одного кадра (мс) | Точность детекции (от 0 до 1) |
access_control_system_several_faces_q1.xml | 969 | 0,946 |
access_control_system_several_faces_q2.xml | 95 | 0,936 |
Настройка сравнения лиц
В поле processing.services[*].configs[*].recognizer.name
указывается название файла конфигурации рекогнайзера лиц. В каждом рекогнайзере используется определенный метод распознавания. Всего в Face SDK предусмотрено несколько методов распознавания, отличающихся по характеристикам качества распознавания и времени работы.
Для Image API можно указать следующие файлы конфигурации рекогнайзеров:
- method11v1000_recognizer.xml
- method12v30_recognizer.xml
- method12v50_recognizer.xml
- method12v100_recognizer.xml
- method12v1000_recognizer.xml
Во всех сервисах, использующих объект recognizer, должен быть указан один и тот же файл конфигурации рекогнайзера.