segnet和unet区别_图像分割:3D Unet网络性能一定优于2D Unet吗,如果优于,为什么优于?...

上周在某大厂医疗AI组的一面刚被问到这个问题。我开门见山,先上结论:3D UNet不一定优于2D UNet。科学里面没有绝对的结论,但凡说A一定好于B,需要说明的是在什么样的情况下好于,也就是需要控制住变量。我在回答结尾会引用一篇论文,来支持3D UNet不一定优于2D UNet。下面我将先从三个角度,谈谈3D和2D的区别。

1.从数据格式角度,3D数据和2D数据的不同是,多了一个方向的信息。2D数据的表达为(x,y),3D数据的表达为(x,y,z)。医疗影像的大部分数据都是3D的,也就是多层slice叠加而成的。但是由于z轴上的像素间距(pixel spacing)不同,3D的数据也被为薄层数据和厚层数据。薄层数据层厚较薄,所以z轴slice数比较多,比如眼底OCT图片的z轴slice数为128层(可视化效果);厚层数据的层厚比较厚,z轴slice数就相对较少,比如脑平扫CT一般层厚为5mm,z轴slice数在20-40层不等。这样显而易见,薄层的数据相较于厚层数据,在z轴方向的信息更加丰富。

2.从模型角度,3D卷积可以对3D数据从(x,y,z)三个方向上进行编码,而2D卷积只能对3D数据从(x,y)两个方向进行编码,这是3D卷积的优点。一般来讲,3D卷积的参数量更大,所以我们常用的3D-UNet都不是像2D-UNet那样降采样16倍,而是降采样8倍。但是由于数据量和模型参数量的匹配问题,3DUNet可能需要更多的数据去训练,否则可能会导致过拟合(over-fitting)。

3D卷积和2D卷积的演示图(图片来源)

3.从问题背景角度,考虑临床影像特征。举两个例子:有些病理在2D上没有明显征象。比如动脉瘤的检测,由于血管和动脉瘤在CTA上都是高信号,无法根据灰度值去判断动脉瘤。而是根据3D上血管的走向,发现3D形状上的一些异常,从而进行动脉瘤的诊断。这个病症的特点决定了,从任务背景上2D网络大概率不如3D网络。

有些病理在三维上是稀疏的。如果是在3维上比较稀疏的影像,可能2D网络就要更好。

动脉瘤示意图(图片来源)

总结一下,首先需要根据实际问题(临床病理和数据特点),去设计2D或者3D的网络。其次general的结论是,数据量比较小,3维数据的z轴slice数比较少时,2D网络可能更好。数据量比较大,3维数据的z轴slice数比较多时,3D网络可能更好。

One more thing,前面提了2D模型和3D模型的特点,那如何结合两种网络的优点呢?

我提供两种思路:在2D网络中引入时序(LSTM,RNN)等。

2. 2D卷积和3D卷积相结合。

在医疗影像领域,研究2D和3D如何做融合,个人觉得是一个非常好的方向。

附:The 3D networks performed poorly. We observed that their increased number of parameters resulted in more overfitting. Additionally, they were unable to take full advantage of the third image dimension, due to the large number of scans with only 2 axial slices. For the two best models, the 2D U-Net and pre-trained PSPNet, we observe the focal loss improved model performance. We demonstrate in Fig. 4 that the focal loss predicted more fine details in the lesions that were missed by cross entropy in the pre-trained PSPNet. The cross entropy loss network often over-predicted larger lesions than the focal loss network, and the focal loss network was able to more closely predict the fine appearance features of the lesions, and predict areas that cross entropy completely missed.

个人观点,欢迎交流~

你可能感兴趣的:(segnet和unet区别)