11"""dlib face recognition."""
2+
23from __future__ import annotations
34
45import logging
56import threading
6- from typing import TYPE_CHECKING
7-
8- import numpy as np
7+ from typing import TYPE_CHECKING , Any
98
109from viseron .domains .face_recognition import AbstractFaceRecognition
1110from viseron .domains .face_recognition .const import CONFIG_FACE_RECOGNITION_PATH
1615from .train import train
1716
1817if TYPE_CHECKING :
18+ import numpy as np
19+ from sklearn .neighbors import KNeighborsClassifier
20+
1921 from viseron import Viseron
2022 from viseron .domains .object_detector .detected_object import DetectedObject
2123 from viseron .domains .post_processor import PostProcessorFrame
2527TRAIN_LOCK = threading .Lock ()
2628
2729
28- def setup (vis : Viseron , config , identifier ) -> bool :
30+ def setup (vis : Viseron , config : dict [ str , Any ], identifier : str ) -> bool :
2931 """Set up the dlib face_recognition domain."""
3032 with TRAIN_LOCK :
3133 if not vis .data [COMPONENT ].get (CLASSIFIER , None ):
@@ -45,13 +47,19 @@ def setup(vis: Viseron, config, identifier) -> bool:
4547class FaceRecognition (AbstractFaceRecognition ):
4648 """dlib face recognition processor."""
4749
48- def __init__ (self , vis : Viseron , config , camera_identifier , classifier ) -> None :
50+ def __init__ (
51+ self ,
52+ vis : Viseron ,
53+ config : dict [str , Any ],
54+ camera_identifier : str ,
55+ classifier : KNeighborsClassifier ,
56+ ) -> None :
4957 super ().__init__ (
5058 vis , COMPONENT , config [CONFIG_FACE_RECOGNITION ], camera_identifier
5159 )
5260 self ._classifier = classifier
5361
54- def preprocess (self , frame ) -> np .ndarray :
62+ def preprocess (self , frame : np . ndarray ) -> np .ndarray :
5563 """Preprocess frame."""
5664 return frame
5765
0 commit comments