Refactor post processor to be real time processor

This commit is contained in:
Nicolas Mowen 2025-01-10 10:56:19 -07:00
parent b51ac37496
commit a1cc2449a0
3 changed files with 8 additions and 8 deletions

View File

@ -5,14 +5,14 @@ import numpy as np
from frigate.config import FrigateConfig from frigate.config import FrigateConfig
from .types import PostProcessingMetrics from ..types import DataProcessorMetrics
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
class ProcessorApi(ABC): class RealTimeProcessorApi(ABC):
@abstractmethod @abstractmethod
def __init__(self, config: FrigateConfig, metrics: PostProcessingMetrics) -> None: def __init__(self, config: FrigateConfig, metrics: DataProcessorMetrics) -> None:
self.config = config self.config = config
self.metrics = metrics self.metrics = metrics
pass pass

View File

@ -16,8 +16,8 @@ from frigate.config import FrigateConfig
from frigate.const import FACE_DIR, FRIGATE_LOCALHOST, MODEL_CACHE_DIR from frigate.const import FACE_DIR, FRIGATE_LOCALHOST, MODEL_CACHE_DIR
from frigate.util.image import area from frigate.util.image import area
from .processor_api import ProcessorApi from ..types import DataProcessorMetrics
from .types import PostProcessingMetrics from .api import RealTimeProcessorApi
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -25,8 +25,8 @@ logger = logging.getLogger(__name__)
MIN_MATCHING_FACES = 2 MIN_MATCHING_FACES = 2
class FaceProcessor(ProcessorApi): class FaceProcessor(RealTimeProcessorApi):
def __init__(self, config: FrigateConfig, metrics: PostProcessingMetrics): def __init__(self, config: FrigateConfig, metrics: DataProcessorMetrics):
super().__init__(config, metrics) super().__init__(config, metrics)
self.face_config = config.face_recognition self.face_config = config.face_recognition
self.face_detector: cv2.FaceDetectorYN = None self.face_detector: cv2.FaceDetectorYN = None

View File

@ -4,7 +4,7 @@ import multiprocessing as mp
from multiprocessing.sharedctypes import Synchronized from multiprocessing.sharedctypes import Synchronized
class PostProcessingMetrics: class DataProcessorMetrics:
image_embeddings_fps: Synchronized image_embeddings_fps: Synchronized
text_embeddings_sps: Synchronized text_embeddings_sps: Synchronized
face_rec_fps: Synchronized face_rec_fps: Synchronized