About Video Face Detection

To add video face detection to your FindFace Server Enterprise SDK instance, you need the fkvideo_detector component. This component extracts faces from video and posts them to FindFace Server over API for further processing. It can work with both live streams and files, and supports all video file formats and codecs that can be decoded by FFmpeg.

In this section:

Installation

Install fkvideo_detector from the <findface-repo>.deb package on one of the FindFace Server hosts or on a separate host:

Tip

Click here for the package preparation instruction.

sudo apt-get update
sudo apt-get install fkvideo-detector

How It Works

Motion Detection and Face Tracking

When processing video, fkvideo_detector consequently uses the following algorithms:

  • Motion detection. This algorithm is aimed to reduce system resources consumption. Only when the motion detector recognizes motion of certain intensity in video that the face tracker can be triggered.

  • Face tracking. The face tracker tracks, detects and captures faces from video, and posts them to FindFace Server. It can simultaneously process several faces.

    Tip

    Configure the maximum number of processed faces in the fkvideo_detector configuration file.

    Each captured face is posted as a snapshot and a bbox in a request /face or /identify, depending on the configuration settings. If there are several active trackers, the face tracker sends the same number of requests with a unique snapshot and bbox in each.

Configuration and Usage

To configure fkvideo_detector, you can specify its options in any of the following ways:

  • As command line arguments upon starting fkvideo_detector.

    fkvideo_detector [options]
    
  • As parameters in the fkvideo_detector configuration file.

    Warning

    The default fkvideo_detector configuration file is /etc/fkvideo.ini. Avoid editing /etc/fkvideo.ini, especially if fkvideo_detector and FindFace Web UI are running on the same host, as FindFace Web UI also uses this configuration file. Instead, make a copy of this file, edit the copy and specify it in the option -c when starting fkvideo_detector.

    sudo cp /etc/fkvideo.ini /etc/fkvideo_example.ini
    
    fkvideo_detector -c /etc/fkvideo_example.ini
    

See Configuration Parameters for the full option list.

Video Stream Management

You can specify video streams to be processed by fkvideo_detector as follows:

  • A single stream can be specified directly by using the --camid and --source options when configuring fkvideo_detector.
  • A list of streams has first to be posted to FindFace Server by applying the /camera POST method to each stream. When posting, all streams in the list have to be assigned a common user-defined string, so called detector. This string should then be specified as the --detector-name option when configuring fkvideo_detector. In this case, fkvideo_detector will retrieve the list of streams from FindFace Server, based on their detector-name, and begin to process each stream individually. It will also be periodically updating the list of cameras from FindFace Server with a polling interval defined by the reload-timeout parameter.