From a1cc2449a0f17d778c23538fee9f50aa6e7ea86d Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Fri, 10 Jan 2025 10:56:19 -0700 Subject: [PATCH] Refactor post processor to be real time processor --- .../processor_api.py => data_processors/real_time/api.py} | 6 +++--- .../real_time}/face_processor.py | 8 ++++---- frigate/{postprocessing => data_processors}/types.py | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) rename frigate/{postprocessing/processor_api.py => data_processors/real_time/api.py} (88%) rename frigate/{postprocessing => data_processors/real_time}/face_processor.py (98%) rename frigate/{postprocessing => data_processors}/types.py (94%) diff --git a/frigate/postprocessing/processor_api.py b/frigate/data_processors/real_time/api.py similarity index 88% rename from frigate/postprocessing/processor_api.py rename to frigate/data_processors/real_time/api.py index 974b6f1ee..d65176eb8 100644 --- a/frigate/postprocessing/processor_api.py +++ b/frigate/data_processors/real_time/api.py @@ -5,14 +5,14 @@ import numpy as np from frigate.config import FrigateConfig -from .types import PostProcessingMetrics +from ..types import DataProcessorMetrics logger = logging.getLogger(__name__) -class ProcessorApi(ABC): +class RealTimeProcessorApi(ABC): @abstractmethod - def __init__(self, config: FrigateConfig, metrics: PostProcessingMetrics) -> None: + def __init__(self, config: FrigateConfig, metrics: DataProcessorMetrics) -> None: self.config = config self.metrics = metrics pass diff --git a/frigate/postprocessing/face_processor.py b/frigate/data_processors/real_time/face_processor.py similarity index 98% rename from frigate/postprocessing/face_processor.py rename to frigate/data_processors/real_time/face_processor.py index a75158eb2..2b12e9994 100644 --- a/frigate/postprocessing/face_processor.py +++ b/frigate/data_processors/real_time/face_processor.py @@ -16,8 +16,8 @@ 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 +from ..types import DataProcessorMetrics +from .api import RealTimeProcessorApi logger = logging.getLogger(__name__) @@ -25,8 +25,8 @@ logger = logging.getLogger(__name__) MIN_MATCHING_FACES = 2 -class FaceProcessor(ProcessorApi): - def __init__(self, config: FrigateConfig, metrics: PostProcessingMetrics): +class FaceProcessor(RealTimeProcessorApi): + def __init__(self, config: FrigateConfig, metrics: DataProcessorMetrics): super().__init__(config, metrics) self.face_config = config.face_recognition self.face_detector: cv2.FaceDetectorYN = None diff --git a/frigate/postprocessing/types.py b/frigate/data_processors/types.py similarity index 94% rename from frigate/postprocessing/types.py rename to frigate/data_processors/types.py index 464658219..fe0246058 100644 --- a/frigate/postprocessing/types.py +++ b/frigate/data_processors/types.py @@ -4,7 +4,7 @@ import multiprocessing as mp from multiprocessing.sharedctypes import Synchronized -class PostProcessingMetrics: +class DataProcessorMetrics: image_embeddings_fps: Synchronized text_embeddings_sps: Synchronized face_rec_fps: Synchronized