detection.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. """
  2. 检测配置
  3. """
  4. # 检测配置
  5. DETECTION_CONFIG = {
  6. 'target_classes': ['person', '人'], # 检测目标类别 (支持中英文)
  7. 'confidence_threshold': 0.5, # 置信度阈值
  8. 'detection_interval': 0.1, # 检测间隔(秒)
  9. # 检测图片保存配置
  10. 'save_detection_image': False, # 是否保存检测到人的图片
  11. 'detection_image_dir': '/home/admin/dsh/detection_images', # 图片保存目录
  12. # RK3588 平台使用 RKNN 安全检测模型 (包含人体检测)
  13. # 类别映射: 0=安全帽, 3=人, 4=反光衣
  14. 'model_path': '/home/admin/dsh/testrk3588/yolo11m_safety.rknn',
  15. 'model_type': 'rknn', # 模型类型: 'rknn', 'yolo', 'onnx'
  16. 'use_gpu': False, # RKNN 使用 NPU,不依赖 GPU
  17. # 安全检测模型的类别映射
  18. 'class_map': {
  19. 0: '安全帽',
  20. 3: '人',
  21. 4: '反光衣'
  22. },
  23. 'person_class_id': 3, # 人员在模型中的类别ID
  24. 'person_threshold': 0.8, # 人员检测置信度阈值
  25. }
  26. # 安全检测模型配置
  27. SAFETY_DETECTION_CONFIG = {
  28. # 模型路径 - 支持三种格式:
  29. # - YOLO: .pt 文件, 使用 ultralytics
  30. # - RKNN: .rknn 文件, 使用 rknnlite (RK3588 平台)
  31. # - ONNX: .onnx 文件, 使用 onnxruntime
  32. 'model_path': '/home/admin/dsh/testrk3588/yolo11m_safety.rknn',
  33. 'model_type': 'rknn', # 模型类型: 'auto', 'yolo', 'rknn', 'onnx'
  34. 'use_gpu': False, # RKNN 使用 NPU,不依赖 GPU
  35. 'conf_threshold': 0.5, # 一般物品置信度阈值 (安全帽、反光衣)
  36. 'person_threshold': 0.8, # 人员检测置信度阈值
  37. # 检测类别映射
  38. 'class_map': {
  39. 0: '安全帽',
  40. 3: '人',
  41. 4: '反光衣'
  42. },
  43. # 检测间隔
  44. 'detection_interval': 0.1, # 检测间隔(秒)
  45. # 告警控制
  46. 'alert_cooldown': 3.0, # 同一目标告警冷却时间(秒)
  47. 'max_alerts_per_minute': 10, # 每分钟最大告警数
  48. # 检测图片保存配置
  49. 'save_detection_image': False, # 是否保存检测到人的图片
  50. 'detection_image_dir': '/home/admin/dsh/detection_images', # 图片保存目录
  51. 'detection_image_max_count': 1000, # 最大保存图片数量,超过后自动清理旧图片
  52. }