anomalydiffusion
基于扩散模型的少样本工业异常图像生成与检测方案,入选AAAI 2024
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于扩散模型的少样本工业异常图像生成与检测方案,入选AAAI 2024
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下你是工厂质检线的算法工程师。流水线每天产出数以万计的工业零件,你需要在毫秒级别内判断每个零件是否有裂纹、凹陷或表面缺陷。传统方案依赖深度学习模型,然而真正的难题不在于算法,而在于数据:正常零件图片一抓一大把,但异常零件——比如那道刚好 2 毫米的划痕——在真实生产中极为罕见,你可能花了三个月才收集到 5 张。
这就是工业缺陷检测领域的核心矛盾:正常样本过剩,异常样本稀缺。
上海交通大学与腾讯优图实验室联合研发的 AnomalyDiffusion,正是为解决这一痛点而生。该项目入选 AAAI 2024,探索如何用扩散模型(Diffusion Model)从仅有的几张正常样本出发,合成逼真的异常图像,从而打破异常数据匮乏的困局。
工业视觉异常检测(Anomaly Detection)传统上依赖"正常样本建模"思路:用大量正常图片训练模型,让它学会"正常长什么样",然后把偏离这个分布的输入判定为异常。这类方法(如 SPADE、PaDiM、STPM)的问题在于:无法直接生成异常区域的可视化解释,工程师只能得到一个异常分数,看不到具体是哪里出了问题。
另一类思路是直接生成异常图像。早期方法(如 DAE、AnoGAN)生成质量有限,细节模糊,难以用于训练更精准的检测器。
2020 年以来,扩散概率模型(DDPM/Diffusion Model)在图像生成领域大放异彩,其核心优势在于生成图像的细节保真度极高,远超前代 GAN / VAE 方法。AnomalyDiffusion 的核心洞察是:既然扩散模型擅长生成高质量图像,就可以让它专门学习"如何生成真实可信的异常"——不是随机噪声,而是带着特定缺陷模式的逼真异常图。
AnomalyDiffusion 将整个流程拆解为 5 个精心设计的步骤:
第一步:双模型协同训练。 项目同时训练两个扩散模型——异常生成模型(Anomaly Generation Model)和遮罩生成模型(Mask Generation Model)。前者负责在正常图像上"叠加"真实的缺陷纹理,后者负责预测缺陷的空间分布(mask)。
第二步:生成缺陷遮罩。 用训练好的 mask 生成模型,输入正常图像,输出缺陷区域的空间概率图。这模拟了真实工业场景中异常可能出现的各种位置和形状。
第三步:异常图像-遮罩对生成。 将 mask 作为条件输入异常生成模型,让模型在指定区域生成与正常背景一致的缺陷图像,同时在遮罩区域叠加真实的异常纹理(划痕、凹陷、污渍等)。
第四步:用合成数据训练检测模型。 有了大量配对的异常图像 + 遮罩数据,就可以训练一个端到端的异常检测/定位模型。这步复用了 ResNet、Wide ResNet 等标准骨干网络。
第五步:推理与评估。 在 MVTec AD 数据集(业界标准工业异常检测基准)上评估,指标包括 Image-level AUPRO 和 Pixel-level AUPRO。
整个流程通过 environment.yaml 配置文件一键创建 conda 环境,训练入口为 main.py 和各 train-*.py 脚本,推理入口为 test-*.py。
项目基于以下核心技术构建:
作者已在项目中提供了完整的 Checkpoint 下载链接(Google Drive),包括异常生成模型、遮罩生成模型、异常定位模型和分类模型的预训练权重,用户无需从零训练即可直接复现论文结果。
作为学术研究成果,AnomalyDiffusion 的代码直接面向研究复现优化,而非生产级部署。典型挑战包括:
环境配置复杂:项目指定 Python 3.8 + CUDA 11.3 + conda 环境,依赖列表较长(40+ pip 包),包含 taming-transformers、basicsr 等较难编译的库。使用 conda env create -f environment.yaml 可自动解决大部分依赖,但编译型扩展包在国内网络环境下下载耗时长。
GPU 强制需求:LDM 预训练模型(约 5.5GB)需要足够显存加载,官方推荐 RTX 3090 或更高。CPU 训练/推理不可行。
外部资源依赖:LDM 预训练权重需从外部(ommer-lab.com)下载,Google Drive 链接在国内访问不稳定;MVTec AD 数据集(约 3.6GB)需另行下载。
无容器化支持:没有提供 Dockerfile 或 docker-compose.yml,无法实现一键部署或跨平台复现。对于希望快速试用但缺乏对应硬件的研究者不太友好。
好消息是项目提供了 Gradio 界面,只需在本地环境就绪后运行 Gradio 相关的推理脚本即可通过浏览器可视化交互。
AnomalyDiffusion 的核心贡献不仅是技术本身,更是一种范式转变的信号:用生成模型解决数据稀缺问题在工业检测、医学影像分析、监控视频异常检测等领域具有广泛迁移价值。
论文在 MVTec AD 上验证了方法的有效性,尤其是 few-shot 场景(仅 1-4 张正常样本)下的异常生成和检测性能超越了同期方法。这为那些异常样本获取成本极高的垂直领域提供了新思路。
亮点:
局限: