Implement facenet tflite for small face recognition model (#17402)

This commit is contained in:
Nicolas Mowen
2025-03-27 05:31:29 -06:00
committed by GitHub
parent 0947bffeef
commit 36446ceded
6 changed files with 227 additions and 98 deletions

View File

@@ -21,8 +21,8 @@ from frigate.config import FrigateConfig
from frigate.const import FACE_DIR, MODEL_CACHE_DIR
from frigate.data_processing.common.face.model import (
ArcFaceRecognizer,
FaceNetRecognizer,
FaceRecognizer,
LBPHRecognizer,
)
from frigate.util.image import area
@@ -78,7 +78,7 @@ class FaceRealTimeProcessor(RealTimeProcessorApi):
self.label_map: dict[int, str] = {}
if self.face_config.model_size == "small":
self.recognizer = LBPHRecognizer(self.config)
self.recognizer = FaceNetRecognizer(self.config)
else:
self.recognizer = ArcFaceRecognizer(self.config)
@@ -412,10 +412,6 @@ class FaceRealTimeProcessor(RealTimeProcessorApi):
prominent_name = max(score_count)
# if a single name is not prominent in the history then we are not confident
if score_count[prominent_name] / len(results_list) < 0.65:
return "unknown", 0.0
return prominent_name, weighted_scores[prominent_name] / total_face_areas[
prominent_name
]