YOLO与视觉语言模型图片理解的安全告警复核方案简介
《热力发电》一文用高召回目标检测做初筛,再让视觉语言模型按电力安全规程判断真告警或误报。安全帽、工装、烟雾、明火四类上,最优提示词把复核准确率从 46.73% 提到 81.66%,终端误报占比从 31.9% 降到 12.5%。规程以结构化规则写入提示词,不是独立的知识库检索。
YOLO与视觉语言模型图片理解的安全告警复核方案简介
郭京等在《热力发电》网络首发的《基于视觉语言模型语义推理的火电厂安全监测告警复核研究》(DOI:10.19666/j.rlfd.202605095)讨论的是火电厂视频告警太多、值班人员看不过来。做法是检测器继续保持高召回,只把带框的告警图交给视觉语言模型,按电力安全规程判成真告警或误报。这和「检测 + 看懂背景与场景 + 用规程知识压误报」是同一条级联;文中的知识是写进提示词的判定规则,不是另建一套向量知识库再检索。下文只复述该文的方法、数据和作者自己标出的边界。
参考与延伸阅读:
- 期刊页:https://rlfd.cbpt.cnki.net/portal/journal/portal/client/paper/6c11b23634725f0d601039b8e611da01
- 网络首发 PDF:https://publishmedia.cbpt.cnki.net/portal/minio/webs/rlfde/media/web/2026/08/24/Research%20on%20VLM%20semantic%20reasoning%20based%20alarm%20re-examination%20for%20thermal%20power%20plant%20safety%20monitoring.pdf
- 文中依据的规程:DL/T 408—2023《电力安全工作规程 发电厂和变电站电气部分》
目录
1. 论文在解决什么
火电厂现场设备密、作业交叉。已部署的视觉告警为了少漏报,阈值放得低,集控室一天能收到数百条,其中大量是光照、遮挡和相似目标造成的误报。长期如此,值班人员会把真风险也点掉。
作者认为只改检测器不够,原因有两层。一是类别边界不稳:冷却塔水汽、输煤粉尘和烟很难只靠框内像素分开;车灯、警示灯和明火也会混。二是检测语义比违章语义粗:检出「穿着工作服」仍可能漏掉外套敞开、反光条缺失。所以他们不替换前端,只在检测之后加一层语义复核。
实验数据来自某一电厂已运行的检测系统,覆盖主厂房、输煤栈桥、化学水处理和升压站。图像是系统自动推到值班端、并画了红框的告警图,敏感信息已脱敏。连续多帧按时间和摄像头归并成事件,每个事件只留一帧清晰画面。最终 1068 张,两位有现场经验的人员双盲标注为真告警或误报,Cohen’s κ 为 0.87;分歧约占 5.6%,由第三人仲裁。约两成(212 张)做提示词开发,八成(856 张)做评测,并按「风险类别 × 真伪」分层,使两份集合的比例接近全量。
| 风险 | 合计张数 | 其中误报占比 |
|---|---|---|
| 安全帽佩戴 | 463 | 40.2% |
| 工作服穿着 | 92 | 34.8% |
| 烟雾 | 275 | 22.2% |
| 明火 | 238 | 25.6% |
| 合计 | 1068 | 31.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 | 召回率 | FARR | AFE |
|---|---|---|---|---|---|
| P1 | 46.73% | 41.54% | 27.79% | 87.18% | 0.242 |
| P2 | 68.93% | 73.45% | 63.12% | 81.32% | 0.513 |
| P3 | 75.12% | 80.26% | 74.27% | 76.92% | 0.571 |
| P4 | 81.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%;烟与蒸汽、火与灯光仍是主要误判;另一款模型加示例后变差 |
检测器继续负责「框里可能有什么」。真假要看框外是蒸汽、车灯还是动火区,这一步用带场景约束的提示词交给视觉语言模型。知识库若要加,应加在「按类别取哪一条规则」上,而不是代替这次已经测过的复核。
