Requirements and recommendations🔗

Image

The camera must be fixed in position.

The camera tilt angle must be between 40 and 70 degrees to the vertical plane.

A person to be counted must have at least 70% of its head visible.

The people may overlap each other but to ensure detection of both the overlapped and the one who overlaps him/her the overlapping in the head and shoulders area shall not exceed 30%.

The head and shoulders of a person must comprise at least 10% of the largest dimension of the counting zone and have a size of at least 30×30 pixels.

The head and shoulders of a person must comprise less than 50% of the largest dimension of the counting zone.

The image must be in color.

The image must have a moderate contrast; the people must be distinguishable from the background.

The people to be detected must not be too blurred.

The image compression rate shall ensure the medium or better image quality; the compression must not create significant artifacts.

The optimal image resolution for ensuring proper operation of the module is HD or FullHD.

Hardware and software

Warning

install the Eocortex Neural Networks package package must be installed before it will be possible to use neural networks-based features of the module.

The following equipment is required to use this neural network-based module:

  • A processor that supports AVX instructions is required;

  • Swap file at least half of the total RAM size.

It is also possible (optional) to use a video card. In this case, an NVIDIA video card (GPU) with a computing capability index of at least 6.5 and a memory size of at least 4GB is required, and the characteristics and performance of the graphics card must be at least as good as the NVIDIA GTX 1650 Super.

If the package will be installed on a virtual machine, it may additionally be required to:

  • Enable support for AVX instructions in the guest machine settings;

  • Use GRID drivers for GPU virtualization.

Warning

Eocortex must use video cards selected for running neural networks in monopoly mode. It is not allowed to use such card for other applications or tasks that consume GPU resources, including for displaying video. Simultaneous use of a video card for several tasks may lead to incorrect system operation: from analytics performance degradation to server instability.

Warning

The neural network works with the 64-bit version of Eocortex only.

Warning

When upgrading Eocortex to another version, it is necessary to also upgrade the install the Eocortex Neural Networks package package to the corresponding version.

Performance

The time it takes the CPU to process one frame, depending on the CPU used, may be up to 2 seconds.

The time it takes the module to update the data for each camera is in a linear dependence of the number of cameras using the module.

The usage of the GPU permits to lessen the CPU load and reduce the time of processing of one frame.

All the cameras are processed by the same module, so the increase of the number of cameras using the module does not lead to the proportional raise of the computational load; only the decoding time for each additional camera will be longer.

When the module operates on the CPU, its load will always be relatively high, so it is advisable to use the GPU for the module’s operation.

The architecture of the module is such that when it is launched on even a single camera, the module immediately allocates a large volume of computing resources for its needs. When the number of cameras using the module is increased later, the load is only moderately increased.

Directly after the launching, the module allocates a significant amount of RAM — around 1,5 Gb. After several minutes the majority of the resources is freed and the usage of RAM by the module becomes low.