Skip to content

About

治安冲突视频分析(打架/斗殴 T3 长尾专项)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

conflict_guard

治安冲突视频分析(打架/斗殴 T3 长尾专项):疑似肢体冲突告警 + 强制人审 + 告警预算 + 以图搜人取证。语义降格、合规红线全部代码化。

python deps tests license

powered by AutoVision pypi

English | 简体中文

管线五拍: 高危点位取帧 → 人形底座 → 白名单/消歧闸 → 复合分级 → 强制人审/飞轮/取证

图:管线五拍(判定字段为真实管道输出)——真实街头冲突检出经白名单/消歧闸后进入复合分级,产出 behavior/brawl risk4 线索"疑似群体冲突 (卷入约9人)",全链路措辞"疑似"、定性权在人审与公安。


1. 背景与挑战

酒吧街、夜市、KTV、校园周边、交通枢纽的夜间安保,长期存在四项结构性 空白:

挑战 现状描述
"打架"语义不可达 "打"是意图不是像素——端到端 RGB 大模型对真实斗殴的判别不具备可验收性,强行承诺"识别打架"的方案都过不了审计
摆拍→真实域差 真实样本极稀缺、标注主观、剧烈遮挡;拿什么训练、怎么验收,是长尾事件的第一难题
告警疲劳 安保第 3 次误报后就会忽视第 10 次真报——把真系统变成噪音发生器只需一个周末
夜间低照 斗殴高发在夜间,普通相机在主战场时段底座先失明

2. 设计原则(范围先行)

原则 落地
承诺降级 不承诺"识别打架",承诺"剧烈肢体冲突动作的疑似告警 + 强制人审";全链路措辞"疑似肢体冲突",确认前不出现定性词(措辞纪律有单测)
特征三取二 ①接触交互(<0.5m ∧ 相对速度>1.5m/s 持续≥2s,地面标定)+②动作模式(骨架识别命中挥击/踢击/拉拽/缠斗)+③场景激化(聚集/倒地);单特征不触发推送
人审是主流程 每条推送级告警必经 10s 短片人审(≤30s 达标、60s 超时升级);reject 原因枚举即飞轮负样本标注
告警预算制 每点位 ≤8 条/夜,超预算自动降敏(仅 risk4 紧急级透传)+ 运维提示,次日自动恢复;台账持久化,重启不清零
高危点位限定 星光级相机为点位准入,布防窗按营业时段(跨午夜、站点时区);时段外零告警(有准出用例)

3. 判定链

帧源(布防闸) → 健康门控 → 人形+跟踪+姿态(行为域底座) → 骨架动作识别(注入契约)
    → 白名单闸(舞蹈/健身区) → 打闹消歧(play抑制/uncertain直推人审)
    → 复合分级(r2推搡/r3冲突/r4群体) → 预算闸(≤8条/夜, risk4透传)
    → 强制人审(10s短片) → 确认: 联动处置+倒地合并+跨点位串联+以图搜人取证
                        → 误报: 原因枚举 → 数据飞轮负样本

三道消歧闸各司其职:白名单(时段内"对抗动作"应有完全不同的解释—— 广场舞整体剔除,真实检出 × 最坏对抗注入实测 22/22 零泄漏); 打闹消歧(对抗朝向/肢体末端速度/交替进攻三特征,play 证据充分才 抑制、uncertain 一律直推人审不硬判);告警预算(最后闸门:宁可 少报,不造疲劳)。

4. 三模型流水线

模型 职责 回答的问题
AI-Detect(开放词汇检测) L1 人形检出 "夜里这条街上有人吗?几个人、在地面标定坐标的哪里?"
AI-Recognize(免提示提议 + 区域嵌入) L2 取证语义 "这名已确认的涉事人员,还出现在哪些点位、什么时间?(以图搜人路径回溯)"
AI-Reference(Qwen3VL grounding) 预筛裁决 "这段片段是肢体冲突——还是广场舞/嬉戏打闹/拥抱搀扶?"

三件套是流水线,不是三个孤岛——但本域的大脑是规则引擎,三模型是感官: AI-Detect 只回答"人在哪","是不是冲突"由特征三取二复合评分判定(接触 交互/动作模式/场景激化,单特征永不触发);时序特征与语义判读互补而非 冗余——打闹与斗殴在单帧上语义近似(都是肢体接触),区分点在时序对抗 张力(骨架动作序列 + 消歧三特征),这正是骨架动作识别以注入契约接入 的原因;AI-Reference 对主观冲突判读诚实降级为预筛——只过滤显著 误报族(舞蹈/嬉戏/拥抱,设计口径 30~40%),存疑不硬判、直推强制人审, 不承担最终判定;AI-Recognize 只收人审确认事件的人框 crop(合规 红线),嵌入驱动涉事人员到达/离开路径回溯。

5. 技术亮点

  • 复合分级引擎 + 首告优先——Episode 内同级别静默、升级才追加 (source_id 带 :u{level} 后缀稳定可幂等);冷却防连发但 risk4 永远透传(与预算降敏纪律一致——修复前冷却内群体斗殴被 静默 10 秒零告警,回归测试固化)。
  • 前兆监视器——口角对峙/奔跑聚集产出 risk1 提示级(不推送不占 预算),持续期只提示一次防逐轮刷屏;为升级判定提供时间上下文。
  • 数据飞轮——人审 confirm=正样本 / reject+原因枚举=负样本, 全量落审计可导出,季度微调只依赖审计导出(§4.2 ③ 落地形态)。
  • 涉事取证链——确认事件人框入索引、以图搜人 Top-N 路径回溯; 取证包导出双人审批(请求人与审批人不得同一,自批拒绝有测试)、 校园等未成年人场景须主管审批;索引仅存影像嵌入+时间+点位, 不做身份识别。
  • 工程纪律——模型全部注入式(GPL 隔离,分析后端由部署 entrypoint 注入 FrameAnalysis 产出器);SQLite 三张审计台账(人审/预算/取证)
    • outbox at-least-once HMAC 推送;缺持久化路径配置即 fail-loud (禁止静默落内存库"审计失忆")。
  • 332 张真实图门禁——242 张标注语料(11 类 × 22,百度图片检索, MD5 跨批次去重)+ 90 张历史语料;11 类全量人形召回门禁按实测校准; 检测缓存 + 设备自选(CUDA 空闲显存检查,不足降级 CPU),共享 GPU 环境不假失败。

6. 效果图

以下标注均为真实管道输出(人形检测框与置信度取自 detections.json, 未经手工修改)。

正例(高危场景底座检出):

街头冲突 群体冲突 夜市点位

负样本(检出但正确不告警 = 系统的另一半能力):

广场舞(白名单) 拥抱 醉酒互搀
口角对峙(前兆) 嬉戏打闹(消歧) 体育对抗(白名单)

总览:

9 类场景标注总览: 正例底座检出 + 负样本正确不报

7. 端到端流程示例

以一个周五夜为例(时间为示意,判定与路由为真实逻辑):

时刻 环节 说明
20:00 布防生效 布防窗 20:00~次日 02:00(站点时区,跨午夜);时段外零告警
22:31 前兆提示 两人口角对峙 20s(<1m、静止、相向)→ risk1 提示,不推送不占预算
22:47 特征满足 两 track 近距对冲持续 ≥2s + 动作识别命中 → 复合分级 risk3
22:47+2s 预算闸 当夜第 3 条推送级告警,预算内放行(≤8 条/夜)
22:47+3s 强制人审 10s 短片推安保值班终端;18s 判读〔冲突〕→ 联动处置(MTTD 口径:模式满足即产出)
22:49 升级 第 3 人卷入 + 围观聚集 → risk4 群体冲突,多点位关联检查
23:10 倒地联动 同点位 fall 告警合并 → 医疗呼叫 + 优先级提升
案后 取证包 双人审批导出:时间线 + 片段 + 涉事人框索引(不含身份识别)
次日 飞轮 confirm/reject 全量入审计 → 季度微调数据源

8. 关键指标

基准口径:332 张真实图片门禁语料(242 张标注:11 类 × 22 + 90 张 历史)+ 92 项单元/门禁测试,详见 CHANGELOG 与 measure_report.json。

图片门禁 16/16 通过(2026-09-18 实测):

门禁 准出 实测
白名单闸零泄漏(真实检出 × 最坏对抗注入) 0 0/22 ✓
白名单对照组(去白名单必须告警) ≥83% ✓
人形底座召回(11 类全量,实测校准) 见 manifest 11/11 类过 ✓
全链(线索→outbox→契约→路由→人审→飞轮→取证双审批) 通过 ✓
语料完整性(332 张解码 + MD5 唯一) 通过 ✓
指标 数值 口径
人形底座召回(第一梯队) 广场舞/体育 100% · 夜市/街头/群体/舞台 91~95% AI-Detect,score≥0.5
人形底座召回(中间档) 对峙 18/22 · 醉酒互搀 17/22 同为底座改进输入
人形底座召回(域差梯队) 拥抱 7/22 · 嬉戏 9/22 · 拉拽 13/22 近距框合并/儿童/特写——诚实公开
MTTD 持续窗满足即产出(单测 mttd_s<0.2s) 设计口径 ≤5s(帧时间戳起算)
人审 SLA ≤30s 达标率统计 · 60s 无操作二次提醒 FR-COM-04
告警预算 ≤8 条/点位/夜 · 超预算降敏 · risk4 透传 FR-COM-05
工程质量 92 项测试全绿(含 16 项图片门禁) 共享 GPU 环境可复现(设备自选+检测缓存)

诚实口径:图片门禁覆盖底座召回/白名单消歧/管线全链/取证链, 不冒充语义门禁——冲突语义 R/P(设计目标 ≥85%/≥65%)需要时序 轨迹,由 §8.2 受控摆拍视频集 + 骨架动作识别评测承担,尚未建设 (动作识别模型经 TrackObs.action 注入契约接入,规则桩先行)。 语义维度的验收承诺当前不可声明。

9. 快速开始

import time

from conflict_guard import (ConflictPipeline, PointConfig,
                            SceneObs, TrackObs)

pipe = ConflictPipeline(PointConfig(point_id="NM-1",
                                    scene_type="bar_street",
                                    night_budget=8))
tracks = [TrackObs(track_id=1, cx=10.0, cy=10.0, speed_mps=3.0,
                   action="swing", action_conf=0.9, facing=(1, 0),
                   limb_tip_speed=4.0),
          TrackObs(track_id=2, cx=10.3, cy=10.0, speed_mps=-0.5,
                   action="kick", action_conf=0.85, facing=(-1, 0),
                   limb_tip_speed=4.5)]
ts = time.time()
for k in range(5):            # 0.5s 节拍 ×5 → 喂满 2s 接触持续窗
    result = pipe.process(tracks, SceneObs(), ts=ts + k * 0.5)
# result.pushed_alerts → 强制人审队列 (10s 短片)
# 单元 + 图片门禁 (检测缓存使 332 张语料门禁秒级可复现)
python -m pytest conflict_guard/tests -q

# §8.4 轨迹口径验收报告
python -m conflict_guard.acceptance

# 运行时部署 (布防闸+健康门控+outbox 推送; 分析后端由部署 entrypoint 注入)
python -m conflict_guard.runner --config conflict_guard/deploy/runner.example.json

10. 系统架构

conflict_guard 系统架构: 高危点位现场 → 分析运行时 → 平台侧, 预算台账/审计链/取证双审批

11. 范围与限制

  • 语义判定模型未上线:动作模式(特征②)依赖骨架序列动作识别 (设计选型 ST-GCN 级,双人/多人骨架图拓扑),当前为注入契约 + 规则桩;三层数据引擎(受控摆拍/授权素材/运行时飞轮)冷启动未开始。
  • §8.2 验收数据集未建设:摆拍正例 ≥400 组、负样本 ≥300 段、 试点实采 ≥60 夜——R≥85%/P≥65% 的验收承诺在数据集建成前不可声明。
  • 图片门禁是底座/链路门禁,不是语义门禁:运动维按"最坏对抗注入" 构造(静态图没有时间维)。
  • 底座域差已知:近距接触族(拥抱/嬉戏/拉拽)人形召回显著低于 人群场景,夜间实采底座衰减需 §8.3 Gate-0 现场实测。
  • 高危点位限定是精度前提:只在夜市/酒吧街/校园周边等高危点位 部署(星光级相机准入),不做全城铺开——点位密度换精度。

12. License 与数据声明

代码为商业软件(Commercial Software),未经授权不得复制、修改、分发 或商用。门禁语料图片来自百度图片搜索,不随仓库分发(仓库提供 抓取脚本 fetch_conflict_images*.py、manifest.json、 measure_report.json 与检测缓存,可复现重建;标注仅供研究)。 系统全链路措辞为"疑似肢体冲突",确认权在人审、定性权在公安; 未成年人场景(校园)推送对象限校保卫处、取证包导出双审批加严。


本方案的检测底座、流式推理运行时与导出链路由开源框架 AutoVision 提供(pip install autovision-framework);接入设计见《行业方案接入》。

About

治安冲突视频分析(打架/斗殴 T3 长尾专项)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors