Face Recognition
Last updated
Last updated
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.
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.
Visionaire Face Recognition Docker Stream utilizes a combination of other services:
Postgres - For database,
Docker Snapshot - For face recognition service,
Visionaire Docker Stream - For video stream processing,
Vanilla Dashboard (Optional) - Built-in dashboard for visualization.
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 |
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 |
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.
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.
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.
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.
When you are assigning this analytics into the stream through the dashboard, you may configure some parameters setting below:
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. |