- 添加完整的项目文档(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>
5.6 KiB
5.6 KiB
一、场景假设与需求重述
- 灯阵布局:室外,多排布置,每排 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. 硬件部署
-
摄像头
- 分辨率 ≥1080p,低照度高清(星光级)
- 固定安装,不摇动
- 镜头焦距选择能完整拍下前三排,并保留背景缓冲区
- 带偏振滤光片(减少雾散射杂光)
-
角度控制
- 尽量正对灯阵,倾斜控制在 ±10° 内
- 已存在倾斜需用透视校正(software)补偿
-
照明波段(可选增强)
- 如果可以更换灯具,考虑:窄波段 LED + 同波段滤光镜(比如850nm近红外)
- 普通可见光场景也可工作,只是雾天性能略受限
2. 环境标定(一次性)
- 选择能见度良好的白天或傍晚进行
- 手动或软件定位 18 盏灯中心坐标
- 为每个灯定义:
- ROI矩形位置
- ROI中心区域(核心区,用于抑制光晕干扰)
- 边缘缓冲区(保证相邻光晕不影响ROI中心判定)
- 保存 ROI 参数(固定使用)
3. 算法执行流程(实时检测)
3.1 整体流程框架图
[视频帧读取]
↓
[透视/几何校正]
↓
[去雾增强(可选)]
↓
[逐ROI处理] ← ROI列表(18个灯)
↓
灰度化 -> 高斯模糊 -> 核心区峰值提取
↓
[亮度+面积双阈值判断]
↓
[帧间稳定滤波]
↓
[输出灯亮灭状态]
3.2 关键技术点
-
透视/几何校正
把倾斜拍摄的画面校正成灯阵规则矩形,方便ROI直接定位 -
去雾增强(可选开关)
- CLAHE(提升局部对比度)
- Gamma校正(如γ=0.7提亮暗部)
- 频域高通(抑制低频光晕)
-
核心亮度判断
对 ROI 中央小圆区域取最大亮度值和平均亮度值,与阈值比较- 阈值1(峰值亮度阈值)
- 阈值2(亮度占比/面积阈值)
-
面积限制
灯亮:亮度峰高且亮区面积在合理范围
灯灭:亮度峰低或亮区过大(可能是光晕污染) -
帧间稳定
连续 3~5 帧一致才更新最终状态,消除瞬时雾波动的干扰
4. 雾天适配增强
- 物理增强:偏振镜,波段匹配滤光片
- 亮度阈值自适应:根据摄像头当前画面平均亮度,动态调整峰值亮度阈值
- 算法抗干扰:
- 如果后排光晕进入前排 ROI,通常中心亮度分布较平缓 → “尖峰检测”可区分
- 记录 ROI 中心亮度与边缘亮度的差值(Δ亮度),Δ大则是自亮,Δ小可能是污染
5. 长期维护建议
- 定期标定复查:摄像头安装略微变化或环境光大改动时(建议每季度一次)
- 天气多样数据积累:保存雾天与晴天检测样本
- AI升级准备:当数据积累到几百小时,可引入轻量化 CNN/YOLO 模型训练,进一步增强鲁棒性
四、方案优势
- 固定 ROI + 核心区域峰值法 能显著减少雾天光晕串扰
- 对硬件和算法要求适中,能快速落地
- 保留了可升级到 AI 的接口
- 即使非常浓的雾,前三排 ROI 中心仍可检测出亮点变化
五、你可以直接交给工程团队的落地说明
- 硬件:1080p星光级相机,固定安装,镜头视野包含前三排,配偏振镜
- 标定:晴天标 18 盏灯的 ROI 和核心区坐标
- 图像处理链:
- 几何校正
- ROI 裁剪
- 灰度化 + 高斯滤波
- 核心区峰值提取 + 阈值判断
- 面积过滤(防串扰)
- 帧间稳定(滑动窗口)
- 可选:去雾增强和阈值自适应
- 输出:每秒更新一次 18 盏灯的亮灭表
✅ 结论:
按照上面图示的 ROI 布置 + 核心亮度法,即便是在类似你给的图片场景(雾+夜晚)下,也可以在大多数天气情况下稳健识别前三排灯的亮灭,而且这个方案完全可落地且不依赖高算力。