Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

问题 #7

Open
git-whitepig opened this issue Aug 8, 2024 · 8 comments
Open

问题 #7

git-whitepig opened this issue Aug 8, 2024 · 8 comments

Comments

@git-whitepig
Copy link

作者你好!我目前也在做few-shot AD相关的研究,请问核心代码是否已完全开源?我在你开源的代码基础上补全了AUROC的计算,并成功运行了代码,部分类别的结果相差不大,但还有一部分类别的结果不尽人意,如MVTec AD数据集toothbrush类IMG-AUROC未超过60%,zipper类也是如此,这与论文中的结果相去甚远。请问是有部分代码未公开吗?还请作者开源这部分代码,谢谢!
zipper:
image
transistor:
image
toothbrush:
image
leather:
image

@wgp1113
Copy link

wgp1113 commented Sep 5, 2024

代码我还没细看,目前没跑通,请问你是如何修改的?改了哪些地方?这是FastRecon对应的代码吗?怎么会有STPM?

@git-whitepig
Copy link
Author

代码我还没细看,目前没跑通,请问你是如何修改的?改了哪些地方?这是FastRecon对应的代码吗?怎么会有STPM?

参考文档下面的PatchCore, 并不难,作者可能未公开部分代码,目前部分类完全无法复现结果。代码核心部分与论文描述一致,可能存在额外的trick, 或者...
若发现结果接近,几乎能够复现的方法,欢迎交流讨论!

@wgp1113
Copy link

wgp1113 commented Sep 6, 2024

我还在看代码,代码里的特征与patchcore用的特征并不相同,官方的patchcore是把512和1024维特征融合成了1024维,该代码是拼接成了1536维特征,而且代码为啥会用STPM,这个是PatchCore_anomaly_detection的作者另一个代码库里东西,(Student-Teacher Feature Pyramid Matching for Anomaly Detection),此外readme文件里也没设置load_size,image_size,原始的256,224默认居然都设置成[7200, 2400],怪不得一开始跑那么慢

@git-whitepig
Copy link
Author

我还在看代码,代码里的特征与patchcore用的特征并不相同,官方的patchcore是把512和1024维特征融合成了1024维,该代码是拼接成了1536维特征,而且代码为啥会用STPM,这个是PatchCore_anomaly_detection的作者另一个代码库里东西,(Student-Teacher Feature Pyramid Matching for Anomaly Detection),此外readme文件里也没设置load_size,image_size,原始的256,224默认居然都设置成[7200, 2400],怪不得一开始跑那么慢

暂不清楚作者的目的。经测试,通过设置随机种子能够固定实验结果,但很难找到较好的结果。从这个角度来说,结果的好坏很大程度上取决于支持样本的质量,目前正探索方法寻找高质量样本集。

@wgp1113
Copy link

wgp1113 commented Sep 9, 2024

我还在看代码,代码里的特征与patchcore用的特征并不相同,官方的patchcore是把512和1024维特征融合成了1024维,该代码是拼接成了1536维特征,而且代码为啥会用STPM,这个是PatchCore_anomaly_detection的作者另一个代码库里东西,(Student-Teacher Feature Pyramid Matching for Anomaly Detection),此外readme文件里也没设置load_size,image_size,原始的256,224默认居然都设置成[7200, 2400],怪不得一开始跑那么慢

暂不清楚作者的目的。经测试,通过设置随机种子能够固定实验结果,但很难找到较好的结果。从这个角度来说,结果的好坏很大程度上取决于支持样本的质量,目前正探索方法寻找高质量样本集。

我改了作者的代码,能跑了,但是效果非常差,我的参数设置是:
image size:[368,368]
coreset ratio:0.15,每幅图像会提取出(46 * 46) x 1536维, 2 shot提取的coreset大小就是 (2 * 46 * 46 * 0.15=634) x 1536
参考图像选取:训练阶段,固定随机种子,trainset选取前2张图像作为参考图像
λ:0.3

参考结果:
随机种子0,bottle:
2 shot,image-auroc: 1.000 pixel-auroc: 0.840
4 shot,image-auroc: 0.472 pixel-auroc: 0.651
8 shot,image-auroc: 0.298 pixel-auroc: 0.624

随机种子0,cable:
2 shot,image-auroc: 0.898 pixel-auroc: 0.859
4 shot,image-auroc: 0.823 pixel-auroc: 0.855
8 shot,image-auroc: 0.450 pixel-auroc: 0.588

我的设置不知道有没有错误,不知道您的参数是如何设置的

@git-whitepig
Copy link
Author

我还在看代码,代码里的特征与patchcore用的特征并不相同,官方的patchcore是把512和1024维特征融合成了1024维,该代码是拼接成了1536维特征,而且代码为啥会用STPM,这个是PatchCore_anomaly_detection的作者另一个代码库里东西,(Student-Teacher Feature Pyramid Matching for Anomaly Detection),此外readme文件里也没设置load_size,image_size,原始的256,224默认居然都设置成[7200, 2400],怪不得一开始跑那么慢

暂不清楚作者的目的。经测试,通过设置随机种子能够固定实验结果,但很难找到较好的结果。从这个角度来说,结果的好坏很大程度上取决于支持样本的质量,目前正探索方法寻找高质量样本集。

我改了作者的代码,能跑了,但是效果非常差,我的参数设置是: image size:[368,368] coreset ratio:0.15,每幅图像会提取出(46 * 46) x 1536维, 2 shot提取的coreset大小就是 (2 * 46 * 46 * 0.15=634) x 1536 参考图像选取:训练阶段,固定随机种子,trainset选取前2张图像作为参考图像 λ:0.3

参考结果: 随机种子0,bottle: 2 shot,image-auroc: 1.000 pixel-auroc: 0.840 4 shot,image-auroc: 0.472 pixel-auroc: 0.651 8 shot,image-auroc: 0.298 pixel-auroc: 0.624

随机种子0,cable: 2 shot,image-auroc: 0.898 pixel-auroc: 0.859 4 shot,image-auroc: 0.823 pixel-auroc: 0.855 8 shot,image-auroc: 0.450 pixel-auroc: 0.588

我的设置不知道有没有错误,不知道您的参数是如何设置的

参数设置与你的一致,经测试,样本质量决定了结果的上限,不同的超参数(主要为采样率和λ)同样影响最终结果。可尝试不同的随机种子和超参数实现更好的结果。

@luow23
Copy link

luow23 commented Nov 17, 2024

作者你好!我目前也在做few-shot AD相关的研究,请问核心代码是否已完全开源?我在你开源的代码基础上补全了AUROC的计算,并成功运行了代码,部分类别的结果相差不大,但还有一部分类别的结果不尽人意,如MVTec AD数据集toothbrush类IMG-AUROC未超过60%,zipper类也是如此,这与论文中的结果相去甚远。请问是有部分代码未公开吗?还请作者开源这部分代码,谢谢! zipper: image transistor: image toothbrush: image leather: image
您好,可以告诉我如何补全计算auroc的代码嘛?

@Harry-Bai
Copy link

大佬,请问作者的代码该如何修改才能跑通呀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants