Автоматическое односерверное развертывание FindFace Multi

Для автоматического односерверного развертывания FindFace Multi следуйте приведенным ниже инструкциям. Будучи самым простым, данный тип установки отлично подходит для начала работы с FindFace Multi. Перед процедурой обязательно учтите системные требования и подготовьте сервер.

Важно

Для успешного функционирования системы после установки из инсталлятора IP-адрес сервера должен быть статическим. Для того чтобы сделать IP-адрес статическим, откройте файл /etc/network/interfaces и измените текущую запись для основного сетевого интерфейса так, как показано в примере ниже. Не забудьте заменить адреса в примере на актуальные с учетом настроек сети.

sudo vi /etc/network/interfaces

iface eth0 inet static
address 192.168.112.144
netmask 255.255.255.0
gateway 192.168.112.254
dns-nameservers 192.168.112.254

Перезапустите сетевые интерфейсы.

sudo service networking restart

С осторожностью редактируйте файл etc/network/interfaces. Перед тем как приступить к редактированию, ознакомьтесь c инструкцией по настройке сетей Ubuntu.

Выполните следующие действия:

  1. Загрузите файл инсталлятора findface-*.run.

  2. Поместите файл .run в любой каталог на сервере установки (например, /home/username).

  3. Из данного каталога сделайте файл .run исполняемым.

    Примечание

    Вместо findface-* укажите актуальное имя файла.

    chmod +x findface-*.run
    
  4. Запустите файл .run.

    sudo ./findface-*.run
    

    Инсталлятор задаст вам несколько вопросов, после чего проверит, соответствует ли сервер системным требованиям. Ответьте на вопросы надлежащим образом, после ответа каждый раз нажимая Enter. Вопросы и ответы следующие:

    1. В: Which product should be installed? (Какой продукт следует установить?)

      О: 1

      1. [multi   ]  FindFace Multi
      2. [server  ]  FindFace Server
      3. [video-worker]  FindFace Video Worker
      
      (default: multi)
      product> 1
      
    2. В: Please choose installation type: (Пожалуйста, выберите тип установки:)

      О: 1

      -  1 [stand-alone ]  Single Server
      -  2 [multi-worker]  Single Server, Multiple video workers
      -  3 [images      ]  Don't install anything, just load the images
      -  4 [custom      ]  Fully customized installation
      
      (default: stand-alone)
      type> 1
      
    3. В: Directory to install into: (Директория установки:)

      О: Укажите директорию установки FindFace Multi. По умолчанию установка выполняется в /opt/findface-multi. Нажмите Enter для подтверждения. В противном случае укажите нужную директорию и нажмите Enter.

      Directory to install into:
      (default: /opt/findface-multi)
      dest_dir>
      
    4. В: Do you want to install Video Recorder?(y/n) (Хотите ли вы установить Видеомагнитофон?)

      О: y или n, в зависимости от ваших нужд.

      Do you want to install Video Recorder?(y/n)
      install_video_recorder> n
      
    5. В: Found X interface(s). Which one should we announce as our external address? (Было найдено X сетевых интерфейсов. Какой интерфейс следует использовать в качестве внешнего IP-адреса?)

      О: Выберите интерфейс, который вы собираетесь использовать в качестве IP-адреса FindFace.

      Found 1 interface(s). Which one should we announce as our external address?
      
      -  1 [lo      ]  127.0.0.1
      -  2 [ens3    ]  192.168.112.254
      
      (default: 192.168.112.254)
      ext_ip.advertised> 2
      
    6. В: Which variant of Video Worker should be installed? (Какой вариант Video Worker следует установить?)

      О: Укажите тип пакета findface-video-worker, CPU или GPU.

      Which variant of Video Worker should be installed?
      
      -  1 [cpu]  CPU-based implementation, slower but doesn't require GPU
      -  2 [gpu]  CUDA-based implementation of video detector, requires NVIDIA GPU
      
      (default: cpu)
      findface-video-worker.variant> 1
      
    7. В: Which variant of Extraction API should be installed? (Какой вариант Extraction API следует установить?)

      О: Укажите тип пакета findface-extraction-api, CPU или GPU.

      Which variant of Extraction API should be installed?
      
      -  1 [cpu]  CPU-only implementation, slower but doesn't require GPU
      -  2 [gpu]  CUDA-based implementation, faster, requires NVIDIA GPU (supports both CPU and GPU models)
      
      (default: cpu)
      findface-extraction-api.variant> 1
      
    8. В: Do you want to configure detectors and features right now?(y/n) (Хотите ли вы настроить детекторы и распознавание атрибутов объектов сейчас?)

      О: Мы рекомендуем установить и настроить функциональность обнаружения объектов и распознавания атрибутов объектов на этапе установки. Ответьте y, чтобы начать процесс. Вы можете пропустить данный шаг, ответив n и выполнив необходимые действия позже, следуя инструкциям в разделах Распознавание лиц и их атрибутов, Распознавание транспортных средств и их атрибутов и Распознавание силуэтов и их атрибутов .

      Do you want to configure detectors and features right now?(y/n)
      configure> y
      
    9. В: Please select detectors to install: (Пожалуйста, выберите детекторы для установки:)

      О: Данный вопрос появляется после запроса на установку и настройку функций обнаружения объектов и распознавания атрибутов объектов. В форме множественного выбора детектор лиц отмечен по умолчанию. Введите соответствующий номер, чтобы выбрать невыбранный детектор и наоборот. Например, чтобы добавить в конфигурацию детектор силуэтов и детектор транспортных средств, введите 2 3. Введите done, чтобы продолжить.

      Please select detectors to install:
      
      -  1 [v]  Face
      -  2 [ ]  Body
      -  3 [ ]  Car
      
      Enter keyword to select matching choices or -keyword to clear selection.
      Enter "done" to save your selection and proceed to another step.
      detectors>2 3
      -  1 [v]  Face
      -  2 [v]  Body
      -  3 [v]  Car
      
      Enter keyword to select matching choices or -keyword to clear selection.
      Enter "done" to save your selection and proceed to another step.
      detectors> done
      
    10. В: Enable liveness and attempt to continue installation?(y/n) (Включить детектор витальности лиц liveness и продолжить установку?)

      О: Данный вопрос появляется после запроса на установку и настройку функций обнаружения объектов и распознавания атрибутов объектов. Чтобы установить встроенный детектор витальности лиц, введите y. В противном случае введите n.

      Enable liveness and attempt to continue installation?(y/n)
      enable_liveness> y
      
    11. В: Please select face features to install: (Пожалуйста, выберите атрибуты лиц для установки:)

      О: Данный вопрос появляется после запроса на установку и настройку функций обнаружения объектов и распознавания атрибутов объектов. По умолчанию установке подлежат все атрибуты лиц. Ответьте done для подтверждения. Если определенный атрибут не нужен, вы можете ввести ключевое слово (порядковый номер), связанное с ним. Например, введите 7, чтобы исключить распознавание положения головы. Затем введите done.

      Вопросы по распознаванию атрибутов силуэтов и транспортных средств будут аналогичны, с несколькими вариантами ответов в зависимости от запрашиваемого типа детектора.

      Please select face features to install:
      
      -  1 [v]  Age
      -  2 [v]  Gender
      -  3 [v]  Emotions
      -  4 [v]  Beard
      -  5 [v]  Glasses
      -  6 [v]  Medicine masks
      -  7 [v]  Headpose
      
      Enter keyword to select matching choices or -keyword to clear selection.
      Enter "done" to save your selection and proceed to another step.
      face_features> done
      

      Вопросы по распознаванию атрибутов силуэтов и транспортных средств будут аналогичны, с несколькими вариантами ответов в зависимости от запрашиваемого типа детектора.

    12. В: Please set findface-multi admin password (Пожалуйста, установите пароль для администратора FindFace Multi)

      О: Задайте пароль для Супер Администратора (superuser).

      Please set findface-multi admin password
      findface-multi-admin-password> admin
      
    13. В: Do you want to install Analytics service?(y/n) (Хотите ли вы установить сервис аналитики?)

      О: Ответив да, вы установите сервис, который будет обрабатывать данные FindFace Multi для дальнейшего их использования в аналитических целях. На данный момент аналитика работает только для пересечения линий.

      Do you want to install Analytics service?(y/n)
      enable_analytics> y
      
    14. В: Do you want to install Superset BI?(y/n) (Хотите ли вы установить BI-систему Superset?)

      О: Установка внешней BI-системы позволит вам просматривать данные FindFace Multi для пересечения линий в этой системе в виде графиков. FindFace Multi выступает в качестве источника данных, а внешняя BI-система помогает визуализировать данные. Отвечая y на этот вопрос, вы выбираете установку программного приложения с открытым исходным кодом Apache Superset. Для входа в систему используйте учетные данные по умолчанию admin | admin. Позже пароль можно изменить в веб-интерфейсе системы. Если вы предпочитаете собственную BI-систему, вы можете пропустить предложенную установку и ответить n.

      Do you want to install Superset BI?(y/n)
      install_superset> y
      

    После ответа на последний вопрос вы увидите путь к файлу с параметрами установки:

    Your answers were saved to /tmp/findface-installer-t8qk_isw.json
    

    Инсталлятор извлечет образы FindFace Multi из реестра Ntechlab и запустит следующие сервисы в контейнерах Docker:

    Сервис

    Контейнер

    Конфигурация

    findface-multi-pause

    findface-multi-findface-multi-pause-1

    Запускается

    nats-jetstream

    findface-multi-nats-jetstream-1

    Запускается

    mongodb

    findface-multi-mongodb-1

    Устанавливается вместе с Видеомагнитофоном. Запускается

    findface-ntls

    findface-multi-findface-ntls-1

    Запускается

    nats

    findface-multi-nats-1

    Запускается

    postgresql

    findface-multi-postgresql-1

    Запускается

    memcached

    findface-multi-memcached-1

    Запускается

    findface-upload

    findface-multi-findface-upload-1

    Запускается

    etcd

    findface-multi-etcd-1

    Запускается

    findface-sf-api

    findface-multi-findface-sf-api-1

    Запускается

    findface-extraction-api

    findface-multi-findface-extraction-api-1

    Запускается (CPU/GPU-ускорение).

    findface-tarantool-server-shard-*

    findface-multi-findface-tarantool-server-shard-*-1

    Запускается. Количество экземпляров (шардов) рассчитывается по формуле: N = min(max(min(mem_mb // 2000, cpu_cores), 1), 16 * cpu_cores). Т. е. количество равно размеру оперативной памяти в Мб, разделенному на 2000, или количеству физических ядер процессора (но не менее 1 шарда), или же количеству физических ядер процессора, умноженному на 16, если первое полученное значение больше.

    findface-video-manager

    findface-multi-findface-video-manager-1

    Запускается

    findface-counter

    findface-multi-findface-counter-1

    Запускается

    findface-video-streamer

    findface-multi-findface-video-streamer-1

    Устанавливается вместе с Видеомагнитофоном. Запускается

    findface-video-storage

    findface-multi-findface-video-storage-1

    Устанавливается вместе с Видеомагнитофоном. Запускается

    pgbouncer

    findface-multi-pgbouncer-1

    Запускается

    findface-liveness-api

    findface-multi-findface-liveness-api-1

    Запускается

    findface-video-worker

    findface-multi-findface-video-worker-1

    Запускается (CPU/GPU-ускорение).

    findface-onvif-discovery

    findface-multi-findface-onvif-discovery-1

    Запускается

    findface-multi-audit

    findface-multi-findface-multi-audit-1

    Запускается

    findface-multi-identity-provider

    findface-multi-findface-multi-identity-provider-1

    Запускается

    findface-multi-legacy

    findface-multi-findface-multi-legacy-1

    Запускается

    findface-multi-ui

    findface-multi-findface-multi-ui-1

    Запускается

    findface-multi-line-crossing-analytics

    findface-multi-findface-multi-line-crossing-analytics-1

    Запускается

    redis

    findface-multi-redis-1

    Запускается

    rabbitmq

    findface-multi-rabbitmq-1

    Запускается

    timescaledb

    findface-multi-timescaledb-1

    Запускается

    findface-image-crop

    findface-multi-findface-image-crop-1

    Запускается

    backend_api

    findface-multi-backend_api-1

    Запускается

    service_notifier_ws

    findface-multi-service_notifier_ws-1

    Запускается

    service_notifier_tg

    findface-multi-service_notifier_tg-1

    Запускается

    backend_provider

    findface-multi-backend_provider-1

    Запускается

    service_alarmer

    findface-multi-service_alarmer-1

    Запускается

    superset-worker

    findface-multi-superset-worker-1

    Запускается

    superset-init

    findface-multi-superset-init-1

    Запускается

    superset-worker-beat

    findface-multi-superset-worker-beat-1

    Запускается

    superset

    findface-multi-superset-1

    Запускается

    findface-multi-sync

    findface-multi-findface-multi-sync-1

    Запускается

    alarm-web-app

    findface-multi-alarm-app-1

    Запускается

    findface-multi-file-mover

    findface-multi-findface-multi-file-mover-1

    Запускается

    По завершении установки в консоль будет выведена информация, необходимая для использования FindFace Multi:

    Совет

    Обязательно сохраните эти данные: они вам понадобятся.

    #############################################################################
    #                       Installation is complete                            #
    #############################################################################
    - all configuration and data is stored in /opt/findface-multi
    - upload your license to http://192.168.0.90/#/license/
    - user interface: http://192.168.0.90/
    superuser:      admin
    documentation:  http://192.168.0.90/doc/
    - superset BI:  http://192.168.0.90:8088/
    2023/08/01 08:00:22 Installer finished
    
  5. Выполните процедуры после развертывания.

Совет

Для установки той же конфигурации FindFace Multi на другом сервере используйте автоматическое развертывание из файла с параметрами установки. В этом случае вам не придется снова отвечать на вопросы инсталлятора. Точный путь к файлу с параметрами установки отображается сразу после последнего вопроса инсталлятора, до начала активной фазы установки:

[I 2023-08-01 07:56:36,323 main:142] Your answers were saved to /tmp/findface-installer-t8qk_isw.json

Обязательно удалите поля *.config, exp_ip и int_ip перед установкой FindFace Multi на сервере с другим IP-адресом.

Для запуска автоматического развертывания из файла /tmp/<findface-installer-*>.json, выполните следующую команду:

sudo ./<findface-*>.run -f /tmp/<findface-installer-*>.json