智慧校园13类视频异常检测:数据集与预训练模型全攻略

智慧校园 13 类视频异常检测:数据集与预训练模型全攻略

文章目录

  • [智慧校园 13 类视频异常检测:数据集与预训练模型全攻略](#智慧校园 13 类视频异常检测:数据集与预训练模型全攻略)
    • 前言
    • [一、13 类异常行为定义](#一、13 类异常行为定义)
    • [二、按类别:数据集 + 预训练模型](#二、按类别:数据集 + 预训练模型)
    • 三、综合型视频异常数据集(多类覆盖)
    • 四、推荐落地路线
      • [4.1 路线对比](#4.1 路线对比)
      • [4.2 短期方案(1--2 天):组合现有模型](#4.2 短期方案(1–2 天):组合现有模型)
      • [4.3 中期方案(1--2 周):微调统一 13 类模型](#4.3 中期方案(1–2 周):微调统一 13 类模型)
      • [4.4 标签合并映射示例(label_merge.yaml)](#4.4 标签合并映射示例(label_merge.yaml))
      • [4.5 数据来源优先级](#4.5 数据来源优先级)
    • [五、YOLO 训练配置要点](#五、YOLO 训练配置要点)
      • [5.1 anomaly_video.yaml 配置](#5.1 anomaly_video.yaml 配置)
      • [5.2 训练超参建议](#5.2 训练超参建议)
      • [5.3 模型导出与部署](#5.3 模型导出与部署)
    • 六、数据集获取注意事项
    • 七、架构设计建议
    • 八、总结
    • 参考资料

前言

在智慧校园、周界安防等场景中,视频异常检测(Video Anomaly Detection, VAD)是核心能力之一。不同于通用目标检测,安防场景往往需要对打架、跌倒、攀爬、入侵、烟火等十余类异常行为进行实时识别与告警。

本文系统梳理 13 类完全一致的单一预训练模型 所需的数据集与预训练权重资源,覆盖从「快速落地」到「统一微调」的完整技术路线,并给出可直接用于 Ultralytics YOLO 训练的配置方案。无论你是算法工程师还是平台开发者,都能从中找到可复用的资源与落地路径。


一、13 类异常行为定义

以下 13 类与常见智慧校园/周界安防标注体系对齐,可直接映射为 YOLO 多类检测任务的类别 ID:

ID 类名 中文含义 检测难度
0 fight 打架 ★★☆
1 fall_down 跌倒(进行中) ★★☆
2 climb_over 翻越 ★★☆
3 chase 追逐 ★★★★
4 gather 聚集 ★★★
5 intrude 入侵 ★★★
6 run 奔跑 ★★★
7 throw_object 投掷 ★★★★★
8 fire_smoke 烟火 ★★☆
9 ground_fall 倒地(已躺平) ★★☆
10 brawl 群殴 ★★☆
11 climb 攀爬 ★★☆
12 illegal_breakin 非法闯入 ★★★

关键认知:公开数据里几乎没有「13 类一体」的现成权重。可行路径有三条:

  1. 分任务组合多个专用模型(最快落地,1--2 天)
  2. 用相近数据集微调后合并为多类模型(中期方案,1--2 周)
  3. 行为类(chase/gather/run)采用「检测 + 跟踪 + 轨迹规则」,而非纯 YOLO 单帧分类

二、按类别:数据集 + 预训练模型

2.1 fight / brawl(打架 / 群殴)

打架与群殴在公开数据集中通常合并为 violence / fighting 类别,训练时建议合并标注,或让 brawl 作为 fight 的子类。

推荐数据集
名称 规模与说明 获取链接
UBI-Fights 1000 段视频,216 段含打斗,帧级标注 OpenDataLab
Hockey Fight Detection 1000 段,fight / non-fight 二分类 Papers With Code
校园异常行为 5 类 7000+ 张图像,含「暴力斗殴」 阿里云开发者社区
firc-dataset 6 类 2266 张,含 fight、Fall-person 面包多
推荐预训练模型
名称 架构 说明 链接
Musawer14/fight_detection_yolov8 YOLOv8 Violence / NoViolence 二分类 Hugging Face
CrimeNet-ViT ViT UBI-Fights 上训练 GitHub
VideoMAE (UCF-Crime) VideoMAE 视频级异常分类,含 Fighting Hugging Face
sec-fight-nano / sec-fight-small YOLO violence / non_violence,项目内置 ONNX 项目内置

快速调用示例

python 复制代码
from ultralytics import YOLO

model_fight = YOLO("Musawer14/fight_detection_yolov8")
results = model_fight.predict("test_video.mp4", save=True)

2.2 fall_down / ground_fall(跌倒 / 倒地)

fall_down 偏「正在跌倒」的过程态,ground_fall 偏「已躺地」的结果态。LE2I 数据集提供起止帧标注,可拆分为两类分别训练。

推荐数据集
名称 规模与说明 获取链接
LE2I Fall Detection 经典跌倒基准,4 场景 Kaggle
LE2I (Roboflow) YOLO 格式,191 段视频 Roboflow Universe
校园 5 类安防 含「人员跌倒」 技术栈
推荐预训练模型
名称 架构 说明 链接
Real-Time Fall Detection (YOLOv11) YOLOv11 LE2I 微调,约 95% 准确率 GitHub
fall-detection-stcf YOLOv8m + 时序 时序确认机制,降低误报 GitHub
sec-fall-yolo11n YOLO11n fall/sit/sleep/standing/Violence 等 7 类 项目内置 ONNX

进阶方案 :姿态估计 + 规则判定(如 /ai/fall 四指标判定)比纯 YOLO 单帧检测更稳定,适合生产环境。


2.3 climb / climb_over(攀爬 / 翻越)

climbclimb_over 可共用攀爬数据集,通过不同标注粒度区分「正在攀爬」与「翻越完成」。

推荐数据集
名称 规模与说明 获取链接
翻墙/攀爬 10,000 张 climb / no_climb 二分类,YOLO 格式 魔乐社区
A2Seek 无人机视角 含 climbing over walls Hugging Face
推荐预训练模型与论文
名称 说明 链接
YOLOv8 翻越围栏项目 含数据集 + 权重 + 检测程序 SegmentFault
ban-YOLOv11 翻越检测 mAP 98.0%,80.6 FPS IJEH 论文

2.4 intrude / illegal_breakin(入侵 / 非法闯入)

周界入侵场景的核心难点在于:人形检测 + 区域/越线规则 往往比纯分类模型更合适。

推荐数据集
名称 规模与说明 获取链接
UCF-Crime 13 类犯罪异常,含 Burglary Papers With Code
MSAD 14 场景,含 Assault、Robbery 等 官网
校园 6 类 firc 含 thief、breaking 面包多
推荐预训练模型
名称 说明 链接
VadCLIP UCF-Crime 弱监督 VAD,含预训练权重 GitHub
AnomalyCLIP 异常检测 CLIP 变体 GitHub

落地建议:YOLO 检测人形 + 平台越线/区域告警规则,比端到端分类模型更易调试和维护。


2.5 fire_smoke(烟火)

烟火检测是公开资源最丰富的类别之一,多个高质量 YOLO 格式数据集可直接用于训练。

推荐数据集
名称 规模与说明 获取链接
Fire & Smoke 40K 40900 张,Fire/Smoke,YOLO 格式 Hugging Face
Fire SM 2717 张真实场景 IMEKO ACTA
GWFP 野火 大规模开源野火图像/视频 arXiv
推荐预训练模型
名称 架构 说明 链接
jojomoi-meme/YOLO_fire_detection YOLOv8s Fire/Smoke 二分类 Hugging Face
thalos-fire-safety-v1 YOLO 工业/工地烟火场景 Hugging Face
sec-fire-yolov8n YOLOv8n fire/smoke 及 88 类灾害扩展 项目内置 ONNX

快速调用示例

python 复制代码
from ultralytics import YOLO

model_fire = YOLO("jojomoi-meme/YOLO_fire_detection")
results = model_fire.predict("camera_feed.jpg", conf=0.5)

2.6 chase / gather / run / throw_object(追逐 / 聚集 / 奔跑 / 投物)

这类行为在公开 YOLO 数据集中极少作为独立检测类出现。业界更常见的做法是:

YOLO 检测人形 + ByteTrack 跟踪 + 速度/方向/人数规则

可用数据集(视频级 / 弱监督)
名称 规模与说明 获取链接
XD-Violence 217 小时,4754 段,含追逐等暴力 官网
A2Seek 20+ 异常类型,含聚集、奔跑等 Hugging Face
Crowd-Behaviour 行走/徘徊/恐慌/聚集等 论文引用较多
ShanghaiTech Campus 13 场景校园异常 经典 VAD 基准
推荐方案
方案 适用类别 说明
VadCLIP / TrCLIP-VAD chase、run XD-Violence / UCF-Crime 微调
YOLO + ByteTrack + 规则 run、chase、gather 速度、方向、人数阈值
crowd-gathering 告警规则 gather 平台内置规则可复用

throw_object 公开数据极少,建议参考 Sports/action recognition 数据集或自采标注。


三、综合型视频异常数据集(多类覆盖)

若希望一次性获取多类异常样本,以下综合数据集值得优先关注:

数据集 规模 与 13 类的重合 获取方式
UCF-Crime 1900 段,13 类犯罪 fight、intrude 相关 需申请
XD-Violence 4754 段,217h fight、chase 等暴力 GitHub
MSAD 720 段,14 场景 fight、fall、fire 官网下载
A2Seek 542 段 4K fight、fall、climb_over Hugging Face
UBI-Fights 1000 段 fight/brawl OpenDataLab
校园 5/6 类 YOLO 数据集 2266--7000+ 张 fight、fall、fire、thief 阿里云/面包多

四、推荐落地路线

4.1 路线对比

方案 是否有现成 13 类权重 实施周期 适用场景
分任务挂 sec-* ONNX 部分类别有 1--2 天 快速上线、验证业务
分任务微调 YOLO 需逐类微调 1--2 周 精度要求较高
YOLO 检测 + 跟踪 + 规则 无需专用权重 3--5 天 chase/gather/run 等行为类
统一 13 类微调 需自采 + 合并 2--4 周 长期维护、单模型部署

4.2 短期方案(1--2 天):组合现有模型

异常类别 建议模型/方案
fight, brawl sec-fight-nano / sec-fight-small
fall_down, ground_fall sec-fall-yolo11n/ai/fall 姿态规则
fire_smoke sec-fire-yolov8n
gather 平台 crowd-gathering 告警规则
intrude, illegal_breakin COCO/YOLO 人形检测 + 区域/越线
run, chase, throw_object 人形检测 + ByteTrack + 速度/轨迹规则

4.3 中期方案(1--2 周):微调统一 13 类模型

步骤概览

  1. 合并上述 YOLO 格式数据集,通过 label_merge.yaml 统一映射到 13 类
  2. yolo11m.pt 为基座进行微调
  3. 通过平台 pt → onnx 转换后入库部署

训练目录结构

复制代码
anomaly_video/
├── images/train/
├── labels/train/
├── images/val/
└── labels/val/

训练命令

bash 复制代码
yolo detect train \
  data=docs/datasets/anomaly_video/anomaly_video.yaml \
  model=yolo11m.pt \
  epochs=200 \
  imgsz=640 \
  batch=16

4.4 标签合并映射示例(label_merge.yaml)

多源数据合并时,将外部标签映射到统一 13 类 ID:

外部数据集标签 映射到 13 类
校园 5 类 Violence 0 fight
Fire&Smoke 40K Fire/Smoke 8 fire_smoke
翻墙数据集 climb 2 climb_over
firc thief/breaking 12 illegal_breakin
LE2I fall(过程帧) 1 fall_down
LE2I fall(结束帧) 9 ground_fall

4.5 数据来源优先级

阶段 类别 说明
阶段 A(可立即开训) fire_smoke、fight、fall_down、climb_over 公开 YOLO 数据充足
阶段 B(需抽帧/remap) brawl、ground_fall、illegal_breakin、climb 需从视频数据集抽帧并重映射
阶段 C(需自标或规则) chase、gather、run、throw_object、intrude 公开数据稀缺,建议规则引擎辅助

五、YOLO 训练配置要点

5.1 anomaly_video.yaml 配置

13 类配置兼容 Ultralytics 与平台「YOLO 原生」导入格式:

yaml 复制代码
# anomaly_video.yaml
path: ./anomaly_video
train: images/train
val: images/val

names:
  0: fight
  1: fall_down
  2: climb_over
  3: chase
  4: gather
  5: intrude
  6: run
  7: throw_object
  8: fire_smoke
  9: ground_fall
  10: brawl
  11: climb
  12: illegal_breakin

5.2 训练超参建议

参数 推荐值 说明
model yolo11m.pt 精度与速度平衡
epochs 200 多类任务建议充分训练
imgsz 640 标准输入尺寸
batch 16(视 GPU 显存调整) RTX 3090 可参考
patience 50 早停耐心值
augment 默认 Mosaic、MixUp 等

5.3 模型导出与部署

python 复制代码
from ultralytics import YOLO

# 加载训练好的权重
model = YOLO("runs/detect/train/weights/best.pt")

# 导出 ONNX(平台部署常用格式)
model.export(format="onnx", imgsz=640, simplify=True)

六、数据集获取注意事项

  1. UCF-Crime、XD-Violence:学术用途,需遵守各自许可协议与引用要求,部分需邮件申请
  2. 面包多/阿里云数据集:多为付费或社区分享,标注精度与许可范围需自行验证
  3. Hugging Face / GitHub 社区模型:建议先在目标场景做冒烟测试,社区权重泛化能力参差不齐
  4. 13 类一体模型 :公开资源无法一次性覆盖全部类别,阶段 C 类别需自采标注或规则引擎兜底
  5. 数据合规:校园场景涉及隐私,采集与使用需符合当地法规与校内规定

七、架构设计建议

对于生产级智慧校园安防平台,推荐采用「多模型 + 规则引擎」的混合架构:

复制代码
┌─────────────────────────────────────────────────────────┐
│                    视频流接入层                          │
└─────────────────────────┬───────────────────────────────┘
                          │
          ┌───────────────┼───────────────┐
          ▼               ▼               ▼
   ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
   │ sec-fight   │ │ sec-fall    │ │ sec-fire    │
   │ YOLO 模型   │ │ YOLO 模型   │ │ YOLO 模型   │
   └──────┬──────┘ └──────┬──────┘ └──────┬──────┘
          │               │               │
          └───────────────┼───────────────┘
                          ▼
              ┌───────────────────────┐
              │   ByteTrack 多目标跟踪  │
              └───────────┬───────────┘
                          ▼
              ┌───────────────────────┐
              │     规则引擎层          │
              │  · 越线/区域入侵        │
              │  · 聚集人数阈值         │
              │  · 速度/轨迹异常        │
              │  · 跌倒姿态四指标       │
              └───────────┬───────────┘
                          ▼
              ┌───────────────────────┐
              │      告警推送层         │
              └───────────────────────┘

设计原则

  • 能检测的用 YOLO:fight、fall、fire、climb 等有充足训练数据的类别
  • 能规则的用规则:gather(人数)、intrude(越线)、run/chase(速度轨迹)
  • 模型与规则互补:降低误报率,提升可解释性

八、总结

智慧校园 13 类视频异常检测没有「一键下载、直接部署」的万能模型,但通过合理组合公开数据集、社区预训练权重与平台规则引擎,可以在 1--2 天内完成基础能力上线 ,并在 1--2 周内 通过多源数据合并微调出统一 13 类模型。

核心要点回顾

要点 说明
资源最丰富 fire_smoke、fight、fall_down
需规则兜底 chase、gather、run、throw_object
最快落地 分任务挂 sec-* ONNX + 平台规则
长期方案 多源数据合并 + yolo11m 统一微调
关键配置 anomaly_video.yaml + label_merge.yaml

如果你有具体的场景需求(如某类精度不达标、某数据集下载遇到问题),欢迎在评论区交流,我可以进一步提供数据合并脚本或告警编排方案的设计思路。


参考资料


标签YOLO 视频异常检测 智慧校园 安防AI 目标检测 深度学习 数据集 预训练模型 跌倒检测 烟火检测

相关推荐
SomeB1oody1 小时前
【RustyML入门】7.4. 按需裁剪与模块化集成
开发语言·后端·机器学习·rust·教程
广西生活网1 小时前
水晶光电发布 2026 半年报:归母净利润 5.24 亿元同比增长 4.73%
人工智能·能源
浩腾数字多媒体1 小时前
如何判断专业电子留言厂家适配条件?
大数据·人工智能·python
阿里云大数据AI技术1 小时前
从 Common Crawl 到可训练语料:用 EMR Serverless Daft 构建清洗、模型标注与向量化管线
人工智能·spark
jay神1 小时前
27届计算机专业深度学习选题推荐
人工智能·深度学习·yolo·机器学习·计算机视觉
stuartevil1 小时前
AI漫剧日更制作怎么做才不累
人工智能
大模型任我行1 小时前
NUS:全模态感知驱动AI科学家
人工智能·语言模型·自然语言处理·论文笔记
会编程的吕洞宾1 小时前
DeepAgents In Action学习(Third)
python·学习·django
千里码aicood1 小时前
基于深度学习的中文命名实体识别技术研究
大数据·深度学习·机器学习