2. 基础知识
安防摄像头的烟火检测算法,本质上是一个基于视觉模式的分类问题。与传统的温度传感器或烟感器不同,摄像头依赖的是对场景中像素时空变化的解析。要设计出既灵敏又可靠的检测系统,首先必须深刻理解火焰与烟雾在图像中呈现的独特视觉规律,同时清醒地认识到现实场景中哪些干扰源会挑战算法的判断边界。本章将系统拆解火焰与烟雾的颜色、纹理、运动及闪烁特征,并深入剖析灯光、阴影、蒸汽、灰尘等常见误报源的成因与应对思路。
2.1 火焰的视觉特征:颜色、纹理、运动与闪烁
火焰是燃烧过程中高温气体和固体微粒发出的可见光辐射。在视频图像中,火焰呈现出高度动态且具有统计规律的模式。理解这些规律是设计检测算法的基础。
2.1.1 颜色特征
火焰的颜色分布遵循黑体辐射规律,从内焰到外焰呈现由亮白、黄橙到暗红的渐变。在RGB色彩空间中,火焰像素通常满足R > G > B的关系,且R通道值显著高于其他通道。然而,单纯依赖RGB阈值容易受到暖色灯光和夕阳的干扰。更稳健的做法是转换到HSV或YCbCr色彩空间,利用色相(Hue)集中在红橙区间(0°~60°)、饱和度(Saturation)中等偏高、亮度(Value)动态变化的特点进行分割。此外,火焰中心区域往往出现过曝现象(亮度值接近255),而边缘区域则呈现半透明的橙红色,这种“亮核+渐变边缘”的结构是火焰区别于普通光源的重要特征。
2.1.2 纹理特征
火焰表面具有独特的湍流纹理。由于热空气上升和燃烧不稳定性,火焰内部会不断产生涡旋和褶皱,导致其纹理在空间上呈现不规则、非重复、多尺度的特点。在图像处理中,常用局部二值模式(LBP)、灰度共生矩阵(GLCM)或Gabor滤波器来量化这种纹理。火焰区域的纹理熵值通常较高,而规则光源(如灯泡)的纹理熵值较低。此外,火焰边缘的梯度方向变化剧烈,且边缘轮廓呈锯齿状,这与平滑的物体边缘形成鲜明对比。
2.1.3 运动特征
火焰的运动具有明显的方向性和随机性。宏观上,火焰主体受热浮力驱动,呈现持续上升的趋势;微观上,火焰边缘的抖动是随机的、非刚体的。在视频帧序列中,可以通过光流法或帧间差分法提取运动矢量。火焰区域的运动矢量方向主要指向向上,且运动速度在0.3~3 m/s之间(视燃烧物和风速而定)。与行人或车辆等刚性运动不同,火焰的运动场是发散的、不连续的,相邻像素的运动矢量差异较大。
2.1.4 闪烁频率
火焰闪烁是燃烧动力学的重要特征。研究表明,火焰主体的闪烁频率主要集中在8~12 Hz范围内,这一频率与火焰的尺寸、燃料类型和环境气流有关。在视频分析中,对火焰区域像素的亮度时间序列进行傅里叶变换,可以在频域中检测到这一特征峰。值得注意的是,普通摄像头帧率通常为25~30 fps,根据奈奎斯特采样定理,能够无混叠地检测的最高频率为12~15 Hz,因此8~12 Hz的闪烁特征恰好处于可检测的临界范围。实际应用中,常采用短时傅里叶变换(STFT)或带通滤波来提取这一频带能量。
2.2 烟雾的视觉特征:颜色、纹理、运动与扩散
烟雾是燃烧或不完全燃烧产生的固体微粒和气溶胶。与火焰相比,烟雾的视觉特征更加“柔和”和“弥散”,检测难度也更高,因为烟雾会逐渐遮挡背景,且其外观受光照和背景影响极大。
2.2.1 颜色与透明度
烟雾的颜色取决于燃烧物和温度。木材、纸张燃烧产生的烟雾呈灰白色;塑料、橡胶燃烧产生黑色浓烟;某些化学品燃烧可能产生黄褐色或蓝色烟雾。在图像中,烟雾区域通常表现为半透明,即背景纹理仍然隐约可见,但对比度和清晰度显著下降。这一特性可以通过计算局部区域的对比度衰减程度来量化。烟雾像素的饱和度通常较低(接近灰色),亮度介于背景和火焰之间。
2.2.2 纹理特征
烟雾的纹理与火焰截然不同。烟雾没有锐利的边缘,其边界是渐变的、模糊的。在图像频域中,烟雾区域的高频分量显著减少,表现为低通滤波效应。使用拉普拉斯算子或Canny边缘检测时,烟雾区域内部的边缘响应很弱,而烟雾与背景的交界处呈现宽而弱的过渡带。此外,烟雾的纹理具有自相似性(分形特征),在不同尺度下观察,其粗糙度保持相对一致。
2.2.3 运动与扩散特征
烟雾的运动受气流主导,扩散方向不固定,可能水平飘移、上升或下沉。与火焰的快速抖动不同,烟雾的运动是缓慢且平滑的,速度通常在0.1~1 m/s。在视频序列中,烟雾区域会逐渐扩大,且其边缘不断向外推进。光流场在烟雾区域表现为低速、方向一致(或缓慢变化)的矢量场。另一个重要特征是烟雾的半透明运动——当烟雾飘过时,背景的纹理会被“抹平”然后又恢复,这种“背景暂时模糊”的现象是烟雾检测的关键线索。
2.2.4 时间域特征
烟雾在时间域上没有固定的闪烁频率,但其亮度变化具有缓慢漂移的特点。与火焰的周期性闪烁不同,烟雾像素的亮度时间序列呈现低频(<1 Hz)的随机波动。此外,烟雾的扩散过程具有不可逆性——一旦烟雾产生,其覆盖面积通常单调增加(直到通风或燃烧结束),这与蒸汽的“产生-消散”循环模式不同。
| 特征维度 | 火焰 | 烟雾 | 检测难点 |
|---|---|---|---|
| 颜色 | 红橙黄渐变,R>G>B | 灰白/蓝灰,低饱和度 | 暖色灯光、夕阳 |
| 纹理 | 湍流状,高熵值,锯齿边缘 | 弥散状,低高频分量,模糊边缘 | 蒸汽、雾天 |
| 运动 | 上升+随机抖动,速度较快 | 缓慢扩散,方向受气流影响 | 行人、车辆、飘动物体 |
| 时间频率 | 8~12 Hz闪烁峰 | <1 Hz低频漂移 | 灯光频闪、水面反光 |
| 背景影响 | 局部过曝,边缘渐变 | 背景对比度下降,半透明 | 阴影、夜间模式 |
2.3 常见误报源深度剖析
误报是烟火检测系统在实际部署中最头疼的问题。一个误报率过高的系统会逐渐失去用户的信任,最终被弃用。以下四类误报源最为常见,需要算法设计者重点防范。
2.3.1 灯光干扰
灯光干扰包括汽车前灯扫过、路灯的周期性闪烁、霓虹灯的颜色变化、手电筒光束等。这些光源在颜色上可能接近火焰(尤其是暖色路灯),在运动上可能产生快速移动的光斑。然而,灯光与火焰存在本质区别:灯光通常具有稳定的几何形状(圆形、矩形),边缘清晰锐利;灯光闪烁频率通常为50/60 Hz(交流电频率),远高于火焰的8~12 Hz;灯光不会产生湍流纹理。应对策略包括:检测光斑的形状规则度(圆形度、矩形度)、分析闪烁频率是否落在火焰频带内、利用时间一致性验证(火焰持续存在,而车灯扫过是短暂的)。
2.3.2 阴影干扰
阴影是视频监控中最大的误报来源之一。树木在风中摇晃产生的动态阴影、云层移动造成的大面积阴影变化、行人或车辆的影子,都可能被误判为烟雾或火焰。阴影与烟雾在视觉上有相似之处:都会降低局部亮度、边缘模糊。但阴影有一个关键特征——不改变背景的纹理信息。阴影只是乘性衰减了背景亮度,而烟雾是加性叠加了半透明介质。在算法上,可以通过色彩比(阴影通常保留色相,烟雾会改变色相)、纹理保持度(阴影区域的边缘依然清晰,烟雾区域边缘模糊)来区分。此外,阴影的运动通常与遮挡物(树、人)的运动同步,而烟雾的运动是独立的。
2.3.3 蒸汽与水雾
厨房蒸汽、工业锅炉排气、浴室水雾、清晨的雾气,在视觉上与烟雾高度相似:半透明、灰白色、缓慢扩散、边缘模糊。区分蒸汽与烟雾的线索包括:蒸汽通常出现在固定区域(厨房、浴室),且具有周期性(做饭时间、洗澡时间);蒸汽的扩散速度通常比烟雾更快,且消散也快;蒸汽的纹理比烟雾更均匀,缺乏烟雾内部的絮状结构。高级算法可以结合场景语义信息——如果摄像头安装在厨房,则对蒸汽的检测阈值应适当提高;或者利用温度信息(红外热像仪)来辅助判断。
2.3.4 灰尘与飞虫
扬尘、柳絮、飞蛾、蜘蛛网等微小物体在镜头附近飘动时,会形成模糊的移动斑块,极易被误判为烟雾。这类干扰的特点是:尺寸小、运动速度快、持续时间短。飞虫在镜头前飞过可能只持续0.1~0.3秒,且由于离镜头近,会形成大面积的虚影。应对策略包括:设置最小检测面积阈值(小于一定像素数的区域不处理)、要求目标在连续多帧(如5帧)中持续存在才触发报警、利用对焦信息(近处飞虫通常失焦,边缘模糊程度与烟雾不同)。
2.4 案例拆解:某化工厂的蒸汽误报问题
某化工厂在反应釜区域安装了烟火检测摄像头,上线初期频繁误报,平均每天触发20余次,导致中控室值班人员对报警信号麻木,存在严重安全隐患。
初始现象:误报集中在白天9:00-11:00和14:00-16:00两个时段,恰好与车间蒸汽排放时间吻合。算法将蒸汽排放口排出的白色水雾识别为烟雾。
分析过程:通过回放录像发现,蒸汽区域的颜色(灰白)、纹理(模糊)、运动(缓慢扩散)与烟雾特征高度重合。进一步分析频谱发现,蒸汽的亮度变化频率约为0.2 Hz,而烟雾的典型频率为0.5~2 Hz。此外,蒸汽排放具有明显的方向性(固定向上或向侧方),且排放口位置固定。
解决方案:采用三层策略叠加:第一层,在检测区域中设置“已知蒸汽源”的屏蔽掩码,对排放口周围2米区域降低检测灵敏度;第二层,增加时间频率分析,要求目标区域的亮度波动频率在0.3~3 Hz范围内才判定为烟雾,滤除低频蒸汽;第三层,引入纹理保持度指标——蒸汽区域的背景边缘衰减程度比烟雾更均匀,通过计算边缘梯度直方图的方差来区分。
结果对比:优化后,误报率从每天20次降至每周1~2次,且未出现漏报。代价是算法计算量增加了约15%,需要选用算力稍高的边缘计算设备。
复盘经验:烟火检测算法不能“一刀切”,必须结合具体场景进行调优。在部署前,应收集至少一周的场景视频,标注出所有可能的干扰源,建立“场景干扰库”,用于算法验证和阈值调整。
2.5 总结与设计要点
火焰与烟雾的视觉特征既有区别又有联系,检测算法的核心在于多特征融合与场景自适应。以下要点值得牢记:
- 颜色是起点,不是终点:颜色特征用于快速筛选候选区域,但必须结合纹理和运动特征做二次确认。
- 时间域信息至关重要:单帧图像无法可靠区分火焰与灯光、烟雾与蒸汽,必须利用多帧时序信息。
- 场景感知是降误报的关键:了解摄像头安装位置(室内/室外、工厂/森林)、光照条件、已知干扰源,可以大幅提升检测精度。
- 阈值动态化:白天与夜晚、晴天与阴天,图像特征差异巨大。固定阈值必然导致误报或漏报,建议根据环境亮度、天气信息自动调整检测参数。
- 硬件与算法协同:如果摄像头支持双光谱(可见光+红外热成像),可以融合热成像数据,利用温度信息直接排除灯光和阴影干扰,这是目前最可靠的方案之一。