detection.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. """
  2. 检测配置
  3. 注意:系统当前仅保留人体检测配置,安全帽/反光衣等安全检测配置已移除。
  4. """
  5. import platform
  6. def _default_model():
  7. """根据平台选择默认检测模型"""
  8. system = platform.system()
  9. machine = platform.machine()
  10. if system == 'Linux' and machine == 'aarch64':
  11. # RK3588: 使用 yolo26n.onnx via ONNX Runtime (CPU)
  12. return '/home/admin/testrk3588/yolo26n.onnx', 'onnx'
  13. elif system == 'Darwin':
  14. # macOS 本地测试
  15. return '/Users/wenhongquan/Desktop/阿里云同步/项目/dnn/sb/model/yolo11n.pt', 'yolo'
  16. else:
  17. # x86 Linux 等
  18. return '/home/wen/dsh/yolo/yolo11n.pt', 'yolo'
  19. _MODEL_PATH, _MODEL_TYPE = _default_model()
  20. # 人体检测配置(用于 panorama_camera.ObjectDetector,多组模式)
  21. DETECTION_CONFIG = {
  22. 'target_classes': ['person'], # 检测目标类别 (支持中英文)
  23. 'confidence_threshold': 0.30, # 置信度阈值(yolo26n 对全景远距离人员置信度偏低)
  24. 'detection_fps': 2, # 检测帧率
  25. 'detection_interval': 4, # 兼容保留:检测间隔(秒)
  26. # 检测图片保存配置
  27. 'save_detection_image': False, # 是否保存检测到人的图片
  28. 'detection_image_dir': '/home/admin/dsh/detection_images', # 图片保存目录
  29. # 配对图片保存配置(全景+球机图片归入同一目录)
  30. 'enable_paired_saving': True, # 是否启用配对图片保存
  31. 'paired_image_dir': '/home/admin/dsh/paired_images', # 配对图片保存目录
  32. 'paired_time_window': 5.0, # 批次时间窗口(秒),同一窗口内的检测归为一批
  33. # 默认人体检测模型
  34. 'model_path': _MODEL_PATH,
  35. 'model_type': _MODEL_TYPE, # 模型类型: 'rknn', 'yolo', 'onnx'
  36. 'use_gpu': False, # 使用 CPU (yolo26n.pt via ultralytics)
  37. # 人体检测后处理阈值
  38. 'person_threshold': 0.30, # 进入联动跟踪的人体置信度阈值
  39. # 模型类别映射(yolo26n COCO80:0=person)
  40. 'class_map': {0: 'person'},
  41. }