Detection Preferences
The Detection Preferences tab allows you to configure facial, badge, and person detection characteristics.
Note that if both face detection and person detection are enabled, face objects can be associated with the appropriate person objects, thus enabling SAFR to continue tracking people even when they turn their faces away from the camera. See the Face Detection-Person Detection Tie-In topic for more information about this feature.
- For Mode: Specifies which operator mode is affected by the current settings on this menu. See here for information about the different modes.
The Enable face detector check box must be selected to enable face recognition.
- Detection service: Specifies which face detection service will be used.
- Standard: The standard facial detection service that SAFR uses.
- High Sensitivity: A high sensitivity facial detection service which has a lower latency and whose performance doesn't degrade when multiple faces are being analyzed simultaneously. The high sensitivity service consumes many more GPU resources than the standard service.
- Automatic: This value will automatically select the high sensitivity service if sufficient GPU resources are available to run it. If there are insufficient GPU resources, then the standard service is used instead.
- SAFR: macOS only. The face detection service that ships with SAFR. We strongly recommend that you use SAFR.
- Coreimage: macOS only. A face detection service native to Apple. Its performance is comparable to SAFR's, but it's slightly less accurate.
- Vision: macOS only. A face detection service native to Apple that's faster but much less accurate than either SAFR or Core Image.
- Input Size: This setting is only available if you selected High Sensitivity for the Detection service setting above. The Input Size setting allows you to manage the trade-off between accuracy vs. speed. There are 3 possible values:
- Normal: This is the standard against which the other 2 possible values are measured.
- Small: This value has decreased accuracy but increased speed.
- Large: This value has increased accuracy but decreased speed.
- Detection Sensitivity Threshold: The sensitivity threshold when using the High Sensitivity facial detection service. The lower this value is, the more lenient the facial detection service will be when attempting to recognize a face, which can result in additional false positives. This setting is only available if you selected High Sensitivity for the Detection service setting above.
- Reduce vertical input image size to: Represents the vertical size in pixels to which the image scanned by the camera is scaled in order to perform face detection. Scaling down reduces CPU usage. 720-pixel resolution is usually sufficient for high-quality face detection without slowing down the CPU.
Vertical size can be reduced to 640-pixels and even 480 to greatly reduce CPU usage for face detection, but this reduces the ability to detect and recognize smaller faces.(e.g. faces farther away from the camera)
- Minimum searched face size: Defines the minimum face size that can be detected. A searched size of 80, for example, can still manage to detect faces as small as 60x60, but with lower certainty. Lowering this number enables SAFR to detect much smaller faces but also greatly increases CPU usage. This setting is only available if you selected Standard for the Detection service setting above.
- Minimum required face size: Defines the minimum required size for a face to be detected. Any face smaller than the height or width is ignored.
This is typically set when face detection needs to be limited only to large faces, which indicates a face being closer to the camera. It may not be desirable, for example, to cause a lot of detection events for faces that are too far from a camera to be considered necessary for attention by SAFR.
- Consecutive confirmations required: This setting adds consecutive confirmations to the SAFR facial recognition to create more reliable detections. Increase this setting for more reliable but slower facial detection.
- Generate recognizer hint for detected faces: Optimizes facial recognition. This setting should usually be enabled, it can be disabled to improve performance if detection is being performed at very low resolutions. Note that if this setting is disabled, recognition accuracy will be reduced.
- Use custom detection thresholds: This setting is only available if you selected Standard for the Detection service setting above. Allows you to customize the detection threshold. When this setting is checked, you can click on the Configure button to do the customization.
- Initial candidate selection threshold: Initial face candidate threshold that is used during face detection.
- Middle candidate selection threshold: Middle face candidate threshold that is used during face detection.
- Final candidate selection threshold: Final face candidate threshold that is used during face detection.
- Frame buffer size: Sets the size of the frame buffer.
- Maximum detectors per feed: Windows only. Specifies the maximum number of detectors that can run concurrently on the same feed.
The Enable RGB liveness detector check box must be selected to enable RGB liveness detection. It's only available on Windows machines containing an NVidia card that provides GPU. For a full description of how RGB liveness works, please see the liveness detection topic.
- Activate only when recognized faces are in the scene: Windows only. RGB liveness detection is only performed on recognized faces.
- Minimum required face size: Windows only. The minimum required height and width of a face, in number of pixels, for the Texture Model to be used.
- Minimum required face context size: Windows only. The minimum required extra context around faces for the Context Model to be used.
- Minimum required center pose quality: Windows only. The minimum face center pose quality for RGB liveness detection to be used.
- Minimum required face sharpness quality: Windows only. The minimum face sharpness quality for RGB liveness detection to be used.
- Minimum required face contrast quality: Windows only. The minimum face contrast quality for RGB liveness detection to be used.
- Minimum preliminary liveness threshold: Windows only. For multimodal detection schemes, this is the liveness threshold which the first evaluated model (the Texture Model) must exceed before SAFR will bother evaluating the second model. If this threshold is not met, SAFR immediately returns NOTLIVE_CONFIRMED for the subject.
- Liveness detection threshold: Windows only. Specifies how difficult it will be for a subject to be verified as LIVENESS_CONFIRMED.
- Fake detection threshold: Windows only. Specifies how difficult it will be for a subject to be verified as NOTLIVE_CONFIRMED.
- Detection scheme: Windows only. Specifies which RGB liveness model(s) should be used.
- Texture Unimodal: Only the Texture model will be used. This setting is deprecated.
- Context Unimodal: Only the Context model will be used.
- Hybrid Unimodal: Only the Hybrid model will be used. The Hybrid model uses both texture and context evaluation to evaluate liveness. This is the preferred Detection scheme for most scenarios.
- Context Multimodal: Both the Context and Hybrid models will be used. Subjects pass the RGB liveness test when the result of either model meets or exceeds the Liveness detection threshold value. This value should be used instead of Hybrid Unimodal when false positives need to be reduced at the expense of having more false negatives.
- Strict Multimodal: Both the Texture and Context models will be used. For a subject to pass the RGB liveness test, both of the results of the models must meet or exceed the Liveness detection threshold value. This is the default option. Due to problems with the Texture model, we don't recommend using this setting.
- Normal Multimodal: Both the Texture and Context models will be used. For a subject to pass the RGB liveness test, the average of the results of the two models must meet or exceed the Liveness detection threshold value. Due to problems with the Texture model, we don't recommend using this setting.
- Tolerant Multimodal: Both the Texture and Context models will be used. Subjects pass the RGB liveness test when the result of either model meets or exceeds the Liveness detection threshold value. Due to problems with the Texture model, we don't recommend using this setting.
- Evaluate liveness over N frames: Windows only. The number of frames over which liveness should be evaluated.
- Evaluate fake over N frames: Windows only. The number of frames over which fakeness should be evaluated.
- Minimum confirmations required: Windows only. The percentage of frames that must meet the liveness or fake threshold for the subject to be declared either LIVENESS_CONFIRMED or NOTLIVE_CONFIRMED.
The Enable badge detector check box must be selected to enable badge detection. Badges are visual representations of users that are quicker and easier to detect than faces. Compared to faces, they are easier to detect and recognize when rotated and when used in low light conditions.
- Reduce vertical input image size to: Represents the vertical size a scanned image (badge) is scaled to in order to detect the badge. Scaling down the image reduces CPU usage.
If your badges are very small, we don't recommend changing this setting.
- Minimum searched badge size: Defines the minimum badge size that can be detected. Lowering this value enables SAFR to detect very small badges (down to 15x15 pixels) at the cost of increasing the CPU usage. Conversely, increasing this value reduces CPU usage but requires larger badges for successful detection.
- Minimum required badge size: Use this setting to require a minimum badge size in pixels. Any badge smaller than this value in either height or width is ignored. This setting is mainly used when badge detection is only expected to occur when the badges are close to the camera. (When cameras are close to the camera, the badge sizes are guaranteed to be larger.) If this value is set too small, SAFR could create many detection events for badges that are far from the camera and therefore not of interest.
- Consecutive confirmations required: This setting adds consecutive confirmations to the SAFR detection to create more reliable detections. Increase this setting for more reliable but slower badge detection. Decrease it for faster but slightly less reliable detection.
- Detection service: Specifies which badge detection method will be used. Depending on the capabilities of your cameras, lighting conditions, and other variables, certain options may work better with your environment than others.
You can choose from the following options:
- apriltags: Basic badge detection.
- rhinotagsLite: The fastest badge detector, but it has a lower tolerance for motion blur. It requires cameras with a fast shutter speed.
- rhinotagsTeam: Faster badge detector, but it has little resilience to motion blur.
- rhinotagsFlex: Fast badge detector with moderate resilience to motion blur.
- rhinotagsFull: Badge detector with robust handling under various conditions and a strong resilience to motion blur.
rhinotagsFull is the recommended option.
Note that "rhinotags" refer to the same set of badges as "apriltags"; the two different terms are used to differentiate the algorithms that SAFR uses to evaluate the badges. A full set of badge images supported by SAFR is available at https://github.com/anqixu/apriltag/tree/master/tag36h11.
- It is recommended these images be re-sized to at least 2" x 2" size using the nearest neighbor algorithm (to maintain sharp edges) before use with SAFR.
- Although a single badge of displayed format can express only 587 different IDs, multiple badges can be combined to increase the number of expressible IDs into the billions. For example, using 6 badges provides over 827 billion expressible IDs.
- Frame buffer size: Sets the size of the frame buffer.
- Maximum detectors per feed: Windows only. Specifies the maximum number of detectors that can run concurrently on the same feed.
Only available on Windows. The Enable person detector check box must be selected to enable person detection.
Note: Person detection is not available on the Lite Desktop Client.
- Minimum required person to screen proportion: Specifies the ratio of the person to the screen height. This can be between 0 - 1 and allows for decimal precision. For example, if you don't want the person to show up unless they are greater than 25% of the image height, specify a value of 0.25.
- Consecutive confirmation required: Number of consecutive detections that are required before reporting that the person (based on object id) was actually detected. This setting can be used to filter out false positives.
- Detect persons every: This can be used to avoid running person detection on every frame. Since person detection requires a lot of GPU processing if the hardware is not powerful enough this value can be changed so that you only attempt to detect people every Nth frame to save processing power to keep up with real-time detection.
- Person detection threshold: Detection threshold to use when matching persons. The higher the threshold the more strict the matching will be and the higher the confidence will be that the actual person matches.
- Person separation threshold: Threshold controlling the person separation when the persons are overlapping. This determines how much overlap is needed before no longer detecting the object with the weaker footprint.
- Detection service: This setting may have one of 3 values:
- Maximum accuracy: Uses a larger model for the best accuracy, but the speed will be the slowest of the 3 options.
- Maximum speed: Uses a smaller model for the fastest speed, but the accuracy will be the lowest of the 3 options.
- Balanced: Uses a medium-sized model to have average precision and speed.
- Input size: Sets the person detector input size. This setting allows you to manage the trade-off between accuracy vs. speed. There are 3 possible values:
- Normal: This is the standard against which the other 2 possible values are measured.
- Small: This value has decreased accuracy but increased speed.
- Large: This value has increased accuracy but decreased speed.
- Frame buffer size: Sets the size of the frame buffer.
- Maximum detectors per feed: Specifies the maximum number of detectors that can run concurrently on the same feed.
macOS only. Internal use only.
- Max Simultaneous Detections: macOS only. Specifies the maximum number of detectors across all video feeds that can be used on this Desktop Client. This setting defaults to the number of cores that your machine has. We strongly recommend that you do not change this setting; doing so could greatly decrease your system's performance.