diff --git a/frigate/embeddings/maintainer.py b/frigate/embeddings/maintainer.py index c98cee2ce..9a6934ba8 100644 --- a/frigate/embeddings/maintainer.py +++ b/frigate/embeddings/maintainer.py @@ -76,7 +76,7 @@ class EmbeddingMaintainer(threading.Thread): self.processors: list[ProcessorApi] = [] if self.config.face_recognition.enabled: - self.processors.append(FaceProcessor(self.config.face_recognition, db)) + self.processors.append(FaceProcessor(self.config.face_recognition, metrics)) # create communication for updating event descriptions self.requestor = InterProcessRequestor() diff --git a/frigate/postprocessing/face_processor.py b/frigate/postprocessing/face_processor.py index 06760522e..7d4c6b250 100644 --- a/frigate/postprocessing/face_processor.py +++ b/frigate/postprocessing/face_processor.py @@ -11,13 +11,13 @@ from typing import Optional import cv2 import numpy as np import requests -from playhouse.sqliteq import SqliteQueueDatabase from frigate.config import FrigateConfig from frigate.const import FACE_DIR, FRIGATE_LOCALHOST, MODEL_CACHE_DIR from frigate.util.image import area from .processor_api import ProcessorApi +from .types import PostProcessingMetrics logger = logging.getLogger(__name__) @@ -26,10 +26,9 @@ MIN_MATCHING_FACES = 2 class FaceProcessor(ProcessorApi): - def __init__(self, config: FrigateConfig, db: SqliteQueueDatabase): - super().__init__(config) + def __init__(self, config: FrigateConfig, metrics: PostProcessingMetrics): + super().__init__(config, metrics) self.face_config = config.face_recognition - self.db = db self.face_detector: cv2.FaceDetectorYN = None self.landmark_detector: cv2.face.FacemarkLBF = None self.face_recognizer: cv2.face.LBPHFaceRecognizer = None diff --git a/frigate/postprocessing/processor_api.py b/frigate/postprocessing/processor_api.py index c5ca0b3ec..4d50d9b0f 100644 --- a/frigate/postprocessing/processor_api.py +++ b/frigate/postprocessing/processor_api.py @@ -5,13 +5,16 @@ import numpy as np from frigate.config import FrigateConfig +from .types import PostProcessingMetrics + logger = logging.getLogger(__name__) class ProcessorApi(ABC): @abstractmethod - def __init__(self, config: FrigateConfig) -> None: + def __init__(self, config: FrigateConfig, metrics: PostProcessingMetrics) -> None: self.config = config + self.metrics = metrics pass @abstractmethod