文章

YOLO与视觉语言模型图片理解的安全告警复核方案简介

《热力发电》一文用高召回目标检测做初筛,再让视觉语言模型按电力安全规程判断真告警或误报。安全帽、工装、烟雾、明火四类上,最优提示词把复核准确率从 46.73% 提到 81.66%,终端误报占比从 31.9% 降到 12.5%。规程以结构化规则写入提示词,不是独立的知识库检索。

YOLO与视觉语言模型图片理解的安全告警复核方案简介

YOLO与视觉语言模型图片理解的安全告警复核方案简介

郭京等在《热力发电》网络首发的《基于视觉语言模型语义推理的火电厂安全监测告警复核研究》(DOI:10.19666/j.rlfd.202605095)讨论的是火电厂视频告警太多、值班人员看不过来。做法是检测器继续保持高召回,只把带框的告警图交给视觉语言模型,按电力安全规程判成真告警或误报。这和「检测 + 看懂背景与场景 + 用规程知识压误报」是同一条级联;文中的知识是写进提示词的判定规则,不是另建一套向量知识库再检索。下文只复述该文的方法、数据和作者自己标出的边界。

参考与延伸阅读:


目录


1. 论文在解决什么

火电厂现场设备密、作业交叉。已部署的视觉告警为了少漏报,阈值放得低,集控室一天能收到数百条,其中大量是光照、遮挡和相似目标造成的误报。长期如此,值班人员会把真风险也点掉。

作者认为只改检测器不够,原因有两层。一是类别边界不稳:冷却塔水汽、输煤粉尘和烟很难只靠框内像素分开;车灯、警示灯和明火也会混。二是检测语义比违章语义粗:检出「穿着工作服」仍可能漏掉外套敞开、反光条缺失。所以他们不替换前端,只在检测之后加一层语义复核。

实验数据来自某一电厂已运行的检测系统,覆盖主厂房、输煤栈桥、化学水处理和升压站。图像是系统自动推到值班端、并画了红框的告警图,敏感信息已脱敏。连续多帧按时间和摄像头归并成事件,每个事件只留一帧清晰画面。最终 1068 张,两位有现场经验的人员双盲标注为真告警或误报,Cohen’s κ 为 0.87;分歧约占 5.6%,由第三人仲裁。约两成(212 张)做提示词开发,八成(856 张)做评测,并按「风险类别 × 真伪」分层,使两份集合的比例接近全量。

风险合计张数其中误报占比
安全帽佩戴46340.2%
工作服穿着9234.8%
烟雾27522.2%
明火23825.6%
合计106831.9%

全量里约三成本身就是误报。若不复核,这 856 张评测图会原样进值班终端。


2. 级联怎么接

系统在文中分成多层:视频接入与边缘检测是已有系统;本文只改中间的复核;后面仍是告警分发和展示。处理顺序是:

1
2
3
4
5
6
视频流
  → 前端检测器(低阈值,保召回;输出带红框的告警图)
  → 按风险类别取出对应提示词(安全帽 / 工作服 / 烟雾 / 明火)
  → 视觉语言模型看「整张带框图 + 提示词」
  → 真告警:推到值班终端
  → 误报:抑制并归档

复核写成:带框图与第 k 类提示词一起送入模型,输出真告警或误报。k 只有这四类。模型看到的不是裁剪后的小框,而是画了框的全图,这样才能用背景判断框里的东西是不是烟、是不是火。

相关工作把 YOLO 一类单阶段检测器当作电力现场安全帽、工装、烟火检测的常见前端。本文实验没有重训或更换检测器,输入直接沿用现场系统已经框出的告警图。因此它证明的是「高召回复核」这一级,不是某一次 YOLO 改网络结构。


3. 规程如何变成场景约束

电力安全工作规程和该厂细则不直接丢给模型。作者把每类风险写成三列,再放进提示词:什么情况应告警,什么情况应排除,以及这条规则用在什么场景。

风险应告警(大意)应排除(大意)场景约束(大意)
安全帽未戴、提在手里、挂在身旁、帽檐反戴已戴(含黑色);堆积物、倒影、画面边缘的残影强制佩戴区域内的作业人员
工作服未着工装、未穿反光马甲、上衣被便装替代、衣袖卷起已穿反光马甲;驾驶室内司机;被搬运物挡住无法确认正式作业场地
烟雾有源头、向外或向上扩散的烟云、远景模糊;水雾、蒸汽、粉尘、灰色设备或工装;运动残影工艺上允许排放蒸汽的区域
明火开放火焰、跳动火焰、焊切飞溅静态高亮(警示色、灯具、车灯、信号灯);金属反光、夕阳光晕;烟花动火作业区里合规的焊接、气割火花

场景约束就是「同样的亮斑,在动火区可能合规,在别处才是明火」。这是背景和作业区匹配,不是另一个检测头。文中举的典型误报是红框套在车辆车灯上:一款模型认出车灯并判误报,另外两款把橙黄色光斑说成跳动火焰并判告警。同一张图、同一套提示词,视觉证据抽错,规则就匹配到相反的一列。


4. 提示词四级与评测

提示词分四级,后一级包含前一级的信息。开发集用来改写法,并从中抽 P4 的示例图;评测集不参与这项选择。

方案多出来的内容
P1只有关键词
P2完整句子,加上规程里的领域定义
P3再要求先推理再下结论
P4再给多类风险的正例、反例图像

评测模型为豆包视觉大模型(记为 A,跑完全部四级)、GLM-4.6V(B)和 Qwen3-VL-Plus(C)。后两款只比较 P3 与 P4。调用形式是推理服务;每张图多次独立推断后按多数投票。二分类指标里,作者把召回率(真告警留住的比例)和 FARR(误报被认出来的比例)相乘,得到告警过滤效率 AFE。P4 上豆包的 85.25% 与 73.99% 相乘,即表中的 0.631。

豆包从 P1 到 P4 单调变好:

方案准确率F1召回率FARRAFE
P146.73%41.54%27.79%87.18%0.242
P268.93%73.45%63.12%81.32%0.513
P375.12%80.26%74.27%76.92%0.571
P481.66%86.36%85.25%73.99%0.631

P1 几乎只剩关键词时,模型偏保守,大量真告警被当成误报,所以 FARR 看起来高、召回很低。加上领域定义后,准确率和 F1 跳得最多。思维链和正反例继续把召回拉到 85.25%,FARR 从 87.18% 降到 73.99%,AFE 仍上升。作者据此认为:领域定义和完整句子是主要增益,思维链和示例用来把工程上的召回补回来。

另外两款对示例的反应不一致。千问在 P4 精确率 95.68%、召回只有 53.17%,过滤误报很猛,真告警留不住。智谱从 P3 到 P4 准确率下降约 4 个百分点,约 30 张原先判对的误报被改成告警。因此示例不能当成「加上一定更好」,要和具体模型一起看。

相对「检测结果全部推送」:最优配置下终端要处置的告警量下降 33.6%,终端侧误报占比从 31.9% 降到 12.5%。代价是召回 85.25%,约一成半真告警在复核时被抑制。作者把这写成数量和质量一起缓解告警疲劳,而不是零漏报。

分项上,豆包 P4 的安全帽真告警准确率从 P1 的 9.9% 升到 92.3%,明火从 26.8% 到 85.9%,烟雾从 57.9% 到 81.9%。工作服最弱,P4 准确率 62.5%。对豆包 P4 的 157 个误判归类后:烟雾与水汽、粉尘混淆占 32.1%;明火与合规焊火、灯光混淆占 24.8%;反光条、帽带等细粒度漏判占 19.6%;光照、遮挡、边缘残影及其他合计 23.6%。后三类说明,提示词补不了像素太少或视觉上几乎一样的边界。


5. 和多级知识检索方案的差别

现场常说的多级方案是:YOLO 检出目标,视觉大模型看背景和作业区是否匹配,再检索知识库里的规程或案例。本文和这条链路对齐的部分、以及没做的部分如下。

多级方案里的一级本文实际做的
检测初筛沿用现场检测器的高召回告警图,不在本文重训
背景与场景模型看带框全图;规则里单列误报排除和适用场景(蒸汽区、动火区、驾驶室)
知识库检索没有向量库或图谱检索。依据是 DL/T 408—2023 和厂内细则,人工写成表格式规则,放进该类提示词

所以它更接近「规程编译进提示词」,而不是「每条告警现查知识库」。好处是复核路径短、类别固定时规则可审阅。限制是规程一改就要改提示词和示例,四类之外的风险没有自动召回相应条款。若要接上检索,合理的接法是仍用本文的三列规则当知识单元,按检测类别召回对应单元再填进提示词,而不是把整本规程一次性塞进上下文。本文没有做这个实验。


6. 作者写明的边界

数据来自一个电厂的一段时间,跨厂、跨季节是否还成立,文中没有测。漏报代价高时,85% 左右的召回不一定能接受,阈值应随类别调,而不是全厂共用一套。视觉相似物和细小违章是当前视觉语言模型的短板,作者认为只靠提示词解决不了。模型之间对同一示例的反应相反,上线前要把模型和提示词当成一对来评,不能只报其中一款的 81.66%。


7. 小结

要点结论
出处《热力发电》,郭京等,DOI 10.19666/j.rlfd.202605095
结构高召回检测框出告警图,视觉语言模型二分类:真告警或误报
知识从哪来规程写成触发、排除、场景三列,进入分级提示词;没有单独的检索库
数字豆包 P1→P4:准确率 46.73%→81.66%,F1 41.54%→86.36%;终端误报占比 31.9%→12.5%
不要外推工作服仅 62.5%;烟与蒸汽、火与灯光仍是主要误判;另一款模型加示例后变差

检测器继续负责「框里可能有什么」。真假要看框外是蒸汽、车灯还是动火区,这一步用带场景约束的提示词交给视觉语言模型。知识库若要加,应加在「按类别取哪一条规则」上,而不是代替这次已经测过的复核。

本文由作者按照 CC BY 4.0 进行授权