Flussonic Watcher Documentation

Face Recognition

The Flussonic Watcher system can recognize human faces. This feature is used to solve various problems:

  • Organization of access without attaching a card in an access control system
  • Employee time tracking
  • Accounting for incoming/outgoing traffic of people
  • Automatic identification or verification of persons when performing various actions


First you need to install the video analytics module.

Installing the video analytics module

The ANPR module can work both in cluster and single mode of Flussonic and Watcher installation.

Attention. In a cluster installation, the number recognition module works on a streamer server, where Flussonic Media Server must be installed first. If you use a single server, install Flussonic Media Server and Watcher before you install the recognition system.

Video analytics takes place on a streaming server in cluster mode or on a managing server in single mode. To this server, you need to connect cameras that transmit video from the place where you want to detect car numbers. This server must have at least one high-performance video card GPU NVIDIA with at least 6 Gb video memory.

System requirements for Flussonic's video analytics module

  • ОS: x64 Ubuntu 16.04, 18.04, 20.04
  • GPU: Nvidia (Pascal) minimum 6 GB VRAM (for a certain project we could tell more exactly how much memory is required).
  • CPU: 4+ cores
  • RAM: 8+ GB
  • Flussonic Media Server (on streamers in a cluster)
  • Flussonic Media Server + Watcher (single server)

Installation video card driver for Nvidia в Ubuntu 16.04

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
dpkg -i cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

Installation video card driver for Nvidia в Ubuntu 18.04 and 20.04

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda-10-0

Installing the Flussonic video analytics plugin

After installing the video card driver, you should proceed with installing the Flussonic Vision video analytics plugin. To do this, run the commands:

apt update
apt install flussonic-vision

Turning on face detection on a video camera


  1. Update Flussonic Watcher to the latest version.
  2. Enable the video analytics plugin. To do so, add to the file /etc/flussonic/flussonic.conf the following line:
plugin vision {
  jpeg_vector_helper 1;

Turning on face detection on a video camera

To start detect and recognize faces:

  1. In the Watcher UI, go to Cameras. Find the camera in the list and open its settings by clicking the icon in the upper right corner of the player.

  2. Select the License plate recognition check box and click Save.

  3. Open the file /etc/flussonic/flussonic.conf and the settings of the camera add the vision option, specifying the faces algorithm and GPU number:

stream face-detection-test {
  url fake://fake;
  auth auth://vsaas;
  vision alg=faces gpu=0;
  • gpu (required) – GPU number. You can get it by using the nvidia-smi tool.

Face detection

The face detection mode is useful if you need to:

  • Eliminate false triggering of the motion detector on foliage, animals, or other moving objects.
  • Accumulate a person database, which can later be used to divide people into lists.
  • Get statistical information about the passages of unique faces under the camera.

After turning on face recognition on the camera, all recognized faces will fall into the Events section, and the following information will be displayed: a photo of the face at the time of recognition, the date and time of recognition, the name of the person (if added to any list), and the ability to uploading a screenshot or video with the process of passing a person under the camera.

Face recognition

Face lists

To implement the tasks of identification and verification, when you need to answer the questions "Who is this?" and “Is this him?”, lists of faces are needed. They allow you to set the names found in the image to the appropriate names and identifiers and use them in other systems (for example, when integrating with access control systems, when you want to allow only employees of a particular office to enter the door).

To view the current lists of persons, go to the Events -> Faces section and click the Person lists button.

The lists of persons that were created earlier will be opened, as well as a list of persons found on the video that do not belong to any list.

Face recognition

To view the list of persons and information about persons in it, click the list and then select the person you are interested in.

Face recognition

To add a new list, click the button Create a List, enter its name and indicate which cameras will search for persons on this list. One camera can serve only one list of faces.

Face recognition

After the list is created, you can add persons. To do this, go to the persons list and click Add Person.

In the form that opens, enter the name of the person, upload their reference photo, which will be used to compare it with all people passing by, then specify which list of people the person will belong to, and also add an arbitrary note.

Face recognition

In addition, you can edit information about an unidentified person that was seen by the camera. To do this, open the list of unidentified persons, find the photo from the camera of the person you are looking for and click Edit. After that, enter the information on the person - name, note, and the list of persons.

Face recognition

Now you have added the list and added several persons to it. As the persons pass under the camera, events about their passages will appear in the system on the Events tab. If a known person (from a list) passed under the camera, then the person’s name will be indicated in the event, and if the person was not in any list, then it will be automatically created in the list of unidentified persons and an identifier will be assigned to them.

You can perform search in the list of events. For example, you can find a list of all events of the passage of a person with a given name before the camera. This list can be exported to CSV and analyzed using third-party tools.

Subscribing to face recognition events

When we talk about integration with other systems so that the recognition system initiates an action in another system, this means sending real-time events about face recognition facts for faces from lists. For example, in order to integrate face recognition with access control, information about the fact of face recognition in real time must be transferred to a third-party server.

To do this, we use the mechanism for subscribing to face recognition events. Configure the subscription using the appropriate API methods (will be added soon) (https://flussonic.github.io/watcher-docs/api.html).

Counting unique faces

Flussonic Watcher can organize a count of unique faces, which has an advantage over the standard head count for many use cases, in particular for retail, where data on the appearance of new faces is more important than the total number of passes, because shop employees will take a significant proportion of all passes, not potential buyers.

You can use the count of unique faces when building your own user interfaces and graphs in personal accounts. In this case, the initial data can be obtained from Flussonic Watcher.

To obtain data on the number of unique passes, it is necessary to use the API method (will be added soon) (https://flussonic.github.io/watcher-docs/api.html). The method takes the time interval for which it is necessary to obtain the number of unique faces, as well as distribution parameters - by hours, days, weeks, or months.