Compare commits

...
Author SHA1 Message Date
Jozef HuscavaandGitHub 13f75f2d88 Merge 433ee15275 into 775ce22204 2026-07-14 18:03:06 +08:00
Jozef Huscava 433ee15275 Make face detection_threshold effective below 0.5
FaceDetectorYN was created with a hardcoded score_threshold of 0.5, so
configured face_recognition.detection_threshold values below 0.5 had no
effect: lower-confidence faces were discarded inside OpenCV before the
config threshold was applied as a post-filter.

On cameras with low-resolution detect streams (e.g. 736x416 substreams),
real faces routinely score 0.3-0.5 in YuNet, so face recognition never
ran on them even though the embedding model handles such crops well.

Cap the internal threshold at the configured value instead.
2026-07-12 14:48:02 +02:00
+1 -1
View File
@@ -127,7 +127,7 @@ class FaceRealTimeProcessor(RealTimeProcessorApi):
os.path.join(MODEL_CACHE_DIR, "facedet/facedet.onnx"), os.path.join(MODEL_CACHE_DIR, "facedet/facedet.onnx"),
config="", config="",
input_size=(320, 320), input_size=(320, 320),
score_threshold=0.5, score_threshold=min(0.5, self.face_config.detection_threshold),
nms_threshold=0.3, nms_threshold=0.3,
) )
self.faces_per_second.start() self.faces_per_second.start()