近日,中国科大视觉与多媒体研究组在异常检测领域取得了新进展,提出了一种简单高效的异常检测网络,在检测速度和指标上均达到了当前最优,在工业异常检测中具有广泛的应用前景。相关工作以“SimpleNet: A Simple Network for Image Anomaly Detection and Localization”为题,发表在计算机视觉顶级国际会议CVPR2023上。
图像异常检测和定位任务旨在识别异常图像并定位异常子区域。在工业场景中,由于异常样本很少,且异常可能从细微的变化(如细划痕)到大的结构缺陷(例如,结构缺陷)不等,异常检测和定位特别困难。目前的方法以无监督的方式解决这个问题,在训练过程中只使用正常样本。主流方法包括基于重建的方法、基于合成的方法和基于嵌入的方法。基于重建的方法假设仅使用正常数据训练的深度网络无法准确重建异常区域。逐像素重建误差被视为异常定位的异常分数。然而,这个假设可能并不总是成立,有时网络可以很好地“泛化”以至于它也可以很好地重建异常输入,从而导致误检测。基于合成的方法通过训练在无异常图像上生成的合成异常来估计正常和异常之间的决策边界。然而,合成图像不够逼真。来自合成数据的特征可能偏离正常特征很远,使用此类负样本进行训练可能会导致边界松散的正常特征空间,这意味着分布特征空间中可能包含不明显的缺陷。最近,基于嵌入的方法实现了当前最好的性能。这些方法使用 ImageNet 预训练的卷积神经网络 (CNN) 来提取广义正态特征。然后采用多元高斯分布、归一化流和记忆库等统计算法来嵌入正态特征分布。通过将输入特征与学习分布或记忆特征进行比较来检测异常。然而,工业图像通常具有与ImageNet不同的分布。直接使用这些有偏见的特征可能会导致不匹配问题。此外,统计算法总是遭受高计算复杂度或高内存消耗的困扰。
图 1. SimpleNet模型框架图
为了缓解上述问题,研究组提出了一种新的异常检测和定位网络,称为 SimpleNet,整体结构如图2所示。 SimpleNet利用了基于合成和基于嵌入的方式,并进行了多项改进。首先,使用特征适配器来生成面向目标的特征,从而减少域偏差,而不是直接使用预训练特征。其次,通过对特征空间中的正常特征施加噪声来生成异常特征,而不是直接在图像上合成异常。研究组认为,通过适当校准的噪声尺度,可以获得紧密有界的法线特征空间。第三,通过训练一个简单的鉴别器来简化异常检测过程,这比上述基于嵌入的方法采用的复杂统计算法的计算效率高得多。具体来说,SimpleNet 使用预训练的骨干进行正常的特征提取,然后使用特征适配器来将特征转化到目标域。然后,通过将高斯噪声添加到自适应的正常特征来简单地生成异常特征。最后,使用一个由几层 MLP 组成的简单鉴别器根据这些特征进行训练以鉴别异常。SimpleNet 易于训练和应用,具有出色的性能和推理速度。所提出的 SimpleNet 基于广泛使用的 WideResnet50 骨干网,在 MVTec AD 上以 77 fps 的速度运行时实现了 99.6% 的 AUROC,在准确性和效率方面都超过了之前发布的最佳异常检测方法,结果如图2所示。
图 2. MVTec AD数据集上的推理速度 (FPS) 与 I-AUROC指标
中国科学技术大学自动化系博士刘志康为该论文第一作者,中国科学技术大学自动化系王子磊副教授为该论文的通讯作者。该工作得到了国家自然科学基金委、安徽省科技厅和中国科学技术大学创新团队培育基金的资助。