Конфигурация
Значения всех конфигурационных параметров Image API, перечисленных в этом разделе, настраиваются в файле конфигурации ./cfg/image-api.values.yaml.
После редактирования файла сохраните его и обновите Image API в кластере с помощью команды:
./cli.sh image-api install
Основные настройки
Название поля | Описание |
image_pull_policy | Регулирует политику загрузки из registry образов контейнера для развертывания экземпляра деплоймента Image API. Доступны следующие значения поля:
|
processing.services[*].configs[*].use_avx2 | Использование набора команд AVX2 позволяет ускорить работу рекогнайзеров. |
processing.services[*].configs[*].use_cuda | Определяет использование видеокарты сервисом. Доступно в сервисе face-detector-template-extractor. |
processing.services.[*].replicas | Значение реплик сервиса. |
processing.services[*].configs[*].downscale_ rawsamples_to_preferred_size | При включенном поле все сэмплы уменьшаются до предпочтительного размера в целях уменьшения потребления памяти, при этом происходит снижение производительности. Рекомендуется оставить поле отключенным. |
processing.enable_ingress | Включить проксирование на сервисы image-api через ingress. |
processing.enable_resource_management | Включить использования управления ресурсами под (pods) в кластере. |
processing.enable_hpa | Включить Horizontal Pod Autoscaler для деплойментов. Необходим установленный metric-server. |
processing.enable_node_selector | Активировать использование обозначенных nodeSelector’ов в подах (pods). Необходимые лейблы должны быть назначены нодам кластера с помощью команды:
|
Настройка детекции и сравнения лиц
В сервисах Image API используется набор объектов и процессинг-блоков (Далее - блоки обработки), в которых реализована функциональность Face SDK - набора библиотек для разработки решений по распознаванию лиц:
- capturer: объект, используемый для детекции лиц
- recognizer: объект, используемый для сравнения лиц
- block: блок обработки:
- AGE_ESTIMATOR: блок оценки возраста
- EMOTION_ESTIMATOR: блок оценки эмоций
- GENDER_ESTIMATOR: блок оценки пола
- LIVENESS_ESTIMATOR: блок оценки витальности
- MASK_ESTIMATOR: блок детекции маски
- QUALITY_ASSESSMENT_ESTIMATOR: блок оценки качества изображения
Выполнить настройку объекта и/или блока обработки можно в разделе конкретного сервиса в атрибуте configs.
Поля объекта:
- name - имя файла конфигурации Face SDK.
- params - параметры, которые необходимо переопеределить в этой конфигурации.
Поля блока обработки:
- unit_type - название блока обработки, например, AGE_ESTIMATOR.
- modification - модификация блока обработки.
- version - версия блока обработки.
Более подробно об объектах и блоках обработки смотрите в документации 3DiVi Face SDK.
Настройка детекции лиц
- processing.services[*].configs[*].capturer.name
В значении поля указывается название файла конфигурации выбранного детектора лиц. При установке Image API по умолчанию используется common_capturer_uld_fda.xml (Файл конфигурации детектора ULD, который может выполнять детекцию лиц разного размера, в том числе лиц в масках).
Этот файл конфигурации можно заменить на другой, специально настроенный под один из сценариев использования: безопасный город, удаленную идентификацию, СКУД (кооперативное / некооперативное распознавание).
Более подробно о детекторах и файлах конфигурации смотрите в документации 3DiVi Face SDK.
Во всех сервисах, использующих объект capturer, должен быть указан один и тот же файл конфигурации детектора.
Настройка сравнения лиц
- processing.services[*].configs[*].recognizer.name
В значении поля указывается название файла конфигурации рекогнайзера лиц. В каждом рекогнайзере применяется определенный метод распознавания. Всего в Face SDK предусмотрено несколько методов распознавания, отличающихся по характеристикам качества распознавания и времени работы.
Для Image API можно указать следующие файлы конфигурации рекогнайзеров:
- method11v1000_recognizer.xml
- method12v30_recognizer.xml
- method12v50_recognizer.xml
- method12v100_recognizer.xml
- method12v1000_recognizer.xml
Более подробно о рекогнайзерах, методах распознавания и файлах конфигурации рекогнайзеров смотрите в документации 3DiVi Face SDK.
Во всех сервисах, использующих объект recognizer, должен быть указан один и тот же файл конфигурации рекогнайзера.
Настройка модулей
Модуль - это вариант реализации конкретного сервиса Image API. Например, для сервиса liveness-estimator доступны следующие модули:
- liveness-estimator
- spoofing-estimator
Для смены модуля найдите в файле ./cfg/image-api.values.yaml конфиг интересующего сервиса в processing.services и поменяйте в нем значение поля module
.
Пример конфига сервиса quality-assessment-estimator:
quality-assessment-estimator:
…………
module: quality-assessment-estimator
…………
Перечень доступных модулей для каждого сервиса Image API:
Сервис | Модули |
face-detector-face-fitter |
|
body-detector |
|
age-estimator |
|
emotion-estimator |
|
gender-estimator |
|
mask-estimator |
|
face-detector-liveness-estimator |
|
verify-matcher |
|
face-detector-template-extractor |
|
quality-assessment-estimator |
|
template-extractor |
|
liveness-estimator |
|
Масштабирование
В случае, когда нагрузка возрастает, для стабилизации работы Image API предусмотрено масштабирование деплойментов, описанных в пункте Установка Image API в кластер в ручном режиме:
Для масштабирования установленного релиза необходимо выполнить следующую команду:
kubectl scale deployment <deployment_name> --replicas <count>
где <deployment_name>
- наименование деплоймента (например, face-detector-face-fitter-dep), а <count>
- количество реплик деплоймента (pods).
Для сохранения состояния масштабирования необходимо установить значение replicas
под ключом интересующего сервиса в processing.services в файле ./cfg/image-api.values.yaml и перезапустить развертывание командой:
./cli.sh image-api install