No label left behind: a unified surface defect detection model for all supervision regimes


引言

在现代制造业中,提高生产效率并确保产品质量始终是核心目标之一。对制造部件表面缺陷或异常情况进行检测与处理,在实现这一目标的过程中发挥着至关重要的作用。过去,这类检测主要依赖人工目视检查,这一过程不仅劳动密集,而且容易受到人为因素的影响,导致效率低下和误判(Tabernik et al., 2020;Yang et al., 2025)。

相比之下,自动化系统能够实现实时监测、精确定位缺陷与异常,并显著提升产品质量。在过去十年中,计算机视觉领域取得了显著进展,这在很大程度上得益于深度学习范式的发展。因此,这些方法也逐渐进入传统上较为保守的机器视觉领域,并显著推动了视觉检测等任务的发展(Bergmann et al., 2021;Božič et al., 2021b;Zou et al., 2022)。这一进展体现了学术研究与工业应用之间的协同作用,成功弥合了前沿技术与实际需求之间的差距。然而,学术界在表面异常检测研究中所基于的核心假设,与实际制造环境中的需求和应用场景并不完全一致。现有研究大体上(仅有少数例外)可归纳为两类问题设定。

第一类是表面缺陷检测(Surface Defect Detection, SDD)(Božič et al., 2021a, 2021b;Rački et al., 2021;Tabernik et al., 2020)。该方法假设在训练阶段可以同时获得正常样本和缺陷样本的图像,因此将任务视为一个监督学习问题。第二类是无监督异常检测(Unsupervised Anomaly Detection, UAD)(Batzner et al., 2024;Fučka et al., 2025;Zavrtanik et al., 2021a, 2022),适用于训练阶段仅能获得正常样本图像的场景。两种方法各有优势。监督学习方法通常能够获得更高的检测性能(Božič et al., 2021b;Zavrtanik et al., 2022),因此在缺陷样本标注充足的情况下往往是首选。然而,监督模型是基于训练数据学习正常样本与缺陷样本之间的决策边界,因此对于与训练集差异较大的新型或未知缺陷,往往难以有效识别(Yao et al., 2023;Zhang et al., 2023a)。此外,图像标注通常是一项繁琐的工作,可能会干扰正常的生产流程,同时实际制造环境中缺陷样本数量往往不足(Božič et al., 2021b)。

相比之下,无监督异常检测方法通过仅使用正常样本进行训练来缓解上述问题,从而能够检测此前未见过的异常类型。这种方法符合制造环境中的实际情况,即正常样本通常远多于缺陷样本(Ding et al., 2022)。然而,在可获得相同规模标注数据的情况下,无监督方法通常难以达到监督方法的性能水平。此外,无监督方法无法利用任何已有的异常样本信息(Ding et al., 2022),这在许多实际应用场景中是一项重要的局限。在现实生产环境中,通常至少会在某些阶段获得少量异常样本,而这些宝贵信息在无监督方法中却被完全忽略。

我们认为,这两种极端设定——完全无监督或完全监督——都难以最优地解决真实工业环境中复杂的表面缺陷与异常检测问题。从应用驱动的角度来看,所有可获得的标注信息都应当被充分利用。因此,有必要开发能够在不同监督条件下有效工作的检测模型,将两类方法的优势结合起来,以更好地满足工业场景的需求。

为满足上述需求,我们提出 SuperSimpleNet,这是一种基于 SimpleNet(Liu et al., 2023) 构建的新型判别式模型。SuperSimpleNet 被设计为能够利用任何形式的训练数据,如图1所示,包括:
(i) 正常图像;
(ii) 仅具有图像级标注的异常图像(仅标明是否存在异常);
(iii) 具有像素级标注的完整标注图像,即提供异常区域分割掩码。

基于这些不同类型的训练数据,我们定义了四种训练模式:
(i) 无监督(unsupervised):仅使用正常图像进行训练;
(ii) 弱监督(weakly supervised):在正常图像之外,还包含带有图像级标签的异常图像;
(iii) 完全监督(fully supervised):所有图像均具有像素级标注;
(iv) 混合监督(mixed supervision):所有图像具有图像级标签,但只有一部分图像提供像素级分割标注。

SuperSimpleNet 的主要优势在于,它能够有效利用上述所有类型的数据输入,并在这四种训练模式之间无缝切换。这种灵活性使其能够适应广泛的工业应用场景,从而进一步弥合学术研究与实际工业需求之间的差距。据我们所知,这是目前唯一能够同时处理多种不同监督层级标注数据,并在所有监督模式下都取得良好性能的方法。此外,该模型具有很高的计算效率,这也是工业应用中经常面临的关键需求之一。表1展示了不同缺陷与异常检测方法的主要特性及其能力,对这一点进行了说明。

为了实现这些目标,我们在效率、有效性和灵活性方面对 SimpleNet 进行了显著改进。除了一系列技术层面的优化以提升原始方法性能之外,本研究的主要科学贡献包括:

(1)改进的合成异常生成方法
我们提出了一种新的合成异常生成过程,该方法显著提升了无监督训练场景中的模型训练效果,并能够在像素级标注有限甚至缺失的情况下实现有效训练。同时,该方法还增强了异常分割能力,使模型在传统方法难以处理的情况下仍能够进行稳健可靠的预测。

(2)高效的分类头设计
我们设计了一个简单但高效的分类头结构,用于捕获图像的全局上下文信息,并能够有效利用图像级标注信息。这一模块的加入提升了模型处理多种类型标注数据的能力,从而增强了其适应性。

(3)统一的多监督学习模型
通过在单一模型架构中整合不同监督层级的方法与思想,我们提出了一种统一的框架,使不同监督模式之间能够实现知识迁移。这一设计显著提升了缺陷检测与异常分割任务的性能,为实际工业环境提供了一种灵活且可扩展的解决方案。

我们在四个具有挑战性的数据集上进行了大量实验,验证了 SuperSimpleNet 的通用性与性能。在完全监督设置下,SuperSimpleNet 在两个真实世界的标准缺陷检测数据集 SensumSODF(Rački et al., 2021)KSDD2(Božič et al., 2021b) 上取得了最先进的结果,AUROC 分别达到 98.0%,检测 AP 达到 97.8%。在弱监督设置下,SuperSimpleNet 在 SensumSODF 上获得 97.4% 的 AUROC,超过此前的完全监督 SOTA 方法;在 KSDD2 上的检测 AP 达到 97.2%。在混合监督设置下,该方法同样在 SensumSODF 与 KSDD2 上持续优于现有方法。

无监督异常检测方面,我们在两个标准基准数据集 MVTec AD(Bergmann et al., 2021)VisA(Zou et al., 2022) 上对 SuperSimpleNet 进行了测试,其 AUROC 分别达到 98.3%93.6%,同样达到了当前最先进水平。除了优异的准确率之外,SuperSimpleNet 还展现出极高的计算效率,其推理时间仅为 9.5 ms,吞吐量达到 每秒 262 张图像,在速度上超过大多数当代模型。其在四种训练模式——完全监督、弱监督、混合监督和无监督——下均表现出优异的性能和适应能力,充分证明了该方法在实际异常检测任务中的实用价值,并使其成为一种面向真实工业场景的高效解决方案。

一、相关理论

无监督方法
近年来,无监督异常检测已成为一个重要的研究方向,并受到了广泛关注。这类方法在某些特定场景中尤为有用,例如新生产线的建立阶段或其他正常样本充足但异常样本稀缺的情况。在无监督方法中,基于重建的方法最初获得了广泛应用。这类方法通常训练类似自编码器(AE-like)的网络,其基本假设是:在存在异常区域时,重建图像与输入图像之间会出现明显差异。该范式中的模型并不限于自编码器网络,也包括其他生成模型,例如GAN、Transformer以及扩散模型。然而,在实际应用中,异常区域并不总是无法被成功重建,因此这一假设并不总能成立,从而导致整体检测性能下降。

近年来另一类成功的方法是利用预训练网络(如ResNet)提取的特征进行异常检测。提取的特征可以通过多种方式进行利用,例如基于记忆库(memory bank)、知识蒸馏技术、学生–教师架构以及归一化流(normalizing flows)等。

此外,还有一类具有代表性的方法是判别式方法,它们通过合成异常数据进行训练。近年来异常生成技术得到了显著发展,从早期简单的剪贴(cut-and-paste)方法,发展到更复杂的方法,例如基于Perlin噪声的异常生成以及基于扩散模型的异常生成。这些异常既可以直接在输入图像上生成,也可以在特征层进行生成。

尽管无监督方法能够取得较好的检测效果,但其往往难以在保持高检测精度的同时实现快速推理,因此近期研究逐渐关注更加高效的解决方案。

完全监督方法
尽管在工业场景中异常样本最初较为稀缺甚至不存在,但随着时间推移,这些异常样本会逐渐积累。通常,这些样本并不能完全覆盖所有潜在异常的分布,但研究表明,将其纳入训练可以提升检测性能。由于大多数无监督方法并未设计用于利用异常样本数据,因此研究者提出了完全监督方法,例如SegDecNet、TriNet、MaMiNet,以在工业应用中最大化检测性能。近期的一些方法,如BGAD和PRN,尝试通过生成额外的合成异常来增强模型训练,从而增加模型所见异常类型的多样性。然而,这些方法通常具有较为复杂的模型结构,导致推理时间较长,从而限制了其在工业环境中的应用。此外,大多数完全监督方法仍然需要大量带有像素级标注的数据,才能超越最新的无监督方法。同时,它们通常不支持纯无监督学习,因此在某些真实应用场景(例如新生产线建立初期)中并不适用。

弱监督方法
与完全监督方法相比,弱监督方法仅需要图像级标签,因此所需的标注成本远低于像素级标注。最早的重要尝试之一是DeepSAD,这是一种单类分类方法,在训练过程中利用图像级标签信息。类似的思路近期也被SegAD采用,该方法利用深度无监督模型的预测结果训练一个弱监督的随机森林分类器。在弱监督异常定位研究中,一个关键范式是使用类激活映射(Class Activation Map, CAM),该方法能够在没有像素级监督的情况下实现异常区域定位。由于这一特性,多个研究都采用CAM进行弱监督异常检测。此外,一些弱监督方法还通过其他策略间接训练定位能力,例如熵最小化、仅使用无异常图像进行训练,或者利用无监督模型生成伪标签。

混合监督方法
在异常检测领域,混合监督(mixed supervision)的研究相对较少。其中较早的代表性方法之一是SegDecNet,该方法采用双头结构,一个用于检测任务,另一个用于分割任务。后续研究在该基础模型上引入注意力机制,以进一步提升性能。然而,这些方法仍然不支持无监督训练。

与这些方法不同,SuperSimpleNet能够在四种监督场景下均表现良好,并在无监督和弱监督设置中仍然保持较高的检测性能。以往的方法要么无法同时支持四种训练模式,要么必须依赖像素级标注才能实现异常分割。

二、SuperSimpleNet

SuperSimpleNet的整体结构如图2所示。首先,通过预训练的卷积神经网络从输入图像中提取特征,然后对这些特征进行上采样和池化操作,以捕获邻域上下文信息(详见“特征提取器”部分)。由于异常分割和异常检测属于不同任务,因此模型通过一个简单的适配器模块对特征进行调整,以适应分割任务。随后,在分割特征和检测特征中注入合成异常。SuperSimpleNet的关键创新在于其新的合成异常生成机制,该机制能够在不同监督模式下保持良好性能。在无监督设置中,模型完全依赖生成的合成异常及其标签进行训练;而在其他监督模式下,合成异常与真实异常共同参与训练,从而增强训练信号并提升整体性能。
在这里插入图片描述

该方法通过利用二值化的Perlin噪声掩码在特征空间生成更加真实的异常区域(详见“潜在空间掩码异常生成”部分)。处理后的特征随后被输入到分割与检测模块(详见“分割–检测模块”部分),该模块采用双分支结构,从而能够支持混合监督学习(详见“混合监督训练”部分)。在推理阶段,所有训练机制都会被移除,使网络能够快速预测异常图和异常评分(详见“推理”部分)。后续章节将对上述各模块进行详细介绍,并进一步说明混合监督训练的具体策略,以便更清晰地理解SuperSimpleNet方法的整体框架。

1.特征提取器

遵循 SimpleNet的设计,输入图像 I I I 首先通过预训练的特征提取器 Φ \Phi Φ(在本文中使用的是 WideResNet50,并在 ImageNet上进行预训练)来提取特征 f l f_l fl。这些特征来自一部分网络层 L L L,其中 l ∈ L l \in L lL,在本文中 L = [ 2 , 3 ] L=[2,3] L=[2,3]

由于 ResNet类网络的结构特点,这些特征具有相对较低的空间分辨率。这会限制模型检测小型异常的能力,并降低定位精度。为了解决这一问题,在进行特征拼接之前引入上采样层,即:

F l = Upsample ( f l , ( 2 H 0 , 2 W 0 ) ) F_l = \text{Upsample}(f_l,(2H_0,2W_0)) Fl=Upsample(fl,(2H0,2W0))

其中 ( H 0 , W 0 ) (H_0,W_0) (H0,W0) 表示提取到的最大特征图的尺寸, l ∈ L l\in L lL,并采用双线性插值进行上采样。该操作有效地将特征分辨率提升为原来的两倍。在本文设置中,这意味着第三层特征被放大 4 倍,第二层特征被放大 2 倍。这样可以保证所有层的特征在空间分辨率上保持一致,并能够进行拼接,从而得到:

F ^ = Concatenate ( F l ∣ l ∈ L ) \hat{F} = \text{Concatenate}({F_l \mid l \in L}) F^=Concatenate(FllL)

与 SimpleNet一致,每个特征位置的邻域上下文通过 3×3 核的局部平均池化进行捕获,即:

F = AvgKernel ( F ^ ,  kernel size = 3 ,  stride = 1 ) F = \text{AvgKernel}(\hat{F},\ \text{kernel size}=3,\ \text{stride}=1) F=AvgKernel(F^, kernel size=3, stride=1)

这一过程最终得到一个上采样后的特征图,其中每个位置都编码了局部上下文信息。

尽管在自然图像上训练得到的网络特征能够很好地迁移到异常检测任务中,但为了使其更适用于当前任务,我们使用一个简单的线性层将这些特征映射到任务特定的潜在空间。只有用于分割头输入的特征会被进行适配(图2中的 A A A)。我们假设这种方式更有效,因为它允许分割头和分类头在不同的潜在空间中工作,从而使每个任务获得更好的专业化能力。


2.潜在空间掩码异常生成

在监督学习设置下,仅使用真实异常数据进行训练虽然是可行的,但可能无法完全覆盖潜在缺陷的分布。为了解决这一问题,我们提出了一种新的潜在空间中的合成异常生成方法。该方法在预训练特征提取器的潜在空间中生成高度随机化的异常区域。

因此,在无监督模式之外的所有训练模式中,训练数据都会包含真实异常与合成异常的混合数据。此外,这种新的异常生成策略使模型能够在四种监督模式下进行训练,即使没有可用的标注数据,也能够学习异常分割任务。这使得 SuperSimpleNet能够弥补完全监督与弱监督方法之间的性能差距,而许多现有方法在这一方面表现不佳。

新的合成异常生成策略如图3所示。其核心思想是利用高斯噪声生成合成异常,并且仅在由异常掩码 M s y n t h M_{synth} Msynth 定义的区域中应用噪声。

为了获得该掩码,首先生成 Perlin noise,随后进行阈值化处理,从而得到 Perlin 异常掩码 M p M_p Mp

为了得到最终的合成异常掩码 M s y n t h M_{synth} Msynth,需要从 M p M_p Mp 中去除与真实异常区域(由 M g t M_{gt} Mgt 标记)对应的部分:

M s y n t h = M p ⋅ M g t ‾ M_{synth} = M_p \cdot \overline{M_{gt}} Msynth=MpMgt

在无监督或弱监督设置下, M g t M_{gt} Mgt 为空,因此 M p M_p Mp 直接作为 M s y n t h M_{synth} Msynth

从分布 N ( μ , σ 2 ) \mathcal{N}(\mu,\sigma^2) N(μ,σ2) 采样得到的高斯噪声仅被限制在异常掩码 M s y n t h M_{synth} Msynth 所定义的区域内,从而生成图3中的 ϵ \epsilon ϵ。随后,这些局部噪声被添加到特征图 F F F 和适配后的特征图 A A A 中,分别得到扰动特征图 P F P_F PF P A P_A PA

这种方法能够使 SuperSimpleNet 生成更加真实、空间连贯且高度随机化的异常区域。同时,这种随机性也可以防止模型过拟合于不现实的异常模式,从而提升对未知异常的泛化能力。

我们保留了 SimpleNet 中的特征复制机制,但在原始特征与复制特征上都加入噪声。这样可以在每个 batch 中暴露更多类型的异常,从而提高训练稳定性。


3.分割—检测模块

在 SimpleNet的基础架构上,我们新增了一个分类头 D c l s D_{cls} Dcls,同时保留原有的分割头 D s e g D_{seg} Dseg

与整体架构的简洁设计一致,分类头由 一个 5 × 5 5\times5 5×5 卷积模块组成,随后是池化层和最终的全连接层。尽管结构简单,但该设计仍然具有较强的判别能力,使模型能够更好地捕获图像的全局上下文信息。

这种能力可以有效减少误报(false positives),并提高对小型缺陷以及分布内缺陷的检测能力。

架构的简洁性对于同时适用于无监督和监督学习场景至关重要,它既提供了足够的判别能力,又能够降低模型过拟合的风险。

此外,这种双分支结构特别适合混合监督学习,因为网络可以仅利用图像级标签进行高效训练。

如图4所示,分割头首先生成异常图 M o M_o Mo。随后该异常图与特征图 F F F(或训练阶段的噪声增强特征图 P F P_F PF)进行拼接,并作为分类头卷积模块的输入。
在这里插入图片描述

卷积模块输出结果与异常图经过池化后进行拼接,并通过最终的全连接层,得到图像级异常得分 s s s


4.混合监督训练

分割头使用截断 L1 损失(truncated L1 loss)进行训练:

l i , j = { max ⁡ ( 0 , t h − D s e g ( P i , j ) ) , if  M [ i , j ] = 1 max ⁡ ( 0 , t h + D s e g ( P i , j ) ) , otherwise l_{i,j} = \begin{cases} \max(0, t_h - D_{seg}(P_{i,j})), & \text{if } M[i,j]=1 \\ \max(0, t_h + D_{seg}(P_{i,j})), & \text{otherwise} \end{cases} li,j={max(0,thDseg(Pi,j)),max(0,th+Dseg(Pi,j)),if M[i,j]=1otherwise

其中 t h t_h th 是用于防止过拟合的截断项(本文中为 0.5)。
D s e g D_{seg} Dseg 表示分割头, P i , j P_{i,j} Pi,j 表示位置 ( i , j ) (i,j) (i,j) 的预测异常图值。

总体的截断 L1 损失 L t 1 L_{t1} Lt1 计算方式为:

对预测异常图中所有元素的 l i , j l_{i,j} li,j 取平均。

该损失鼓励模型学习异常与非异常区域之间的软决策边界,从而避免过拟合并提高泛化能力。

此外,我们还使用 Focal loss,以应对类别不平衡问题,从而得到最终的分割损失:

L s e g = L t 1 + L f o c L_{seg} = L_{t1} + L_{foc} Lseg=Lt1+Lfoc

同样地,Focal loss 也被用作分类损失:

L c l s = L f o c L_{cls} = L_{foc} Lcls=Lfoc

最终损失函数结合分割损失与分类损失,并加入控制项 γ \gamma γ

L = γ ⋅ L s e g + L c l s L = \gamma \cdot L_{seg} + L_{cls} L=γLseg+Lcls

其中 γ \gamma γ 的取值根据图像标签确定:

γ = { 1 , 若图像为正常样本 1 , 若图像为异常且具有完整标注 0 , 若图像为异常但只有弱标注 \gamma = \begin{cases} 1, & \text{若图像为正常样本} \\ 1, & \text{若图像为异常且具有完整标注} \\ 0, & \text{若图像为异常但只有弱标注} \end{cases} γ= 1,1,0,若图像为正常样本若图像为异常且具有完整标注若图像为异常但只有弱标注

这样可以保证:

  • 分割头在所有正常图像以及具有像素级标注的异常图像上进行训练
  • 分类头始终参与训练

借助新的合成异常生成策略,即使完全没有像素级标注,模型仍然可以成功训练分割任务。

接下来,按照 SegDecNet的做法,我们对分割损失进行加权,以强调异常区域中心像素,同时减少对边界不确定像素的关注。

权重通过对真实掩码进行距离变换获得,然后乘以损失值。这种方法能够有效处理异常边界区域的标注不确定性。

分割损失的目标是异常掩码 M M M,其中包含真实异常和合成异常区域;而分类损失的目标异常标签为 y y y。当图像包含异常(无论是合成异常还是真实异常)时,该值被设为 1,否则设为 0。

5.推理阶段

在推理阶段,异常生成机制会被移除,模型直接通过分割头预测异常图,并通过分类头预测异常得分。异常图会被上采样以匹配输入图像的尺寸,并通过一个标准差为 σ = 4 \sigma = 4 σ=4 的高斯滤波器进行平滑处理,从而得到最终的异常图。


三、 实验部分

本节介绍实验设置,包括所使用的数据集、评价指标以及实现细节,随后给出主要实验结果与消融实验的展示与分析。

1.数据集

在完全监督(fully supervised)、混合监督(mixed supervised)以及弱监督(weakly supervised)三种设置下,对 SuperSimpleNet 的性能进行评估。实验使用两个来自真实工业场景、并具有精确标注的数据集:SensumSODF(Rački et al., 2021)和 Kolektor Surface-Defect Dataset 2(Božič et al., 2021b)。

SensumSODF 数据集包含两个类别,分别对应两种不同类型的固体口服剂型:软胶囊(softgels)和胶囊(capsules)。每个类别都包含正常图像以及经过精确标注的异常图像,这些异常图像包含不同复杂度和不同尺寸的缺陷。由于该数据集没有预定义的训练—测试划分,因此我们遵循原始实验协议,采用 3 折交叉验证(Rački et al., 2021)。图5展示了来自这两个类别的示例。

KSDD2 数据集包含使用视觉检测系统采集的生产线产品图像,其训练集和测试集均包含正常图像与标注的异常图像。这些缺陷在视觉上通常与正常区域非常相似,因此该数据集非常适合用于评估模型在工业场景中的检测能力。图5展示了该数据集中的一个示例。

无监督(unsupervised)设置在 MVTec AD(Bergmann et al., 2021)和 VisA(Zou et al., 2022)数据集上进行评估。

MVTec AD 包含 15 个类别,而 VisA 包含 12 个类别。每个类别在训练集中只包含正常图像,这使其适用于无监督方法的训练。测试集则包含正常图像和带标注的异常图像,涵盖多种异常类型、尺度和复杂度。图9展示了两个数据集中的示例。


2.评价指标

本研究采用与原始实验协议及最新相关文献一致的数据集特定评价指标(Božič et al., 2021a;Fučka et al., 2025;Rački et al., 2021)。
对于 SensumSODF、MVTec AD 和 VisA,图像级性能使用 ROC 曲线下面积(AUROC)进行评估。像素级性能则使用 Per-Region Overlap 曲线下面积(AUPRO)进行衡量。
对于 KSDD2 数据集,我们遵循多数相关研究的方法,使用 Average Precision(AP) 作为评价指标,同时用于图像级检测性能和像素级定位性能(分别记为 A P d e t AP_{det} APdet A P l o c AP_{loc} APloc)。


3.实现细节

训练模型使用 AdamW optimizer(Loshchilov & Hutter, 2019)进行优化,训练 300 个 epoch,批大小为 32。较大的批大小有助于提升模型效果,因为在每个 batch 中会生成更多样化的合成异常。

分割头和分类头的学习率设置为 2 × 10 − 4 2 \times 10^{-4} 2×104,权重衰减为 10 − 5 10^{-5} 105,而适配器模块(adaptor module)的学习率设置为 10 − 4 10^{-4} 104

一种学习率调度器在240和270个epoch后将学习率降低0.4倍,以稳定训练。梯度裁剪到范数1,以进一步提高有监督设置下训练的稳定性。相比之下,在无监督设置中,我们阻止梯度从分类头流向分割头。

合成异常生成:用于合成异常的高斯噪声从 N(0,σ²) 中采样,其中 σ = 0.015。柏林噪声的二值化阈值根据监督方式而变化。在混合监督和完全监督设置中,像素级标签有效地捕捉了异常分布,因此合成异常主要用于细化正常性边界。为了保持这些异常较小,使用了0.6的阈值。由于弱监督设置中缺乏像素级标记的缺陷,需要合成异常来增强对全局分布的建模。为此需要更大的合成异常,通过0.2的阈值实现。对于无监督设置,使用的阈值为:VisA数据集用0.6,MVTec AD数据集用0.2。

图像:所有输入图像均使用ImageNet (Deng et al., 2009) 标准化进行归一化。对于MVTec AD和VisA,图像大小调整为256×256,这与近期文献 (Fučka et al., 2025; Zavrtanik et al., 2021a) 一致。对于SensumSODF和KSDD2,我们遵循Božič et al. (2021b), Rački et al. (2021) 的原始方案,对KSDD2使用232×640,对SensumSODF胶囊使用192×320,对SensumSODF软胶囊使用144×144。所有比较的模型都使用相同的图像大小,以确保公平比较。在有监督设置中应用翻转增强以扩展异常图像集,如Rački et al. (2021) 所述。为了提高训练稳定性,我们遵循Božič et al. (2021b) 的方法,每个epoch中平衡相同数量的正常和异常样本。

评估:为了能与基线SimpleNet 进行比较,我们修改了其损失设计,以支持完全监督训练,方法是将真实标注 (Mgt) 中的缺陷样本分类为异常。所有其他参数与原始工作保持一致。所有情况下均使用最终训练epoch获得的模型计算指标。对于SimpleNet和SuperSimpleNet,我们使用不同的随机种子进行5次训练运行,并报告结果的平均值和标准差。我们对KSDD2、MVTec AD和VisA使用预定义的训练-测试划分,而对SensumSODF则使用3折交叉验证,如原始论文 (Rački et al., 2021) 所述。所有情况下的测试集都包含真实的正常和异常图像。所有比较的模型都遵循相同的评估协议。上述描述的超参数最初改编自SimpleNet,并经过经验评估以达到最佳性能。我们在补充材料中包含了通过对SensumSODF进行交叉验证所做的超参数敏感性分析。我们遵循标准协议 ,固定数据集中所有类别的超参数,以实现公平比较。

四、实验结果

完全监督设置下的结果:SuperSimpleNet与当前完全监督设置下的最先进方法进行了比较:SegDecNet (Božič et al., 2021b)、TriNet (Rački et al., 2021)、MaMiNet (Luo et al., 2023)、BGAD (Yao et al., 2023)、PRN (Zhang et al., 2023a) 和修改后的SimpleNet (Liu et al., 2023)。在SensumSODF和KSDD2数据集上的异常检测和定位结果见表2。SuperSimpleNet在SensumSODF上取得了最佳结果,平均异常检测AUROC为98.0%,超过了之前的最先进水平1.1个百分点,错误率降低了35.5%。SuperSimpleNet在KSDD2上也取得了最先进的检测APdet 97.8%,超过了之前的最佳结果1.6个百分点,错误率降低了42%。在两个数据集上,它都比SimpleNet表现出更高的稳定性,如报告的标准差较低所示。我们推测,分类头简单而强大的设计是获得高检测性能的主要原因。它可以在存在真实和合成异常的情况下有效地学习捕捉更全局的信息,从而能够更稳健地区分正常和异常样本。完全监督设置的定性示例显示在图5中。与相关方法相比,SuperSimpleNet预测的异常图噪声更少,异常分数也更准确。

弱监督设置下的结果:表3显示了SensumSODF和KSDD2在弱监督设置下的结果,与当前支持弱监督的最先进方法SegDecNet (Božič et al., 2021b)、TriNet (Rački et al., 2021)、MaMiNet (Luo et al., 2023) 和 DRA (Ding et al., 2022) 进行了比较。尽管没有像素级标注,SuperSimpleNet在SensumSODF上仍取得了97.4% AUROC的高检测结果。这仅比完全监督场景低0.6个百分点,而最佳相关方法TriNet (Rački et al., 2021) 的性能则下降了5.4个百分点。我们的方法还获得了92.8% AUPRO的定位结果,而其他方法要么不产生定位结果(DRA),要么不进行评估(SegDecNet、TriNet和MaMiNet)。在KSDD2上,SuperSimpleNet取得了强劲的检测和定位结果,APdet为97.2%,APloc为47.6%。我们的方法在缺乏像素级标签的情况下再次展现出良好性能,与完全监督设置相比仅降低了0.6个百分点。相比之下,相关方法如SegDecNet (Božič et al., 2021b) 和 MaMiNet (Luo et al., 2023) 的性能分别下降了22.1和16.2个百分点。与相关方法相比,由于训练期间生成的合成异常,SuperSimpleNet在定位性能方面也表现出色。

使用混合监督的结果:图6展示了使用混合监督获得的结果。与以往方法不同,SuperSimpleNet较少依赖像素级标签,这在可用标注较少时其卓越的性能上得到了体现。这使得SuperSimpleNet在弱监督模式下能够超越TriNet (Rački et al., 2021) 的完全监督性能。在KSDD2上使用混合监督的性能显示在图7中。在此情况下,也报告了DSR (Zavrtanik et al., 2022) 的结果,其中标记样本的数量表示使用的完全标记的异常样本数量,而该方法无法利用剩余的弱标记样本。SuperSimpleNet在检测方面优于相关方法,即使所有样本都只有弱标记。其他方法需要大量的完全标记样本才能达到与完全监督模式相当的性能。在实践中,这意味着大大减少了标注工作量,使SuperSimpleNet非常适合实际的工业环境。这些结果也促使未来的研究关注能够处理混合监督的方法。虽然检测是工业场景中最重要的任务,但得益于生成的合成异常,SuperSimpleNet在定位方面也优于SegDecNet (Božič et al., 2021b)。然而,DSR在定位任务上确实优于SuperSimpleNet。图8展示了在SensumSODF和KSDD2上的定性结果。定位性能随着更多标签的可用性而显著提高,而异常分数在没有像素级标签的情况下已经得到了很好的预测。这一观察结果与之前讨论的定量结果一致。我们还在补充材料中包含了数值表格形式的结果。

无监督设置下的结果:SuperSimpleNet与当前无监督设置下的最先进方法进行了比较:AST (Rudolph et al., 2023)、DSR (Zavrtanik et al., 2022)、EfficientAD (Batzner et al., 2024)、FastFlow (Yu et al., 2021)、Patchcore (Roth et al., 2022)、DRÆM (Zavrtanik et al., 2021a) 和 SimpleNet (Liu et al., 2023)。表4展示了在MVTec AD和VisA数据集上的结果。SuperSimpleNet取得了最先进的性能,在MVTec AD上的平均异常检测AUROC为98.3%,在VisA上为93.6%。虽然SuperSimpleNet在此设置下的表现不如在有监督设置中那样高效,但它仍然取得了很好的结果,在异常检测方面优于原始SimpleNet,并且总体上表现出更稳定的结果。无监督模型在MVTec AD (Bergmann et al., 2021) 和 VisA (Zou et al., 2022) 数据集上的定性结果如图9所示。SuperSimpleNet生成的异常分数比SimpleNet更准确。由于高置信度缺陷区域与噪声的分离更好,异常图也更容易解释。

计算效率:图10展示了计算效率结果,使用NVIDIA Tesla V100S按照EfficientAD (Batzner et al., 2024) 中引入的基准测试协议进行测量。SuperSimpleNet实现了9.5毫秒的推理时间和每秒262张图像的吞吐量,使其成为既适用于无监督也适用于有监督设置的最快方法。

五、消融研究

在本节中,我们确定了SuperSimpleNet每个模块的贡献,研究了其在医学领域的性能,分析了失败案例,并验证了在更高分辨率下的性能。
首先,我们通过从架构中系统地移除每个组件并分析对性能的影响来评估我们贡献的模块。结果显示在表5中。为了比较,我们还包含了原始SimpleNet (Liu et al., 2023) 以及采用新合成生成策略的版本的结果。

  • 上采样模块:从架构中移除特征上采样(SSNno_upscale)导致整体检测性能下降0.7个百分点。对定位的影响更为明显,下降了1.4个百分点。这些发现表明特征缩放对于实现准确的最终预测至关重要。
  • 分类头:分类头的重要性从SSNno_cls实验中显而易见,该实验中异常分数s被推导为预测异常图的最大值。此修改导致有监督检测结果下降1.0个百分点,因为移除分类头削弱了网络的判别能力。另一方面,这种省略在无监督设置中带来了轻微的改进。我们推测,在这种情况下,降低判别能力有助于减轻对合成异常的过拟合。
  • 分类头的简单性:SuperSimpleNet的一个重要组成部分是强大但简单的分类头。当我们用一个由三个卷积块组成的更复杂的架构替换它时,我们得到了SSNcomplex_cls行的结果。有监督检测结果保持不变,但无监督检测性能下降了2.6个百分点。这些观察结果突显了SuperSimpleNet架构简单性的重要作用,它仍然提供强大的判别能力,但同时防止了过拟合。
  • 分类头输入:在SSNcls_no_Mo实验中,我们移除了异常图(分割头预测的Mo)作为分类头输入,迫使每个头独立学习。在有监督设置中,性能略有下降(0.4个百分点),这表明如果存在真实异常,SuperSimpleNet并不严重依赖像素级标签。然而,无监督设置下的结果显著下降,表明异常图对于防止分类头过度拟合合成异常至关重要。我们还评估了在分类头中使用自适应特征A而不是常规特征F的影响,如SSNcls_w_adapt实验所示。这种替换导致两种设置下的检测性能都有轻微但不可忽略的下降。
  • 改进的训练:SSNold_train实验展示了升级损失函数、添加学习率调度器和调整梯度流的影响。这些变化对结果有明显影响,因为它们的缺失导致检测性能总体下降1.6个百分点,定位性能下降3.6个百分点。我们将其归因于最后阶段更稳定的训练。
  • 向异常区域添加合成异常:当图像被完全标记时,我们仅在非异常区域生成合成异常。SSNoverlap实验展示了我们移除此约束的结果。这导致检测性能略微下降0.2个百分点,表明保留尽可能多的真实缺陷信息会产生更好的性能。无监督结果保持不变,因为此修改在该情况下没有任何改变。
  • 分割损失加权:如“使用混合监督训练”部分所述,我们使用Božič et al. (2021b) 提出的分割损失加权。从SSNno_loss_weight行可以明显看出,这种方法有助于检测性能(0.4个百分点)和定位性能(1.9个百分点)。鉴于其简单性,该技术可以被广泛采用,以增强有监督方法的缺陷检测性能。
  • 异常掩码生成:为了验证新的异常掩码生成策略的重要性,我们将其替换为原始的SimpleNet方法,即用高斯噪声扰动整个特征图。SSNSN_anom实验的结果显示,在有监督设置中性能下降0.4个百分点,在无监督设置中下降幅度更大,达到4.4个百分点。我们推测这种性能下降源于该策略与SuperSimpleNet分类头的不兼容性。我们通过SSNno_cls[NONSP ACE]&SN_anom实验进一步证实了这一点,在该实验中我们在没有分类头的情况下应用了SimpleNet的策略。在这里,我们没有观察到无监督设置中的这种下降。然而,有监督设置下的性能下降了1.3个百分点。接下来,我们在SSNcomplex_cls[NONSP ACE]&SN_ anom实验中将SimpleNet的策略与复杂分类头相结合。性能下降比使用简单分类头时更大(29.6个百分点)。这表明,在SimpleNet策略的情况下,复杂的分类头倾向于过拟合,这进一步强化了SuperSimpleNet架构简洁性和异常掩码生成策略的有效性。
  • 合成异常生成策略:合成异常在有监督训练中的重要性在仅使用真实异常的SSNno_anom实验中得到了强调。结果表明,即使存在真实缺陷,包含合成异常也能将检测性能提高0.3个百分点,定位性能提高2.5个百分点。同样重要的是要认识到,合成异常是无监督学习和弱监督设置中分割训练的主要机制。我们在这种情况下不报告无监督结果,因为网络在没有合成异常的情况下无法学习。

失败案例:图11描绘了SuperSimpleNet的失败案例。该图说明,许多未被检测到的缺陷很难被发现,因为它们与正常样本极为相似(例如,VisA右下角的误报源于背景中的碎屑,在某些情况下这可能被视为异常)。

标签消融:为了评估可用数据量对性能的影响,在SensumSODF软胶囊类别上进行了一项实验。首先,增加正常样本的数量,代表具有不同数据量的无监督学习。接着,在固定所有正常样本的同时,逐步添加带有图像级标签的异常样本,模拟具有不同异常数据量的弱监督学习。一旦训练集中包含了所有正常和异常图像,就为异常样本添加像素级标签。这对应于使用混合监督学习。最后,当所有样本都有像素级标注时,设置变为完全监督。图12所示的结果表明,SuperSimpleNet在无监督设置下,仅用有限数量的正常样本就已经表现良好。仅添加少量带有图像级标签的异常样本就能显著提升性能。然而,只有当所有异常数据都附有像素级标注时,才能达到最佳结果。这清楚地表明,SuperSimpleNet随着每一个额外可用标签(无论是图像级还是像素级)的增加而持续改进。

骨干网络消融:为了评估所选特征提取器的重要性,我们使用几种不同的标准骨干网络评估了我们的模型。结果呈现在表6中,表明WideResNet50提供了最佳性能和效率。

泛化到医学领域:我们评估了方法在医学领域的泛化能力。表7包含了使用BMAD基准测试 (Bao et al., 2024) 在医学无监督异常检测上的结果,包括组织病理学切片和脑部MRI图像。这表明SuperSimpleNet在其开发领域(即工业检测)之外也能发挥作用,进一步强化了其贡献。

图像分辨率消融:在某些工业场景中,要求模型能够处理更高分辨率的图像。然而,这会降低模型的计算效率。虽然我们已经通过KSDD2和SensumSODF数据集(使用了全分辨率图像)隐含地证明了SuperSimpleNet能够处理高分辨率图像,但我们决定在VisA数据集上评估这种权衡,该数据集默认使用256×256的图像尺寸 (Batzner et al., 2024; Fučka et al., 2025) 以保证公平比较。为了评估这种权衡,我们将分辨率提高到512×512。表8中的结果表明,更高的分辨率也可能是有益的,有助于检测更小的异常。我们还在表9中额外包含了不同分辨率下推理速度和内存使用情况的比较,表明我们的模型随着分辨率的提高能够有效扩展。然而,我们注意到,超过某个点后,考虑到随之增加的计算负载,提高分辨率的收益会递减。

误分类分析:误分类分析的结果呈现在表10中。我们发现假阳性相对较少,通常出现在存在微小瑕疵的图像上,这些瑕疵很可能被视为缺陷。代表性的例子如图11所示(右上象限——红色方框)。这两个胶囊样本包含微小的不洁净区域,不放大很难发现。左边的样本被标记为异常,而右边的则不是。基于与右边胶囊实际缺陷案例的视觉相似性,右边的假阳性可以合理地解释为异常。通过对数据的仔细检查,我们发现几乎所有的假阳性都表现出这种特性。这凸显了标注的模糊性,这通常源于专家标注者的主观解释,这也是数据集作者在Rački et al. (2021) 第5.3节中讨论的一个已知挑战。
对于假阴性,我们的定量研究结果(总结在表10的前两行)表明,主要因素是异常尺寸。大多数假阴性对应极小的缺陷,通常覆盖不到图像面积的1%。这一局限性源于输入特征的有限分辨率。然而,我们在消融研究中(见表8)表明,增加输入分辨率可以提升性能,这表明由微小缺陷引起的假阴性可以通过更高分辨率的处理来缓解。
为了分析合成异常对误分类的影响,我们在表10中比较了使用和不使用合成数据时的假阳性和假阴性数量。前两行显示了使用真实和合成数据的结果,后两行显示了不使用合成数据的结果。此比较聚焦于训练集中存在真实异常的数据集(如KSDD2和SensumSODF),因为MVTec AD和VisA遵循无监督协议,仅使用合成异常进行训练。结果证实,添加合成数据有助于减少误分类。在SensumSODF上,当使用合成异常时,假阳性数量减少了11个样本(减少了21%)。在KSDD2的情况下,假阳性数量从6个减少到仅4个(减少了33%)。这表明合成异常起到了正则化作用,使模型接触到更广泛的异常类型,帮助其更好地区分罕见但良性的模式和真实缺陷。我们还观察到假阴性数量略有减少。虽然这种影响不太明显,但这是意料之中的,因为假阴性主要是由非常小的缺陷引起的,而合成异常并未明确针对这些缺陷。

六、结论

我们提出了SuperSimpleNet,一种新颖的判别式异常检测模型,专为满足工业需求而设计,这些需求包括高性能、高速度以及在不同监督场景(涉及不同标注级别的标签)下的灵活性。作为第一个在无监督、弱监督、混合监督和完全监督设置中均表现优异的统一模型,SuperSimpleNet独特地利用了所有可用的训练数据——包括图像和不同类型的标注——以提供卓越且一致的结果。SuperSimpleNet在所有监督场景中都展示了最先进的结果。在有监督设置中,该方法在两个成熟的基准测试SensumSODF和KSDD2上进行了评估,在SensumSODF上达到98.0%的AUROC,在KSDD2上达到97.8%的APdet。在SensumSODF和KSDD2上,SuperSimpleNet分别以1.1%和1.6%的优势超越了所有先前的方法。弱监督设置在相同的两个数据集上进行了评估,在SensumSODF上达到97.4%的AUROC,在KSDD2上达到97.2%的APdet,在SensumSODF和KSDD2上分别以5.9%和7.9%的优势超越了先前的方法。类似地,在混合监督设置中,它在不同级别的标记数据下始终优于先前的方法。它还在两个成熟的基准测试MVTec AD和VisA上的无监督设置中取得了最先进的结果,AUROC分别达到98.3%和93.6%。它以极高的效率实现了这些结果,推理时间仅为9.5毫秒,吞吐量达到每秒262张图像。我们方法的主要局限性在于对预训练特征提取器的依赖。如果提取的特征不包含足够信息来充分建模对象的正常性,将会降低下游异常检测的性能。此外,尽管我们展示了超参数在多种模型中具有鲁棒性,但对于某些特定的实际场景可能仍需调整。另一个局限性在于检测极微小异常时,需要更高的分辨率才能成功运行。我们的结果强烈表明,实际的异常检测应用应利用所有可用信息,包括不同标注级别的图像和标签,以实现最佳性能。这些发现也强调了结合无监督和有监督方法的知识来增强检测能力的前景。此外,它们还突出了混合监督作为性能和标注工作量之间有效权衡的优势。通过统一不同的监督范式,同时保持强大的效率和可靠性,SuperSimpleNet为开发满足实际工业应用复杂需求的模型提供了一种有前景的方法。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐