cnulab / RealNet

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

你们的开源代码质量很高,值得学习!我想请问,samples文件下的json文件的生成脚本能否上传一下呢? #8

Open EWAN9709 opened 5 months ago

cnulab commented 5 months ago

感谢您对我们工作的支持! 以下的脚本演示了如何为MVTec数据集中的bottle类生成对应的json文件,其他数据集类似,以供您参考。 create_sample_json.zip

EWAN9709 commented 5 months ago

谢谢大佬!

EWAN9709 commented 5 months ago

image 作者大大,我想请教一下我在训练使用train_realnet.py训练自己的脚本时,报以上错误,能否帮忙看一下呢?

cnulab commented 5 months ago

你好,这是由于你没有为你的自定义数据集设置对应的前景分割方案,一个简单的方法是去除前景分割:

  1. 注释掉 datasets/realnet_dataset.py 中的239行 target_foreground_mask = self.generate_target_foreground_mask(img,dataset, subclass)
  2. 修改246行,直接让 mask = perlin_noise_mask 去掉前景分割可能会带来一定的性能损失
EWAN9709 commented 5 months ago

谢谢大佬,能不能帮我再看看这个错误呢? image

cnulab commented 5 months ago

你好,由于自定义数据集没有生成对应的异常图像,推荐你使用DTD数据集进行异常合成:

  1. 下载DTD数据集并按照data/README.md中的说明将数据集放置在正确的位置。
  2. 修改配置文件,改为使用DTD数据集。例如,注释掉 experiments/MVTec-AD/realnet.yaml 中的23\~25行,使用28\~30行。
EWAN9709 commented 5 months ago

谢谢大佬的指点,在私有数据集指标也很高,再次感谢你们贡献了如此优秀的工作,向你们学习!

EWAN9709 commented 5 months ago

请问一下为什么该算法有些很明显的缺陷怎么检测不出或者检测不全呢?有改善或者调参的相关建议吗? image image image image image ![Uploading image.png…]()

cnulab commented 5 months ago

改善的建议不好说,需要具体问题具体分析。你的缺陷区域占输入图像的多大面积,训练样本中是否包含类似的缺陷区域可能误导网络的训练。该算法依赖于合成异常进行网络训练,如果你有大量的缺陷样本可以直接使用有监督的训练,这是提升性能的最快方式。此外,如果你的数据集中都是小面积的缺陷区域,可以尝试调整一下网络结构,修改experiments/MVTec-AD/realnet.yaml中的structure.

EWAN9709 commented 5 months ago

好的,谢谢,我去试试