多平面UNet:一个UNet适用于所有3D分割任务(即使你的数据量较少)- 低代码方法
‘多平面UNet:低代码方法适用于所有3D分割任务(即使你的数据量较少)’
在开始我的博士学位后,我遇到的第一个现实世界的医学图像分割项目是膝关节MRI分割。我只有39个带标签的MRI图像用于训练和验证,还有20个带标签的图像用于最终的测试集。此外,我的导师还补充道:
“我们将在近200个未标记的图像上测试我们的分割模型”
会议结束后,我坐在桌前想着,我现在该怎么办😧?39个图像真的很少,所以我像每个人一样,先用UNet建立了一个基准结果。经过尝试了一个简单的3D UNet并通过多次训练迭代调整超参数后,验证的Dice分数达到了0.65。其他UNet的变体,如Res UNet和Attention UNet,无法与简单的3D UNet的性能匹敌,主要是因为复杂的模型需要更多数据才能发挥作用,并且在如此有限的数据集上效果不佳。
在下一次面对面的会议上,我把这些结果展示给了导师,他笑着看了看,并建议我看一下MPUNet(Multi-planner UNet),这是UNet的一个先进版本,用于3D医学图像分割。这个惊人的库是由Mathias Perslev,Erik Dam,Akshay Pai和Christian Igel创建的。如果你想了解更多,请看这里:https://doi.org/10.1007/978-3-030-32245-8_4。
在安装过程中与它斗争了一些(可能很多 😅),因为它需要特定版本的Python和tensorflow,但最终成功了。看到最终测试的Dice分数超过了0.80,我感到非常惊讶 😎。这篇论文目前仍在分析阶段,一旦发表我会分享给大家。因此,如果你数据很少,且苦于获得良好的Dice分数,那么这是一个很棒的方法和攻略,这次你不需要花费几个小时来安装和让它工作了。:)
攻略
- 使MultiPlanar UNet工作。
- 如何安装这个库?
- 如何使用它?
MultiPlanar UNet工作原理:
在应用MPUNet之前,让我们了解下它的工作原理。MPUNet主要有3个部分: