zqhang / AnomalyCLIP

Official implementation for AnomalyCLIP (ICLR 2024)
MIT License
248 stars 25 forks source link

使用自己的数据集训练,似乎用的是test目录下图片? #44

Open SongJ123 opened 2 weeks ago

SongJ123 commented 2 weeks ago

尊敬的作者和各位大牛,我现在尝试使用自己的数据集来进行异常检测,参照MVTEC的格式,test目录下有good和dmg目录,train下只有good目录。修改mvtec.py生成我自己数据集的meta.json后,我发现meta.json确实是train/good/目录下的图片信息,但是训练的时候似乎用的是test目录下的图片数据,因为我修改了train/good目录下的图片,发现训练没有改变,但是把test目录下的图片修改了之后,训练就有了变化。请问是我哪里搞错了吗? 还有我想再请教一下,这个训练是否针对于文本提示与图像embedding对齐的训练,ViT就是用的CLIP模型?我目前在目标检测裁剪后的图片上,尝试做few shot anomaly detection,在test/good目录下放了五千多张图片,在test/dmg目录下放了几十张异常图片(带ground truth),得到的模型预测结果不太令人满意,请问是训练方法上的问题,还是图像数据不足亦或是我需要对图像数据做进一步预处理,简化场景?

SongJ123 commented 1 week ago

就是我只修改测试集下面图片的个数,训练集图片不变,再重新生成meta.json进行训练,训练时每个epoch里batch的数目会变,这和我想象的不太一样。。

SongJ123 commented 1 week ago

就是我只修改测试集下面图片的个数,训练集图片不变,再重新生成meta.json进行训练,训练时每个epoch里batch的数目会变,这和我想象的不太一样。。

zqhang commented 1 week ago

这是正常的,因为mvtec训练集没有异常样本,所以我们采用的测试集训练。你可以修改dataset类的mode,把mode设置成train就是用训练集训练了。

LJK12581 commented 1 week ago

亲爱的作者你好! 如果说换一种思路的话,如果我不修改代码,而是将某个数据集中的异常图像和掩码去除,只保留正常图像,这样的话您觉得它是否也能达到训练正常图像的目的呢?我确实是这样做的,训练的图片数目能和放入的图片数量对应上,就是不知道是否能达成这种目的。

SongJ123 commented 5 days ago

这是正常的,因为mvtec训练集没有异常样本,所以我们采用的测试集训练。你可以修改dataset类的mode,把mode设置成train就是用训练集训练了。

假如我的训练集有5000张正常样本,测试集有100张正常样本和100张异常样本,我训练的模型就是用了这全部的5200张样本,请问我理解的对嘛?还是我只用了测试集下的200张图片?

SongJ123 commented 4 days ago

默认的mode是test,也就是只用了test目录下的图片训练?

zqhang commented 4 days ago

是的

---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2024年09月14日 13:54 | | 收件人 | @.> | | 抄送至 | Qihang @.>@.> | | 主题 | Re: [zqhang/AnomalyCLIP] 使用自己的数据集训练,似乎用的是test目录下图片? (Issue #44) |

默认的mode是test,也就是只用了test目录下的图片训练?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>