Deep Learning for Medical Image Segmentation:Tricks, Challenges and Future Directions¶
论文¶
https://arxiv.org/abs/2209.10307
代码¶
https://github.com/hust-linyi/seg_trick
摘要¶
Cite
在过去几年中,计算机视觉深度学习技术的快速发展极大地促进了医学图像分割(MedISeg)的性能。然而,最近的MedISeg出版物通常侧重于主要贡献 (例如,网络架构、训练策略和损失函数)的展示,而无意中忽略了一些边际实现细节(也称为“技巧”),这导致了不公平的实验结果比较的潜在问题。 在本文中,我们为不同的模型实现阶段(即预训练模型、数据预处理、数据增强、模型实现、模型推断和结果后处理)收集了一系列MedISeg技巧, 并通过实验探讨了这些技巧对一致基线模型的有效性。与仅简单关注分割模型的优势和局限性分析的论文驱动调查相比,我们的工作提供了大量可靠的实验, 在技术上更具可操作性。通过对具有代表性的2D和3D医学图像数据集的广泛实验结果,我们明确阐明了这些技巧的效果。此外,根据调查的技巧, 我们还开源了一个强大的MedISeg存储库,其中每个组件都具有即插即用的优势。我们相信,这项里程碑式的工作不仅完成了对最先进的MedISeg方法的全面和补充性调查, 还为解决未来医学图像处理挑战提供了实用指南,包括但不限于小数据集学习、类不平衡学习、多模态学习和领域适应。
实验为主的工作,可以参考官方发布的知乎简介
工作¶
使用两个网络2D UNet和3D UNet,ResNet50做backbone,在四个数据集上进行实验,四个数据集两个是2D两个是3D,在六个阶段上测试各种技巧
- 模型预训练阶段
预训练阶段可以看到的是,预训练还是大数据集效果更好,不整花里胡哨的,就堆数据效果就更好,其他各种奇怪的预训练技巧,换个任务换个模型没准就崩了 - 数据预处理阶段
预处理阶段的结果,patch size基本上确实是越大越好,但是一些trick对于肿瘤和肾的影响又不一致,因此数据预处理的这些东西确实需要针对数据集 和任务看着来
另外一个数据集的结果,跟上面结论差不多 - 数据增强阶段
我比较关注的一个实验,GTAug是基于Ground Truth的数据增强,GTAug-A是像素相关的(对比度、亮度、归一化之类的),GTAug-B是空间相关的(翻转、旋转) GANAug是基于GAN的数据增强。读论文的时候几乎随便一篇上来就是旋转翻转Intensity clip,大家好像都默认了这些是基本操作。但是我做的一些实验发现这些数据增强 有的时候反而使得效果更差。这篇论文实验也得到了类似的结论,可以看到数据增强很玄学,有的数据集好用有的数据集不好用,但是有意思的一点是效果有提升的时候 基本也就一两个点,但是效果变差的时候直接七八个点,所以数据增强这个玩意还是得慎用
另一个数据集的结果类似,如果忽略零点几个点的变化,几乎可以认为各种数据增强全军覆没。作者文中有说,对2D图像往往GTAug效果好,对于3D图像GANAug效果比较好 - 模型实现阶段
效果拉胯不看了 - 模型推断阶段
推理阶段,试了两个东西,一个是TTA一个是集成,TTA我也不知道是啥看表效果也拉胯,模型集成还是yyds。集成试了平均和投票,我看了下应该是平均更好。 说实话整篇论文这么多trick看下来,目前为止就看到这么一个靠谱的。
另外一个数据集的结果 - 结果后处理阶段
效果拉胯不看了,像移除小区域这种操作,那肯定是recall降低precision提高,Dice一般也下降了,到时候视任务而定吧
总结¶
Cite
我们为不同的实施阶段收集了一套MedISeg技巧,即预训练模型、数据预处理、数据扩充、模型实现、模型推理和结果后处理。这些技巧几乎涵盖了用于医学图像分割任务的所有常见和基本方案; 其他精心设计的技巧可以被视为这些更复杂的组合。在我们的工作中,为了避免实现变化带来的性能模糊,我们通过实验探讨了在一致的2D UNet和3D UNet基线模型上收集的技巧的有效性。 在2D ISIC 2018、2D CoNIC、3D KiTS19和3D LiTS的实验结果的见证下,我们明确阐明了这些技巧的效果。此外,基于调查的技巧和基线模型, 我们为2D和3D医学图像开放了强大的MedISeg存储库,其中每个组件都具有即插即用的优势。与现有的论文驱动的细分调查相比,我们的工作可以提供广泛的实验, 在技术上更具可操作性。我们工作的重要贡献之一是明确探索这些收集的技巧的效果。我们的工作不仅可以促进后续方法注重技巧,而且可以实现公平的结果比较。 这可能是必要的,尤其是在网络架构面对一些复杂任务变得越来越复杂的当下,例如图像分割对象检测和图像生成。此外,当我们将所有常用的技巧集成到统一框架 中时,MedISeg模型中的技巧之间的实现或补偿可能存在冲突,该框架可以为即将到来的分段管道(包括网络架构、训练策略和损失函数)提供经验和协调指导
看完了之后,觉得这篇文章应该叫《医学图像炼丹避坑指南》,比较好奇官方的github发布的框架咋用,反正我是论文看完后除了集成之外哪个trick都不想用