Skip to content
EN

场景任务配置:通道、区域、参数与告警

项目说明
适合谁需要把内置算法配置成实际业务任务的实施人员、集成商和高级用户
完成后能做什么为通道选择算法,设置区域、参数和运行策略,观察可视化结果,并查询或导出事件
使用前提已完成首次检测,并有可正常播放的视频通道
预计时间35–50 分钟
是否需要设备需要正在运行的 CosmoEdge;可使用离线视频,不要求摄像机
最终验收结果实时展示只分析预期区域,参数与策略已保存,正负样本结果可解释,事件中心可查询或导出记录

本页用“未戴安全帽”完成一次手把手配置,再用“离岗检测”练习人数与持续时间规则。通用顺序是:

  1. 选择通道。
  2. 选择算法。
  3. 绘制检测区域。
  4. 设置检测与告警参数。
  5. 设置运行策略。
  6. 验证实时结果、事件和导出数据。

当前页面的实际标签是 检测区域参数设置运行策略。系统没有独立的 “告警配置”页;告警间隔、次数、持续时间和去重由 Pipeline 节点参数与运行策略共同控制。

通道、算法、区域、参数、展示和事件验证的完整配置路径

1. 先理解区域、参数和运行策略

设置控制对象典型影响不负责什么
检测区域画面中的空间范围哪些目标进入后续分析和规则判断不改变模型置信度
参数设置模型阈值、目标尺寸、持续时间、次数、去重等业务条件什么结果被接受、何时形成事件不决定任务在哪些日期和时段运行
运行策略任务的运行日期、时段和离线视频策略当前时刻是否执行任务不改变目标识别结果

因此,“没有告警”可能是视频、任务状态、运行时段、区域、模型结果或告警规则中的任意一层问题。后面的排查顺序会逐层确认,不从一次性降低所有阈值开始。

2. 完整示例:未戴安全帽

2.1 选择通道

本例使用仓库中的可复现素材:

text
data/test-video/Safety Helmet.mp4

若还没有通道,打开 视频接入,点击 添加,选择 离线视频,填写通道名称并上传 MP4。也可以使用项目 v1.0-videos 标签提供的演示素材。

添加用于未戴安全帽测试的离线视频通道

保存后先确认视频能播放,再进入场景任务配置,避免同时排查视频接入和算法。

2.2 选择算法并理解业务链路

  1. 在视频接入列表中打开该通道的 场景任务分配
  2. 在“所有服务”中选择 未戴安全帽
  3. 确认它出现在已选服务中。

从视频通道进入场景任务分配

在所有服务中选择未戴安全帽任务

成功状态:页面显示已选算法,可以切换到检测区域、参数设置和运行策略。

如需理解参数来自哪里,打开 任务配置 → 场景任务,找到 未戴安全帽

在场景任务列表中查找未戴安全帽任务

点击 算法编排 查看节点和连接。

打开未戴安全帽任务的算法编排

当前内置模板的顺序是:

  1. 视频解码:把通道视频转换为可供后续节点处理的帧。
  2. 目标检测算法:定位行人。
  3. 追踪算法:让同一个人在连续帧中尽量保持同一身份。
  4. 类别过滤:只保留目标类别和尺寸符合要求的行人。
  5. 目标分类算法:判断头盔、安全帽、无帽或不确定等分类结果。
  6. 目标判断:把分类结果映射为业务是否命中。
  7. 灵敏度计算:模板可按计时或计数方式抑制偶发命中;具体节点以已安装任务为准。
  8. 事件上报:按间隔、次数和去重规则保存事件。

这解释了为什么“检测区域”“最小目标尺寸”“分类置信度”“检测时间”和“告警间隔”不是同一件事。它们位于不同节点,按顺序缩小或确认结果。修改节点本身请阅读 算法编排

2.3 绘制检测区域

默认任务可以分析整个画面。检测区域(ROI)用于只关注业务位置,减少区域外目标干扰。

  1. 打开 检测区域,点击 新增区域

    在检测区域页新增一个业务区域

  2. 输入能说明业务位置的名称,例如“北入口作业区”。

    为未戴安全帽检测区域填写名称

  3. 画面中会出现可调整的多边形;拖动顶点覆盖人员必须佩戴安全帽的区域。

    画面中出现可调节的多边形检测区域

    调整多边形使其覆盖实际作业区

  4. 完成绘制并保存。

当前页面最多支持 4 个独立区域。区域应覆盖完整人员活动范围,但尽量排除海报、反光屏幕和非作业道路。区域过小会让目标只短暂进入;区域过大会引入无关目标。首次调试可适当放大,确认工作后再收紧。

“区域内才处理”描述的是规则链路:上游检测节点仍可能识别整帧目标,但只有满足区域位置条件的目标才进入相应分类或告警判断。算力是否下降取决于具体 Pipeline,不能仅凭区域变小推断。

2.4 设置检测和告警参数

打开 参数设置

未戴安全帽任务的参数设置页面

以下名称和模板值来自当前仓库中 Sophon 与 x86 共用的“未戴安全帽”模板。已安装任务可能保存了不同值,页面显示值始终优先。

当前参数名当前模板值控制内容调整建议
行人检测方式底部以检测框底部、中心或顶部判断行人是否进入区域地面区域通常使用“底部”
最小行人尺寸60小于约 60 × 60 像素的行人不进入后续判断远处漏报时可降低,但会增加噪声和后续计算
头盔/安全帽/无帽/不确定置信度由模型标签阈值提供分类分数达到何种阈值才接受该类别使用现场正负样本逐项调整
灵敏度5灵敏度节点接受连续命中的强度先保留当前值,再根据瞬时误报或漏报调节
检测时间(秒)2条件持续满足多久后形成事件增大可抑制瞬时结果,但会增加告警延迟
告警时间间隔(秒)3相邻事件之间的最短间隔演示可保持较短;生产环境按处置节奏增大
告警次数1同类事件允许上报的次数;0 表示不限制按业务闭环和通知负载设置
静止目标去重关闭是否抑制同一静止目标的重复事件固定干扰目标反复告警时再开启
静止目标重叠率0.2判断是否为同一静止目标的重叠标准仅在启用去重后调整
静止目标去重时间(小时)6同一静止目标多久内不重复上报根据现场处置周期调整
全景图叠加轨迹关闭告警全景图是否附带目标轨迹需要追溯运动路径时开启并验证图片可读性

不同已安装任务可能使用 灵敏度计算-计数 而不是模板中的 灵敏度计算-计时,参数含义也会随之变化。不要把某一任务保存值当作所有版本的默认值。

每轮只改一项并记录输入视频、旧值、新值和结果。例如,把告警间隔改小可以快速验证重复事件,但完成演示后应改回与生产处置周期匹配的值。

2.5 设置运行策略并保存

打开 运行策略,选择任务应运行的日期和时段。首次验证时要让当前日期和当前时间落在有效时段内。

为场景任务设置运行日期和时段

检查参数和区域后点击保存。

确认区域、参数和运行策略后保存任务

保存会启动服务。返回视频接入列表,确认通道运行开关已开启或状态为“进行中”。

保存场景任务并启动分析

2.6 验证实时可视化

  1. 点击 实时展示

    从导航进入算法实时展示

  2. 打开通道选择并选中刚配置的通道。

    在实时展示中打开通道选择

    从通道列表选择未戴安全帽测试通道

  3. 默认可能只播放视频,不显示算法叠加。打开算法叠加选择。

    在实时展示中打开算法叠加选择

  4. 选择 未戴安全帽

    选择未戴安全帽算法叠加层

  5. 观察目标框、区域、节点耗时和右侧或右上角事件信息。

    未戴安全帽算法的目标框、区域和耗时信息

当未戴安全帽人员进入区域时,Sophon 模板的分类标签可包含 pedHelmet(头盔)、 pedSafeHelmet(安全帽)、hatless(无帽)和 unsure(不确定)。x86 或自定义模型的标签可能不同,应以当前模型元数据为准。

无帽人员进入检测区域并形成算法结果

出现事件时,系统可以显示告警弹窗。

实时展示中的告警弹窗

告警弹窗可通过页面左上角或个性化设置中的相关开关控制;关闭弹窗只改变展示方式,不会自动停止事件上报。

控制实时展示告警弹窗的设置入口

再用戴安全帽人员作为负样本。分类结果达到安全帽类别阈值时,不应产生“未戴安全帽”事件。

戴安全帽人员进入区域但不应触发违规告警

2.7 查询、查看和导出事件

  1. 打开 事件中心 → 检测/分析

    事件中心的检测分析记录页面

  2. 使用通道名称、告警类型、时间范围和上传状态等条件定位目标事件。

    按通道、告警类型、时间和状态筛选事件

  3. 点击抓拍图片,核对触发时的目标、区域、分类和时间。

    打开未戴安全帽事件的抓拍全景图

  4. 需要离线分析时,点击 数据导出

    从事件中心导出筛选后的事件数据

  5. 打开导出的 CSV,确认列、编码、时区和筛选范围符合预期。

    导出的事件 CSV 文件示例

验收记录至少包含:通道与算法名称、检测区域截图、所有非默认参数、运行策略、一条正样本事件、一段负样本结果,以及需要时的 CSV。

3. 完整练习:离岗检测

离岗检测关注“岗位区域持续少于规定人数”,不是检测到单个目标就告警。区域的语义也发生变化:

  • 未戴安全帽:只对进入区域的人员继续做安全帽分类;
  • 离岗检测:区域表示必须有人值守的位置,人数条件持续满足后产生事件。

3.1 配置路径

  1. 准备含“有人值守”和“岗位空置”片段的视频通道。
  2. 场景任务分配 中选择 离岗检测
  3. 绘制岗位区域,尽量只覆盖实际值守位置。
  4. 按下表设置人数与持续时间规则。
  5. 设置当前时间有效的运行策略并保存。

3.2 当前真实参数名称

当前资源文件中的字段如下;表中的“示例设置”用于实现“岗位连续 10 秒少于 1 人”,不是模板默认值。

当前参数名模板值示例设置含义
目标数量阈值01与区域内实际有效目标数量比较的阈值
触发条件小于目标数告警小于目标数告警实际人数与阈值满足哪种关系时命中;还可选大于、小于等于、大于等于、等于
检测时间010人数条件需要连续满足的时长数值
检测时间单位与检测时间组合成实际持续时间,支持毫秒、秒、分钟和小时
告警时间间隔(秒)3按处置节奏设置相邻离岗事件的最短间隔
最小行人尺寸60根据画面设置过小行人是否进入人数判断
静止目标去重关闭通常先关闭是否抑制同一静止目标的重复事件

3.3 用正负样本验收

  • [ ] 有人在岗位区域内超过 10 秒:不产生离岗事件。
  • [ ] 岗位区域少于 1 人但不足 10 秒:不产生事件。
  • [ ] 岗位区域连续少于 1 人超过 10 秒:产生离岗事件。
  • [ ] 人员返回后,新画面不再持续命中离岗条件。
  • [ ] 事件中心可以查询抓拍图和准确时间。

如果多人岗位要求至少 2 人,把 目标数量阈值 设为 2 并保留 小于目标数告警; 不要寻找不存在的“离岗时间阈值”或“最少人数”占位字段。

4. 当前内置场景与可配置模板速查

当前 Sophon 与 x86 资源目录各包含 29 个算法模板。安装包、授权、模型文件和资源导入状态会影响页面实际可见数量,因此不要把“29”当作每台设备必然可运行的承诺。

4.1 传统业务场景模板

类别当前模板配置重点
工地与人员防护未戴安全帽、未穿反光衣、未穿工服、区域入侵业务区域、目标尺寸、分类阈值、持续时间和告警间隔
人员行为与值守睡岗检测、离岗检测、玩手机检测、打电话检测、吸烟检测姿态或分类结果、人数条件、持续时间和去重
消防安全烟雾检测、火焰检测目标置信度、最小尺寸、持续时间和干扰区域
园区安防人员跌倒、人员聚集、车辆违停、绊线检测区域或检测线、人数、停留时间、方向和追踪稳定性
计数统计区域人数统计、人流量统计区域或检测线、统计方式、方向、上报间隔
识别人脸识别、车牌识别底库或识别配置、目标质量、相似度或解析结果

4.2 大模型和组合模板

资源目录还包含 检测大模型分割大模型视觉语言大模型,以及视觉检测、视觉分割、视觉语言分析和“检测后分类/分割”等组合模板。它们不是额外的固定业务答案,而是创建提示词任务或组合 Pipeline 的入口:

先选择 1–2 个与业务最相关的任务跑通完整验证,不要一次启用所有模板。页面实际参数由所选模板节点生成,不能从场景名称猜测。

5. 如何确认配置已经生效

依次确认五层:

  1. 持久化:离开配置页再重新进入,区域、参数和策略仍是保存后的值。
  2. 运行:通道开关已开启,当前时间落在运行策略内。
  3. 检测:实时展示中的目标、区域、类别或统计结果符合预期。
  4. 事件:正样本形成事件,负样本不形成事件,抓拍图和时间可解释。
  5. 导出:需要留档时,CSV 的筛选范围、字段、时区和页面查询一致。

只有“保存成功”不能证明算法已经运行;只有检测框也不能证明告警规则正确。

6. 排查顺序

配置无法保存或保存后丢失

  1. 检查页面是否提示必填字段、区域未完成或参数范围错误。
  2. 只保留一个最小区域和模板值再次保存。
  3. 重新进入页面确认是否持久化。
  4. 查看浏览器网络请求和后端日志中的保存接口错误。

没有检测结果或没有告警

  1. 视频是否正常播放。
  2. 通道与算法是否关联,运行开关是否开启。
  3. 当前时间是否位于运行策略内。
  4. 目标是否进入区域或穿过检测线;检测框位置选项是否合适。
  5. 实时展示是否已有上游检测或分类结果。
  6. 正样本是否持续满足检测时间、人数或灵敏度条件。
  7. 是否受到告警间隔、告警次数或静止目标去重抑制。
  8. 最后才基于固定样本调整置信度和最小目标尺寸。

告警弹窗没有出现

先到事件中心查询。如果事件已经保存,问题在弹窗开关或实时展示,不在算法上报;如果事件也不存在,再按上一节从视频到规则逐层检查。

误报过多

  1. 用抓拍图判断误报来自区域外目标、错误类别、追踪不稳还是瞬时结果。
  2. 先收紧区域、调整检测线或改变检测框位置选项。
  3. 对固定干扰目标启用静止目标去重。
  4. 再逐步提高相关置信度、灵敏度或检测时间。
  5. 每次只改一项,并用同一组正负样本复测。

导出数据与页面不一致

核对通道、任务、状态和时间范围,确认浏览器、设备与导出时间的时区一致,再重新查询并导出。重复点击查询会刷新数据;应记录导出发生时的筛选条件。

如果经过区域、规则和阈值调整仍无法满足需求,可能需要换用更匹配的算法或模型,而不是继续堆叠参数。

下一步

阅读VLM 与 DINO,了解哪些长尾任务适合用自然语言定义,哪些仍应使用传统检测模型。

Released under the Apache 2.0 License.