本文主要是记录周纵苇(U-Net++的作者)大神关于三维迁移学习的报告的笔记。原文请参考三维迁移学习。
0. 研究背景
医学图像的一大难点是标注困难,需要耗费医生大量的人力和物力。迁移学习可以从大量其他数据集中预训练得到初始的模型,在针对某个特定的任务时,可以让模型从一个更优的起点开始训练。在医学影像处理中,从ImageNet的预训练模型开始做迁移学习已经成为了一个标配,但是ImageNet的模型输入必须是二维的,并且存在医学图像与自然图像差别较大的问题。
3D的神经网络模型一般要优于2D的,但是也存在模型参数多,而训练样本少,容易导致过拟合和欠拟合的问题。此外还希望模型能够做到自监督学习,即直接从无标签数据中自行学习。他们提出的自监督学习方法就是先在原图上做一些改动,然后让模型去还原原图。并提出了四种可选的图形变换方法:非线性变换,局部像素重组,向内填充和向外填充。
1. 非线性变换
在CT图像中,人体不同器官和组织是有不同的像素值(Hounsfield Units,亨斯菲尔德单位)的。现在只将某个组织的亨氏值的范围改变而其他诸如形态等特性都不变,如果网络模型能够将像素值还原为正确的范围,则说明该模型识别出了该组织的正确分类。
所以可以随机生成一个色彩变换曲线,并加到原图中,就得到了一张经过非线性变换的图片。值得注意的是该色彩变换曲线需要是单调的,因为需要在变换后的图像与原图之间建立起一一对应的关系,不然模型很难恢复。得到该曲线的方式有很多种,他们使用的是 Bezier Curve(贝塞尔曲线)的方式。
2. 局部打乱
在原图中随机地选择一个局部小区域的位置和大小,并将该区域内的像素打乱。之所以是局部区域是因为卷积层的感知域是有限的,如果打乱的像素距离太远,复原原图就比困难了。我们希望模型能够复原被打乱的结构的细节纹理和边缘信息。
3. 内向填充和外向填充
向外填充就是把原图的边缘一圈给遮住,然后让模型填充;向内填充就是把原图的中间一些区域遮住,让模型填充。遮住的方法是用一些随机的数替代原来的像素值。实验结果也表明,向外填充学习到的视觉特征更强。
4. 融合
我们为以上 3 种图像变换都设置一个发生率,但是内填充和外填充不能同时发生,因为那样所留下的信息太少了。
5. 效果
(1) 预训练的3D模型效果高于从头训练的3D模型
(2) 预训练的3D模型效果高于预训练的2D模型
(3) 用以上自监督学习方法预训练的2D模型效果和ImageNet的监督学习效果相近
6. 其他
怎么用这个2D模型去处理3D的数据:
(1)相邻的3层当作RGB三通道输入(2D)
(2)相互正交的x,y,z面上的三层作为RGB三通道输入(2.5D)
(3)先对3D的cube校准,然后把相互正交的x,y,z面上的三层作为RGB三通道输入(VIOR)。
- 本文作者: 俎志昂
- 本文链接: zuzhiang.cn/2019/10/10/3D-TL/
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!