分类

2016 - 交通事故 - Anticipating Accidents in Dashcam Videos

官网链接
论文链接
代码链接

来源 YouTube 行车记录仪
数量 1750个视频,620个正样本(发生事故)1130个负样本(无事故)
参数 720P、每个视频5s共100帧
特点 包含汽车、摩托车等多种类型事故
正样本最后10帧包含事故发生时刻
类别数量 1

Baseline

方法
  任务是在 2s 前预测事故,VGG 抽单张图像特征,IDT( improved dense trajectory)作为动态特征,训练 Faster R-CNN 做检测,目标位置特征配合注意力机制做融合,LSTM 做预测。

精度
  R = 80%,P = 56.14%,mAP = 74.35%,平均在 1.8559s 前预测事故。

2017 - ShanghaiTech Campus

官网链接
论文链接1
代码链接1
论文链接2
代码链接2

  代码链接2 中提供有效数据下载链接,并附带 AvenueUCSD Ped1 Ped2。这几个数据集比较类似,都通过固定位置相机拍摄视频,按目标检测或分割的方式,逐帧把有异常行为的目标标注出来。
  对于异常行为各个数据集的标准有所不同,大致为非步行目标(骑车、开车、推车、奔跑等)以及走错方向、徘徊等。

Baseline

论文链接2
方法
  论文中的方法并没有检测异常行为的目标,仅对帧进行分类。输入 1 → t 1\to t 1t 时刻的帧,通过 U-Net 生成预测的 t + 1 t+1 t+1 时刻帧,与真实的 t + 1 t+1 t+1 时刻帧计算差异,通过差异来预测是否异常。大致逻辑是生成一个正常情况下的帧,如果真实帧发生了突变,和生成的差异较大,就判断为异常。

精度
在这里插入图片描述

2019 - 暴力行为 - Real Life Violence Situations Dataset

Kaggle 链接
论文链接

来源 YouTube
数量 2000个视频,1000个暴力视频和1000个正常视频
参数 视频时长不等,大部分是几秒钟
特点 包含多种环境和条件下的街头斗殴情况
类别数量 1

Baseline

方法
  VGG + LSTM

精度
  准确率 88.2%

2018 - 暴力行为 - UCF-Crime

官网链接
论文链接
代码链接

来源 YouTube 和 LiveLeak 监控视频
数量 1900个视频,合计128小时,950个暴力视频和950个正常视频
类别数量 13
类别 总数 训练集数量
Abuse 虐待 50 48
Arrest 逮捕 50 45
Arson 纵火 50 41
Assault 袭击 50 47
Burglary 入室盗窃 100 87
Explosion 爆炸 50 29
Fighting 打架 50 45
Road Accident 交通事故 150 127
Robbery 抢劫 150 145
Shooting 枪击 50 27
Shoplifting 入店行窃 50 29
Stealing 偷窃 100 95
Vandalism 故意破坏 50 45
Normal 正常视频 950 800

数据格式
  所有视频通过文件名做视频级标注

Abuse/Abuse001_x264.mp4
Arrest/Arrest002_x264.mp4
Arson/Arson001_x264.mp4
...
Training_Normal_Videos_Anomaly/Normal_Videos254_x264.mp4

  对于测试集视频额外做帧级别标注,每个视频最多两个实例

Abuse028_x264.mp4  Abuse  165  240  -1  -1  
Normal_Videos_150_x264.mp4  Normal  -1  -1  -1  -1  

Baseline

方法
  作者提出的模型仅做二分类,每个视频先经过 C3D 提取特征,将特征分为 32 份求平均,作为每一小段视频的特征(相当于不论视频多长,分割为 32 个切片,每个切片用一个特征表示),最后输入到全连接网络并用 Sigmoid 输出得分。
  核心是 MIL 损失函数,共分为 3 个部分。输入数据一半是异常视频(下标 a a a),一半是正常视频(下标 n n n),每个视频会输出 32 个得分
(1)1 - 异常视频得分的最大值 + 正常视频得分的最大值
(2)异常视频相邻片段得分差求和
(3)异常视频所有片段得分总和

l ( B a , B n ) = max ⁡ ( 0 , 1 − max ⁡ i ∈ B a f ( V a i ) + max ⁡ i ∈ B n f ( V n i ) ) ⏞ ( 1 ) + λ 1 ∑ i n − 1 ( f ( V a i ) − f ( V a i + 1 ) ) 2 ⏞ ( 2 ) + λ 2 ∑ i n f ( V a i ) ⏞ ( 3 ) l\left(\mathcal{B}_{a}, \mathcal{B}_{n}\right)= \overbrace{\max \left(0,1-\max \limits_{i \in \mathcal{B}_{a}} f\left(\mathcal{V}_{a}^{i}\right)+\max \limits_{i \in \mathcal{B}_{n}} f\left(\mathcal{V}_{n}^{i}\right)\right)}^{(1)} +\lambda_{1} \overbrace{\sum_{i}^{n-1}\left(f\left(\mathcal{V}_{a}^{i}\right)-f\left(\mathcal{V}_{a}^{i+1}\right)\right)^{2}}^{(2)} +\lambda_{2} \overbrace{\sum_{i}^{n} f\left(\mathcal{V}_{a}^{i}\right)}^{(3)} l(Ba,Bn)=max(0,1iBamaxf(Vai)+iBnmaxf(Vni)) (1)+λ1in1(f(Vai)f(Vai+1))2 (2)+λ2inf(Vai) (3)

(1)让最高得分分别趋近 0 和 1,(2)(3)为正则化项,(2)最小化相邻片段的得分,使视频输出更平滑,(3)最小化异常视频的总得分,使异常视频的正常片段得分趋近 0。
在这里插入图片描述

精度

  • 二分类 AUC = 75.41
  • 多分类尝试了最近邻 23.0 和 TCNN 28.4,基本没用

2020 - 暴力行为 - UBI-Fights

官网链接
论文链接
代码链接

来源 YouTube 和 LiveLeak
数量 1000个视频,216个暴力视频和784个正常视频
类别数量 1

数据格式
  文件结构如下所示,标签采用表格形式,对视频的每一帧进行标注,0代表正常,1代表暴力。

.
├── annotation
│   ├── F_0_1_0_0_0.csv
│   ├── ...
│   └── N_99_0_0_1_0.csv
├── test_videos.csv
└── videos
    ├── fight
    │   ├── F_0_1_0_0_0.mp4
    │   ├── ...
    │   └── F_99_1_2_0_0.mp4
    └── normal
        ├── N_0_0_0_1_0.mp4
        ├── ...
        └── N_99_0_0_1_0.mp4

Baseline

方法
  论文的训练框架比较复杂,用弱监督模型 WS(weakly supervised)和自监督模型 SS(self-supervised)迭代训练。
  网络结构和 UCF-Crime 中的一致,WS 输入是视频切分成片段的 C3D 特征,损失函数是稍作改进的 MIL,大致是添加一项,使不确定的片段得分趋近 0.5;SS 的输入是单个片段的 C3D 特征,损失函数是二元交叉熵。
  WS 的输出筛选出置信度高的正负样本片段作为 SS 的训练数据,SS 的输出决定下一次 WS 的训练数据。
  文中说 SS 部分用于标注无标签数据,但实验部分使用的数据集是 UBI-Fights 和 UCF-Crime,没提到未标注的数据集的来源。
在这里插入图片描述
精度

在这里插入图片描述

动作检测

2019 - 暴力行为 - CCTV-Fights

官网链接
论文链接

来源 YouTube
数量 1000个视频,合计18小时,2414个打斗实例
参数 280个CCTV视频,时长5s~12min,平均2min
720个其他来源视频,时长3s~7min,平均45s
特点 其他来源主要来自移动摄像头,少数来自行车记录仪、无人机、直升机
类别数量 1

数据格式

"fight_0001": {						# 视频文件名
  "duration": 66.0666666666667,		# 视频时长 s
  "subset": "validation",			# 数据集划分 training, validation, testing
  "nb_frames": 992,					# 视频总帧数
  "frame_rate": 30,					# fps
  "source": "CCTV",					# 数据来源
  "annotations": [					# 标注动作类别及时间段
    {
      "segment": [4.83333333333333, 9.83333333333333],
      "label": "Fight"
    }
  ]
},

Baseline

方法
  尝试了不同的特征提取器和分类器,大致是逐帧或逐片段输出置信度,然后做平滑作为时序输出。

精度
  预测片段 50% 与标注重合视作正确
在这里插入图片描述

2020 - 暴力行为 - XD-Violence

官网链接
论文链接
代码链接

来源 YouTube、电影
数量 4754个视频,合计217小时,2405个暴力视频和2349个正常视频
特点 包含音频信息用于多模态
视频可能包含多种类型暴力行为,按比重标注多标签
类别数量 6
类别 训练集(多标签) 测试集(多标签) 训练集(首个标签) 测试集(首个标签)
Abuse 虐待 50 11 36 8
Car accident 车祸 444 106 393 96
Explosion 爆炸 382 103 314 91
Fighting 打架 481 126 445 120
Riot 暴动 384 101 381 101
Shooting 枪击 442 104 336 84
合计
violent 暴力 1905 500
normal 正常 2049 300

数据格式
  训练集做视频级别标注,在视频文件名中用代号对应类别

B1: Fighting
B2: Shooting
B4: Riot
B5: Abuse
B6: Car accident
G: Explosion

Bullet.in.the.Head.1990__#01-19-10_01-21-30_label_B2-B5-0.mp4
Mission.Impossible.Ghost.Protocol.2011__#01-15-36_01-16-32_label_B1-B2-0.mp4

  测试集做帧级别标注,每一对数值代表一个实例的起始帧和结束帧

v=S-7rRLrxnVQ__#1_label_B4-0-0 0 1517 1970 3038
v=u5SF4SlqNDQ__#00-00-00_00-01-00_label_G-0-0 624 912 950 1441
v=u5SF4SlqNDQ__#00-02-39_00-03-41_label_G-0-0 77 1430
v=cEOM18n8fhU__#1_label_G-0-0 2133 2750
v=NnmqkS1e88s__#1_label_B4-0-0 0 1750
v=vaSOMEIe1Bg__#1_label_G-0-0 300 1380
Casino.Royale.2006__#00-50-05_00-51-16_label_B1-B2-B6 43 180 383 625 702 830 860 1006 1066 1096 1527 1634

Baseline

方法
  (粗看了下代码,细节上可能不准确)视频数据经过 C3D 或 I3D 抽特征,音频数据通过 VGGish 抽特征,两部分特征 concat 到一起作为网络输入。
  首先通过几个一维卷积将原始特征降维到128,记作 x [ B , T , 128 ] x [B,T,128] x[B,T,128] x x x 通过 3 个由图卷积网络构成的分支输出 3 份特征,将这 3 份特征 concat 到一起最后经过一个 Linear 输出分类。
  图卷积网络的核心计算是 Y = A ( X W ) Y=A(XW) Y=A(XW),其中 W [ C i n , C o u t ] W [C_{in},C_{out}] W[Cin,Cout] 是可学习参数对输入特征维度做调整, A [ B , T , T ] A [B,T,T] A[B,T,T] 可以看作注意力或是重要性的矩阵,而 3 个分支主要就是 A A A 的计算方式不同。

  • x x x 用 kernel size = 5 即时间维度感受野更大的一维卷积对特征降维后,以计算差的绝对值为核心构建相似度矩阵
  • x x x 以点积运算的方式计算特征相似度,类似余弦相似度
  • 根据 B , T B,T B,T 生成矩阵,类似位置编码

  训练依然是在 MIL 上稍作改进。

精度
  AP = 78.64%

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐