摘要
视频中的异常检测是指对不符合预期行为的事件进行识别。然而,几乎所有现有的方法都是通过最小化训练数据的重构误差来解决问题,这并不能保证异常事件的重构误差更大。在本文中,我们提出在视频预测框架中解决异常检测问题。据我们所知,这是第一个利用预测的未来框架与其基础事实之间的差异来检测异常事件的工作。为了预测正常事件的更高质量的未来帧,除了常用的强度和梯度的外观(空间)约束外,我们还通过强制预测帧和真实帧之间的光流保持一致,在视频预测中引入了运动(时间)约束,这是第一个将时间约束引入视频预测任务的工作。这种空间和运动约束有利于对正常事件的未来框架预测,从而有利于识别那些不符合预期的异常事件。在玩具数据集和一些公开可用的数据集上进行的大量实验验证了我们的方法在对正常事件不确定性的鲁棒性和对异常事件的敏感性方面的有效性。所有代码发布于https://github.com/StevenLiuWen/ano_pred_cvpr2018。
主要方法
给定一个连续t帧的视频I1,I2,…,It,如果,我们按顺序堆叠所有这些帧,并使用它们来预测未来的帧。将我们的预测表示为: 。为了使接近真实值It+1,我们最小化它们在强度和梯度方面的距离。为了保持相邻帧之间的时间相干性,我们强制和之间以及It+1和It之间的光流接近。最后,未来框架的预测与自身之间的差异决定了它是正常的还是不正常的。
如何生成图像?(U-Net)
利用前4张图片来预测第五张图片,即输入42562563(3个通道)得到3256*256。
损失函数
- 强度和梯度约束
强度惩罚保证了RGB空间中所有像素的相似性,梯度惩罚可以锐化生成的图像。具体来说,我们在强度空间中最小化预测帧I I与其真实帧I之间的距离,如下所示:
- 运动约束(光流)
我们使用Flownet[8]进行光流估计。我们将f表示为Flownet,则光流损失可表示为:
生成对抗网络
D是判别器,G是生成器
训练判别器时:
训练生成器时:
结合上述强度、梯度、光流约束得到最终损失函数分别训练G和D:
异常检测指标(信噪比)
利用预测帧I与它的真值I之间的差值进行异常预测。MSE是一种常用的测量预测图像质量的方法,它通过计算RGB色彩空间中所有像素的预测和其基础真值之间的欧氏距离来实现。
然而,Mathieu[25]表明峰值信噪比(Peak Signal to Noise Ratio, PSNR)是一种更好的图像质量评估方法,如下所示:
第t帧的高PSNR表明它更有可能是正常的。在计算完每个测试视频的每一帧的PSNR后,按照工作[25],我们将每个测试视频中所有帧的PSNR归一化到[0,1]范围内,使用下式计算每一帧的规则分数:
论文效果
论文复现
经过40000个epoch,Ped2的AUC大概是95%,符合论文中的数据。
下面是测试过程的一些异常分数。