视频异常检测 综述(二)
特征提取的常用手段
大体上,视频异常检测方法使用两类表示:手工制作的特征和来自CNN的深度特征。
手工制作的特征包括时空梯度、动态纹理、梯度直方图、流直方图、流场、密集轨迹和前景掩码。
深度特征可以直接从预训练网络中提取,或者在优化与异常检测相关的特定任务时学习,例如使用自动编码器去优化低重构误差。
模型处理的原子单元
算法处理的原子单元包括:图像块、视频块,到单个完整帧、视频片段(完整帧的短序列)
在处理图像或视频块时,算法可以以单个固定大小块、多尺度固定大小块、任意大小区域的块为单位进行操作。
模型建模的常用手段
建模中的常用方法包括:one-class SVM、最近邻(knn)方法、隐马尔可夫模型以及更普遍的概率图形模型。最近,深度学习方法开始使用对抗性训练策略。
一些工作仅关注帧级(时间)定位,这意味着帧级内容会被构建到模型中,但这种情况下模型无法执行适当的空间定位。例如,使用完整帧或视频片段作为其原子处理单元的方法,它们都无法区分异常到底是有人在大使馆大楼外游荡,还是在在大使馆旁边的公园游荡。
其他方法以如下两种方式之一解释异常的空间位置性:(1)根据其在帧中的位置对像素进行评分,(2)根据相邻像素所提供额外的上下文信息以进行评分。
视频异常检测方法的分类
从宏观上看,过去的视频异常检测工作可以分为基于距离、概率和基于重构的方法。这些方法之间并不相互排斥,因为以基于距离的方式运行的方法很容易产生概率解释,分类仅仅是为了方便。
基于距离的视频异常检测方法
基于距离的方法通过使用训练数据创建“正态”模型,并通过测量测试数据与该模型的偏差以确定异常分数。通常,这些模型本身非常简单,但巧妙的特征提取和公式化会带来良好的性能。基于距离的方法可以被视为概率和基于重建的方法的更一般形式。
在过去基于距离的方法中使用了许多不同类型的特征提取方法,以及测量到正常特征距离的许多不同方法。一种常见方法是使用one-class SVM来计算来自正常训练视频的特征向量周围的决策边界。但这种方法的缺点是在给定新的正常训练数据的情况下更新模型是昂贵的,因为SVM学习算法必须在所有旧数据和新数据上重新运行。另一种方法是使用高斯混合来建模法线特征向量,然后使用马氏距离来测量到法线的距离。
传统的特征提取方法不建议继续使用,一方面是由于提取较为困难,另一方面是提取出来的特征精度较低
较新的方法侧重于深度网络学习的特征,这些特征通常具有较高的精度,这些基于深度网络的方法包括学习深度特征的多种方法,以及在不同的正态模型中使用深度特征的各种方法。
下面简单描述2篇2020年的基于距离的视频异常检测方法的论文方法:
第一篇
B. Ramachandra and M. Jones, “Street scene: A new dataset and evaluation protocol for video anomaly detection,” in Proc. IEEE Winter Conf. Appl. Comput. Vis., 2020, pp. 2558–2567
作者在最近发布的数据集Street Scene上提出了两种baseline算法,用于未来工作的比较。他们使用简单的最近邻位置(nearest neighbor location)异常检测方案,使用手工制作的视频特征表示(流场或模糊前景掩码)以及手工制作的距离测量方法(分别为L1或L2归一化的像素级距离)。通过从训练数据构建出简洁的代表性样本模型,大大减少了距离计算的数量。
有趣的是,他们表明,这些简单的方法能够在其他数据集上优于一些先前的最先进方法,这可能表明算法已经产生了特定于某些数据集的偏差。
第二篇
B. Ramachandra, M. Jones, and R. Vatsavai, “Learning a distance function with a siamese network to localize anomalies in videos,” in Proc. IEEE Winter Conf. Appl. Comput. Vis., 2020, pp. 2587–2596.
作者在一个很简单的最邻近位置模式上建模,训练一个孪生神经网络,将原模式中的手工特征提取方式与距离函数替换掉。这个孪生神经网络被训练为判断视频之间是相似的还是不同的,用于判断测试视频是否与其余的训练视频都不相同,以此将其归类为异常。
从数据集的训练数据学习正态模型,使用训练好的模型在测试视频和样本视频进行最邻近评分,并且为每个测试视频分配异常分数。
基于概率的视频异常检测方法
概率方法在一定概率空间中计算模型下的距离。这些方法通常将模型建模到一个概率框架中,如概率图模型(PGMs)或高维概率分布的混合模型。大多数概率方法在深度学习方法浪潮之前出现,并且依赖于时空梯度、光流场等特征,以及STIP特征与传统的马尔可夫随机场和混合高斯模型等。最近的一些方法使用了深度神经网络,也显示出了更高的准确性。
这些方法的一个优点是具有高度原则性,并且能够很好地模拟异常的连续性质,但是它们在测试时通常很慢。
下面简单描述2篇通过深度神经网络实现的基于概率视频异常检测的论文方法:
第一篇
R. Hinami, T. Mei, and S. Satoh, “Joint detection and recounting of abnormal events by learning deep generic knowledge,” in Proc. IEEE Int. Conf. Comput. Vis., 2017, pp. 3639–3647.
这篇论文中,作者提出了一种在检测到异常事件时重新计数的方法,他们首先训练了一个Fast-RCNN模型去在大规模的数据集如COCO、Visual Genome去预测物体、行为、种类等属性。之后对于每一帧,他们通过倒数第二个全连接层去提取每一个感兴趣对象区域(region of interest RoI)的特征,再使用最邻近距离、RBF核的one-class SVM、RBF核核密度估计下的似然来进行异常检测。
重新计算是通过简单的查看对对象、行为、属性类的最大预测来实现的。
第二篇
Y. Feng, Y. Yuan, and X. Lu, “Learning deep event models for crowd anomaly detection,” Neurocomputing, vol. 219, pp. 548–556, Jan. 2017
这篇论文中,作者使用PCANet,通过正常的图像patch的3D梯度来提取深度表征,然后使用 Deep GMMs来对正常模式的生成过程进行建模,使得log likelihood的下限最大化。deep GMM模型可以对测试的数据进行相似度评分生成,这个得分通常被用作异常得分。
基于重构的视频异常检测方法
基于重构的方法是通过从正常视频中学习到的特征来重新表示输入的图像或视频片段。这种方法基于的假设是,与分布内的正常数据相比,使用从正常视频中学习到的特征去重构分布外的输入(如异常输入)在本质上是更困难的,这也证明了使用重构误差来代表异常分数是合理的。几乎所有基于重构的方法都使用了现代的深度学习方法,尤其是大多数基于卷积自编码器(auto-encoders)或生成式对抗网络(GANs)的方法。
通常,基于重构的方法有一个缺点,当使用或添加了新的训练视频后,它们使用的模型(例如,自编码器或GAN)需要重新训练,以适应新的正常训练视频。 许多这些方法不评估异常的空间定位,据推测,这是因为它们的空间定位精度较低。其中使用自编码器模型重构方法的另一个缺点是,帧的重构误差与帧中前景对象的数量成正比,这也是大多数这类方法必须对每个视频进行归一化的后处理步骤的原因。
下面简单描述2篇2020年的基于重构的视频异常检测方法的论文方法:
第一篇
Y. Tang, L. Zhao, S. Zhang, C. Gong, G. Li, and J. Yang, “Integrating prediction and reconstruction for anomaly detection,” Pattern Recognit. Lett., vol. 129, pp. 123–130, Jan. 2020
作者认为,预测与重构可以结合起来,去利用两者的优点、平衡两者的缺点。他们通过构建一个生成器来实现这一目标,这个生成器由两个连续的U-net结构组成,用来处理视频片段,第一个U-net去预测一个过渡时刻的帧,接着第二个U-net通过这个帧去预测未来时刻的帧,通过强度值与梯度值去最小化重构误差。他们还在未来时刻的Ground Truth与预测的未来帧使用对抗性的损失函数来训练。
第二篇
H. Park, J. Noh, and B. Ham, “Learning memory-guided normality for anomaly detection,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit., 2020, pp. 14 372–14 381
作者认为,基于CNN的重构方法由于CNN的高表示容量(模型的最大容量)而很难重构异常事件,他们提出使用已经通过训练的、存储了重要的正常模式特征的记忆模块来增强U-net风格的编码器-解码器,即用于未来帧预测、重构的网络模型。这个经过训练的记忆模块使用帧与其重构帧的PSNR,以及编码的内容与其最近的记忆单元的距离来计算异常分数。最后也要对每个视频的异常得分进行归一化处理。
稀疏重构方法
稀疏重构方法是重构方法的一个子集,它对重构施加了额外的约束条件,即重构必须仅使用稀疏特征集来执行。几乎所有稀疏重建方法都优化了某种稀疏组合学习公式。
这类方法通常具有快速(其目标就是稀疏性)和易于更新正态模型的一些有利特性。
这类方法的一个缺点是,它们通常过于依赖去记忆显著的正常特征,这给用于穷举的正常训练集带来了很大负担。也正因于此,这类方法无法很好的去建模异常的本质,即得分较低的异常行为通常不对应与人类直觉中的异常活动。
D. Gong, L. Liu, V. Le, B. Saha, M. R. Mansour, and S. Venkatesh, “Memorizing normality to detect anomaly: Memory-augmented deep autoencoder for unsupervised anomaly detection,” in Proc. IEEE/CVF Int. Conf. Comput. Vis., 2019, pp. 1705–1714
作者提出使用存储模块去扩充3D卷积自动编码器,他们认为这种方法有助于克服现有的一些自编码器方法在测试数据时出现的漏检问题。在bottleneck层,他们加入了存储模块,这个模块使用固定大小的内存,通过基于注意力的编码方式,以及硬阈值的方法来促进对输入的视频片段进行稀疏重构。这种方法最后也要对每个视频的异常得分进行归一化处理,但对空间定位方面的性能不加以考虑。
总结与展望
该领域的研究人员应尽量使用推荐的可靠数据集,新的评估方案,并参与可复用性研究。随着该领域逐渐成熟,产生了在实践中可行的方法,研究人员在提出相应方法时也应该提供使用这些方法的运行对比分析。
对假阳性数据质量的定性评估很重要,尤其对发现建模中的偏差有很大帮助。
对多个数据集进行评估也是必不可少的,例如:一些只在UCSD Ped1、UCSD Ped2或UMN数据集上进行异常评估的工作成果很有可能固有地偏向于这些数据集中的异常,这些数据集主要由运动幅度较大的物体组成。
过去视频异常检测算法的输入主要由原始、固定大小的图像块组成;由于有些异常需要分析时间信息,因此研究人员转向使用视频patch,这也需要更多的计算能力。最近,研究人员开始使用视频的多模态输入,包括原始帧和光流场,现在这种模式已经成为常态模式。尤其现在I3D在视频动作识别领域的流行趋势,GPU计算能力的进步,输入表示的日益复杂的趋势将逆转。
与此同时,建模遵循了一种不同的趋势。最开始时,研究人员使用了非常简单的手工特征,这些特征的分布可以通过简单的假设来进行建模。很快,研究人员通过更复杂的模型、更复杂的假设和许多巧妙的工程设计,取得了更好的结果。
最近,这种趋势发生了逆转,人们更依赖从数据中学习表示来更直接地优化方案和建模方法。预计这种数据主导的趋势将继续下去,特别是当更大、更复杂的数据集变得可用时。
一方面,视频异常检测的研究已经取得了长足的进步,但另一方面,以往的研究也忽视了视频异常检测中一些更具挑战性的问题。在现有的数据集中,徘徊异常还没有被建模来解决。事实上,过去的大多数方法都无法检测到这类异常,因为它们严重依赖于动作线索,而忽略了视频的处理部分。文章来源:https://www.toymoban.com/news/detail-409578.html
就异常类型而言,组异常、轨迹异常和时间异常在很大程度上还没有得到解决,因为包含这些异常的baseline数据集还不存在。随着研究内容专注于精度趋于饱和的更小、更不复杂的数据集转移到更大、更复杂、有更多种异常类型的数据集,新的视频表示和新的建模策略会被迫切需要,以在低假阳性率(误报率)下实现高检测率,从而使算法在实际应用中具有实用性。文章来源地址https://www.toymoban.com/news/detail-409578.html
禁止搬运、转载
到了这里,关于视频异常检测 综述(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!