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

关于SFTPM图像异常分割算法 #3844

Open
Hold-on-li opened this issue Nov 8, 2024 · 8 comments
Open

关于SFTPM图像异常分割算法 #3844

Hold-on-li opened this issue Nov 8, 2024 · 8 comments
Assignees

Comments

@Hold-on-li
Copy link

问题描述 Please describe your issue

请问一下,SFTPM图像异常分割算法支持C++推理部署吗?

@liuhongen1234567
Copy link
Collaborator

liuhongen1234567 commented Nov 8, 2024

您好,应该是支持的,可以参考 PaddleX 文档 https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/pipeline_usage/tutorials/cv_pipelines/image_anomaly_detection.md 3. 开发集成/部署-服务化部署部分

@Kaze816
Copy link

Kaze816 commented Nov 13, 2024

配置文件中的tain.txt 中是什么样式呀? @liuhongen1234567 这不是只需要正样本么,难道也需要生成些0值的标签图像?

train_dataset:
type: Dataset
num_classes: 1
dataset_root: /mv_dataset/grid # You need to specify a specific category root in mvtec_ad dataset
train_path: mv_dataset/grid/train.txt
...

@liuhongen1234567
Copy link
Collaborator

liuhongen1234567 commented Nov 15, 2024

您好,可以从这个页面 https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/docs/module_usage/tutorials/cv_modules/anomaly_detection.md 下载 mvtec_examples 数据集看一下

@liuhongen1234567
Copy link
Collaborator

image 可以参考这个介绍,对SFTPM算法的描述已经比较清楚了,训练过程中的样本应该是没有异常的样本。train.txt 的标签如下: image

@Kaze816
Copy link

Kaze816 commented Nov 15, 2024

原来不明白的是 train.txt 里面的内容,正常的监督分割训练,此处应该是每行一组 图像 掩模 的路径,可这正样本没有掩模呀?
您这可算解决了我的一大疑惑,谢谢! @liuhongen1234567

@Kaze816
Copy link

Kaze816 commented Nov 15, 2024

另外一个问题,EfficientAD好像不用验证集,训练一定轮数也就可以用了。
训练SFTPM 验证集可以少量加一点点,满足程序框架运行需要,不要最佳,只留最后,可行吗? SFTPM里面如何保留最后一次训练的权重?

@liuhongen1234567
Copy link
Collaborator

您好,这个问题我们也没有尝试过,您那边可以尝试一下试试。paddleX的SFTPM是按照迭代训练的,iter_{您设置的最大迭代次数就是最后一次训练的权重}
image

@Kaze816
Copy link

Kaze816 commented Nov 15, 2024

我尝试直接在PaddleSeg工程下对样图mvtec_examples进行了训练,使用tools/predict.py查看了输出结果图,也大致正常,但是导出为onnx格式再运行时,结果就不行了: tools/export.py先导出PD格式,再用paddle2onnx转,网络输出是32位整型,结果全0值;tools/model/export_onnx.py可以直接导出onnx,网络输出为32位浮点,结果大致为原图的重构。
不明白为何会这样,先前使用pp_liteseg时,如此这般是OK的呀?
@liuhongen1234567
grid_thread_000

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