Initial setup for bird processing

This commit is contained in:
Nicolas Mowen 2025-01-11 09:11:55 -07:00
parent 7d478be798
commit 75c9a723bf
2 changed files with 8 additions and 5 deletions

View File

@ -8,8 +8,8 @@ import numpy as np
from frigate.config import FrigateConfig from frigate.config import FrigateConfig
from frigate.const import MODEL_CACHE_DIR from frigate.const import MODEL_CACHE_DIR
from .processor_api import ProcessorApi from ..types import DataProcessorMetrics
from .types import PostProcessingMetrics from .api import RealTimeProcessorApi
try: try:
from tflite_runtime.interpreter import Interpreter from tflite_runtime.interpreter import Interpreter
@ -19,8 +19,8 @@ except ModuleNotFoundError:
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
class BirdProcessor(ProcessorApi): class BirdProcessor(RealTimeProcessorApi):
def __init__(self, config: FrigateConfig, metrics: PostProcessingMetrics): def __init__(self, config: FrigateConfig, metrics: DataProcessorMetrics):
super().__init__(config, metrics) super().__init__(config, metrics)
self.interpreter: Interpreter = None self.interpreter: Interpreter = None
self.tensor_input_details: dict[str, any] = None self.tensor_input_details: dict[str, any] = None
@ -87,4 +87,4 @@ class BirdProcessor(ProcessorApi):
count = len(scores) count = len(scores)
def handle_request(self, request_data): def handle_request(self, request_data):
return None return None

View File

@ -30,6 +30,7 @@ from frigate.const import (
UPDATE_EVENT_DESCRIPTION, UPDATE_EVENT_DESCRIPTION,
) )
from frigate.data_processing.real_time.api import RealTimeProcessorApi from frigate.data_processing.real_time.api import RealTimeProcessorApi
from frigate.data_processing.real_time.bird_processor import BirdProcessor
from frigate.data_processing.real_time.face_processor import FaceProcessor from frigate.data_processing.real_time.face_processor import FaceProcessor
from frigate.data_processing.types import DataProcessorMetrics from frigate.data_processing.types import DataProcessorMetrics
from frigate.embeddings.lpr.lpr import LicensePlateRecognition from frigate.embeddings.lpr.lpr import LicensePlateRecognition
@ -78,6 +79,8 @@ class EmbeddingMaintainer(threading.Thread):
if self.config.face_recognition.enabled: if self.config.face_recognition.enabled:
self.processors.append(FaceProcessor(self.config, metrics)) self.processors.append(FaceProcessor(self.config, metrics))
self.processors.append(BirdProcessor(self.config, metrics))
# create communication for updating event descriptions # create communication for updating event descriptions
self.requestor = InterProcessRequestor() self.requestor = InterProcessRequestor()
self.stop_event = stop_event self.stop_event = stop_event