yunxiangfu2001/DreamDA · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
DreamDA
这是 DreamDA: Generative Data Augmentation with Diffusion Models 的官方仓库。我们将很快发布完整代码。
简介
DreamDA 生成合成图像以扩展数据集,并提出一种自训练方法,以有效地从合成图像中学习。为了生成符合目标训练数据分布的多样化合成图像,目标训练数据集中的每张图像都被视为一个种子,并通过以下方式生成种子图像的多样化变体:
- 使用预训练的扩散模型将种子图像的扩散潜变量 $`x_0`$ 反演为 $`x_T`$
- 在由反演后的扩散潜变量初始化的反向扩散过程的每一步中,向扩散模型的 U-Net 瓶颈特征添加高斯噪声

依赖项
可以使用 conda 和我们的 environment.yml 文件安装依赖项:
conda env create -f environment.yml
请注意,需要配置 accelerate
accelerate config
数据准备
可以通过以下链接下载数据集:
请注意,您可以使用此 脚本 提取 ImageNet。
生成合成图像
我们利用 CycleDiffusion 作为我们的反演流程。例如,要为 Oxford-IIIT Pets 生成合成图像,请运行
cd latent_perturbation
bash generate_synthetic_data.sh
使用合成数据和真实数据进行训练
在论文中,我们使用合成数据和原始真实数据的组合集来训练我们的模型。在训练之前,通过相应地更新 cp_real.py 中的路径来整理组合训练数据集,并运行:
python cp_real.py
我们提供了使用组合数据集进行训练的脚本。例如,train_noAMST.sh 在不使用 AMST 的情况下训练 ResNet50。这假设合成图像具有与种子图像相同的标签。
bash train_noAMST.sh
我们将很快发布 AMST 的脚本。
引用
如果您发现本项目对您的研究有用,请考虑引用:
@article{fu2024dreamda,
title={DreamDA: Generative Data Augmentation with Diffusion Models},
author={Fu, Yunxiang and Chen, Chaoqi and Qiao, Yu and Yu, Yizhou},
journal={arXiv preprint arXiv:2403.12803},
year={2024}
}
致谢
我们的实现主要基于 pytorch-image-models 和 CycleDiffusion。我们衷心感谢作者们的出色工作。