本文主要是介绍Learning Memory-guided Normality for Anomaly Detection——学习记忆引导的常态异常检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
又是一篇在自编码器框架中研究使用记忆模块的论文,可以看做19年的iccv的论文的衍生,在我的博客中对19年iccv这篇论文也做了简单介绍。韩国人写的,应该是吧,这名字听起来就像。
摘要abstract
我们解决异常检测的问题,即检测视频序列中的异常事件。基于卷积神经网络的异常检测方法通常利用代理任务(如重建输入视频帧)来学习描述正常情况的模型,而在训练时看不到异常样本,并在测试时使用重建误差来量化异常的程度。这些方法的主要缺点是没有明确考虑正常模式的多样性,而CNNs强大的表示能力允许重建异常的视频帧。为了解决这个问题,我们提出了一种无监督学习的异常检测方法,该方法明确考虑了正常模式的多样性,同时降低了神经网络的表示能力。为此,我们建议使用具有新更新方案的存储器模块,其中存储器中的项目记录正常数据的原型模式。我们还提出了新的特征紧凑性和分离损失来训练记忆,提高了记忆项目和从正常数据中深入学习的特征的辨别能力。在标准基准上的实验结果证明了我们方法的有效性和效率,优于现有技术。
Introduction
在视频序列中检测异常事件的问题,例如人行道上的车辆,在过去十年中引起了极大的关注,这对监视和故障检测系统尤为重要。这是极具挑战性的,原因有很多:首先,根据情况对异常事件有不同的判断。也就是说,同样的活动可能是正常的,也可能是不正常的(例如,在厨房或公园里拿刀)。在这种情况下,手工注释异常事件是一项繁重的工作。其次,收集异常数据集需要大量的工作,因为在现实生活中异常事件很少发生。因此,异常检测通常被认为是一个无监督的学习问题,旨在学习在没有异常样本的情况下描述正态性的模型。在测试时,没有被模型描述的事件和活动被认为是异常。使用无监督学习方法对视频序列的正态性建模有很多尝试。在训练时,给定正常的视频帧作为输入,他们通常提取特征表示并尝试重新构造输入。然后将重构误差较大的视频帧在测试时作为异常处理。这是假设异常样本不能很好地重构,因为模型在训练过程中从未看到过它们。最近基于卷积神经网络(CNNs)的方法利用了自编码器(AE)[1,17]。cnn强大的表示能力允许提取更好的特征表示。另一方面,来自异常帧的CNN特征很可能通过结合正常帧的特征来重构[22,8]。在这种情况下,异常帧具有较低的重构误差,通常,当大部分异常帧是正常的时候(例如,公园里的行人)。为了减少cnn的容量,引入了一种视频预测框架[22],该框架将预测的未来帧与其ground truth之间的差异最小化。这些方法的缺点[1,17,22]是它们不能直接检测异常[35]。相反,他们利用代理任务进行异常检测,例如,重建输入帧[1,17]或预测未来帧[22],以提取一般特征表示而不是普通模式。为了克服这一问题,Deep SVDD[35]利用单类分类目标将正常数据映射到超球面。具体来说,它最小化了超球体的体积,这样正常的样本就会被紧密地映射到球体的中心。虽然单一的球体中心代表了正常数据的普遍特征,但这并没有考虑正常样本的各种模式。
我们提出了一种无监督学习的方法来检测视频序列中的异常,考虑到正常模式的多样性。我们假设单个原型特征不足以代表正常数据的各种模式。也就是说,在正常视频帧的特征空间中存在多个原型(即特征的模式或质心)(图1)。为了实现这一想法,我们提出了一种用于异常检测的存储模块,其中单个项目对应于正常模式的原型特征。我们使用存储项中的原型特征来表示视频帧,减少了cnn的容量。为了减少CNN特征的类内变化,我们提出了一个特征紧凑性损失,将正常视频帧的特征映射到记忆中最近的项目,并鼓励它们接近。简单地更新记忆项和提取CNN特征交替交替地给出一个退化的解决方案,其中所有的项都是相似的,因此所有的特征都紧密地映射在嵌入空间中。为了解决这个问题,我们提出了特征分离损失。它使每个特征与其最近的条目之间的距离最小,同时使特征与第二最近的条目之间的差异最大,分离记忆中的单个条目,增强特征与记忆条目的辨别能力。我们还引入了一种更新策略来防止在测试时存储异常样本的特征。为此,我们建议用一个加权的常规分数来衡量视频帧中存在多少异常,这样只有当帧被确定为正常帧时,条目才会更新。在包括UCSD Ped2[21]、中大大道[24]和上海科技[26]在内的标准基准上的实验结果,证明了我们的方法的有效性和效率,超越了目前的技术水平。
我们建议使用多个原型来代表正常视频帧的不同模式,用于无监督异常检测。为此,我们引入了一种存储模块,在内存中的项目上记录正常数据的原型模式。•我们提出特征紧凑性和分离性损失训练记忆,确保多样性和辨别能力的记忆项目。本文还提出了一种新的内存更新方案,适用于测试时同时存在正常和异常样本的情况。•我们在视频序列的无监督异常检测标准基准上实现了一种新的技术状态。我们也提供广泛的消融研究的实验分析。我们的代码和模型可以在网上找到:https:// cvlab.yonsei.ac.kr/projects/MNAD
主要贡献:
- 提出使用多个原型来表示正常视频帧的各种模式,以进行无监督的异常检测。为此,我们引入了一个存储模块,用于记录存储器中项目的正常数据的原型模式。
- 提出了特征紧致性和分离性损失来训练记忆,保证了记忆项的多样性和区分性。我们还提出了一种新的内存更新方案,在测试时同时存在正常和异常样本的情况下。
- 在视频序列中无监督异常检测的标准基准方面取得了新的进展。我们还提供了广泛的实验分析与交融研究。
问题:
对比19年上一篇的文章,他的实验其实并不充分,只在视频数据集上进行了验证,因此,模型的泛化性值得考虑。
另外,这篇文章的实现对比了19年那篇存储器挖坑的文章虽然最后效果比他好,但是其实策略是不同的,19年文章用的是重构误差的方式,这篇文章利用重构误差的方法在结果中没有比过,利用预测未来帧的方式才获得了好的结果,这点也值得考虑。其他以后想到再说。
conclusion
我们引入了一种无监督学习方法来检测视频序列中的异常,该方法利用多个原型来考虑正常数据的各种模式。为此,我们建议使用存储模块将原型模式记录到内存中的项目中。我们已经证明,使用特征紧致性和分离性损失来训练记忆可以将项目分开,从而实现对记忆的稀疏访问。在异常样本和正常样本同时存在的情况下,提出了一种新的内存更新方案,大大提高了异常检测的性能。对标准基准的广泛实验评估表明,我们的模型比最先进的模型性能更好。
这篇关于Learning Memory-guided Normality for Anomaly Detection——学习记忆引导的常态异常检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!