【论文笔记】Street Scene: A new dataset and evaluation protocol for video anomaly detection

关键词:WACV2020、

1.介绍

作者观点:现状——数据集小、评估标准有缺陷
作者提出:1.Street Scence数据集,大型、多样、高分辨率

2.现有评估标准

①.帧级(frame-level)
将检测到有任何异常像素的帧记为positive,其他帧记negative。
然后用帧级地面真实值的注释,来确定检测到的帧是真阳性还是假阳性。
该准则不使用空间定位,即使检测到的异常像素不与任何地面真实值异常像素重叠,也将这一帧记为true positive。
②.像素级(pixel-level)
仍是计算真和假阳性帧,而不是真和假阳性异常区域。
如果检测到的地面真实异常像素至少占到地面真实异常像素的40%,则视为true postive。
其他被检测到的与地面真实值不重叠的异常像素被忽略。
即使检测到一个像素为异常,任何没有地面真值异常的帧都被视为false postive。

若进行简单的后处理,就可使像素级标准和帧级别标准一样。后处理为:对于检测到至少一个异常像素的任意帧,将该帧中的每个像素标记为异常像素。

3.Street Scene数据集

由46个训练视频序列和35个测试视频序列从一个静态USB摄像头向下看一个有自行车道和人行道的双车道街道的场景。这些帧是从原始视频中以每秒15帧的速度提取出来的。

街景数据集可以从http://www.merl.com/demos/videoanomaly-detection下载。

4.新的评价标准

我们新的评估标准是基于以下考虑。与目标检测准则相似,利用地面真实异常区域与检测到的异常区域的相交并集(IOU)来确定是否检测到异常,是一种很好的实现粗糙空间定位的方法。对于视频异常检测,IOU阈值应该较低,以允许在定位时出现一些不精确的问题,比如不精确的标记(边界盒),以及一些算法将彼此接近的异常检测为一个不应该被惩罚的大异常区域。在我们的实验中,我们使用的IOU阈值为0.1。

此外,因为一帧可能有多个groundtruth异常区域,正确的检测应该在异常区域的水平上计数,而不是帧。

对于每一个错误检测到的异常区域,即每一个与ground truth异常区域没有明显重叠的异常区域,都要进行假阳性计数。与之前的标准不同,这允许每个帧有多个假阳性,并且在带有ground truth注释的帧中也允许假阳性。

基于这些考虑而产生的新准则类似于用于目标检测和目标跟踪的评估准则[9,8],但类似的准则过去并未用于视频异常检测。

4.1 Track-Based

基于轨迹的检测准则衡量基于轨迹的检测率(TBDR)与每帧假阳性区域的数量。如果检测到轨道中地面真实区域的至少一个分数α,地面真实跟踪被认为被检测到。

如果ground truth区域和被检测区域的union的交集(IOU)大于或等于β,就认为在一个帧中检测到一个ground truth区域。
在这里插入图片描述
如果一帧中的一个检测区域与该帧中每个ground truth区域之间的IOU小于β,就认为它是false positive。
在这里插入图片描述
式中,FPR为每帧的假阳性率(false positive)

请注意,单个检测区域可以覆盖两个或多个不同的ground truth区域,以便检测每个ground truth区域(尽管这种情况很少见)。

实验中,我们使用的是 α = 0.1和 β = 0.1。

4.2 Region-Based

基于区域的检测准则衡量测试集中所有帧的基于区域的检测率(RBDR)与每帧的假阳性区域数。

与基于轨迹的检测准则一样,如果ground truth区域与被检测区域的并集(IOU)相交大于或等于hr,则认为检测到了帧中的ground truth区域。

5.Baseline Algorithms

新算法把视频分割为时空区域(我们称为video patches),存储一组样本来表示发生在每个区域中的各种video patches,然后将测试video patches到最近邻居样本的距离用作异常评分。

首先,将每个视频分割为空间步长s、时间步长1帧、大小为H * W * T像素的时空区域网格。在第6节的实验中,我们选择H=40像素,W=40像素,T=4或7帧,s = 20像素。如图2所示。

在这里插入图片描述
图2演示了一个区域网格的视频帧分割和包含4帧的video patch。这个图显示的是没有重叠的区域,但是在我们的实验中我们使用重叠的区域。

基线算法分为两个阶段:1.训练或模型构建阶段 2.测试或异常检测阶段。在模型构建阶段,用训练(正常)视频来为每个空间区域找到一组video patches(由后面描述的特征向量表示),这些video patches代表该空间区域的各种活动变化。我们把这些代表性video patches称为exemplars。在异常检测阶段,将测试视频分割成与训练相同的区域,对于每个测试视频patch,从其空间区域中找到最接近的样本。到最近范例的距离就是异常分数。

在video patch中的每一帧,前景(FG)mask变化使用模糊的FG masks。FG masks使用背景(BG)模型计算,该模型在视频处理时更新。实验中使用的BG模型是一个非常简单的每个像素的平均颜色值,虽然一个更复杂的模型可以很容易地被替代。

然后使用高斯核模糊FG mask,使FG mask之间的L2距离更鲁棒。将video patch中所有帧的模糊FG mask拼接起来,然后进行矢量化,形成FG mask特征向量(见图3)。
在这里插入图片描述
图3示例模糊FG mask,连接并向量化成特征向量。a和c显示了围绕一个空间区域裁剪的由7帧组成的两个video patches。b、d为相应的模糊FG masks。

基于光流的变化(flow-based variation)使用连续帧间计算的光流场来代替FG遮罩。将每个视频patch帧区域内的流场进行拼接,然后向量化,得到的特征向量是FG掩模基线中特征向量长度的两倍(由于流场的dx和dy分量)。在我们的实验中,我们使用Kroeger等人[17]的光流算法来计算流场。

在模型构建阶段,选择一组独特的样本来代表每个空间区域的正常活动。我们的范例选择方法很简单。对于一个特定的空间区域,范例初始化为空集。我们沿着每个训练视频的时间维度滑动时空窗口(步长等于一帧),以给出一系列视频块(video patches),这些视频块由基于FG掩码的特征向量或基于流的特征向量表示,取决于如上所述的算法变化。对于每个视频块,我们将其与当前的exemplars进行比较。如果到最近样本的距离小于阈值,那么我们就放弃那个视频块。否则,我们将其添加到示例集中。

用来比较两个样本的距离函数依赖于特征向量。对于模糊的FG掩模特征向量,我们使用L2distance。对于流场特征向量,我们使用归一化的L1distance:
在这里插入图片描述
其中u和v是两个基于流的特征向量,ǫ是一个小的正常数,用于避免被零除。

给定一个正常视频模型,其中包含一个对于视频的每个空间区域都有大量示例的集合,异常检测只是一系列的邻近查找。 对于测试视频的T帧序列中的每个空间区域,计算代表视频补丁的特征向量,然后在该区域的样本集中找到最近的邻居。 距最近样本的距离是该视频补丁的异常分数。

这将产生每个重叠视频补丁的异常分数。这些被用来为每一帧创建一个逐像素异常分数矩阵。视频补丁的异常分数存储在该T帧集合的中间帧中。测试视频的第一个T /2 - 1帧和最后一个T /2 + 1帧没有从视频补丁中得到任何异常分数,因此得到的都是0。将包含该像素的所有视频补丁的平均分分配给被两个或多个视频补丁所覆盖的像素。

无论根据轨迹准则还是基于区域准则计算ROC曲线,对于给定的阈值,异常分数高于阈值的像素都被标记为异常。然后通过计算异常像素的连通分量,找到异常区域。
根据上述标准之一,将这些异常区域与地面真实区域进行比较。

6.实验

除了我们的基线视频异常检测方法的两种变化之外,我们还测试了之前发布的两种方法。第一种是Lu等人[22]的字典法,将字典基特征向量的稀疏组合拟合到一个表示测试视频的每个时空窗口的特征向量。从每个空间区域的常规训练视频中独立学习基特征向量字典。该方法在UCSD、Subway和中大大道数据集上取得了良好的结果。代码由作者提供。

第二种方法来自Hasan等人[10],它使用深度网络自动编码器来学习正常帧的模型。每个像素的异常分数为通过自动编码器传递包含该像素的剪辑而产生的重构误差。这假定一个坐标系的异常区域不会被很好地重建。这种方法在标准数据集和评价标准上也与其他最先进的结果竞争。我们使用自己的方法实现。

我们还没有找到其他算法可用的代码,但希望研究人员能在不久的将来报告他们的算法在街景上的结果。

图4 (a)和(b)显示了我们基线方法的ROC曲线,以及使用新提出的基于轨迹和基于区域的标准的街道场景字典和自动编码器方法的ROC曲线。在图的图例中,括号中的数字代表了假阳性率从0到1的曲线下的区域。显然,字典和自动编码器方法在街景中表现不佳。我们的基线方法做得更好,尽管仍然有很大的改进空间。
在这里插入图片描述
虽然字典方法在其他较小的数据集上工作得很好,但稀疏字典模型似乎不太好具有足够的表现力,可以在更大更多样的街景上重建许多正常的测试视频补丁。

自动编码器方法尝试一次建模整个帧,而不是为不同的空间区域创建更小的模型。虽然这似乎在以前的数据集工作,它似乎不工作的巨大的各种正常的变化呈现在街景。

我们的基线算法在街景上表现得相当好。它们存储了大量的样本(通常在1000到3000个样本之间),这些样本位于诸如街道、人行道和自行车道等活动频繁的区域。在其他区域(如建筑墙壁或屋顶)上,只存储单个示例。

对于使用基于轨迹的标准的两个基线变化,基于流的方法在低假阳性率(可能是ROC曲线最重要的部分)方面表现最好。对于大多数异常(主要的例外是下面讨论的游荡异常),流场比FG掩模提供了更多有用的信息。使用基于区域的准则,基于fg基的方法效果更好。视频补丁中使用的帧数(4或7)对这两种变化都没有很大影响。

基线算法在检测异常行为方面做得最好,比如乱穿马路、非法掉头和骑自行车的人因为这些异常与发生区域的典型运动相比,具有独特的运动,所以汽车在其车道外行驶。

对于基线方法来说,游移异常(以及其他静态异常,如非法停车)是最困难的,因为它们不包含任何运动,除了一开始行走的人过渡到游移。对于基于流的方法,游荡的异常是完全不可见的。对于基于fgsr的方法,由于BG模型需要几帧来吸收静止的人,所以在开始时可以看到游移异常。这就是为什么基于流的方法在较高的检出率上比基于fgon的方法差的主要原因。基于梯度生长法的方法可以检测到一些游荡异常,而基于流的方法则不能。

类似的效应解释了基于区域的结果,即基于fgon的方法比基于flow的方法更好。游移和其他“静态”异常在所有异常区域中占不成比例的比例,因为其中许多异常发生在多个坐标系中。基于梯度生长因子的方法可以检测到其中的一些区域,而基于流的方法基本上会遗漏所有的区域。因此,即使基于流的方法检测到所有异常轨道的更大比例(在低假阳性率),它检测到a所有异常区域的较小部分。

图6和图7显示了基于流的方法(使用T=4)检测结果的一些可视化。图中,红色像素为异常检测,蓝色框为ground truth标注。图6显示了对骑到人行道上的摩托车的正确检测。图7显示了检测到的横穿马路的行人以及假阳性区域。
在这里插入图片描述
在这里插入图片描述
我们也显示结果为两个基线算法以及字典和auto-encoder方法使用图5中的传统框架水准仪进行像素级标准(a)和(b)。我们的结果显示说明这些标准的缺陷的目的,但不是与未来的工作。我们不认为这些标准应该用于未来的街景。帧级的结果(没有考虑空间定位)表明,自动编码器方法和前景基线差不多,而字典方法几乎和流基线一样好。然而,当我们观察自动编码器和字典方法实际检测到的每帧的哪些区域是异常的,准确性是相当差的。这在基于轨迹、基于区域、像素级的ROC曲线以及肉眼观察中都可以看到。图8显示了一个框架流基线的输出,该框架在顶部左侧包含了一个“person opening trunk”异常。帧级准则认为该帧是正确的检测,即使检测到的像素远没有接近地面真相异常,但实际上是一个假阳性。进行像素级ROC曲线在图5 (b)与track-based更合理和更好的协议,提出ROC曲线,但是正如前面所提到的这个标准的严重缺陷,一个非常简单的后处理异常分数将促进这些曲线是完全一样的框架水准仪ROC曲线。图7显示了一个jaywalk异常的例子,其检测到的像素少于40%,因此根据像素级标准是一个漏检。这个标准还忽略了汽车下面的假阳性区域。基于区域和轨迹的标准将会被认为是一个正确的检测和一个假阳性。我们认为这更符合人类关于这个框架应该如何计算的直觉。

在这里插入图片描述

7.结论

我们提出了一种新的大规模数据集和新的视频异常检测评价标准,希望能够促进该领域的创新。街景数据集是一个更复杂的场景,几乎有许多异常事件,作为所有目前可用的数据集的总和。新的评估标准解决了这个领域通常使用的标准的问题,并将给出一个算法在实践中表现如何的更现实的想法。

此外,我们还提出了一种新的视频异常检测算法的两种变体,作为以后工作比较的基础;它们简单明了,比之前发表的两种算法表现更好,这两种算法在以前的数据集上表现不错,但在街景上表现不佳。新的基于最近邻的算法可能会形成一个有趣的基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值