Przeglądaj źródła

config: add tracking and polling capture configuration

wenhongquan 1 dzień temu
rodzic
commit
0597f8f411

+ 3 - 0
dual_camera_system/config/__init__.py

@@ -10,6 +10,7 @@ from .camera import (
 from .detection import (
     DETECTION_CONFIG, SAFETY_DETECTION_CONFIG
 )
+from .tracking import TRACKING_CONFIG
 from .ptz import PTZ_CONFIG
 from .coordinator import COORDINATOR_CONFIG, CALIBRATION_CONFIG
 from .event import EVENT_PUSHER_CONFIG, EVENT_LISTENER_CONFIG
@@ -29,6 +30,8 @@ __all__ = [
     'PANORAMA_CAMERA', 'PTZ_CAMERA', 'SDK_PATH', 'CAMERA_GROUPS', 'get_enabled_groups',
     # 检测
     'DETECTION_CONFIG', 'SAFETY_DETECTION_CONFIG',
+    # 跟踪
+    'TRACKING_CONFIG',
     # PTZ
     'PTZ_CONFIG',
     # 联动与校准

+ 1 - 0
dual_camera_system/config/system.py

@@ -30,6 +30,7 @@ SYSTEM_CONFIG = {
 
     # === 工作模式 ===
     'mode': 'safety',                    # 工作模式: 'safety'(安全检测)
+    'tracking_mode': 'polling',          # 'polling' | 'async' | 'sequential'
 
     # === 安全判断策略 ===
     'safety_strategy': 'hybrid',         # 'llm'(仅大模型), 'rule'(仅规则), 'hybrid'(混合)

+ 39 - 0
dual_camera_system/config/tracking.py

@@ -0,0 +1,39 @@
+"""
+跟踪与轮询抓拍配置
+"""
+
+TRACKING_CONFIG = {
+    # 模型配置
+    "model_path": "/Users/wenhongquan/Desktop/阿里云同步/项目/dnn/sb/model/yolo11.rknn",
+    "fallback_model_path": "/Users/wenhongquan/Desktop/阿里云同步/项目/dnn/sb/model/yolo11n.pt",
+    "model_type": "auto",                  # "auto" | "yolo" | "rknn" | "onnx"
+    "use_gpu": True,
+
+    # 跟踪器
+    "tracker_type": "bytetrack",           # "bytetrack" | "botsort"
+    "max_tracking_targets": 4,
+    "tracking_timeout": 3.0,               # Coordinator 层面:目标多久未更新视为丢失
+    "conf_threshold": 0.5,
+    "person_threshold": 0.5,
+    "max_lost": 30,                        # Tracker 内部参数:跟踪器允许目标丢失多少帧后仍保留 ID
+
+    # 轮询抓拍
+    "ptz_stabilize_time": 2.0,
+    "ptz_command_cooldown": 0.2,
+    "capture_dir": "/home/admin/dsh/tracking_captures",
+    "save_panorama_pair": True,
+    "max_capture_per_target": 0,           # 0 表示不限制
+
+    # 目标选择(淘汰策略)
+    "target_selection": {
+        "strategy": "area",
+        "area_weight": 0.6,
+        "confidence_weight": 0.4,
+        "prefer_center": True,
+        "center_weight": 0.2,
+        "min_area_threshold": 2000,
+    },
+
+    # 上传
+    "enable_upload": True,
+}