Архитектура
Обязательно уделите немного времени изучению архитектуры FindFace Enterprise Server. Эти знания необходимы для развертывания, интеграции, обслуживания и устранения проблем при работе программного комплекса.
В этой главе:
Архитектурные элементы
FindFace Enterprise Server состоит из следующих основных архитектурных элементов:
Ядро FindFace,
(опционально) прикладные модули.
Примечание
В базовой конфигурации прикладные модули отсутствуют. Свяжитесь с нашими экспертами по адресу info@ntechlab.com, чтобы узнать больше о создании с нашей помощью приложения «под ключ».
Ядро FindFace включает в себя следующие компоненты:
Компонент |
Описание |
Поставщик |
---|---|---|
findface-extraction-api |
Сервис, использующийся для обнаружения лиц на статических изображениях и извлечения из лиц биометрических образцов (векторов признаков), информации о поле, возрасте, эмоциях и других атрибутах лица. Работа на базе нейронных сетей. CPU- или GPU-ускорение. |
Собственная разработка Ntech Lab |
findface-sf-api |
Сервис, реализующий HTTP API для анализа и распознания биометрических данных. |
|
findface-tarantool-server |
Сервис, обеспечивающий взаимодействие между сервисом |
|
findface-upload |
Веб-сервер на базе NGINX, используемый как хранилище исходных изображений, миниатюр лиц и нормализованных изображений лиц. |
|
findface-facerouter |
Сервис, который используется для задания правил обработки обнаруженных на видео лиц. |
|
findface-video-manager |
Часть модуля видеодетекции лиц. Сервис, через который осуществляется управление детекцией лиц на видео, а именно задаются настройки и список видеопотоков для обработки. |
|
findface-video-worker |
Часть модуля видеодетекции лиц. Сервис, который распознает лицо на видео и отправляет его нормализованное изображение, полный кадр и метаданные (такие как ID камеры и время обнаружения) в сервис |
|
findface-ntls |
Сервер лицензий, который проверяет подлинность лицензии FindFace Enterprise Server, взаимодействуя с глобальным сервером лицензий NtechLab или USB-ключом. |
|
Tarantool |
Стороннее программное обеспечение, на основе которого реализована биометрическая база данных, хранящая извлеченные биометрические образцы (векторы признаков). |
|
etcd |
Стороннее программное обеспечение, реализующее распределенное хранилище ключей для компонента |
|
NGINX |
Стороннее программное обеспечение, которое реализует компонент |
|
memcached |
Стороннее программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе хеш-таблицы. Используется компонентом |
См.также
Развертывание на одиночном сервере или в кластере
В зависимости от требований к характеристикам проектируемой системы анализа и распознавания биометрических данных, FindFace Enterprise Server может быть развернут в соответствии со следующими архитектурными схемами:
Схема |
Рекомендация |
---|---|
Развертывание на одиночном сервере |
Вы можете развернуть FindFace Enterprise Server и модели нейронной сети на одном физическом сервере, если количество лиц в базе данных не превышает 1 000 000 (рекомендуемое ограничение). Используйте этот вариант, если вы только приступаете к развертыванию своей системы и вам нужно сформировать требования к ней. |
Развертывание на кластере серверов |
Если количество лиц в базе данных превышает 1 000 000, рекомендуется развернуть FindFace Enterprise Server в кластерной среде. В этом случае компоненты FindFace Enterprise Server распределяются по нескольким физическим серверам. Данный тип развертывания обеспечивает использование FindFace Enterprise Server в средних и крупных проектах и имеет потенциал практически неограниченного масштабирования. Он также подходит для профессиональных проектов с высокой нагрузкой и жесткими требованиями к производительности. |
При развертывании в кластере возможны следующие схемы:
Один центральный сервер FindFace Enterprise Server и несколько дополнительных серверов
findface-video-worker
.Компоненты FindFace Enterprise Server распределяются между несколькими физическими серверами. При необходимости настраивается балансировка нагрузки.
Аппаратное ускорение на CPU и GPU
Сервисы findface-extraction-api
и findface-video-worker
могут использовать как CPU-, так и GPU-ускорение. Нужный тип ускорения выбирается во время установки из консольного инсталлятора.
Если установка FindFace Enterprise Server выполняется из apt-репозитория, на CPU-сервере нужно развернуть пакеты findface-extraction-api
и/или findface-video-worker-cpu
, а на GPU-сервере пакеты findface-extraction-api-gpu
и/или findface-video-worker-gpu
.
Важно
Для выбора конфигурации оборудования см. System Requirements.
Важно
Если разрешение используемой камеры превышает 1280x720 пикселей, настоятельно рекомендуется использовать пакет с ускорением на GPU findface-video-worker-gpu
.