mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
Make initialization configurable (#8392)
This commit is contained in:
parent
e89dafa82e
commit
ba603c1937
@ -231,6 +231,8 @@ detect:
|
|||||||
fps: 5
|
fps: 5
|
||||||
# Optional: enables detection for the camera (default: True)
|
# Optional: enables detection for the camera (default: True)
|
||||||
enabled: True
|
enabled: True
|
||||||
|
# Optional: Number of consecutive detection hits required for an object to be initialized in the tracker. (default: 1/2 the frame rate)
|
||||||
|
min_initialized: 2
|
||||||
# Optional: Number of frames without a detection before Frigate considers an object to be gone. (default: 5x the frame rate)
|
# Optional: Number of frames without a detection before Frigate considers an object to be gone. (default: 5x the frame rate)
|
||||||
max_disappeared: 25
|
max_disappeared: 25
|
||||||
# Optional: Configuration for stationary object tracking
|
# Optional: Configuration for stationary object tracking
|
||||||
|
@ -352,6 +352,9 @@ class DetectConfig(FrigateBaseModel):
|
|||||||
default=5, title="Number of frames per second to process through detection."
|
default=5, title="Number of frames per second to process through detection."
|
||||||
)
|
)
|
||||||
enabled: bool = Field(default=True, title="Detection Enabled.")
|
enabled: bool = Field(default=True, title="Detection Enabled.")
|
||||||
|
min_initialized: Optional[int] = Field(
|
||||||
|
title="Minimum number of consecutive hits for an object to be initialized by the tracker."
|
||||||
|
)
|
||||||
max_disappeared: Optional[int] = Field(
|
max_disappeared: Optional[int] = Field(
|
||||||
title="Maximum number of frames the object can dissapear before detection ends."
|
title="Maximum number of frames the object can dissapear before detection ends."
|
||||||
)
|
)
|
||||||
@ -1143,6 +1146,11 @@ class FrigateConfig(FrigateBaseModel):
|
|||||||
else DEFAULT_DETECT_DIMENSIONS["height"]
|
else DEFAULT_DETECT_DIMENSIONS["height"]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Default min_initialized configuration
|
||||||
|
min_initialized = camera_config.detect.fps / 2
|
||||||
|
if camera_config.detect.min_initialized is None:
|
||||||
|
camera_config.detect.min_initialized = min_initialized
|
||||||
|
|
||||||
# Default max_disappeared configuration
|
# Default max_disappeared configuration
|
||||||
max_disappeared = camera_config.detect.fps * 5
|
max_disappeared = camera_config.detect.fps * 5
|
||||||
if camera_config.detect.max_disappeared is None:
|
if camera_config.detect.max_disappeared is None:
|
||||||
|
@ -68,7 +68,6 @@ class NorfairTracker(ObjectTracker):
|
|||||||
self.untracked_object_boxes: list[list[int]] = []
|
self.untracked_object_boxes: list[list[int]] = []
|
||||||
self.disappeared = {}
|
self.disappeared = {}
|
||||||
self.positions = {}
|
self.positions = {}
|
||||||
self.max_disappeared = config.detect.max_disappeared
|
|
||||||
self.camera_config = config
|
self.camera_config = config
|
||||||
self.detect_config = config.detect
|
self.detect_config = config.detect
|
||||||
self.ptz_metrics = ptz_metrics
|
self.ptz_metrics = ptz_metrics
|
||||||
@ -81,8 +80,8 @@ class NorfairTracker(ObjectTracker):
|
|||||||
self.tracker = Tracker(
|
self.tracker = Tracker(
|
||||||
distance_function=frigate_distance,
|
distance_function=frigate_distance,
|
||||||
distance_threshold=2.5,
|
distance_threshold=2.5,
|
||||||
initialization_delay=self.detect_config.fps / 2,
|
initialization_delay=self.detect_config.min_initialized,
|
||||||
hit_counter_max=self.max_disappeared,
|
hit_counter_max=self.detect_config.max_disappeared,
|
||||||
)
|
)
|
||||||
if self.ptz_autotracker_enabled.value:
|
if self.ptz_autotracker_enabled.value:
|
||||||
self.ptz_motion_estimator = PtzMotionEstimator(
|
self.ptz_motion_estimator = PtzMotionEstimator(
|
||||||
|
Loading…
Reference in New Issue
Block a user