HuCaoFighting / Swin-Unet

[ECCVW 2022] The codes for the work "Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation"
1.58k stars 298 forks source link

分割结果边缘呈现阶梯锯齿状 #70

Open peterant330 opened 1 year ago

peterant330 commented 1 year ago

It is a nice job! However I have some problem when training my own dataset.

我在用自己的数据集做心脏分割,没有使用预训练模型,网络结构基本采用默认参数没有任何调整,只是把输入的image size改成了448*448。但是分割结果的边缘呈现阶梯锯齿状而不是平滑的边缘,训练集和预测集都有这样的问题。

想请教作者是否也曾遇到过这样的问题?

Thanks

HuCaoFighting commented 1 year ago

对于pure transformer的model必须要使用pre-trained,不然的话效果会差很多。你输入图像尺寸改变的同时,可以参考swin transformer的high resolution的config。swin的最后的window size要和最后一层的尺寸保持一致,这样他可以实现最后的global attention。不想出现分割结果的边缘呈现阶梯锯齿状,得到比较平滑的边缘,可以增加conv等local operation这样可以增加局部细节,一般non-overlap的 patch划分是会出现边缘不够平滑的问题。

peterant330 commented 1 year ago

Thank you very much for your reply. It is very helpful.

Best.

Polar-1 commented 1 year ago

It is a nice job! However I have some problem when training my own dataset.

我在用自己的数据集做心脏分割,没有使用预训练模型,网络结构基本采用默认参数没有任何调整,只是把输入的image size改成了448*448。但是分割结果的边缘呈现阶梯锯齿状而不是平滑的边缘,训练集和预测集都有这样的问题。

想请教作者是否也曾遇到过这样的问题?

Thanks

我想问问更改训练的分辨率需要更改哪些地方?我直接更改train.py中的分辨率会报错:AssertionError: Input image size (448448) doesn't match model (224224).

Thanks.

guiguiguiguigui commented 1 month ago

这是一份不错的工作!但是,我在训练自己的数据集时遇到了一些问题。 我在用自己的数据集做心脏分割,没有使用预训练模型,网络结构基本采用默认参数没有任何调整,只是把输入的image size改成了448*448。但是分割结果的边缘呈现阶梯锯齿状而不是平滑的边缘,训练集和预测集都有这样的问题。 想请教作者是否也曾遇到过这样的问题? 谢谢

我想问问更改训练的分辨率需要更改哪些地方?我直接更改 train.py 中的分辨率会报错:AssertionError: Input image size (448448) doesn't match model (224224)。

谢谢。

我也想要问这个问题,兄弟,你解决了吗?请问