本文转自:https://www.dirkli.com/493.html
欢迎访问我的个人网站与我交流 —— 风之谷
我为什么阅读这篇文献?
最近研究了一下分割领域,从经典的FCN到后来的UNET发展到现在,除了一些UNET的扩展变换之类的,在二维图像上处理已经达到了一个瓶颈,甚至出现了利用label来自动选择最小ROI再进行分割的方式,即使这样,作者也只达到了86.70±3.51的准确率,参见Yijun Liu等人的工作。而我导师总是在说这种方式没有利用到三维的连贯信息,如何利用分割的部位在空间上的连贯性是提高准确率的一个重要的方式。
那么在搜集相关文献时,发现本文就是利用了这种思想,所以在此仔细阅读了几遍。
本文亮点
- 本文解决了在3D训练中对GPU、内存等消耗过大的问题;
- 本文融合2D与3D进行训练提取特征,充分利用了上下文信息;
文章摘要
近年来,全卷积神经网络(FCNs),包括二维和三维FCNs,在许多体图像分割中起着重要的作用。然而,二维卷积不能充分利用三维空间信息,而三维卷积的计算量和GPU内存消耗都很大。为了解决这些问题 文中提出了一种新的混合密集连接的UNET(H-DenseUNet),它包括一个用于有效提取片内特征的2D denseUNet和一个用于分层聚合的3D DenseUNet对应体分割。其中片内和片间特征可以通过混合特征融合(HFF)层联合优化。
文章框架
- 文章设计了一个DenseUNet用来有效地探测肝脏和肿瘤分割的片内的特征,并提出了一种H-DenseUNet框架,用来探索肝脏和肿瘤分割的混合特征。
- 网络主要有4个模块组成:ResNet轮廓粗提取、2D DenseUnet提取切片内特征、3D DenseUnet提取切片间特征、HFF层2D和3D特征融合。
下面分别介绍四个模块:
提取粗轮廓部分
通过文章提出的变换处理函数F(即slice之间的变化组合),将3D的体积快变成2D的相邻的slices;然后将这些2D slices送进2D DenseUNet,用来提取片内特征。其输入与输出详见下图
2D提取切片内特征
这里可以理解为是一个基本的U-Net网络,只不过是在其中将普通conv换成了Dense-conv卷积层。深度也是为和之前经典U-Net一样的4层。
3D提取切片间特征
3D的原始输入和2D DenseUNet转换之后的预测结果concat在一起送进3D网络,用来提取片间特征。这里用于concat的是通道连接。
HFF层特征融合
在融合训练结束后,利用训练得出的结果和前面2D训练得到的结果进行相加,以便增加特征融合。最后预测最终结果。
文章数据
肝切片数据使用LiTS的数据集,总共包含131例和70例病人的数据用于训练和测试,每张切片的分辨率从0.55到1.0毫米,切片厚度从0.45到6.0毫米。数据处理时,首先将数据的范围进行规定,去除无关的数据,文章中将范围设定为[-200,250]。然后根据任务的不同,数据的处理又有一些区别,粗轮廓的提取,将数据的分辨率调整为0.69x0.69x1.0;肝病变的分割时,考虑到病变较小,人工处理可能对切片造成影响,所以采用原始的切片分辨率。训练过程还增加了一些数据增强策略,数据尺度变换和镜像对称等。
总结
跑过3D模型的同学可能对于GPU资源消耗深有体会,对于几十张图片每张128x128的大小,在我的GTX1060上都不能完整的进行训练,所以文章创新性的提出来将通过2D DenseUNET训练出来的特征图融合3D原图进行训练,文中显示训练时长大大缩短,可见此种做法能够加快训练的收敛过程。最后将3D和2D结果进行融合,最终得到的结果取得了很好的成绩。这对于我们如何利用3D信息作了一个很好的启发。