跳转至

RcAE: Recursive Reconstruction Framework for Unsupervised Industrial Anomaly Detection

会议: AAAI 2026
arXiv: 2512.11284
代码: 无
领域: 工业异常检测 / 计算机视觉
关键词: 异常检测, 自编码器, 递归重建, 工业缺陷检测, 无监督学习

一句话总结

提出递归卷积自编码器(RcAE),通过参数共享的多步迭代重建逐步抑制异常并保留正常细节,配合跨递归检测模块(CRD)利用多步重建动态实现鲁棒的异常定位,在仅需10%扩散模型参数的条件下达到可比的SOTA性能。

研究背景与动机

无监督工业异常检测要求模型仅使用正常样本训练,在测试时识别缺陷。基于重建的方法(尤其是自编码器AE)因其直觉简洁而受到广泛关注:在正常数据上训练的模型理论上无法很好地重建异常区域,从而通过重建误差暴露缺陷。

然而传统单次解码的AE存在四个核心局限:

过拟合问题:在有限且同质的正常数据上容易过拟合,导致泛化能力差;

异常重建问题:表达力强的隐空间可能同时重建异常区域,削弱检测对比度;

细节丢失问题:单次解码过度平滑高频细节,在正常区域产生假阳性;

尺度固定问题:固定尺度架构难以处理不同大小和严重程度的异常。

近年来,GAN、Transformer、扩散模型等方法虽然改善了重建质量,但往往伴随高计算成本或复杂的预处理流水线。例如扩散模型需要数十到数百步去噪,推理速度慢;基于预训练DINO的方法(如GLAD)需要额外的大型视觉模型。

本文的核心动机是:能否在不引入复杂或资源密集型设计的前提下,实现高质量的异常重建? 作者提出用"递归"的思路替代"深层堆叠",通过共享参数的多步迭代实现渐进式异常抑制。

方法详解

整体框架

如论文Figure 2所示,整体框架包含三个核心组件,按三阶段独立训练:

  1. 递归卷积自编码器(RcAE):通过共享参数的编码器和解码器进行多步压缩-重建,逐步抑制异常;
  2. 细节保留网络(DPN):恢复递归重建中丢失的高频纹理细节,减少假阳性;
  3. 跨递归检测模块(CRD):利用3D卷积捕捉多步重建之间的动态变化,生成像素级异常图。

关键设计

  1. 递归卷积自编码器(RcAE)

核心思路是用参数共享的递归替代传统的深层堆叠。传统深度ConvAE使用\(N\)个独立的编码/解码块,参数量随\(N\)线性增长。RcAE则只用一个编码器\(E\)和一个解码器\(D\),通过\(N\)次递归复用来模拟深层AE的效果。

压缩阶段:输入图像经过\(N\)次递归编码,每次递归通过步长为2的下采样卷积降低分辨率: $\(\mathbf{I}_C^i = E(\mathbf{I}_C^{i-1}; \boldsymbol{\theta}_E), \quad i \in \{1, 2, \ldots, N\}\)$

重建阶段:从最深层压缩表示出发,经过\(N\)次递归解码逐步恢复分辨率: $\(\mathbf{I}_R^j = D(\mathbf{I}_R^{j-1}; \boldsymbol{\theta}_D), \quad j \in \{1, 2, \ldots, N\}\)$

设计动机:早期迭代保留低级细节但可能残留异常,后期迭代更好地抑制异常但可能过度平滑。这种渐进式精炼允许模型在不增加参数的情况下同时抑制异常和保留正常结构。训练时递归深度从\([1, N]\)中随机采样以避免捷径学习。

  1. 细节保留网络(DPN)

递归重建虽然有效抑制异常,但也会在正常区域累积细节损失。DPN是一个轻量级的4层ConvAE,输入为递归重建结果\(\mathbf{I}_R^n\)与原图一阶梯度\(\mathbf{I}'\)的拼接,预测残差图来恢复缺失细节: $\(\mathbf{Res}_D^n = f_{\text{DPN}}((\mathbf{I}_R^n \oplus \mathbf{I}'); \boldsymbol{\theta}_{\text{DPN}})\)$ $\(\mathbf{I}_D^n = \mathbf{I}_R^n + \mathbf{Res}_D^n\)$

关键设计:训练DPN时RcAE冻结,且仅使用正常样本。这迫使网络学习递归导致的细节退化残差,而非异常相关偏差。推理时,异常区域产生的残差超出DPN的学习分布,DPN自然无法恢复它们,从而保持异常抑制效果。

  1. 跨递归检测模块(CRD)

递归设计自然产生一个重建序列,不同步骤间的差异反映区域稳定性:正常区域快速稳定,异常区域因重建困难而持续波动。CRD是一个4深度的3D ConvAE,将输入\(\mathbf{I}\)和各步增强重建\(\mathbf{I}_D^n\)拼接后预测异常图: $\(\mathbf{M}_A = f_{\text{CRD}}((\mathbf{I}_D^n \oplus \mathbf{I}); \boldsymbol{\theta}_{\text{CRD}}), \quad n \in \{1, 2, \ldots, N\}\)$

3D卷积使CRD在空间维度和递归步骤维度上同时提取特征,捕捉跨递归的时序模式。优势在于不同递归步骤的重建互补:早期步骤保留细节但有残余缺陷,后期步骤抑制异常但丢失纹理,综合利用可提供更可靠的定位。

损失函数 / 训练策略

整体采用三阶段独立训练策略,所有组件从头训练(不依赖预训练模型):

阶段1 - RcAE训练:使用强度和边缘的双项\(\ell_1\)损失: $\(\mathcal{L}_{\text{rec}} = \|\mathbf{I} - \mathbf{I}_R^N\|_1 + \|\mathbf{I}' - \mathbf{I}_R'^N\|_1\)$ 训练1500个epoch,递归深度每批随机采样。

阶段2 - DPN训练:冻结RcAE,同样使用双项\(\ell_1\)损失恢复强度和边缘细节: $\(\mathcal{L}_{\text{DPN}} = \|(\mathbf{Res}_D^n + \mathbf{I}_R^n) - \mathbf{I}\|_1 + \|(\mathbf{Res}_D^n + \mathbf{I}_R^n)' - \mathbf{I}'\|_1\)$ 训练400个epoch。

阶段3 - CRD训练:冻结RcAE和DPN,使用伪异常掩码(颜色块、随机线条、复制粘贴)和双项\(\ell_2\)损失: $\(\mathcal{L}_{\text{CRD}} = \|\mathbf{M}_A - \mathbf{M}_P\|_2 + \|\mathbf{M}_A' - \mathbf{M}_P'\|_2\)$ 训练300个epoch。

训练使用Adam优化器,学习率\(10^{-4}\),输入分辨率\(1024 \times 1024\),递归深度\(N=5\)

实验关键数据

主实验

在MVTec AD和VisA两个标准工业异常检测数据集上评估:

数据集 指标 本文RcAE EfficientAD GLAD(扩散+DINO) DiffAD(扩散)
MVTec AD I-AUROC 98.9% 99.1% 99.3% 98.7%
MVTec AD P-AUROC 98.7% 96.9% 98.6% 98.3%
VisA I-AUROC 99.2% 98.1% 99.5% 89.5%
VisA P-AUROC 98.6% 99.1% 98.6% -
总平均 I-AUROC 99.0% 98.6% 99.4% 94.6%
总平均 P-AUROC 98.7% 97.8% 98.6% -

关键发现:在像素级定位P-AUROC上取得所有方法最优的98.7%,且在无预训练模型的非扩散方法中图像级检测也是最优。与GLAD相比,不使用DINO和扩散模型也能达到可比性能。

消融实验

配置 I-AUROC / P-AUROC 说明
ConvAE基线 82.4% / 90.8% 无递归、无DPN、无CRD
+ RcAE 94.1% / 95.8% 递归重建提升+11.7% / +5.0%
+ RcAE + DPN 95.7% / 96.6% 细节保留进一步+1.6% / +0.8%
+ RcAE + DPN + CRD 98.9% / 98.7% 跨递归检测再+3.2% / +2.1%
递归深度N MVTec I/P-AUROC VisA I/P-AUROC
N=1 86.2 / 87.4 89.3 / 88.7
N=3 96.3 / 96.8 97.3 / 96.4
N=5 98.9 / 98.7 99.2 / 98.6
N=6 98.7 / 98.4 99.2 / 98.1
CRD输入步数\(N_R\) I-AUROC / P-AUROC
1(仅最终重建) 95.7 / 96.6
3(步骤1,3,5) 98.0 / 97.1
5(全部步骤) 98.9 / 98.7

关键发现

  1. 递归深度的影响\(N=1\)\(N=3\)的提升最大(约10%),\(N=5\)达到峰值,之后略有下降,说明递归有收益递减和轻微过平滑风险。
  2. 参数共享的重要性:去除权重共享后性能从98.9%暴跌到71.3%,说明共享参数约束是防止异常记忆化的关键。
  3. 数据效率:使用仅10%训练数据的RcAE(84.1%/93.4%)已超过100%数据的ConvAE(82.4%/90.8%),在工业场景中具有重要实际价值。
  4. 跳跃连接在递归中的作用:传统AE中跳跃连接容易导致捷径学习,但在RcAE中递归压缩-重建抑制了捷径,使跳跃连接能有效增强浅层特征传播。
  5. 计算效率:参数量仅为扩散模型的约10%,推理速度远快于扩散方法,适合工业部署。

亮点与洞察

  1. 递归共享参数的巧妙设计:用一个编码器和一个解码器的多次递归来模拟深层网络的效果,参数量不增长但重建质量显著提升,这是一个优雅的结构设计。
  2. 跨递归动态的利用:将递归过程中产生的多步重建序列视为"时间序列",用3D卷积捕捉异常区域在多步之间的不稳定波动,这一视角非常新颖。
  3. 模块化三阶段训练:将异常抑制(RcAE)、细节恢复(DPN)、异常检测(CRD)解耦为独立训练阶段,避免多目标优化冲突,增强稳定性。
  4. 完全从头训练:在不使用任何预训练模型(DINO、ImageNet等)的条件下达到与使用预训练的扩散方法可比的性能,说明递归机制本身的强大表达力。

局限与展望

  1. 语义级异常检测不足:当前设计主要针对外观级缺陷(纹理、结构),对需要语义推理的逻辑异常(如零件装错位置但外观正常)效果有限。
  2. 递归深度固定:虽然训练时随机采样递归深度,但测试时固定为\(N=5\),未能根据样本难度自适应调整。
  3. 伪异常依赖:CRD训练依赖简单的几何增强生成伪异常掩码,可能无法覆盖所有实际缺陷模式。
  4. 单一模态输入:仅处理RGB图像,未利用工业场景中常见的3D点云或红外等多模态信息。

相关工作与启发

  • EfficientAD相比:EfficientAD使用预训练特征和知识蒸馏,本文完全从头训练但性能可比,说明好的归纳偏置(递归结构)可以替代大规模预训练。
  • GLAD(扩散+DINO)相比:GLAD需要大型预训练视觉模型和扩散过程,本文用简单的ConvAE递归达到类似效果,参数量小一个数量级。
  • 递归思想的启发:递归重建的核心洞察——"正常区域快速收敛,异常区域持续波动"——可以推广到其他基于重建的异常检测场景(如时序数据、点云等)。

评分

  • 新颖性: ⭐⭐⭐⭐ — 递归重建+跨递归检测的组合是新颖的框架设计
  • 技术深度: ⭐⭐⭐⭐ — 三组件协同设计完整,消融实验详尽
  • 实验充分度: ⭐⭐⭐⭐⭐ — 两大数据集全面评估,消融涵盖所有核心设计
  • 实用性: ⭐⭐⭐⭐⭐ — 轻量级、从头训练、快速推理,非常适合工业部署
  • 写作质量: ⭐⭐⭐⭐ — 结构清晰,图表丰富

相关论文