YantaiVisionX/design.md
root 2ff9c2b0bb feat: 初始化YantaiVisionX LED灯阵监控系统
- 添加完整的项目文档(README.md, design.md, CLAUDE.md)
- 实现核心检测算法:ROI管理、峰值检测、帧间稳定
- 支持实时摄像头检测和视频文件处理
- 包含图像预处理:去雾、几何校正、图像增强
- 提供多种输出格式:JSON、CSV、矩阵、文本
- 实现双阈值检测算法适应雾天环境
- 添加ROI标定工具和配置文件管理

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 10:33:19 +08:00

5.6 KiB
Raw Blame History


一、场景假设与需求重述

  • 灯阵布局:室外,多排布置,每排 6 盏灯(等距摆放)
  • 监控目标:前三排共 18盏 灯的亮灭状态
  • 摄像头部署:灯阵正前方稍许偏斜
  • 雾天问题:光晕扩散,后排光晕进入前排 ROI轮廓模糊
  • 目标:雾天也能稳定检测前三排亮/灭

二、ROI布置示意概念图

下面是一个矩阵式 ROI 布置示意(不按真实比例,仅示例布局思路):

+--------------------------------------------------+
|                                                  |
|   [R1C1]  [R1C2]  [R1C3]  [R1C4]  [R1C5]  [R1C6] |  ← 第一排ROI
|                                                  |
|   [R2C1]  [R2C2]  [R2C3]  [R2C4]  [R2C5]  [R2C6] |  ← 第二排ROI
|                                                  |
|   [R3C1]  [R3C2]  [R3C3]  [R3C4]  [R3C5]  [R3C6] |  ← 第三排ROI
|                                                  |
+--------------------------------------------------+

说明:

  • ROI = Region of Interest兴趣区域即每个灯的专用检测窗口
  • ROI中心对准灯泡中心位置
  • ROI范围比灯直径稍大可覆盖轻微光晕
  • ROI之间要预留黑边区间相邻最小亮区距离减少光晕互相污染的几率
  • 这些 ROI 坐标在晴天标定一次即可,固定保存

三、落地技术方案(无代码详细步骤)

我将方案分为硬件部署环境标定算法执行流程雾天适配增强长期维护建议五个部分。


1. 硬件部署

  1. 摄像头

    • 分辨率 ≥1080p低照度高清星光级
    • 固定安装,不摇动
    • 镜头焦距选择能完整拍下前三排,并保留背景缓冲区
    • 偏振滤光片(减少雾散射杂光)
  2. 角度控制

    • 尽量正对灯阵,倾斜控制在 ±10° 内
    • 已存在倾斜需用透视校正software补偿
  3. 照明波段(可选增强)

    • 如果可以更换灯具,考虑:窄波段 LED + 同波段滤光镜比如850nm近红外
    • 普通可见光场景也可工作,只是雾天性能略受限

2. 环境标定(一次性)

  1. 选择能见度良好的白天或傍晚进行
  2. 手动或软件定位 18 盏灯中心坐标
  3. 为每个灯定义:
    • ROI矩形位置
    • ROI中心区域核心区用于抑制光晕干扰
    • 边缘缓冲区保证相邻光晕不影响ROI中心判定
  4. 保存 ROI 参数(固定使用)

3. 算法执行流程(实时检测)

3.1 整体流程框架图

[视频帧读取]
      ↓
[透视/几何校正]
      ↓
[去雾增强(可选)]
      ↓
[逐ROI处理] ← ROI列表18个灯
      ↓
 灰度化 -> 高斯模糊 -> 核心区峰值提取
      ↓
[亮度+面积双阈值判断]
      ↓
[帧间稳定滤波]
      ↓
[输出灯亮灭状态]

3.2 关键技术点

  • 透视/几何校正
    把倾斜拍摄的画面校正成灯阵规则矩形方便ROI直接定位

  • 去雾增强(可选开关)

    • CLAHE提升局部对比度
    • Gamma校正γ=0.7提亮暗部)
    • 频域高通(抑制低频光晕)
  • 核心亮度判断
    对 ROI 中央小圆区域取最大亮度值平均亮度值,与阈值比较

    • 阈值1峰值亮度阈值
    • 阈值2亮度占比/面积阈值)
  • 面积限制
    灯亮:亮度峰高且亮区面积在合理范围
    灯灭:亮度峰低或亮区过大(可能是光晕污染)

  • 帧间稳定
    连续 3~5 帧一致才更新最终状态,消除瞬时雾波动的干扰


4. 雾天适配增强

  • 物理增强:偏振镜,波段匹配滤光片
  • 亮度阈值自适应:根据摄像头当前画面平均亮度,动态调整峰值亮度阈值
  • 算法抗干扰
    • 如果后排光晕进入前排 ROI通常中心亮度分布较平缓 → “尖峰检测”可区分
    • 记录 ROI 中心亮度与边缘亮度的差值(Δ亮度),Δ大则是自亮,Δ小可能是污染

5. 长期维护建议

  1. 定期标定复查:摄像头安装略微变化或环境光大改动时(建议每季度一次)
  2. 天气多样数据积累:保存雾天与晴天检测样本
  3. AI升级准备:当数据积累到几百小时,可引入轻量化 CNN/YOLO 模型训练,进一步增强鲁棒性

四、方案优势

  • 固定 ROI + 核心区域峰值法 能显著减少雾天光晕串扰
  • 对硬件和算法要求适中,能快速落地
  • 保留了可升级到 AI 的接口
  • 即使非常浓的雾,前三排 ROI 中心仍可检测出亮点变化

五、你可以直接交给工程团队的落地说明

  • 硬件1080p星光级相机固定安装镜头视野包含前三排配偏振镜
  • 标定:晴天标 18 盏灯的 ROI 和核心区坐标
  • 图像处理链:
    1. 几何校正
    2. ROI 裁剪
    3. 灰度化 + 高斯滤波
    4. 核心区峰值提取 + 阈值判断
    5. 面积过滤(防串扰)
    6. 帧间稳定(滑动窗口)
  • 可选:去雾增强和阈值自适应
  • 输出:每秒更新一次 18 盏灯的亮灭表

结论
按照上面图示的 ROI 布置 + 核心亮度法,即便是在类似你给的图片场景(雾+夜晚)下,也可以在大多数天气情况下稳健识别前三排灯的亮灭,而且这个方案完全可落地且不依赖高算力。