大致框架
主要内容
- 数据预处理与扩充
- 网络基本架构
1)基于卷积神经网络(CNN)的编码器 - 解码器架构
包括较大的编码器与较小的解码器,其中编码器用于提取输入图像的深度特征,解码器用于重建密集的分割掩码。
2)额外分支—— 变分自动编码器
在编码器的结束节点使用,用于重建原始输入图像与特征聚类结果的优化,为编码器输出结果增加额外的导向与正规化。 - 损失函数
- 优化与规范化
数据预处理与扩充
(这里我觉得很奇怪,不知道为什么原文作者要把预处理模块放到Method的最后一部分来说,甚至后于优化与规范化,笔记里我先移到前面)
数据预处理与扩充包括三个主要内容:
- 标准化输入图像,使其具有零均值与单位标准差。(仅针对非零体素)
- 针对输入图像的每个通道进行随机强度偏移,并进行缩放。
- 对输入图像的三轴数据都进行随机轴镜像翻转。
编码器
- 基本架构:
一系列ResNet块的组合。
其中,每个块包括两个带有组规范化(Group Normalization)与ReLU函数的卷积组成,并伴随着附加的身份跳过连接(identity skip connection)。 - 流程:
以步长为2的传统CNN方法,
1)逐步缩小图像维度;
2)同时增加特征大小。
CNN网络大小:3x3x3,32个初始过滤器。 - 输出:
数据大小:256x20x24x16(在空间上比原始输入图像小8倍)
解码器
- 基本架构:
与编码器类似,但是每个空间级别具有单个块。 - 流程:
1)以步长为2,大小为1x1x1的CNN网络来减少特征数量;
2)利用3D双线性上采样实现空间维度加倍;
3)添加等效空间级别的编码器输出。 - 输出:
数据大小与特征数量与原始输入图像相同。
随后,是1x1x1大小的卷积为3个通道和sigmoid函数。(followed by 1x1x1 convolution into 3 channels and a sigmoid function.)(没看明白,作者太爱用followed by了,分不清这里具体主体是啥…)
变分自动编码器 (VAE)
- 基本架构:
与解码器类似,除了没有附加的身份跳过连接(identity skip connection)。
- 始于:
编码器的结束节点。 - 流程:
1)利用大小为1x1x1的卷积,将输入(即编码器结束节点的输出)减少到大小为256的低维空间(128代表均值,128代表标准差);
2)从具有给定均值和标准差的高斯分布中进行样本抽取;
3)按照与解码器相同的架构将数据重建至大小与输入图像相同。
损失函数
其中,
-
L d i c e L_{dice} Ldice表示软块损失,求解公式如下:
p p r e d p_{pred}