一种无需训练缺陷数据生成算法--O2MAG

一、前言

数据不足就自己造,本篇讨论一种无需训练缺陷数据生成算法--O2MAG,全称是 One reference anomalous image to More realistic anomaly Generation。它的出发点很直接:只给定一张参考异常图像及其掩码,再给定一张正常图像与目标异常区域,就生成更多与真实分布更接近的异常样本。与传统需要训练或微调生成器的方法不同,O2MAG 完全不额外训练 Stable Diffusion,而是在推理阶段通过注意力控制完成异常迁移。论文摘要和方法部分都强调,这是一个few-shot + training-free 的异常合成框架。

二、代码设置

打开 edit_anomaly_moregpu_fewshot.py,找到main函数,需要满足以下这些参数

根目录下新建文件夹 mvtec_data ,存放 mvtec 数据集,从网上下载好

在这里需要先确定要生成的缺陷数据是哪一个物体类别,假设是 bottle ,还有缺陷类型是broken_small, 那么在 ./anomalydiffusion/generated_mask 下 新建 bottle 文件夹,bottle文件夹内再新建broken_small 文件夹,存放 stablediffusin 生成的二值掩码图,也可以自己制作,用于确定要生成的缺陷大小位置,24位jpg格式,分辨率512*512,命名从0.jpg、1.jpg、...

根目录下新建 results_final_fewshot_toothbrush , 程序运行后将在该目录下新建路径 bottle/broken_small 文件夹,存放程序生成好的缺陷图片

根目录新建文件夹 data_agument ,在该目录下新建 bottle 文件夹,存放正常无缺陷的图片,512*512分辨率 24位png格式

anomaly_name文件夹下 新建 name-mvtec-my.txt ,这里面每一行是 物体类别+缺陷类别的形式,例如我这里是 前面的 bottle+broken_small ,就在txt 第一行写上

这里直接根目录新建文件夹 mvtec_embed_bank

这里是 单个显卡就只有0了

直接下载官方开源的代码,代码用到了 Stable Diffusion v1.5 完整权重文件,到 modelscope搜索 stable-diffusion-v1.5 下载得到 stable-diffusion-v1.5-no-safetensor , 文件较大,10几个G

在项目根目录新建 文件夹 stable-diffusion-v1-5 保存进去

三、真实缺陷文件和掩码图存放位置

前面讲到 要给定参考异常图像及其掩码, 这些是放在 mvtec_data 里的,例如我是 改动了mvtec_data 里的 bottle 类别文件夹,

ground_truth 里的 broken_small 存放的是我自己的真实缺陷图片的掩码图,512*512 8位png,命名也要参照mvtec形式

test 里的 broken_small 存放的是我自己的真实缺陷图片512*512 24位png,命名也要参照mvtec形式

相关推荐
Psycho_MrZhang1 小时前
多 Agent 研究系统的架构与实践
人工智能·架构
skywalk81631 小时前
在FreeBSD系统的linux仿真环境下安装和使用kiro 这个亚马逊的AI agent
linux·人工智能·freebsd·kiro
悟天特斯1 小时前
AI节能的“精准之道“:从粗放省电到分区分时的精细化调控
人工智能·物联网
蓝鲨硬科技1 小时前
向新而生,与AI俱进——2026 产业独角兽评选启动
人工智能
鲲鹏ai2 小时前
盈启鲲鹏数字人招商政策
大数据·人工智能·python
时空节拍AI数字人2 小时前
数字文旅补贴来了,景区申报要注意什么?
大数据·人工智能·百度·3d·ai·架构·aigc
Martina_03212 小时前
AI生成3D模型导入后只剩一个大网格?用6步完成微缩场景拆分与优化
人工智能·游戏·数学建模·3d·ai·自然语言处理·aigc
智圣新创012 小时前
教育新基建下高校数据治理决策转型:智圣新创决策中台全域建设效能提升路径
大数据·人工智能
Tokenge2 小时前
什么是CodeBuddy ,和WorkBuddy 有什么区别!
人工智能