赞
踩
文章信息:
发表于2022 CVPR
原文链接:https://arxiv.org/abs/2111.09099
源代码链接:https://github.com/ristea/sspcab
异常检测通常被视为一种单类别分类问题,模型仅从正常训练样本中学习,但在评估时要处理正常和异常的测试样本。在成功的异常检测方法中,有一类方法侧重于预测遮蔽信息(例如补丁、未来帧等),并利用相对于遮蔽信息的重建误差作为异常得分。
与相关方法不同,我们提出将基于重建的功能集成到一种新型的自监督预测性架构模块中。这个自监督模块是通用的,可以轻松地集成到各种最先进的异常检测方法中。我们的模块从具有扩张滤波器的卷积层开始,其中感受野的中心区域被遮蔽。产生的激活图通过通道注意模块。我们的模块配备了一个损失,该损失最小化了相对于感受野中遮蔽区域的重建误差。通过将其集成到图像和视频异常检测的几个最先进的框架中,我们展示了我们模块的通用性,并提供了在MVTec AD、Avenue和ShanghaiTech数据集上显着性能提升的实证证据。
异常检测通常作为一类分类问题,方法从正常训练样本中学习熟悉模型,在推断时将不熟悉的样本标记为异常。由于异常样本仅在测试时可用,监督学习方法不直接适用于异常检测,因此研究者探索了重建、字典学习、基于距离的模型、变化检测等方法。
在重建方法中,一类突出的子方法依赖于预测遮蔽信息,利用与遮蔽信息相关的重建误差作为异常得分。这些信息可以是超像素、未来帧、中间边界框等形式。
与其他方法不同,作者提出将重建能力集成到神经块中,并设计了一种自监督预测性卷积注意块(SSPCAB)。SSPCAB通过扩张卷积层和通道注意机制构建,能够在任何神经网络层中遮蔽信息,并能够集成到各种神经架构中。该块通过自监督方式训练,用于预测遮蔽信息。
实验证明SSPCAB在多个先进的异常检测框架中带来显著性能提升,例如在Avenue数据集上,添加SSPCAB后,Liu等人的基于区域的检测标准(RBDC)从41%提高到62%。此外,在Avenue和ShanghaiTech数据集上,结合SSPCAB能够达到新的最先进性能水平。总体而言,研究的贡献主要体现在引入了一种新型的自监督预测性卷积注意块,并成功地将其集成到多个先进的神经模型中,取得了显著的性能改进。
图1:我们的自监督预测卷积注意块(SSPCAB)。对于应用扩展卷积滤波器的每个位置,模块使用上下文信息来学习重建掩蔽区域。通道注意力模块通过使用全局信息来选择性地强调或抑制重建图来执行特征重新校准。
简单来说就死将输入特征经过一个masked convolution(暂且翻译为掩蔽卷积吧)得到一个新的特征图,新的特征图在经过一个SEZ注意力模块得到SSPCAB的输出,最后有个loss(SSPCAB模块输入输出的loss)。
作者的贡献:
基于重建的方法。在过去几年中,基于重建的方法在异常检测中变得普遍。这些方法通常使用自编码器 [21] 和生成对抗网络(GANs)[37],因为这些神经模型通过仅使用正常数据能够学习强大的重建流形。然而,神经网络的泛化能力有时会导致以较低误差重建异常帧 [12,18],影响了异常和正常帧之间的区分能力。为解决这个问题,研究人员尝试通过多样化架构和训练方法来改进潜在的流形。
一些专注于转换架构的工作包括基于内存的自编码器 [12, 39, 49],它们在训练数据中记忆正常原型,从而增加了正常和异常样本之间的区分能力。
其他工作通过使用伪异常样本 [4,18,79] 对模型进行重新建模以改善重建流形。在[17]中提出的对抗性训练对域外伪异常样本应用梯度上升,对正常数据应用梯度下降,从而为视频异常检测学习更强大的判别流形。Zavrtanik等人 [79] 通过在正常图像上添加随机噪点补丁来创建伪异常样本,用于图像异常检测。
一些自编码器的变体,如变分自编码器(VAEs),在 [39, 83] 中提出用于异常检测任务。这些工作基于这样的假设,即VAEs只能重建正常图像。Liu等人 [39] 使用了有条件的VAE,将图像预测条件设置为光流重建,从而通过光流重建任务积累了图像预测的误差。然而,由于视频异常检测中存在光流形式的运动信息,因此这种方法只能应用于该领域。
许多异常检测方法的替代任务是从输入中擦除一些信息,同时让神经网络预测已擦除的信息。Haselmann等人[22]将异常检测构建为修复问题,其中从图像中随机遮蔽图像块,使用被遮蔽图像块的逐像素重建误差进行表面异常检测。Fei等人[15]提出了Attribute Restoration Network(ARNet),其中包括一个属性擦除模块(AEM),通过从图像中擦除某些属性(如颜色和方向)来使模型迷惑。反过来,ARNet学会恢复原始图像,并基于正常图像可以被适当还原的假设来检测异常。Cloze任务[42]涉及学习在去除某些帧时如何完成视频,最近被Yu等人[77]用于异常检测。在类似的方向上,Georgescu等人[17]提出了中间帧遮蔽作为视频异常检测的辅助任务之一。这两种方法都基于这样的假设,即擦除的帧可以更准确地为常规运动重建。未来帧预测[34]利用过去帧来预测视频中的下一帧,而在这种情况下,通过预测误差来检测异常。基于GANs的另一种方法[59]学会从图像中擦除图像块,而鉴别器则确定图像块是正常还是不规则的。
与现有方法不同的是,我们是第一个将基于重建的功能引入神经架构的基本构建块。更具体地说,我们设计了一个基于遮蔽卷积和通道注意的新型块,用于重建卷积感受野的遮蔽部分。正如实验证明的那样,我们的块可以集成到多种现有的异常检测框架中[18, 34, 37, 39, 49, 79],几乎总是带来显著的性能改进。
Masked convolution.
作者提出的卷积核策略如图2所示:卷积核大小为 2k + 2d + 1,在卷积过程中,只对四个角的区域
K
1
K_1
K1,
K
2
K_2
K2,
K
3
K_3
K3,
K
4
K_4
K4,即图中绿色的区域,这四个区域的卷及结果相加,再经过Rule激活函数作为中间11C向量M的值(C是通道数),就相当与对中间的M遮盖(Masked)掉了。
注意:作者在输入周围添加了 k’ + d 个像素的零填充,并将步幅设置为1,以便使用输入的每个像素作为掩码信息(保证输入输出特征图大小都相同)
Channel attention module.
通过Masked convolution之后,作者使用了SE注意力机制。这个不必多说,不懂的同学可以查阅相关资料。
Reconstruction loss.
将自监督重建损失定义为输入和输出之间的均方误差(MSE),也就是将输入与输出做了个误差计算,如公式2所示:
将SSPCAB插入到相关网络中则需要在之前的基础上增加SSPCAB的损失,如公式3所示:
λ是超参数。
再放一次图1,也就是作者三个方法的体现:
在先面两个实验之前作者对超参数的设置进行了实验,也就是卷及核参数k、d大小以及loos的超参。
Anomaly Detection in Images
在其他人的网络上添加作者的模块得出的结果如表所示(好就是了):
Abnormal Event Detection in Video
视频异常检测使用了两个常用的数据集:Avenue和ShanghaiTech
在本文中,我们介绍了SSPCAB,这是一个由带有掩码的卷积层和通道注意力模块组成的新颖神经块,用于预测卷积感受野中的掩码区域。我们的神经块通过自监督训练,使用自身的重建损失进行训练。为了展示在异常检测中使用SSPCAB的优势,我们将我们的块集成到一系列图像和视频异常检测方法中[18, 34, 37, 39, 49, 79]。
我们的实证结果表明,在几乎所有情况下,SSPCAB都带来了性能提升。初步结果显示,无论是掩码卷积还是通道注意力都对性能提升起到了贡献作用。此外,借助SSPCAB的帮助,我们能够在Avenue和ShanghaiTech上取得新的最先进水平。我们认为这是一个重大的成就。在未来的工作中,我们的目标是通过将掩码卷积替换为带有掩码的3D卷积来扩展SSPCAB。此外,我们计划考虑除异常检测之外的其他应用领域。
设计了一个模块SSPCAB,可以简单理解为一种注意力机制,将一个像素周围四个角落的区域对中间的像素进行预测,个人认为这种方式可能可以考虑到局部的全局信息,当出现异常时,变化幅度都是比较大的,周围的点也就不太能表示中间的点了。
我把这个模块缝到MNAD这个项目上了,好像效果在这里并不好
这是没加SSPCAB这个模块的结果:
这是加了的结果:
不增反降啊。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。