Face Recognition

Nodeflux Face Recognition (Docker Stream) is a Vision Artificial Intelligence Analytics Software which provides accurate searching and recognition with searching mechanism 1:N. Using Deep Learning Algorithm to enhance the accuracy of facial inferencing, Nodeflux Face Recognition automatically performs Facial Verification and Facial Identification which is detects facial features and classifies them into recognized or unrecognized persons.

Nodeflux Face Recognition Model

Docker Stream is capable of receiving input from real-time streaming directly from an RTSP camera or recorded video. This analytic can be integrated with an external database or by creating a new database using PostgreSQL.

Face Recognition 1:N Analytics

Architecture

Visionaire Face Recognition Docker Stream utilizes a combination of other services:

  1. Postgres - For database,

  2. Docker Snapshot - For face recognition service,

  3. Visionaire Docker Stream - For video stream processing,

  4. Vanilla Dashboard (Optional) - Built-in dashboard for visualization.

Architecture

Camera Specification

Camera Settings
Face Recognition
General Analytics

Frame Resolution

1080p - 4K

720p - 1080p

Codec

H.264

H.264

Codec Profile

High

Baseline

Bit Rate Mode

Variable (VBR)

Variable (VBR)

Target Bitrate

2 - 6 Mbps

1 - 4 Mbps

FPS Rate

25 - 30

15 - 30

Bandwidth

4 Mbps

4 Mbps

Exposure Time/Shutter Speed

1/60s - 1/250s

1/30s - 1/120s

Camera Placement

The maximum distance can be seen in the table below:

Height of Installation (m)

Angle (degree)

Estimated Maximum Detection Distance* (m)

2

45

2

2.5

45

2.5

2

60

3.55

1. Camera Placement Guidelines for Face Recognition

  • Height: Position cameras at an average human face height, roughly between 150 cm to 180 cm.

  • Distance: For short to medium range, place cameras within approximately 450 cm to 900 cm from the target area. This range is crucial to capture sufficient facial detail.

  • Location: Select locations with minimal obstructions and consistent human traffic for effective face recognition.

2. Lighting for Optimal Face Recognition

  • Uniform Lighting: Aim for evenly distributed lighting to prevent shadows or overly bright spots on faces.

  • Avoid Backlighting: Ensure that light sources are not directly behind subjects to prevent silhouetted images.

  • Natural vs. Artificial Light: Use natural light when possible, supplemented with artificial light for consistency. Avoid flickering light sources like fluorescent lights.

3. Angle of Capture for Face Recognition

  • Direct Angles: Target frontal or near-frontal angles of capture for faces. Ideal angles are within 0 to 30 degrees from a direct line of sight.

  • Avoid High or Low Angles: Steep angles can cause distortion of facial features, affecting recognition accuracy.

  • Multi-Camera Setups: For covering different angles, consider deploying multiple cameras at strategic positions.

4. Camera Image Settings for Face Recognition

  • Resolution: Utilize cameras with high resolution (at least 1080p) to capture detailed facial features.

  • Frame Rate: A higher frame rate, such as 30fps or more, ensures smoother footage for capturing clear images of moving subjects.

  • Focus and Zoom: Enable auto-focus to adjust for varying subject distances. Avoid excessive zoom as it can degrade image quality.

  • Exposure and Contrast: Set exposure and contrast levels appropriately to ensure faces are neither overexposed nor too dark.

Analytics Configuration

When you are assigning this analytics into the stream through the dashboard, you may configure some parameters setting below:

{
    "dumping_interval": 0, //default value
    "dumping_confidence_threshold": 0, //default value
    "fr_primary_threshold": 0.9, //default: 0.9 for frontal, otherwise 0.4
    "fr_secondary_threashold": 0.4, //default value
    "sampling_time_ms": 50, //default value
    "frontal_only": true, //default value, otherwise false
    "matching_iou_threshold": 0.7 //default value
    "bbox_filter_active": true, //default value, otherwise fase
    "bbox_filter_threshold": 3.0 //default
}
Parameter
Explanation

dumping_interval

or FR_MAX_DUMP_COUNT. An integer specifying the minimum time interval for dumping; increasing this value reduces the intensity of dumping

dumping_confidence_threshold

A float that sets the minimum threshold for dumping a certain identity; increasing the value enhances precision but reduces sensitivity.

fr_primary_threshold

A float for the primary face detection threshold, customizable to the user's needs.

fr_secondary_threshold

A float for the secondary face detection threshold, also customizable.

sampling_time_ms

An integer defining the time interval for passing detected faces from the primary to the secondary face detector; modifying this value affects the intensity in the secondary model.

frontal_only

A boolean indicating whether to pass only frontal faces to the secondary face detector and facial recognition; turning this off may improve sensitivity on non-frontal cameras/views but could reduce accuracy.

matching_iou_threshold

A float determining the minimum value of intersection between primary and secondary detections needed to be considered a true detection; decreasing the IOU (Intersection Over Union) may increase sensitivity.

bbox_filter_active

A boolean that activates or deactivates face filtering based on the bounding box; setting it to True activates the filter.

bbox_filter_threshold

A float that sets the minimum threshold for categorizing an object as an outlier based on a z-score; a z-score greater than 3.0 means the object is detected as an outlier or excluded from detections.

Sample View

Directly facing towards the queue line to get best face detection process
Camera placement is effective to capture every person entering the building from outside, but not involving high traffic
Capturing people faces in single line queue
not the best view but still covering face detection process

View to Avoid

Camera placement is too far and Too much crowded people to be get good inference process
Face detection is hard to be processed
The scenery view is distracted with other objects
Camera view is not directed to detect face intentionally

Last updated

Was this helpful?