Bootstrap

Adversarial learning with multi-scale loss for skin lesion segmentation

简介

这是一个端到端的对抗神经网络,即SegAN。generator是一个全卷积网络,并使用了一种新的激活函数。discriminator使用一个多层 L1 L 1 损失(multi-scale L1 L 1 loss),segmentor通过长或短范围的像素空间关系来学习全局和局部特征。使用的数据是ISIC2017(International Skin Imaging Collaboration),传统的分割方法很难学习像素见的局部和全局上下文关系。

代码

这篇论文的创新点:
1. 提出了一个多层 L1 L 1 损失,critic用来最大化这个损失来区别分割图和ground truth在多层上的差异。
2. 在segmentor S中,我们使用了一个带有残差块/跳跃连接的全卷积神经网络和一个新的激活函数。通过critic的梯度来训练的,目的是最小化critic的相同损失函数。
3. SegAN是在整个图像上的端到端的结构。

方法论

segmentor S生成输入图像的分割mask,critic C有两种输入:一种是有ground truth掩码的原始图,另一种是有由S得到的预测图掩码的原始图。S的训练旨在最小化multi-scale L1 L 1 loss,C的训练旨在最大化这个损失。

1. The multi-scale L1 loss

训练图像为 xn x n 对应的ground truth为 yn y n ,这个损失可以表示为:

minΘsmaxΘcL(Θs,Θc)=1Nn=1Nιmae(fc(xns(xn)),fc(xnyn)) m i n Θ s m a x Θ c L ( Θ s , Θ c ) = 1 N ∑ n = 1 N ι m a e ( f c ( x n ∘ s ( x n ) ) , f c ( x n ∘ y n ) )

ιmae ι m a e 是 Mean Absolute Error (MAE)或者 L1 L 1 distance, xns(xn) x n ∘ s ( x n ) 是原始输入图和segmentor预测概率图的逐像素乘积, xnyn x n ∘ y n 是原始输入图和ground truth逐像素乘积。 fc(x) f c ( x ) 代表了用critic对图像x层级特征的提取。 ιmae ι m a e 定义如下:
ιmae(fc(x),fc(x))=1Li=1L||fic(x)fic(x)||1 ι m a e ( f c ( x ) , f c ( x ) ′ ) = 1 L ∑ i = 1 L | | f c i ( x ) − f c i ( x ′ ) | | 1

L是critic的层数, fic(x) f c i ( x ) 是C的第i层图像x的特征图。
由于区分segmentor分割的概率图和ground truth是很难的,这里将segmentor的最后一层的激活函数sigmod/softmax激活函数换为adaptive logistic激活函数。定义为:
f(z)=11+ez/k f ( z ) = 1 1 + e − z / k

k控制了曲线的陡度。k=1是就变成了sigmod函数,当k变小时,logstic函数变得更陡峭并更接近输出0/1。

2 SegAN结构

segmentor使用了编码器-解码器结构,encoder提取输入图像的特征,decoder扩大接受域并获得更多的信息。像residual blocks 一样在不同水平的encoder和decoder之间建立连接来克服过拟合。
这里写图片描述
segmentor:在encoder中,卷积层为7,5,4步长为2,在decoder中,卷积核为11,9,7步长为1,在每一个上采样/下采样块后面都有一个残差块,由1*1卷积,3*3卷积和1*1卷积组成,在encoder和decoder的对应层间添加连接,S的最后一层使用了我们提出的adaptive logistic损失函数。
critic:使用了全卷积来获得更大的接受域以及减少参数。方向相反且没有残差块,用C来提取层特征并用the multi-scale L1 L 1 loss,通过使用这些层特征(如:像素级别特征,低水平特征(superpixels上层像素点),中水平特征(图像块))这个损失可以获取像素间长或短范围的空间关系。
除了S和C的第一个下采样块外,其余的块都用到了正则化,所有的下采样块都用到了Leaky Relu并且所有的批正则化后的上采样块都采用了Relu。

;