xq141839 / DCSAU-Net

Elsevier-CIBM-2023: A deeper and more compact split-attention U-Net for medical image segmentation
https://www.sciencedirect.com/science/article/pii/S0010482523000914
Apache License 2.0
72 stars 16 forks source link

再向您请教个小问题 #14

Closed wjzhang-ty closed 1 year ago

wjzhang-ty commented 1 year ago

近期我运行了很多网络,在数据集处理上遇到很多不同的方案,有些困惑。 以isic数据集为例。 输入image和mask经过预处理后得到image.max()==2 mask.max()==255。 另一种输入image和mask经过预处理(/255)后得到image.max()==1 mask.max()==1。 这两种输入似乎都能进行训练,我记得上课讲的应该是第二种更优,实际训练中大家也是通常遵循后者吗?

似乎很基础的问题,但我的代码经验还不够丰富,观察到的了很多种情况让我有点不知所措,如果您能指点一下我将不胜感激。

xq141839 commented 1 year ago

是的,一遍会把image 和 mask 都用归一化的方法把 0-255 的数值缩放到 0-1 或者-1-1 (标准化)。这些方法可以详细参考机器学习里面的内容。其中一个原因是0-255的数值范围很大,导致数据的方差也会很大,会让模型收敛困难。在pytorch中可以使用下面代码: albumentations.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),

而且一般归一化需要对image和mask同时使用。