Revamp Face Recognition (#24236)

* Rename face model to face recognizer

* Refactor face detection into own module

* Return face and face landmarks

* Align faces with 5 points instead of just the eyes

* Add landmark validation to throw out images which do not fit a landmark

* Fix circular import and lock face detector for concurrent runs across threads

* Fix mypy
This commit is contained in:
Nicolas Mowen
2026-09-12 07:30:04 -06:00
parent e3029beba5
commit 5cef6823a6
6 changed files with 600 additions and 193 deletions
+4 -1
View File
@@ -24,7 +24,6 @@ from frigate.util.classification import kickoff_model_training
from frigate.util.path import safe_join
from frigate.util.process import FrigateProcess
from .maintainer import EmbeddingMaintainer
from .util import ZScoreNormalization
logger = logging.getLogger(__name__)
@@ -47,6 +46,10 @@ class EmbeddingProcess(FrigateProcess):
self.metrics = metrics
def run(self) -> None:
# imported here so that importing this package does not pull in the
# processors, which import back into it and form a cycle
from .maintainer import EmbeddingMaintainer
self.pre_run_setup(self.config.logger)
maintainer = EmbeddingMaintainer(
self.config,