.. _requirements: *********************************** Requirements *********************************** .. rubric:: In this chapter: .. contents:: :local: 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 :ref:`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_video-worker-cpu: Requirements for ``video-worker-cpu`` -------------------------------------- .. important:: The minimum technical requirements for processing a single video stream with a resolution of 1920x1080@25FPS, provided that 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 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. 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_video-worker-gpu: Requirements for ``video-worker-gpu`` -------------------------------------- .. important:: NVIDIA GPU accelerators with video decoding capability are supported, check out the `NVIDIA document `_ (registered Developer Program membership required for access). .. important:: The minimum technical requirements for processing a single video stream with a resolution of 1920x1080@25FPS, provided that 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, Ada, Hopper architectures) | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | GPU memory | 2+ Gb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | HDD/SSD | 7.6+ Gb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | Operating system | Ubuntu 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. tip:: The NVIDIA GeForce GTX 1080 Ti graphics card is capable of processing approximately 23 video streams with a resolution of 1920x1080@25FPS provided that there are only 3 objects in the camera frame. For more accurate hardware selection, contact our support team by support@ntechlab.com. .. _requirements_extraction-api-cpu: 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, provided that 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 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. 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_extraction-api-gpu: Requirements for ``extraction-api-gpu`` --------------------------------------- .. important:: The minimum technical requirements for processing 200 RPS. For example, processing a video stream of 1920x1080@25FPS, provided that 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, Ada, Hopper architectures) | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | GPU memory | 2+ Gb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | HDD/SSD | 7+ Gb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | Operating system | Ubuntu 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. 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_sf-api: Requirements for ``sf-api`` -------------------------------------- .. rubric:: sf-api +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | | Minimum | +==================+===========================================================================================================================================+ | CPU | Intel Core i3 CPU with 1+ physical cores 2+ GHz | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | RAM | 128+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | HDD/SSD | 256+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | Operating system | Ubuntu 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. rubric:: memcached +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | | Minimum | +==================+===========================================================================================================================================+ | CPU | Intel Core i3 CPU with 1+ physical cores 2+ GHz | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | RAM | 1+ Gb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | HDD/SSD | 128+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | Operating system | Ubuntu 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. rubric:: redis +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | | Minimum | +==================+===========================================================================================================================================+ | CPU | Intel Core i3 CPU with 1+ physical cores 2+ GHz | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | RAM | 1+ Gb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | HDD/SSD | 256+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | Operating system | Ubuntu 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. rubric:: 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 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. _requirements_tntapi: 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 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. _requirements_ntls: 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 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. _requirements_video-manager: Requirements for ``video-manager`` -------------------------------------- .. rubric:: video-manager +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | | Minimum | +==================+===========================================================================================================================================+ | CPU | Intel Core i3 CPU with 1+ physical cores 2+ GHz | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | RAM | 128+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | HDD/SSD | 128+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | Operating system | Ubuntu 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. rubric:: etcd +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | | Minimum | +==================+===========================================================================================================================================+ | CPU | Intel Core i3 CPU with 1+ physical cores 2+ GHz | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | RAM | 128+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | HDD/SSD | 2+ Gb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | Operating system | Ubuntu 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. _requirements_video-storage: Requirements for ``video-storage`` -------------------------------------- .. rubric:: video-storage +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | | Minimum | +==================+===========================================================================================================================================+ | CPU | Intel Core i3 CPU with 1+ physical cores 2+ GHz | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | RAM | 128+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | HDD/SSD | 128+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | Operating system | Ubuntu 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. rubric:: mongo +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | | Minimum | +==================+===========================================================================================================================================+ | CPU | Intel Core i3 CPU with 1+ physical cores 2+ GHz | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | RAM | 128+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | HDD/SSD | 1+ Gb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | Operating system | Ubuntu 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. rubric:: 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 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. _requirements_video-streamer: Requirements for ``video-streamer`` -------------------------------------- .. rubric:: video-streamer +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | | Minimum | +==================+===========================================================================================================================================+ | CPU | Intel Core i3 CPU with 1+ physical cores 2+ GHz | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | RAM | 128+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | HDD/SSD | 128+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | Operating system | Ubuntu 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. _requirements_deduplicator: 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 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. _requirements_counter: Requirements for ``counter`` -------------------------------------- .. rubric:: counter +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | | Minimum | +==================+===========================================================================================================================================+ | CPU | Intel Core i3 CPU with 1+ physical cores 2+ GHz | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | RAM | 128+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | HDD/SSD | 128+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | Operating system | Ubuntu 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. rubric:: postgres +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | | Minimum | +==================+===========================================================================================================================================+ | CPU | Intel Core i3 CPU with 1+ physical cores 2+ GHz | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | RAM | 256+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | HDD/SSD | 256+ Mb | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ | Operating system | Ubuntu 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. _requirements_liveness-api: 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 22+ 64-bit Server/Desktop | +------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ 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-files: 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: * :guilabel:`CPU-based acceleration`: FLV (both as a codec and as a container), H263, H264, H265, MJPEG, VP8, VP9, MPEG1VIDEO, MPEG2VIDEO, MSMPEG4v2, MSMPEG4v3. * :guilabel:`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: #. Open the ``video-worker.yaml`` configuration file. .. code:: sudo vi /opt/ffserver/configs/video-worker.yaml #. Set ``cpu: true`` in the ``video_decoder`` section. .. code:: ... video_decoder: cpu: true ... #. Rebuild ``video-worker`` container. .. _cctv: 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: #. 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. #. 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| .. |cctv_vertical_tilt_en| image:: /_static/cctv_vertical_tilt_en.png :scale: 60% .. |cctv_vertical_tilt_ru| image:: /_static/cctv_vertical_tilt_ru.png :scale: 60% #. 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| .. |cctv_deflection_en| image:: /_static/cctv_deflection_en.png :scale: 60% .. |cctv_deflection_ru| image:: /_static/cctv_deflection_ru.png :scale: 60% #. The minimum pixel density required for identification is 500 pixels/m (roughly corresponds to a face width of 80 pixels). |cctv_pixel_en| .. |cctv_pixel_en| image:: /_static/cctv_pixel_en.png :scale: 60% .. |cctv_pixel_ru| image:: /_static/cctv_pixel_ru.png :scale: 60% #. 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| .. |cctv_fl_en| image:: /_static/cctv_fl_en.png :scale: 70% .. |cctv_fl_ru| image:: /_static/cctv_fl_ru.png :scale: 70% #. 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| .. |cctv_exposition_en| image:: /_static/cctv_exposition_en.png :scale: 70% .. |cctv_exposition_ru| image:: /_static/cctv_exposition_en.png :scale: 70% #. 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| .. |cctv_lighting_en| image:: /_static/cctv_lighting_en.png :scale: 70% .. |cctv_lighting_ru| image:: /_static/cctv_lighting_en.png :scale: 70% #. Video compression: refer to :ref:`Video File Formats `. #. 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.