浏览量:95
有个做港口的朋友跟我吐槽:夜里江面上一片反光,他们的AI烟火检测一晚上报了十七次火警,值班员最后直接把报警音关了。真出事那天,谁也没听见。更麻烦的是,误报一旦上了通报,甲方的第一反应往往不是调算法,而是问责供应商。
误报这件事,杀伤力比漏报还大。它不损失一次事故,它损失的是值班员对系统的信任。
一、烟和火,对算法来说是两种东西
采购时大家习惯说「要烟火检测」,但落到算法上,烟和火是两类完全不同的目标。火焰有明确的颜色、边缘抖动频率和亮度特征,相对好抓;烟是半透明的,形态一直在变,早期那团淡烟跟雾、跟粉尘、跟蒸汽在图像上非常接近。另外火焰有明确的红外辐射特征,如果用的是双光或带红外的设备,火这一路的把握会大很多;烟则更依赖可见光的形态分析,两者不能混为一谈。
所以成熟的方案会把两件事分开:火焰用一个模型,烟雾用另一个,各自给置信度阈值。如果厂商只报一个「烟火准确率」,那你最好追问一句——这是火的数据,还是烟的数据,还是混在一起算的。

二、误报三大来源:水面反光、焊接弧光、夕阳
第一类是水面和金属反光。港口、码头、冷却塔附近尤其严重,夜里的灯光打在水面上,颜色、亮度、跳动频率跟火几乎一模一样,单帧图像基本分不出来。
第二类更常见:检修动火作业时的焊接弧光。这是真实存在的高亮点,算法报得没错,但它不是事故。解决办法不是让算法「别报」,而是把作业票信息接进来,动火期间走另一套策略。接法不复杂:作业票系统把动火时段和点位推给平台,平台在该时段把这一路切到作业模式,只留证不弹窗,作业结束自动切回。
第三类是低角度夕阳和车灯。秋冬傍晚,摄像机对着西边,整个画面泛橙,颜色型算法会集体失灵。这时候靠颜色已经不够,必须引入纹理和运动特征。
三、压误报靠的不是某一个模型
现场能落地的做法通常是三层叠加:第一层是多帧确认,不拿单帧下结论,要求连续若干帧都命中才报警,反光的高频抖动和火的持续形态在这一层就能分开;第二层是区域屏蔽,把水面、反光金属面、已知热源划成抑制区,降权处理;第三层是时段和工况策略,动火作业期、夜间、雨天各用不同阈值。
再往上就是现场数据。同一套算法在干净的园区和在粉尘大的皮带廊,表现能差一大截。能不能拿现场素材做二次训练,是通用模型和可用模型之间的那道坎。这也是我们一直把自训练平台当标配推的原因——它不是锦上添花,是让算法在你这个场景里活下去的前提。做法一般是:导出两周现场录像,人工标出真火烟和误报样本,增量训练一版模型,再用现场数据回归测试,误报降下来才上线。
四、落地前,这三件事必须做
第一,拿真实场景素材测,别只看演示视频。要一段包含反光、雾气、夜间的现场录像,跑一遍看误报多少条。第二,把验收指标写成条件句——「在某某分辨率、某某距离、夜间补光条件下,误报每天不超过多少次」,没有条件的准确率没有意义。统计时把凌晨、雨雾天、逆光这几个最难的时段单独拎出来看,别只报全天平均值。第三,确认报警能不能回传到甲方监管平台,ONVIF、GB28181、RTSP 接不上的话,前面做得再好也是白搭。
还有一点容易被忽略:报警之后有没有截图和短视频留存。值班员需要几秒钟判断「这是不是真的」,没有证据链,他只能跑一趟现场。所以选型时把「报警是否自带截图与短视频、留存多久、能不能批量导出」三条写进验收单,比反复争论准确率省事得多。
现在矿山、港口、化工的监管都在往「早发现、早处置」走,烟火检测几乎是标配。但真正决定这套系统能不能长期跑下去的,不是第一周的准确率,是第三个月值班员还愿不愿意看它。

你们现场最容易误报的是哪种?水面反光、焊接弧光,还是扬尘? 评论区说一说,我按场景给你对应的抑制思路。