不需要Memory Bank:CMDR-IAD用2D+3D双分支重建做工业异常检测,MVTec 3D 97.3%

导读:

---------------------------------------------------------------------------------------------------------------------------------

在多模态工业异常检测中,Memory Bank方法长期占据主流地位,但它们需要存储大量正常样本特征,导致内存占用高、推理速度慢。有没有可能不用Memory Bank,也能达到同等甚至更好的检测精度?

CMDR-IAD给出了肯定的答案。这一框架通过跨模态映射建模2D纹理与3D几何之间的一致性关系,同时用双分支重建分别捕捉正常的纹理模式和几何结构,再经由可靠性感知融合将两路异常信号整合。在MVTec 3D-AD基准上,CMDR-IAD以97.3% I-AUROC和97.6% AUPRO@30%达到当前最优,推理速度3.7 FPS,且完全不依赖Memory Bank。

论文信息

---------------------------------------------------------------------------------------------------------------------------------

  • 标题:Cross-Modal Mapping and Dual-Branch Reconstruction for 2D-3D Multimodal Industrial Anomaly Detection

  • 作者:Radia Daci, Vito Reno, Cosimo Patruno, Angelo Cardellicchio, Abdelmalik Taleb-Ahmed, Marco Leo, Cosimo Distante

  • 机构:CNR-ISASI(意大利国家研究委员会 应用科学与智能系统研究所)、CNR-STIIMA(意大利国家研究委员会 先进制造工业技术研究所)、IEMN(法国微电子与纳米技术研究所,隶属法国上法兰西理工大学/里尔大学/CNRS)

  • 代码https://github.com/ECGAI-Research/CMDR-IAD/

一、3D异常检测为什么需要跨模态?

---------------------------------------------------------------------------------------------------------------------------------

工业异常检测中,单纯依赖2D RGB图像面临明显的局限:光照变化、镜面反射和传感器噪声都会干扰纹理信息的可靠性,而许多缺陷的表现形式是微妙的几何偏差,而非明显的颜色或纹理变化。因此,将2D纹理信息与3D几何信息结合成为提升检测鲁棒性的自然选择------纹理擅长捕捉表面颜色和图案异常,几何擅长捕捉形变、凹陷等结构性缺陷,两者互补。

然而,现有多模态方法存在三类问题:

  • Memory Bank方法(如BTF、M3DM):需要在训练时存储大量正常样本的特征向量,测试时逐一比对。这带来高内存占用和慢推理速度。

  • Teacher-Student方法(如AST):间接处理3D信息,未充分利用几何结构。

  • 固定融合方案:对噪声深度数据、弱纹理区域或缺失模态不够鲁棒,容易在数据质量不佳时产生误判。

CMDR-IAD的核心思路是:不存储任何训练样本特征,而是将正常模式编码进网络参数中。通过跨模态映射学习2D与3D特征之间的对应关系,通过双分支重建分别学习正常纹理和正常几何的分布,测试时直接前向传播即可完成异常检测。

二、跨模态映射+双分支重建架构

---------------------------------------------------------------------------------------------------------------------------------

CMDR-IAD由四个核心组件组成,下面逐一说明。

2.1 多模态特征提取

2D分支采用冻结的DINO ViT-B/8(在ImageNet上预训练),将RGB图像编码为密集像素对齐的特征图,经双线性上采样后得到分辨率为224×224的特征表示F^{2D}。

3D分支采用冻结的Point-MAE(在ShapeNet上预训练),将输入点云编码为稀疏几何特征token,经插值扩展到所有点后,再通过3×3通道级2D平均池化进行空间平滑,最终通过自适应平均池化对齐到同样的224×224空间网格。

两个编码器在训练过程中完全冻结,只有后续模块的参数需要学习,这使得可训练参数量保持在较小规模。

2.2 双向跨模态映射

两个轻量级MLP分别执行双向映射:

  • M_{2D→3D}:从2D特征预测对应位置的3D特征

  • M_{3D→2D}:从3D特征预测对应位置的2D特征

每个MLP的结构为:输入投影 → 非线性变换块(GELU + LayerNorm) → 输出投影。映射在逐像素位置上独立执行。对于缺失深度数据的位置(如遮挡或传感器盲区),映射特征直接设为零,避免引入无效监督信号。

这种设计的直觉是:在正常样本上,2D纹理与3D几何之间存在稳定的对应关系(比如,某种表面纹理通常对应特定的几何形状)。当出现异常时,这种对应关系被打破,映射预测与实际特征之间的差异就是异常信号。

2.3 双分支重建模块

2D重建分支:线性投影 → Sparse-Attention块(QKV线性层 → Attention → 投影) → LayerNorm → MLP Block(残差连接) → reshape为空间网格 → ConvTranspose2D层完成上采样重建。

3D重建分支:投影层 → ConvTranspose1D层序列逐步上采样到原始分辨率 → 轻量级通道注意力模块(AvgPool → Conv1D → ReLU → Conv1D → Sigmoid)作为残差通路。

两个分支各自独立训练,使用Masked Similarity Loss(基于余弦相似度),仅在有有效3D特征的像素上计算。四个损失函数(2D/3D映射损失 + 2D/3D重建损失)各自只更新对应模块,不共享梯度。

2.4 可靠性感知融合

异常评分的融合分为两个层面:

Reliability-Gated Mapping Anomaly(可靠性门控映射异常):将2D映射差异和3D映射差异相乘(乘法操作强调双模态一致的异常区域),再通过从局部统计量导出的空间可靠性系数α进行门控,抑制不可靠区域的噪声。

Confidence-Weighted Reconstruction Anomaly(置信度加权重建异常):2D和3D的重建差异各自乘以一个与重建误差负相关的置信度权重(温度参数β=0.3),然后加权平均。重建误差越小的模态,置信度越高,在融合中占更大权重。

最终异常图 = 映射异常 × 重建异常,再经box filter空间平滑。图像级评分取异常图的最大值除以有效区域均值的平方根。

三、MVTec 3D-AD实验:97.3% I-AUROC

---------------------------------------------------------------------------------------------------------------------------------

实验设置

  • 数据集:MVTec 3D-AD,包含10个工业物体类别,2656个训练样本(仅正常)+ 1197个测试样本(正常+缺陷)

  • 训练配置:每个类别独立训练,Adam优化器,学习率10^{-3},batch size=1,50个epoch

  • 硬件:NVIDIA A100 GPU

主实验结果

下表展示了2D+3D多模态设置下的I-AUROC结果,CMDR-IAD与16种对比方法的逐类别对比:

方法 Bagel Cable Gland Carrot Cookie Dowel Foam Peach Potato Rope Tire Mean
M3DM (2023) 99.4 90.9 97.2 97.6 96.0 94.2 97.3 89.9 97.2 85.0 94.5
CFM (2024) 99.4 88.8 98.4 99.3 98.0 88.8 94.1 94.3 98.0 95.3 95.4
MTSJM (2025) 100.0 93.1 98.5 99.4 96.8 89.9 98.6 94.7 96.2 89.7 95.7
3D-ADNAS (2025) 99.7 100.0 97.1 98.6 96.6 94.8 89.7 87.3 100.0 86.7 95.1
CMDR-IAD 99.6 93.0 98.6 99.8 99.1 93.6 99.6 93.1 95.7 97.5 97.3

几个值得关注的数据点:

  • Mean I-AUROC 97.3%,超越第二名MTSJM的95.7%(+1.6%)

  • CMDR-IAD在10个类别中5个取得最高I-AUROC(Carrot 98.6%、Cookie 99.8%、Dowel 99.1%、Peach 99.6%、Tire 97.5%)

  • CMDR-IAD是唯一所有类别I-AUROC均超过93%的方法(范围93.0%--99.8%),其他方法都存在个别类别的明显短板

在像素级定位指标上,CMDR-IAD同样表现优异。在像素级定位指标上,2D+3D设置的AUPRO@30% Mean达到97.6%,所有类别均超过95.5%(范围95.9%--98.2%)。在更严格的AUPRO@1%指标上,CMDR-IAD取得**46.5%**Mean,10个类别中8个最高。

推理效率对比

下表综合对比了推理速度、内存占用和检测性能:

方法 帧率 (FPS) 内存 (MB) I-AUROC P-AUROC AUPRO@30% AUPRO@1%
CFM (CVPR 2024) 3.331 1957.77 95.4 99.2 97.1 45.5
CMDR-IAD 3.710 2797.65 97.3 99.6 97.6 46.5

CMDR-IAD的推理帧率为3.710 FPS,高于CFM的3.331 FPS(+0.379 FPS)。内存占用2797.65 MB高于CFM的1957.77 MB(+839.88 MB),但关键在于CMDR-IAD完全不使用Memory Bank------这意味着其内存占用不会随训练数据量增加而膨胀,而Memory Bank方法的内存会持续增长。

在所有性能指标上,CMDR-IAD均为最高:I-AUROC 97.3%(+1.9%)、P-AUROC 99.6%(+0.4%)、AUPRO@30% 97.6%(+0.5%)、AUPRO@1% 46.5%(+1.0%)。

聚氨酯数据集:3D-only验证

论文还在一个来自MOROSAI项目的真实聚氨酯切割数据集上验证了3D-only模式(该数据集仅有3D点云,无RGB图像):

指标 帧率 (FPS) 内存 (MB) I-AUROC P-AUROC
CMDR-IAD (3D-only) 24.63 465.68 92.6% 92.5%

3D-only模式的推理速度达到24.63 FPS,内存仅465.68 MB,说明框架在单模态场景下依然保持良好的性能和效率。

四、消融实验:映射和重建各贡献多少?

---------------------------------------------------------------------------------------------------------------------------------

跨模态映射 vs 双分支重建

下表对比了单独使用重建或映射、以及两者结合的效果:

配置 I-AUROC P-AUROC AUPRO@30% AUPRO@1%
仅双分支重建 95.0 98.6 95.2 41.0
仅跨模态映射 95.4 99.4 97.4 46.0
CMDR-IAD(两者结合) 97.3 99.6 97.6 46.5

单独使用任一组件已经能获得较强的性能(I-AUROC均在95%以上),但两者结合后I-AUROC从95.0%/95.4%提升到97.3%(+2.3%/+1.9%)。值得注意的是,跨模态映射单独使用时在像素级定位指标上表现更突出(AUPRO@30% 97.4% vs 重建的95.2%,差距+2.2%),说明映射组件对精确定位的贡献更大。而两者结合后,I-AUROC的提升幅度最为显著,说明重建组件主要贡献于图像级检测的准确性。

融合策略消融

下表对比了7种不同的融合策略:

融合变体 I-AUROC P-AUROC AUPRO@30% AUPRO@1%
Case 1: 门控映射融合 96.7 99.5 97.4 46.3
Case 2: 纯乘法融合 97.1 99.5 97.6 46.4
Case 3: 软自适应融合 96.7 99.2 96.8 45.0
Case 4: Softmax映射+门控重建 96.6 99.5 97.4 46.1
Case 5: 双门控融合 97.0 99.6 97.7 46.5
Case 6: 均匀平均 95.0 98.7 95.7 42.5
CMDR-IAD(Reliability-Gated + Confidence-Weighted) 97.3 99.6 97.6 46.5

这组消融有几个清晰的结论:

  1. 均匀平均(Case 6)是最差的选择:I-AUROC仅95.0%,比CMDR-IAD低2.3%,AUPRO@1%仅42.5%(-4.0%),说明简单平均无法处理不同模态信号的可靠性差异。

  2. 无可靠性门控的软融合(Case 3)也表现不佳:AUPRO@30%仅96.8%,比CMDR-IAD低0.8%,说明不加门控的自适应权重容易被噪声模态误导。

  3. 包含可靠性门控的变体(Cases 1, 4, 5)一致性更好:都在96.6%--97.0% I-AUROC范围内,验证了可靠性门控机制的有效性。

  4. CMDR-IAD的融合方案在综合指标上最优,虽然Case 5在AUPRO@30%上略高0.1%,但CMDR-IAD在I-AUROC上高出0.3%,整体表现最均衡。

五、总结与思考

CMDR-IAD用跨模态映射+双分支重建替代Memory Bank,在MVTec 3D-AD上以97.3% I-AUROC和97.6% AUPRO@30%达到当前最优,推理速度3.710 FPS。

消融实验中有两个值得注意的发现:

  • 一是跨模态映射单独使用时AUPRO@30%已达97.4%,接近完整模型的97.6%,说明显式建模2D-3D对应关系对像素级定位贡献很大
  • 二是融合策略的设计带来了2.3%的I-AUROC提升(均匀平均 vs 可靠性门控),在3D传感器数据存在噪声和缺失的工业场景中,这种区分可靠区域与不可靠区域的机制是必要的。

内存方面,CMDR-IAD的2797.65 MB并不算低,但它是固定的------不随训练数据量增长,这是相对Memory Bank方法在产线部署时的实际优势。

局限性在于:框架依赖对齐的RGB-3D数据,2D-only设置下I-AUROC为87.5%(低于3D-ADNAS的92.0%),优势集中体现在多模态协同上

相关推荐
guslegend2 小时前
4月11日(Codex使用)
人工智能·大模型
V搜xhliang02462 小时前
超声心动图影像组学对肥厚型心肌病心脏重构的预测价值
人工智能·重构·机器人
杜子不疼.2 小时前
浏览器秒连服务器!WebSSH 实战体验,远程运维再也不折腾
运维·服务器·人工智能
Matlab光学2 小时前
Matlab 复现:分数阶&整数阶OAM 变换
算法·matlab·拓扑学
一江寒逸2 小时前
【30天做一个生产级RAG知识库系统】第5篇:Prompt工程与大模型调用封装,解决幻觉问题
人工智能·prompt
天渺工作室2 小时前
给AI装上「丁真语录」skill,vibecoding也能加点笑料
人工智能·ai编程
学亮编程手记2 小时前
一台服务器能支持的A800或H800 GPU最大数量分析
运维·服务器·人工智能
大灰狼来喽2 小时前
McPorter 实战:一键管理 OpenClaw 的 MCP 服务器
运维·服务器·人工智能·aigc·ai编程
deephub2 小时前
向量相似性搜索详解:Flat Index、IVF 与 HNSW
人工智能·python·机器学习·embedding·向量检索