Приступая к интеграции¶
Структура системы анализа и распознавания лиц на базе FindFace Enterprise Server SDK показана на следующей схеме:
FindFace Enterprise Server SDK включает в себя Сервер анализа и распознавания биометрических данных (далее Сервер FindFace или Сервер) и, опционально, видеодетектор для обнаружения лиц в видеопотоке (устанавливается как компонент fkvideo_detector
) и другие дополнительные компоненты.
Работу Сервера в свою очередь обеспечивают следующие компоненты:
Компонент | Описание |
---|---|
findface-facenapi |
Реализованный на Python сервис, обеспечивающий функционирование HTTP API. Данный сервис выполняет функцию обнаружения лиц на фотографиях, взаимодействует с базой данных MongoDB и сервисами findface-nnapi и tarantool@FindFace . |
tntapi (tarantool@FindFace как шард) |
Сервис, обеспечивающий взаимодействие между сервисом findface-facenapi и базой биометрических данных на основе Tarantool. Для увеличения скорости поиска на каждом сервере с базой данных Tarantool могут быть созданы многочисленные сегменты («шарды») tntapi . Их параллельное функционирование приводит к значительному увеличению производительности (в 70-100 раз). |
findface-nnapi |
Сервис, выполняющий посредством нейронных сетей извлечение вектора признаков (биометрического образца) из обнаруженных лиц, а также распознавание пола, возраста и эмоций. Требует установки пакетов с моделями нейронных сетей <findface-data>.deb. |
MongoDB | База данных, в которой хранятся метаданные лиц, подробная информация о галереях, настройки, векторы признаков и т. д. |
findface-upload |
Веб-сервер на базе nginx, который принимает изображения через WebDAV. Устанавливается, если требуется хранить исходные загруженные изображения, миниатюры и нормализованные изображения лиц на Сервере. |
NTLS |
Локальный сервер лицензий с управлением через веб-интерфейс, взаимодействующий для верификации лицензий с глобальным центром лицензий NtechLab. Для закрытых систем поддерживается работа с аппаратными лицензионными ключами. |
Интеграция FindFace Enterprise Server SDK включает в себя следующие основные этапы:
- выбор архитектуры развертывания;
- подготовка физических серверов;
- установка необходимого стороннего ПО;
- установка лицензии и компонентов Сервера;
- создание токена авторизации и тестирование работы сервера;
- настройка обнаружения лиц на видео;
- увеличение производительности балансировкой нагрузки на компоненты и индексированием базы данных;
- настройка расширенных функций;
- создание интерфейса обмена данными между Сервером и партнерским приложением;