mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-02-05 00:15:51 +01:00
* Validate faces using cosine distance and SVC * Formatting * Use opencv instead of face embedding * Update docs for training data * Adjust to score system * Set bounds * remove face embeddings * Update writing images * Add face library page * Add ability to select file * Install opencv deps * Cleanup * Use different deps * Move deps * Cleanup * Only show face library for desktop * Implement deleting * Add ability to upload image * Add support for uploading images
50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
from typing import Dict, List, Optional
|
|
|
|
from pydantic import Field
|
|
|
|
from .base import FrigateBaseModel
|
|
|
|
__all__ = [
|
|
"FaceRecognitionConfig",
|
|
"SemanticSearchConfig",
|
|
"LicensePlateRecognitionConfig",
|
|
]
|
|
|
|
|
|
class SemanticSearchConfig(FrigateBaseModel):
|
|
enabled: bool = Field(default=False, title="Enable semantic search.")
|
|
reindex: Optional[bool] = Field(
|
|
default=False, title="Reindex all detections on startup."
|
|
)
|
|
model_size: str = Field(
|
|
default="small", title="The size of the embeddings model used."
|
|
)
|
|
|
|
|
|
class FaceRecognitionConfig(FrigateBaseModel):
|
|
enabled: bool = Field(default=False, title="Enable face recognition.")
|
|
threshold: float = Field(
|
|
default=170,
|
|
title="minimum face distance score required to be considered a match.",
|
|
gt=0.0,
|
|
le=1.0,
|
|
)
|
|
min_area: int = Field(
|
|
default=500, title="Min area of face box to consider running face recognition."
|
|
)
|
|
|
|
|
|
class LicensePlateRecognitionConfig(FrigateBaseModel):
|
|
enabled: bool = Field(default=False, title="Enable license plate recognition.")
|
|
threshold: float = Field(
|
|
default=0.9,
|
|
title="License plate confidence score required to be added to the object as a sub label.",
|
|
)
|
|
min_area: int = Field(
|
|
default=500,
|
|
title="Min area of license plate to consider running license plate recognition.",
|
|
)
|
|
known_plates: Optional[Dict[str, List[str]]] = Field(
|
|
default={}, title="Known plates to track."
|
|
)
|