Architecture

FindFace Security is deployed on a single host (standalone) or in a cluster environment.

FindFace Security is delivered in the following distributable packages:

  • A package with the FindFace Security components <findface-security-repo>.deb.
  • Packages with the biometric neural network models <findface-data>.deb.

The packages are delivered as is, or as part of the installer.

The FindFace Security functioning is provided by interaction of the following components:

Component Description
PostgreSQL A database which stores detailed and categorized dossiers on particular persons, their biometric data, and face identification events. It also stores data for internal use such as user accounts and camera settings. To be installed from the Ubuntu repository (along with Redis).
ffsecurity A service which interfaces with all the components to provide the system functioning. Includes findface-security-proto (provides HTTP and web socket) and findface-security-worker (provides interaction between the other system components). First, findface-security gets a normalized image, full frame, and meta data of a detected face from video-worker. It then redirects the normalized image to the extraction-api service to extract biometric data. The findface-postgres-facen extension uses the face biometric data to find a set of most similar faces in the dossiers. The face identification event along with the search result is then saved into the PostgreSQL database. You can configure your system to save and display an event only if the similarity between a detected face and some face in the dossiers exceeds a pre-defined threshold, i. e. the faces match (the IGNORE_UNMATCHED option at /etc/ffsecurity/config.py, see Basic Configuration). The ffsecurity service also provides a search engine that searches the event and dossier database for a given face.
videomanager-api A service, part of the video face detection module, that is used for managing the video face detection functionality. Use it to configure the video face detector settings and to specify the list of video streams to process.
video-worker A service, part of the video face detection module, which recognizes a face in video and posts its normalized image, full frame and meta data (such as the camera ID and detection time) to the ffsecurity service.
extraction-api A service which extracts face biometric data (feature vector). Requires the packages with the neural network models <findface-data>.deb.
findface-postgres-facen A PostgreSQL extension which calculates similarity between a newly detected face and faces in the dossiers, by comparing their biometric data.
ffsecurity-ui Use the web interface to work with face identification events, search for faces, manage cameras, users, dossiers, and watch lists.
NTLS A license server which interfaces with the NtechLab Global License Server or a USB dongle to verify a license.
etcd Third-party software that implements a distributed key-value store for the videomanager-api component. Used as a coordination service in the distributed system, providing the video face detector with fault tolerance.
   

Note

Use the web interface to work with FindFace Security.

Note

To purge old events from the database, use the event-cleaner utility.