论文:Unet 3+: A full-scale connected unet for medical image segmentation
作者:Huimin Huang、Lanfen Lin、Ruofeng Tong、Hongjie Hu、, Qiaowei Zhang、Yutaro Iwamoto、Xianhua Han、*Yen-Wei Chen、Jian Wu
3.论文代码地址:github.com/ZJUGiveLab/UNet-Version
基于深度学习的语义分割被应用于医学图像分割,本文Unet 3+网络基于Unet和Unet++提出,Unet 3+网络利用基于全尺度的跳跃连接以及深度监督改进网络,并在肝脏、脾脏数据集上实验。
a、b、c分别是Unet、Unet++、Unet 3+的概略图,从图片中可以看出Unet 3+重新设计了编码器和解码器之间的内部连接以及解码器之间的内部连接,利用全尺度跳跃连接以及深度监督,比起Unet充分利用了图像多尺度特征,又比Unet++减少了参数
全尺度跳跃连接指的是将来自不同尺度特征图的低级细节与高级语义结合起来。
上图是特征图 X D 3 e X^3_De XD3e的组成,可以清晰看出 X D 3 e X^3_De XD3e由特征提取、特征融合两大部分组成
由上图可知, X E 3 e X^3_Ee XE3e从三个方面进行提取:
1是直接接收来自相同尺度编码器层的特征图 X E 3 e X^3_Ee XE3e;
2是通过不重叠的最大池化操作将较小尺度编码器层 X E 1 e X^1_Ee XE1e和 X E 2 e X^2_Ee XE2e进行池化下采样,跳跃连接到 X D 3 e X^3_De XD3e;
3是通过双线性插值法对解码器中的 X E 4 e X^4_Ee XE4e和 X E 5 e X^5_Ee XE5e层进行上采用,跳转连接到 X D 3 e X^3_De XD3e。
双线性插值法:是数值分析中的一种加权算法,以最近四个像素点的距离为参考权值,经两次线性插值,综合得到当前点的灰度值详细解释。
本文特征图经过上、下采样,分辨率得到统一;每个尺度又用64个3*3的卷积核进行卷积,产生64个通道的特征图,数量得到统一,一共五个尺度,进行特征拼接融合。
上图可知由320个大小为3×3的过滤器、批量归一化和ReLU激活函数组成特征聚合机制。
此外UNet、UNet++和UNet 3+有相同的结构,只解码部分的参数不一样。
UNet解码编码对称分布,故 X E i e X^i_Ee XEie和 X D i e X^i_De XDie都为 32 ∗ 2 i 32*2^i 32∗2i,解码部分中第i个解码阶段的参数数量计算公式:
UNet++中,它在每一条跳跃路径上都利用了dense conv block,即每一层都将之前所有层输出的特征图连结起来作为输入,然后再把输送给之后的所有层,解码部分中第i个解码阶段的参数数量计算公式:
UNet3+中,每一个解码器由N个尺度连接所成,故有64*N个channels,解码部分中第i个解码阶段的参数数量计算公式:
由参数量计算公式明显看出UNet3+参数量更少,将具有更高的效率。
注:参数量指的是模型中所有带参数的层的权重参数总量,主要是卷积层、批量归一化层以及连接层。
深度监督Deep Supervision指的是为了防止网络结构训练时梯度消失和收敛速度过慢,在网络结构中间隐藏层加一个辅助的分类器作为一种网络分支来对主干网络进行监督。
本文UNet3+为了从全尺度的聚合特征图中学习层次表示,UNet 3+采用了全尺度深度监督,每个解码器都有一个边输出,并由地面真值ground truth监督。为了实现深度监督,每个解码器阶段的最后一层被送入一个普通的3×3卷积层,然后是一个双线性上采样和一个sigmoid函数。
为了进一步增强器官的边界,提出了一个多尺度结构相似性指数MS-SSIM损失函数来赋予模糊边界更高的权重。区域分布差异越大,MS-SSIM值越高。
从分割结果P和标准G裁剪了两个相应的N×N大小的块,它们可以分别表示为 p = 【 p j : j = 1 , . . . , N 2 】 p=【p_j:j=1,...,N^2】 p=【pj:j=1,...,N2】和 j = 【 j j : j = 1 , . . . , N 2 】 j=【j_j:j=1,...,N^2】 j=【jj:j=1,...,N2】
P 和 g 的 MS-SSIM 损失函数定义为:
结合focal损失函数(解决目标检测中正负样本比例失衡), MS-SSIM损失函数和IoU损失函数(反映预测时检测效果),提出一种混合损失函数用于分割在三个不同层次像素级别分割、块分割、图像级别分割,它能捕获大尺度的和精细结构清晰的界限。混合分割损失被定义为:
注:地面真值ground truth:有监督学习中,正确的标注数据。
在医学图像分割中,由于来自背景的噪声信息停留在较浅的层次,导致过度分割,非器官图像出现假阳性。为了实现更精确分割UNet3+增加一个额外的分类任务来解决这个问题:
最深层次的二维张量 X E 5 e X^5_Ee XE5e经过一系列dropout正则化、卷积、最大池化、sigmoid激活等操作,最后得出两个值,代表有或者没有器官的概率。
首先,在argmax函数的帮助下,将二维张量转化为{0,1}的单个输出,表示有或没有器官。随后,我们将单个分类输出与侧分割输出相乘,由于二值分类任务的简单性,该模块通过优化二值交叉熵损失函数,轻松获得准确的分类结果,实现了对非器官图像过分割的指导。
该方法在肝脏和脾脏两个器官上进行了验证。
肝脏分割的数据集来自 ISBI LiTS 2017挑战赛,包含131个对比增强的3D腹部CT扫描图像,其中103和28个分别用于训练和测试。脾脏数据集来自医院通过了伦理审批,包括40和9个CT 用于训练和测试。
为了加快训练速度,将输入图像分为三个通道,即分割切片和上下切片,并将其裁剪为320 × 320。我们利用随机梯度下降来优化我们的网络,它的超参数设置为默认值。以Dice系数作为评价指标。
每种方法中使用的损失函数是焦点损失。
焦点损失:指将难分类或者容易分错的事例分配更多的权重,对于简单事例降低权重,以解决类不平衡问题。
上图是与几种先进技术的比较,可以看出UNet 3+的Dice系数要高于其他技术,尤其是添加了混合损失函数和分类引导模块的UNet 3+模型Dice系数最高。
具有深度监督的全尺度联通的unet 3+网络 ,进一步引入了分类引导模块和混合损耗函数,产生了更精确的位置感知和边界感知分割图。
在肝脏和脾脏数据集上的实验结果表明 unet 3+ 超过了以往所有的最先进的方法,突出器官并且产生了连贯的界限。