Requirements

In this chapter:

System Requirements for Basic Configuration

To calculate the FindFace Server host(s) characteristics, use the requirements provided below.

Tip

Be sure to learn about the FindFace Server architecture first.

Note

You can also use an Intel-based VM if there is AVX2 support, and eight physical cores are allocated exclusively to the VM.

The system requirements depend on many factors, such as:

  1. The number of video streams, their resolution and FPS.

  2. The number, size and types of objects in the camera frame.

  3. How often objects enter and exit the camera frame.

  4. The number of selected detectors and attributes of the object.

  5. Requests per second (RPS).

  6. Settings and other additional factors that depend on the specific use of the server.

Requirements for video-worker-cpu

Important

The minimum technical requirements for processing a single video stream with a resolution of 1920x1080@25FPS, in the case when there are no more than 3 objects in the camera frame.

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 4+ GHz with Advanced Vector Extensions 2 (AVX2)

Enable Turbo Boost to reach 4+ GHz

RAM

512+ Mb

HDD/SSD

256+ Mb

Operating system

Ubuntu 18+ 64-bit PC

Tip

If you need to process more video streams, use more physical cores, while requiring more RAM. For more accurate hardware selection, contact our support team by support@ntechlab.com.

Requirements for video-worker-gpu

Important

NVIDIA GPU accelerators with video decoding capability are supported, check out the NVIDIA document.

Important

The minimum technical requirements for processing a single video stream with a resolution of 1920x1080@25FPS, in the case when there are no more than 3 objects in the camera frame.

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 4+ GHz

Enable Turbo Boost to reach 4+ GHz

RAM

2+ Gb

GPU

NVIDIA GeForce GTX 1080 Ti

  • Supported driver: NVIDIA R535 LTSB

  • Supported devices: NVIDIA, Pascal, Volta, Turing, Ampere architectures

GPU memory

2+ Gb

HDD/SSD

4.5+ Gb

Operating system

Ubuntu 18+ 64-bit PC

Tip

The NVIDIA GeForce GTX 1080 Ti graphics card is capable of processing approximately 23 video streams with a resolution of 1920x1080@25FPS when there are only 3 objects in the camera frame. For more accurate hardware selection, contact our support team by support@ntechlab.com.

Requirements for extraction-api-cpu

Important

The minimum technical requirements for processing are 4.4 RPS. For example, processing a video stream of 1920x1080@25FPS, in the case when there are no more than 3 objects in the camera frame, the video-worker generates approximately 0.2 RPS.

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 4+ GHz with Advanced Vector Extensions 2 (AVX2)

Enable Turbo Boost to reach 4+ GHz

RAM

2.5+ Gb

HDD/SSD

256+ Mb

Operating system

Ubuntu 18+ 64-bit PC

Tip

If you need to process more RPS, use more physical cores, while requiring more RAM. For more accurate hardware selection, contact our support team by support@ntechlab.com.

Requirements for extraction-api-gpu

Important

The minimum technical requirements for processing 200 RPS. For example, processing a video stream of 1920x1080@25FPS, in the case when there are no more than 3 objects in the camera frame, the video-worker generates approximately 0.2 RPS.

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 4+ GHz

Enable Turbo Boost to reach 4+ GHz

RAM

1.5+ Gb

GPU

NVIDIA GeForce GTX 1080 Ti

  • Supported driver: NVIDIA R535 LTSB

  • Supported devices: NVIDIA, Pascal, Volta, Turing, Ampere architectures

GPU memory

2+ Gb

HDD/SSD

4.5+ Gb

Operating system

Ubuntu 18+ 64-bit PC

Note

The NVIDIA GeForce GTX 1080 Ti graphics card is capable of processing approximately 500 RPS, but it will require more physical CPU cores and more RAM. For more accurate hardware selection, contact our support team by support@ntechlab.com.

Requirements for sf-api

sf-api

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

128+ Mb

HDD/SSD

256+ Mb

Operating system

Ubuntu 18+ 64-bit PC

memcached

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

1+ Gb

HDD/SSD

128+ Mb

Operating system

Ubuntu 18+ 64-bit PC

redis

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

1+ Gb

HDD/SSD

256+ Mb

Operating system

Ubuntu 18+ 64-bit PC

upload

Important

Minimum technical requirements for storing 100,000 normalized object images.

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

1+ Gb

HDD/SSD

4+ Gb

Operating system

Ubuntu 18+ 64-bit PC

Requirements for tntapi

Important

Minimum technical requirements for storing 100,000 feature vectors of objects.

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

128+ Mb

HDD/SSD

256+ Mb

Operating system

Ubuntu 18+ 64-bit PC

Requirements for ntls

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

128+ Mb

HDD/SSD

128+ Mb

Operating system

Ubuntu 18+ 64-bit PC

Requirements for video-manager

video-manager

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

128+ Mb

HDD/SSD

128+ Mb

Operating system

Ubuntu 18+ 64-bit PC

etcd

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

128+ Mb

HDD/SSD

2+ Gb

Operating system

Ubuntu 18+ 64-bit PC

Requirements for video-storage

video-storage

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

128+ Mb

HDD/SSD

128+ Mb

Operating system

Ubuntu 18+ 64-bit PC

mongo

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

128+ Mb

HDD/SSD

1+ Gb

Operating system

Ubuntu 18+ 64-bit PC

upload

Important

Minimum technical requirements for storing video chunks of 1920x1080@25FPS per day.

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

1+ Gb

HDD/SSD

20+ Gb

Operating system

Ubuntu 18+ 64-bit PC

Requirements for video-streamer

video-streamer

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

128+ Mb

HDD/SSD

128+ Mb

Operating system

Ubuntu 18+ 64-bit PC

Requirements for deduplicator

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

128+ Mb

HDD/SSD

128+ Mb

Operating system

Ubuntu 18+ 64-bit PC

Requirements for counter

counter

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

128+ Mb

HDD/SSD

128+ Mb

Operating system

Ubuntu 18+ 64-bit PC

postgres

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

256+ Mb

HDD/SSD

256+ Mb

Operating system

Ubuntu 18+ 64-bit PC

Requirements for liveness-api

Minimum

CPU

Intel Core i3 CPU with 1+ physical cores 2+ GHz

RAM

512+ Mb

HDD/SSD

256+ Mb

Operating system

Ubuntu 18+ 64-bit PC

Required Administrator Skills

Knowledge of the OS, on which the product instance is deployed, as well as of the Docker platform at the level of an advanced user is required for a FindFace Server administrator.

Video File Formats

FindFace Server supports a wide variety of file formats depending on the acceleration type, CPU or GPU.

Both CPU- and GPU-accelerated instances support most of the popular video file formats (MP4, MKV/WEBM, AVI, FLV, WMV, OGG, etc.). Video codec support differs between CPU and GPU versions:

  • CPU-based acceleration: FLV (both as a codec and as a container), H263, H264, H265, MJPEG, VP8, VP9, MPEG1VIDEO, MPEG2VIDEO, MSMPEG4v2, MSMPEG4v3.

  • GPU-based acceleration: MJPEG, H264, H265, VP9, and others, depending on the list of codecs supported by the used video card. Apart from that, for instances with video-worker-gpu, you can expand the number of supported codecs by enabling video decoding on the CPU, which is not available by default.

To enable video decoding on the CPU for GPU-based acceleration, do the following:

  1. Open the video-worker.yaml configuration file.

    sudo vi /opt/ffserver/configs/video-worker.yaml
    
  2. Set cpu: true in the video_decoder section.

    ...
    video_decoder:
      cpu: true
    ...
    
  3. Rebuild video-worker container.

Requirements for CCTV Cameras

Face Recognition

The primary requirements for installation and characteristics of CCTV cameras in your FindFace Server-based face recognition system are the following:

  1. For correct face detection in a video stream, mount the camera so that the face of each individual entering the monitored area surely appears in the camera field of view.

  2. The vertical tilt angle of the camera should not exceed 15°. The vertical tilt is a deviation of the camera’s optical axis from the horizontal plane, positioned at the face center’s level for an average height person (160 cm).

    cctv_vertical_tilt_en

  3. The horizontal deflection angle should not exceed 30°. The horizontal deflection is a deviation of the camera’s optical axis from the motion vector of the main flow of objects subject to recognition.

    cctv_deflection_en

  4. The minimum pixel density required for identification is 500 pixels/m (roughly corresponds to a face width of 80 pixels).

    cctv_pixel_en

  5. Select such a focal length of the camera’s lenses that provides the required pixel density at a predetermined distance to the recognition objects. The picture below demonstrates how to calculate the focal length subject to the distance between the camera and recognition objects. Estimating the focal length for a particular camera requires either calculators or a methodology provided by the camera manufacturer.

    cctv_fl_en

  6. The exposure must be adjusted so that the face images are sharp (“in focus”), non-blurred, and evenly lit (not overlit or too dark).

    cctv_exposition_en

  7. For imperfect lighting conditions such as flare, too bright or too dim illumination, choose cameras with WDR hardware (Wide Dynamic Range) or other technologies that provide compensation for backlight and low illumination. Consider BLC, HLC, DNR, high optical sensitivity, Smart infrared backlight, AGC, and such.

    cctv_lighting_en

  8. Video compression: refer to Video File Formats.

  9. Video stream delivery protocols: RTSP, HTTP.

Tip

To calculate the precise hardware configuration tailored to your purposes, contact our experts by support@ntechlab.com.

Body and Vehicle Recognition

Please contact our technical support team (support@ntechlab.com) to get requirements for installation and characteristics of CCTV cameras for body and vehicle recognition.