Приступая к интеграции

Структура системы анализа и распознавания лиц на базе FindFace Enterprise Server SDK показана на следующей схеме:

system_ru

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 включает в себя следующие основные этапы:

  1. выбор архитектуры развертывания;
  2. подготовка физических серверов;
  3. установка необходимого стороннего ПО;
  4. установка лицензии и компонентов Сервера;
  5. создание токена авторизации и тестирование работы сервера;
  6. настройка обнаружения лиц на видео;
  7. увеличение производительности балансировкой нагрузки на компоненты и индексированием базы данных;
  8. настройка расширенных функций;
  9. создание интерфейса обмена данными между Сервером и партнерским приложением;