mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
b7b7e1b78b
* Add basic config and face recognition table * Reconfigure updates processing to handle face * Crop frame to face box * Implement face embedding calculation * Get matching face embeddings * Add support face recognition based on existing faces * Use arcface face embeddings instead of generic embeddings model * Add apis for managing faces * Implement face uploading API * Build out more APIs * Add min area config * Handle larger images * Add more debug logs * fix calculation * Reduce timeout * Small tweaks * Use webp images * Use facenet model
31 lines
997 B
Python
31 lines
997 B
Python
from typing import Optional
|
|
|
|
from pydantic import Field
|
|
|
|
from .base import FrigateBaseModel
|
|
|
|
__all__ = ["FaceRecognitionConfig", "SemanticSearchConfig"]
|
|
|
|
|
|
class FaceRecognitionConfig(FrigateBaseModel):
|
|
enabled: bool = Field(default=False, title="Enable face recognition.")
|
|
threshold: float = Field(
|
|
default=0.9, title="Face similarity score required to be considered a match."
|
|
)
|
|
min_area: int = Field(
|
|
default=500, title="Min area of face box to consider running face recognition."
|
|
)
|
|
|
|
|
|
class SemanticSearchConfig(FrigateBaseModel):
|
|
enabled: bool = Field(default=False, title="Enable semantic search.")
|
|
reindex: Optional[bool] = Field(
|
|
default=False, title="Reindex all detections on startup."
|
|
)
|
|
face_recognition: FaceRecognitionConfig = Field(
|
|
default_factory=FaceRecognitionConfig, title="Face recognition config."
|
|
)
|
|
model_size: str = Field(
|
|
default="small", title="The size of the embeddings model used."
|
|
)
|