Technical resource · Rule engine

告警的底气,
来自每一次判定的确定性

AI 巡检的价值不在于"看见了什么",而在于"何时值得打扰一个人"。本文深入解析 LingMind 规则引擎的七种判定策略——它们如何用时间维度驯服视觉检测固有的抖动,在什么场景下使用,以及如何配置。

  • 7种判定策略
  • 3态证据模型
  • 100%基于事件时间可回放
阅读七种策略

Summary

核心结论

单帧视觉检测天然是抖动的:遮挡、光照、角度与运动模糊都会让置信度在告警线附近反复横跳。直接把单帧结果当告警,得到的不是智能巡检,而是告警疲劳。

检测解决"是什么",规则解决"算不算"

视觉模型输出的是逐帧的观察证据;是否构成一起值得介入的事件,由规则策略在时间轴上做出最终判定。两者职责分离,各自独立演进。

没有放之四海的判定算法

明火需要"看见即报",人员滞留需要"满时才报",安全帽缺失需要"先见人、后断帽"。LingMind 把这些判定模式沉淀为七种可组合的策略,而不是一个万能阈值。

每一条告警都可解释、可回放

所有策略都是确定性状态机,基于帧时间戳而非处理时刻推进。历史视频重放会得到完全一致的结果,每一次状态迁移都记录原因,供事后审计与参数调优。

Shared foundation

七种策略共同的三块基石

无论选择哪种策略,证据进入判定前的处理方式是一致的。这三块基石决定了整套规则引擎的工程品质。

01

三态证据:未知不是阴性

每个采样帧的观察被归为三类:确认命中、确认未命中、未知。目标被遮挡、检测质量不足、画面丢失,都归入未知。未知既不加分也不清零——由"未知保持时长"参数决定状态是继续保留还是复位重估。看不清画面时系统选择沉默,而不是猜测。

02

事件时间,而非处理时间

所有时长、窗口与衰减都基于帧自身的采集时间戳推进,与处理快慢无关。网络抖动、计算排队、离线补传都不会改变判定结果;同一段视频在任何时候重放,得到完全相同的告警序列。

03

有界的确定性状态机

每条规则对每个判定对象维护一个显式生命周期:观察 → 疑似 → 确认命中 → 解除中 → 解除。状态占用内存有上界,与视频时长无关,适合数月不间断运行;每次迁移附带原因码,告警可以逐条追溯到当时的证据链。

Strategy map

七种策略一览

先把判定问题归类,再选策略:事件是瞬时的还是持续的?证据是强还是弱?关心的是出现、缺失、越界还是数量?

策略判定逻辑典型场景
瞬时滞回Instant hysteresis单帧即可判定,触发与解除使用分离阈值,防止临界抖动明火、烟雾、明显入侵等高置信瞬时事件
持续时长Continuous duration状态持续满设定时长才确认,观测中断显式暂停而非清零人员滞留、车辆占道、施工超时
窗口共识Window consensus滑动时间窗内按质量加权投票,共识达标才确认远距离小目标、间歇可见的缺陷与异物
证据累积Evidence accumulator证据强度按时间积分,弱信号缓慢累积、随时间衰减渗漏渐变、烟雾渐浓等缓慢发展的异常
可观测缺失Observable absence先确认"人可见",再判定"物持续未见",反向规则安全帽、反光衣等佩戴合规检测
轨迹变迁Track transition基于同一目标的跨帧跟踪,判定进入、离开与越线电子围栏、越线闯入、离岗与逆行
场景聚合Scene aggregate对区域内目标集合整体判定,而非逐个目标区域人数超限、人群聚集、密度预警

Strategy 01 · Instant hysteresis

瞬时滞回:高置信事件的快速通道

解决什么问题

有一类事件,出现一帧就足以成立——明火、爆炸性烟雾、翻越围栏的瞬间。对它们套用"持续 N 秒才告警"的约束,等于放弃处置窗口。但直接单帧判定又有另一个风险:置信度在阈值附近上下浮动时,告警会反复触发又反复撤销。瞬时滞回用一对分离的阈值解决这个矛盾:进入容易,退出难。

适用场景

  • 检测模型对该目标置信度普遍较高(近距离、大目标、特征明确);
  • 事件具有即时危害性,响应速度优先于绝对准确;
  • 现场可能出现短暂的置信度波动(雨滴、灯光闪烁、镜头污渍)。

配置要点

参数含义示例值
匹配阈值置信度达到该值立即确认命中0.75
释放阈值必须低于该值才解除,且必须小于匹配阈值0.40
未知保持时长看不清的持续时间超过该值才复位状态1,500 ms

示例:夜间材料堆场禁行区。火焰检测置信度升至 0.78,超过匹配阈值 0.75,即时告警;随后的 0.5~0.6 区间波动高于释放阈值 0.40,告警保持,不会闪烁。两阈值之间的缓冲带(0.40–0.75)就是抗抖动的空间。

Strategy 02 · Continuous duration

持续时长:时间本身就是判据

解决什么问题

"有人在禁区"和"有人在禁区徘徊了三十秒"是完全不同性质的事件。前者可能是路过的投影、误检的一帧;后者几乎必然是真实滞留。持续时长策略要求目标状态连续保持满设定时长才确认告警,天然过滤瞬时误检。它的关键细节是对观测中断的处理:目标被立柱遮挡两秒,计时暂停而不是清零——重新可见后从暂停处继续,避免"遮挡绕过"。

适用场景

  • 违规的严重程度与持续时间正相关:滞留、占道、停滞、超时作业;
  • 现场存在周期性遮挡(立柱、设备、来往车辆);
  • 要求告警附带"滞留了多久"这类可直接引用的事实。

配置要点

参数含义示例值
确认时长持续满足满该时长后确认命中30,000 ms
解除时长状态消失满该时长后解除告警5,000 ms
未知保持时长遮挡/丢帧超过该值,状态复位重新计时10,000 ms
最大断流间隔两次有效证据之间允许的最大间隙2,000 ms

示例:高铁天窗期线路禁入监测。人员在禁入区域持续出现 30 秒即确认告警,告警记录从首次可见时刻起算;被信号机遮挡 2 秒计时暂停,遮挡消失后继续累计。反过来,巡检员正常穿越通道 8 秒即离开,不构成事件。

Strategy 03 · Window consensus

窗口共识:让反复出现的弱证据说话

解决什么问题

远距离小目标——百米外的接触网吊弦、轨道上的细小异物——单帧置信度往往只有 0.4~0.6,任何单一阈值都会顾此失彼:调高了漏报,调低了误报。窗口共识的策略是让时间窗内的多个样本投票:每个样本按画面质量加权,窗口内的加权共识均值超过阈值才确认;一帧极高质量、极高置信的样本则可以越过投票直接确认。杂乱背景下偶发的一帧高分同样会被后续低分样本稀释,不会单独触发告警。

适用场景

  • 小目标、远距离、部分遮挡,置信度天然不稳定;
  • 缺陷位置固定或缓慢移入视野(无人机航线巡检的典型情况);
  • 需要兼顾"快速发现高置信目标"与"容忍低置信抖动"。

配置要点

参数含义示例值
窗口时长参与投票的样本时间范围5,000 ms
最小有效样本数窗口内至少要有这么多可观测样本才允许确认4
加权均值阈值质量加权的共识均值达到该值确认命中0.55
强匹配阈值单个高质量样本达到该值直接确认0.90
忽略下限低于该置信度的样本不参与投票0.15
释放阈值共识均值低于该值解除告警0.30
最大样本数窗口保留样本的上限,系统级约束为 6030

示例:无人机航拍接触网吊弦异常检测。5 秒窗口内累积 8 个有效样本,其中运动模糊的 0.35 样本权重被压低、对焦清晰的 0.62 样本权重正常,加权均值 0.58 ≥ 0.55,确认告警。若其中某帧出现 0.93 的清晰特写,则立即确认,不再等待窗口收敛。三者关系恒定:释放阈值 < 加权均值阈值 < 强匹配阈值。

Strategy 04 · Evidence accumulator

证据累积:给缓慢发展的异常一个刻度

解决什么问题

有些异常不是"发生"的,而是"长成"的:隧道壁的渗水从湿斑到滴漏需要数日,烟雾从一缕到成片需要数分钟。这类信号每一帧都很弱,但方向一致、持续存在。证据累积策略把观察强度转化为一个随时间积分的数值:弱阳性按速率缓慢累加,弱阴性按速率缓慢抵消,时间本身还会带来指数衰减——昨天的弱证据不会无限透支今天的判定。数值越过匹配线确认告警,跌回释放线解除。它像一颗缓慢充能的电池,充到满才放电。

适用场景

  • 渐变型异常:渗漏、锈蚀扩展、轻微形变、烟雾渐浓;
  • 单帧证据微弱,误报成本高,需要长期方向性确认;
  • 需要在"及早发现"与"容忍波动"之间精细权衡的场景。

配置要点

参数含义示例值
匹配值 / 释放值累积值越过匹配线确认,跌回释放线解除1.0 / 0.2
累积上下限累积值的取值范围0 ~ 2.0
弱阳性速率单位时间正向证据的累积速率0.03 /s
弱阴性速率单位时间反向证据的抵消速率0.05 /s
半衰期累积值随时间衰减一半所需的时长30,000 ms
未知行为看不清时累积值是"保持"还是"继续衰减"衰减
强信号直通强阳性立即命中、强阴性立即解除的开关开启

示例:隧道渗漏水监测。白天每帧仅有 0.2~0.3 的微弱湿斑置信度,按每秒 0.03 缓慢累积,配合 30 秒半衰期的遗忘,断续出现的弱证据在十余分钟后累积越过匹配值 1.0,确认渗漏事件;夜间画面完全干燥的阶段以 0.05/s 抵消并在数分钟内跌回释放线,事件闭环。

Strategy 05 · Observable absence

可观测缺失:先证明"看得见",再判定"没戴"

解决什么问题

安全帽合规检测是典型的反向规则:告警条件不是"看见了违规物",而是"该存在的东西持续看不见"。直接实现它有个致命陷阱:画面里根本没有人的时候,安全帽当然也"看不见"——朴素做法会对着空场地疯狂告警。可观测缺失策略引入了"可观测性"前提:只有当人员本身被持续检出、且在人员可见的前提下目标物持续未见,缺失才成立。它还处理了两个现场细节:其一,一旦确认佩戴,本跟踪周期内锁定合规——工人戴好帽子之后偶尔的遮挡或误检不会再次打断他;其二,遮挡或转头造成的"疑似看见"只按弱证据缓慢累积,而推断性的出现证据不被采信,只有被真实观察到的出现才能解除告警。

适用场景

  • 佩戴合规:安全帽、反光衣、防护手套、安全带;
  • 到位检查:消防器材、警示标志、工具归位等"应在位"的对象;
  • 人员流动性大、遮挡频繁的施工现场。

配置要点

参数含义示例值
缺失确认时长人可见而物未见持续满该时长,确认缺失3,000 ms
确认上限时长缺失计时的封顶值,防止极端长计时30,000 ms
强出现立即解除清晰看见佩戴时是否立即解除告警开启
弱出现累积开关、阈值与半衰期:疑似看见的证据缓慢累积,达到阈值才视为佩戴开启 · 0.6 · 1,500 ms
解除延时出现确认后维持满该时长才正式解除1,000 ms
未知保持时长完全看不清超过该值,状态复位重估8,000 ms

示例:工地出入口安全帽检测。工人进入画面 0.5 秒后头部可见但持续未见安全帽,计时从人可见时刻起算,3 秒后确认缺失并告警;随后工人从口袋取出帽子戴上,清晰可见的佩戴画面令强出现立即生效,1 秒解除延时后事件闭环,且该工人在本次跟踪周期内不再因头部瞬时遮挡被重复打扰。

Strategy 06 · Track transition

轨迹变迁:判定"关系变化",而不是"像素存在"

解决什么问题

越线、闯入、离岗、逆行,本质都不是"画面里有个目标",而是同一目标与区域、警戒线的关系发生了变化。这要求判定建立在跨帧跟踪之上:系统必须确认第 30 帧的行人和第 45 帧的行人是同一个人,"进入危险区"这个结论才成立。轨迹变迁策略把跟踪连续性作为硬性前提——目标因遮挡断跟后重新出现,不能直接沿用断跟前的区域关系;关系变化需要在确认时限内保持稳定才成立;告警触发后进入重复告警冷却期,目标在边界附近徘徊不会刷出成串重复告警。

适用场景

  • 电子围栏:进入/离开指定区域的判定与联动;
  • 警戒线:跨越单向或双向警戒线的瞬间事件;
  • 岗位管理:离岗(离开作业区)、串岗、逆行检测。

配置要点

参数含义示例值
确认时限关系变化需在该时限内确认,超时视为不确定2,000 ms
最短稳定时长关系需持续稳定的最短时间,过滤边界抖动1,000 ms
重复告警冷却间隔告警解除后经过该间隔,同类事件才能再次触发10,000 ms
未知保持时长跟踪丢失超过该值,状态复位重新观察3,000 ms

示例:接触网带电区域闯入防护。行人目标被跨帧持续跟踪,轨迹连续且与带电区域的关系稳定为"内部"满 1 秒,确认闯入并联动声光警示;告警后 10 秒冷却期内,同一个人在边界内外徘徊不会重复触发。检测框压线导致的"半进半出"抖动被最短稳定时长吸收。

Strategy 07 · Scene aggregate

场景聚合:当问题在于"有多少",而不是"是谁"

解决什么问题

"站台上聚集了超过五十人"——这条规则的判定对象是区域内的目标集合,任何一个个体都不违规、集合整体才违规。逐目标判定在这里完全失效。场景聚合策略每帧接收区域当前的完整成员清单而非增量变化:人数、指定对象的组合、密度都可以作为判据;成员来来去去,判定只看当前时刻的整体状态是否持续满足条件。由于状态只保存"现在的成员",无论运行多久,占用都有上界。

适用场景

  • 区域容量:站台、候车室、施工升降平台的人数上限;
  • 聚集预警:人群聚集、异常密集、突发涌向;
  • 组合条件:区域内须同时存在/不存在某类对象。

配置要点

参数含义示例值
确认时长集合条件持续满足满该时长后确认60,000 ms
解除时长条件消失满该时长后解除20,000 ms
未知保持时长画面不可用超过该值,状态复位5,000 ms
最大实体数单区域跟踪实体上限,系统级约束为 1,000200

示例:高峰期站台聚集预警。划定站台候车区域,当前在场人数 ≥ 50 持续 60 秒即确认聚集预警并推送客运调度;列车离站、人数回落并持续 20 秒后自动解除。个别乘客进出引起的瞬时人数波动被时长参数自然平滑。

Selection guide

三个问题,选出正确的策略

现场配置一条巡检规则时,按顺序回答三个问题,答案会直接指向一种策略。拿不准时,优先保证误报可控——漏报可以靠加密巡检频次弥补,告警疲劳则会摧毁整个系统的公信力。

问题一:事件的本质是什么?

  • 出现即成立、置信度高 → 瞬时滞回
  • 持续越久越严重 → 持续时长
  • 缓慢渐变、单帧证据弱 → 证据累积
  • 该在的东西不见了 → 可观测缺失
  • 与区域/线的关系变化 → 轨迹变迁
  • 数量或密度越限 → 场景聚合
  • 单帧置信不稳、反复出现 → 窗口共识

问题二:证据质量如何?

近距离、大目标、光照稳定,说明证据强,可以偏向快速策略(瞬时滞回、持续时长);远距离、小目标、遮挡频繁,说明证据弱,应偏向统计型策略(窗口共识、证据累积),让时间和质量加权去抵消单帧的不确定性。

问题三:误报与漏报哪个更贵?

安全类事件(闯入带电区、明火)宁可误报不可漏报,阈值下探、时长缩短,并开启强信号直通;运营类事件(聚集、占道)告警疲劳代价更高,时长上浮、阈值保守,宁可晚三十秒确认。

Configuration workflow

在 LingMind 中配置一条规则

规则策略不要求使用者理解任何算法。在巡检方案配置中,一条规则由"检测什么 + 在哪检测 + 如何判定"三部分组成,策略与参数就是第三部分的选择题与填空题。

划定检测范围

选择相机与视频流,在画面上绘制区域或警戒线,作为规则的空间作用域。

选择检测对象

从已启用的人、车、火、烟、PPE、设施缺陷等模型对象中选择规则的目标。

选择判定策略

按上文的三问法选择策略,系统会呈现该策略的全部参数与合法取值范围。

填入参数初值

参考同场景的模板参数起步;所有时长、阈值均可在运行中调整,调整即时生效于新证据。

回放验证

用历史视频回放校验误报与漏报。因为判定基于事件时间,回放结果与当时线上一致,调参后重放即可对比前后差异。

启用并持续观察

规则上线后,每条告警都携带完整证据链与判定原因,作为下一轮调参的依据。

Scope

适用范围与边界

本文所述为产品当前能力

七种策略与文中参数均为当前版本规则引擎的真实能力与真实配置项;示例数值为说明性配置,实际取值应结合现场验证确定。

策略效果依赖模型质量

规则策略消除的是时间维度的抖动,不能修复检测模型本身的系统性缺陷。对象在画面中完全无法被检出时,任何判定策略都无法凭空产生告警。

参数上限为系统约束

窗口共识的窗口样本上限(60)、场景聚合的实体数上限(1,000)等为平台级资源约束,单个规则的参数不可突破,以保证长期运行的资源确定性。

See it in action

用你的现场视频,验证每一种策略

联系我们,用历史视频回放对比不同策略与参数下的告警序列差异,再决定如何配置。