FindFace Multi Standalone Automated Deployment

To deploy FindFace Multi as a standalone server in one run, follow the instructions below. Being the simplest, this installation type is excellent to start off your work with FindFace Multi. Be sure to meet the system requirements and prepare the server first.

Important

The FindFace Multi host must have a static IP address in order to be running successfully. To make the IP address static, open the /etc/network/interfaces file and modify the current primary network interface entry as shown in the case study below. Be sure to substitute the suggested addresses with the actual ones, subject to your network specification.

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

Restart networking.

sudo service networking restart

Be sure to edit the etc/network/interfaces file with extreme care. Please refer to the Ubuntu guide on networking before proceeding.

Do the following:

  1. Download the installer file findface-*.run.

  2. Put the .run file into some directory on the designated host (for example, /home/username).

  3. From this directory, make the .run file executable.

    Note

    Be sure to specify the actual file name instead of findface-*.

    chmod +x findface-*.run
    
  4. Execute the .run file.

    sudo ./findface-*.run
    

    The installer will ask you a few questions and perform several automated checks to ensure that the host meets the system requirements. After filling out each prompt, press Enter. The questions and answers are the following:

    1. Q: Which product should be installed?

      A: 1

      1. [multi   ]  FindFace Multi
      2. [server  ]  FindFace Server
      3. [video-worker]  FindFace Video Worker
      
      (default: multi)
      product> 1
      
    2. Q: Please choose installation type:

      A: 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. Q: Directory to install into:

      A: Specify the FindFace Multi installation directory. By default, it’s /opt/findface-multi. Press Enter to confirm it. Otherwise, specify the directory of your choice and press Enter.

      Directory to install into:
      (default: /opt/findface-multi)
      dest_dir>
      
    4. Q: Do you want to install Video Recorder?(y/n)

      A: y or n, subject to your needs.

      Do you want to install Video Recorder?(y/n)
      install_video_recorder> n
      
    5. Q: Found X interface(s). Which one should we announce as our external address?

      A: Choose the interface that you are going to use as the instance IP address.

      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. Q: Which variant of Video Worker should be installed?

      A: Specify the findface-video-worker package type, CPU or 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. Q: Which variant of Extraction API should be installed?

      A: Specify the findface-extraction-api package type, CPU or 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. Q: Do you want to configure detectors and features right now?(y/n)

      A: We recommend you to install and configure the object detection and object attribute recognition functionality straightaway during the installation. Answer y to initiate the process. You can skip it, though, by answering n and perform the necessary steps later, following the instructions in the Enable Face and Face Attribute Recognition, Enable Vehicle and Vehicle Attribute Recognition, and Enable Body and Body Attribute Recognition sections.

      Do you want to configure detectors and features right now?(y/n)
      configure> y
      
    9. Q: Please select detectors to install:

      A: This question appears if you have requested installation and configuration of the object detection and object attribute recognition functions. In the multiple choice form, the face detector is checked by default. Enter a relevant number to select an unpicked detector and vice versa. For example, to add the body and vehicle detector to your configuration , enter 2 3. Enter done to proceed.

      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. Q: Enable liveness and attempt to continue installation?(y/n)

      A: This question appears if you have requested installation and configuration of the object detection and object attribute recognition functions. To install the embedded face liveness detector, enter y. Enter n otherwise.

      Enable liveness and attempt to continue installation?(y/n)
      enable_liveness> y
      
    11. Q: Please select face features to install:

      A: This question appears if you have requested installation and configuration of the face detection and face attribute recognition functions. By default, all face attributes are subject to installation. Answer done to confirm it. If some attribute is not necessary, you can enter the keyword (number) related to it. For example, enter 7 to exclude the head pose recognition. Then enter done.

      Questions on body and vehicle attribute recognition will be analogous, with multiple choice forms depending on the requested detector type.

      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
      

      Questions on body and vehicle attribute recognition will be analogous, with multiple choice forms depending on the requested detector type.

    12. Q: Please set findface-multi admin password

      A: Set the Super Administrator (superuser) password.

      Please set findface-multi admin password
      findface-multi-admin-password> admin
      
    13. Q: Do you want to install Analytics service?(y/n)

      A: By answering y you will install the service, which will process FindFace Multi data for further use in analytical purposes. The analytics works for line crossing only at the moment.

      Do you want to install Analytics service?(y/n)
      enable_analytics> y
      
    14. Q: Do you want to install Superset BI?(y/n)

      A: Installation of the external BI system will allow you to view FindFace Multi data (currently available for line crossing only) in the external system in the form of a graph. FindFace Multi serves as a data source, the external BI system helps visualize data. By answering y you choose to install the Apache Superset open-source software application. You will be able to log in to the system with the default credentials admin | admin; a password can further be changed in a system web-interface. If you prefer your own BI system, you can skip the suggested installation and answer n.

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

    After the final question you will see a path to a JSON file with your answers:

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

    The installer will pull the FindFace Multi images from the Ntechlab registry and start the following services in Docker containers:

    Service

    Container

    Configuration

    findface-multi-pause

    findface-multi-findface-multi-pause-1

    Started

    nats-jetstream

    findface-multi-nats-jetstream-1

    Started

    mongodb

    findface-multi-mongodb-1

    Installed with Video Recorder. Started

    findface-ntls

    findface-multi-findface-ntls-1

    Started

    nats

    findface-multi-nats-1

    Started

    postgresql

    findface-multi-postgresql-1

    Started

    memcached

    findface-multi-memcached-1

    Started

    findface-upload

    findface-multi-findface-upload-1

    Started

    etcd

    findface-multi-etcd-1

    Started

    findface-sf-api

    findface-multi-findface-sf-api-1

    Started

    findface-extraction-api

    findface-multi-findface-extraction-api-1

    Started (CPU/GPU-acceleration)

    findface-tarantool-server-shard-*

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

    Started. The number of shards is calculated using the formula: N = min(max(min(mem_mb // 2000, cpu_cores), 1), 16 * cpu_cores). I.e., it is equal to the RAM size in MB divided by 2000, or the number of CPU physical cores (but at least one shard), or the number of CPU physical cores multiplied by 16, if the first obtained value is greater.

    findface-video-manager

    findface-multi-findface-video-manager-1

    Started

    findface-counter

    findface-multi-findface-counter-1

    Started

    findface-video-streamer

    findface-multi-findface-video-streamer-1

    Installed with Video Recorder. Started

    findface-video-storage

    findface-multi-findface-video-storage-1

    Installed with Video Recorder. Started

    pgbouncer

    findface-multi-pgbouncer-1

    Started

    findface-liveness-api

    findface-multi-findface-liveness-api-1

    Started

    findface-video-worker

    findface-multi-findface-video-worker-1

    Started (CPU/GPU-acceleration)

    findface-onvif-discovery

    findface-multi-findface-onvif-discovery-1

    Started

    findface-multi-audit

    findface-multi-findface-multi-audit-1

    Started

    findface-multi-identity-provider

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

    Healthy

    findface-multi-legacy

    findface-multi-findface-multi-legacy-1

    Healthy

    findface-multi-ui

    findface-multi-findface-multi-ui-1

    Started

    findface-multi-line-crossing-analytics

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

    Started

    redis

    findface-multi-redis-1

    Started

    rabbitmq

    findface-multi-rabbitmq-1

    Started

    timescaledb

    findface-multi-timescaledb-1

    Started

    findface-image-crop

    findface-multi-findface-image-crop-1

    Started

    backend_api

    findface-multi-backend_api-1

    Started

    service_notifier_ws

    findface-multi-service_notifier_ws-1

    Started

    service_notifier_tg

    findface-multi-service_notifier_tg-1

    Started

    backend_provider

    findface-multi-backend_provider-1

    Started

    service_alarmer

    findface-multi-service_alarmer-1

    Started

    superset-worker

    findface-multi-superset-worker-1

    Started

    superset-init

    findface-multi-superset-init-1

    Started

    superset-worker-beat

    findface-multi-superset-worker-beat-1

    Started

    superset

    findface-multi-superset-1

    Started

    findface-multi-sync

    findface-multi-findface-multi-sync-1

    Started

    alarm-web-app

    findface-multi-alarm-app-1

    Started

    findface-multi-file-mover

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

    Started

    findface-multi-healthcheck

    findface-multi-healthcheck-1

    Started

    findface-multi-legacy-singleton-services

    findface-multi-findface-multi-legacy-singleton-services-1

    Healthy

    findface-multi-identity-provider-migrate

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

    Exited

    findface-multi-legacy-migrate

    findface-multi-findface-multi-legacy-migrate-1

    Exited

    After the installation is complete, the following output is shown in the console:

    Tip

    Be sure to save this data: you will need it later.

    #############################################################################
    #                       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. Perform the post-deployment procedures.

Tip

To install the same configuration of FindFace Multi on a different host, use the automatic deployment from the installation file. In this case, you won’t have to answer the installation questions again. The exact path to a JSON file with answers is displayed right after the last question, before the installer starts active progress:

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

Be sure to remove fields *.config, exp_ip, and int_ip before installing FindFace Multi on a host with a different IP address.

To launch the automatic deployment from the /tmp/<findface-installer-*>.json file, execute:

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