CASIA-IVA-Lab / AnomalyGPT

[AAAI 2024 Oral] AnomalyGPT: Detecting Industrial Anomalies Using Large Vision-Language Models
https://anomalygpt.github.io
Other
773 stars 94 forks source link

训练时用的mask #59

Closed hxx-who closed 8 months ago

hxx-who commented 8 months ago

您好! 我看到训练代码里MVTecDataset()里返回的mask是'label_mode':'logistic-intensity',请问不用binary的mask进行训练吗?如何用'logistic-intensity'的mask进行训练?这部分代码在哪里可以找到? 可能我提的问题比较"新手",望您海涵,谢谢!

hxx-who commented 8 months ago

我在openllama.py中看到gt[gt > 0.3], gt[gt <= 0.3] = 1, 0。是用0.3作为阈值卡出一个mask吗?我想请教一下为什么不直接用'label_mode':'binary'呢?两者有什么区别吗?感谢!

hxx-who commented 8 months ago

还有一个问题想请教,请问合成异常所借用的图片是和被合成的图片属于同一个物体类别吗?

FantasticGNU commented 8 months ago

您好! 我看到训练代码里MVTecDataset()里返回的mask是'label_mode':'logistic-intensity',请问不用binary的mask进行训练吗?如何用'logistic-intensity'的mask进行训练?这部分代码在哪里可以找到? 可能我提的问题比较"新手",望您海涵,谢谢!

这个部分使用的是论文《Natural Synthetic Anomalies for Self-Supervised Anomaly Detection and Localization》中提到的基于泊松图像编辑的异常模拟技术,binary 和 logistic-intensity 的区别可以在这篇论文里面找到

FantasticGNU commented 8 months ago

我在openllama.py中看到gt[gt > 0.3], gt[gt <= 0.3] = 1, 0。是用0.3作为阈值卡出一个mask吗?我想请教一下为什么不直接用'label_mode':'binary'呢?两者有什么区别吗?感谢!

对的,logistic 设置中会额外计算剪切拼接后的图像与原图像的差异,我们观察了一下差异值的显著性,在 >0.3 时,模拟出来的异常基本就是肉眼可见了,所以我们用 0.3 卡了一个模拟异常的阈值

FantasticGNU commented 8 months ago

还有一个问题想请教,请问合成异常所借用的图片是和被合成的图片属于同一个物体类别吗?

不一定,模拟时的拼接源图像和目标图像是从整个数据集中随机选择的