cnulab / RealNet

Offical implementation of "RealNet: A Feature Selection Network with Realistic Synthetic Anomaly for Anomaly Detection (CVPR 2024)"
MIT License
143 stars 5 forks source link

mask #9

Open s111666 opened 2 months ago

s111666 commented 2 months ago

生成的异常图像的mask是如何得到的,在sample.py并未看到M

cnulab commented 2 months ago

您好! 合成异常图像的Mask在训练过程中通过图像混合任务得到,在datasets/realnet_dataset.py中实现。

s111666 commented 2 months ago

我想利用该diffusion model来合成一定数量的异常数据和对应的mask,用来微调我的model,该如何操作?非常感谢您的回复!

cnulab commented 2 months ago

您好!

  1. 首先你应该修改datasets/sdas_dataset.py文件以保证你的私有数据集能够被正确加载。
  2. 修改experiments/xxx中的diffusion.yaml和classifier.yaml以对应你的数据集,其中class_number对应数据集的样本类别个数。
  3. 运行train_diffusion.py和train_classifier.py以训练扩散模型和引导分类器(引导分类器可选)。
  4. 修改experiments/xxx/sample.yaml,并运行sample.py进行采样。
  5. 在训练过程中生成Mask,你可能需要修改datasets/realnet_dataset.py(异常图像和Mask不是同时生成的)。

本文适用于你没有真实的异常图像和对应掩码的情况下,如果你有少量的真实异常图像和掩码,仅想对异常样本数量进行扩充,可以参考Teng Hu等人Yuxuan Duan等人的工作。

crs-syr commented 2 weeks ago

您好!

  1. 首先你应该修改datasets/sdas_dataset.py文件以保证你的私有数据集能够被正确加载。
  2. 修改experiments/xxx中的diffusion.yaml和classifier.yaml以对应你的数据集,其中class_number对应数据集的样本类别个数。
  3. 运行train_diffusion.py和train_classifier.py以训练扩散模型和引导分类器(引导分类器可选)。
  4. 修改experiments/xxx/sample.yaml,并运行sample.py进行采样。
  5. 在训练过程中生成Mask,你可能需要修改datasets/realnet_dataset.py(异常图像和Mask不是同时生成的)。

本文适用于你没有真实的异常图像和对应掩码的情况下,如果你有少量的真实异常图像和掩码,仅想对异常样本数量进行扩充,可以参考Teng Hu等人Yuxuan Duan等人的工作。 您好,在5.中,是需要在sample.py里面调用datasets/realnet_dataset.py的函数么