CASIA-IVA-Lab / AnomalyGPT

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

关于复现结果 #23

Closed SSRheart closed 11 months ago

SSRheart commented 1 year ago

请问直接运行train_mvtec.sh文件是否能直接得到mvtec数据集unsupervised下的结果,我的复现出来的acc才84

William9Baker commented 1 year ago

您好,请问下您在复现时候,数据集是如何放置的呀?我理解的是MVTec-AD dataset和pre-training data of PandaGPT这两个数据集应该都要下载,那么如何放置呢?我是下面这样放置的,但是训练时候貌似不太对,望指教!谢谢! data |---pandagpt4_visual_instruction_data.json |---images |-----|----mvtec_anomaly_detection |----------|-- bottle |----------|-----|---- ground_truth |----------|-----|----- test |----------|-----|----- train |-----|----images |-----|-----|----- 000000124934.jpg |-----|-----|----- 000000257414.jpg

SSRheart commented 1 year ago

您好,请问下您在复现时候,数据集是如何放置的呀?我理解的是MVTec-AD dataset和pre-training data of PandaGPT这两个数据集应该都要下载,那么如何放置呢?我是下面这样放置的,但是训练时候貌似不太对,望指教!谢谢! data |---pandagpt4_visual_instruction_data.json |---images |-----|----mvtec_anomaly_detection |----------|-- bottle |----------|-----|---- ground_truth |----------|-----|----- test |----------|-----|----- train |-----|----images |-----|-----|----- 000000124934.jpg |-----|-----|----- 000000257414.jpg

mvtec的数据集应该在data/里吧

William9Baker commented 1 year ago

您好,请问下您在复现时候,数据集是如何放置的呀?我理解的是MVTec-AD dataset和pre-training data of PandaGPT这两个数据集应该都要下载,那么如何放置呢?我是下面这样放置的,但是训练时候貌似不太对,望指教!谢谢! data |---pandagpt4_visual_instruction_data.json |---images |-----|----mvtec_anomaly_detection |----------|-- bottle |----------|-----|---- ground_truth |----------|-----|----- test |----------|-----|----- train |-----|----images |-----|-----|----- 000000124934.jpg |-----|-----|----- 000000257414.jpg

mvtec的数据集应该在data/里吧

那意思是MVTec-AD dataset和pre-training data of PandaGPT这两个数据集都需要用到吗?

FantasticGNU commented 11 months ago

请问直接运行train_mvtec.sh文件是否能直接得到mvtec数据集unsupervised下的结果,我的复现出来的acc才84

近期代码更新修复了一些 BUG,请合并一下最新的代码。我这边重新训练了一版试了一下,和论文所述精度基本符合。 测试时有几个问题需要注意: test_mvtec.sh 默认是使用在 VisA 数据集中训练的参数进行 few-shot 测试,如果要测试 unsupervised 的性能,需要修改为在 mvtec 数据集中训练得到的参数,并将 FEW_SHOT 参数设置为 False.

FantasticGNU commented 11 months ago

每次训练的结果有一些波动,您可以尝试把学习率降低一半,把 epoch 变为原来的两倍,从而获得更稳定的实验结果