当前位置: 首页 > news >正文

【2023工业图像异常检测代码复现】DDAD: 基于条件去噪扩散模型的异常检测方法

Paper:Anomaly Detection with Conditioned Denoising Diffusion Models
Code:https://github.com/arimousa/DDAD?tab=readme-ov-file

文献解读:【2023工业图像异常检测文献】DDAD: 基于条件去噪扩散模型的异常检测方法

1、Introduction

DDAD方法的核心在于 利用条件去噪过程来生成高质量的重构图像,这些图像在结构和模式上与输入图像非常相似,但去除了异常 。这种方法的创新之处在于它不仅能够检测异常,还能够精确地定位异常区域。通过结合像素级和特征级比较,DDAD能够捕捉到不同类型的异常,包括那些在像素层面上不易察觉的异常,如凹陷或凸起。此外, 通过域适应技术,DDAD能够调整预训练的特征提取器,使其更好地适应特定的异常检测任务,同时避免在适应过程中丢失预训练模型的泛化能力 。这种结合了生成模型、条件去噪和域适应的方法,使得DDAD在异常检测任务中表现出色。

在这里插入图片描述

2、Framework

项目结构与文件说明:

  • images/: 存储图像文件的目录,可能用于可视化或示例。
  • config.yaml: 配置文件,定义了模型训练和评估的各种参数。
  • dataset.py: 数据集加载和处理的相关代码。
  • ddad.py: 核心模块,实现了DDAD框架的主要逻辑。
  • feature_extractor.py: 特征提取器的定义和实现。
  • loss.py: 定义了损失函数,用于训练过程中的误差计算。
  • main.py: 项目入口文件,定义了如何运行整个程序。
  • metrics.py: 包含了评估指标的实现,用于量化模型性能。
  • reconstruction.py: 重建模块,可能包括生成图像的代码。
  • requirements.txt: 列出了项目运行所需要的Python库及其版本要求。
  • resnet.py: 定义了ResNet模型的实现,可能用于作为特征提取器的一部分。
  • train.py: 用于训练模型的脚本,通常会定义训练流程、参数设置等。
  • unet.py: U-Net模型的实现,用于图像重建。
  • visualize.py: 用于生成模型训练、测试结果可视化的脚本。

3、Environments

PyTorch 2.0.0
Python 3.8(ubuntu20.04)
Cuda 11.8
(扩散模型对硬件要求较高,建议使用4090以上显卡)

4、Datasets

数据集使用的是MVTecAD (MVTEC ANOMALY DETECTION DATASET)

数据来源https://www.mvtec.com/company/research/datasets/mvtec-ad,将其放在某个位置datapath。确保其遵循以下数据树结构:

mvtec
|-- bottle
|-----|----- ground_truth
|-----|----- test
|-----|--------|------ good
|-----|--------|------ broken_large
|-----|--------|------ ...
|-----|----- train
|-----|--------|------ good
|-- cable
|-- ...

总共有15个子数据集:bottle(瓶子),cable(电缆),capsule(胶囊),carpet(地毯),grid(网格),hazelnut(危险螺母), leather(皮革),metal_nut(金属螺母),pill(药丸 ),screw(螺丝 ),tile(瓷砖),toothbrush(牙刷 ),transistor(变压器),wood(木材),zipper(拉链)。

5、Requirements

对 requirements.txt 文件稍作修改,修改好的文件如下:

在这里插入图片描述

安装依赖,执行:pip install -r requirements.txt

所需的依赖没有完全提及。。。运行时,出现报错需要安装指定包,pip install 包名 ,就可解决了。。。

6、Train and Evaluation of the Model

1)从 Github 中下载 Checkpoints 模型

2)训练降噪 UNet 网络,运行:python main.py --train True

3)修改 config.yaml 文件中的设置,以在不同类别上训练模型

在这里插入图片描述

4)微调特征提取器,运行命令:python main.py --domain_adaptation True

5)评估和测试模型,运行:python main.py --detection True

7、Results

没运行完。。。

在这里插入图片描述


http://www.mrgr.cn/news/66685.html

相关文章:

  • Memento 备忘录模式
  • AI 容器建设项目正式启动!龙蜥社区加速 AI 原生 OS 技术创新
  • 算法:图的相关算法
  • dns服务部署
  • 数据库基础(2) . 安装MySQL
  • 风宇博客全站HTTPS配置
  • [MySQL]DCL语句
  • APP开发者如何选择合适的聚合平台?
  • 论文写作总结
  • 【FL0016】基于SpringBoot和微信小程序的超市售货管理平台
  • 基于51单片机的步进电机定时控制proteus仿真
  • 管家婆财贸ERP BB018.出库类单据批量生单
  • 如何使用java雪花算法在分布式环境中生成唯一ID?
  • 东胜物流软件 AttributeAdapter.aspx SQL 注入漏洞复现
  • PN-850光伏功率预测系统|新能源场站发电功率预测|光功率预测系统|光伏发电功率预测系统的组成方案|风电/光伏功率预测系统
  • FastDDS服务发现之PDP和EDP的收发
  • 性能测试设计的内容和方法(上)
  • 【知识点总结】微信登录流程与Java Spring 实现
  • 【大模型LLM面试合集】大语言模型架构_llama3
  • ONLYOFFICE 8.2深度体验:高效协作与卓越性能的完美融合
  • idea 配置自动导入设置
  • Mysql,使用Mysqlbinlog,解析binlog日志
  • Docker学习—Docker的安装与使用
  • css 文字一行没有放满不进行换行
  • 【JAVA高级编程-JavaWeb】作业5
  • 【GESP】C++一级真题练习(202306)luogu-B3839,累计相加