Kaiseem / DAR-UNet

[JBHI2022] A novel 3D unsupervised domain adaptation framework for cross-modality medical image segmentation
Apache License 2.0
41 stars 5 forks source link

关于您I2I的疑惑 #12

Closed qujunda123 closed 8 months ago

qujunda123 commented 1 year ago

非常感谢您提供了如此clean且非常具有贡献的工作和代码。最近我在使用自己的数据集实现I2I,在我训练的过程中,训练的loss_g最多只能下降到6-8左右,想请问您,每个损失一般会下降到多少呢,我如何能判断生成的图像可以用于下一步的分割呢?非常感谢您!

Kaiseem commented 1 year ago

你好同学,由于GAN的loss是动态的,所以不能以loss大小为衡量指标,所以建议是1. 以10 epoch为间隔保存模型,然后多次尝试训练Segmentation模型, 2. 目测,如果可视化结果够好就可以了。因为style transfer对于UDA的效果提升有上限(限制于数据集大小),不用特别严格。

qujunda123 commented 1 year ago

非常感谢您的回答,我目前确实根据目视方法选择了模型。但是我发现即使很好的模型在生成的图像(用于训练分割模型)还是会夹杂有生成不好的图像,不知道您实际实现过程中是否有类似的问题题呢?怎么解决的? 由于我是UDA方法的一个新手,所以还想咨询您,我训练I2I模型的时候,哪些超参数比较敏感呢?应该对哪些超参数进行调整比较好使。 再次感谢您!

Kaiseem commented 1 year ago

对于夹杂的生成不好的图像,我也是遇到过的,这大概是因为数据量不足所造成(常见于医学图像)。但针对这种生成不好的图像,不用太担心,因为可以把他理解成strong augmentation的图片(参考FDA,cvpr20,它的生成效果更差,或者我最近的一个工作SLAug,aaai23,故意生成质量很差的图来增强泛化性),你需要做的是多生成同一张图的content所产生多个style的图来cover掉这个缺点。

针对第二个问题,对于I2I的模型我的超参数都follow了MUNIT的超参数,既 lambda_rec=10, lambda_cyc=10,lambda_fm=1 。你可以尝试将 lambda_rec=20, lambda_cyc=20,并且训练更长时间来获得更稳定的训练,然后lambda_fm是最不敏感的超参数,其余的参数就得自己尝试了,比如MsImageDis里面的一些默认参数(其实已经比较通用的参数了),或者generator的参数的维度(例如StyleEncoder中的 nef,32-》64,128 )。

希望回答能够帮助到你:)

qujunda123 commented 1 year ago

非常感谢您,对我的帮助很大!