基于改进全卷积网络的皮肤病变图像分割

2018-11-17 01:26杨国亮洪志阳王志元
计算机工程与设计 2018年11期
关键词:网络结构卷积损失

杨国亮,洪志阳,王志元,龚 曼

(江西理工大学 电气工程与自动化学院,江西 赣州 341000)

0 引 言

计算机辅助诊段分割皮肤病变图像[1]方法主要有:Bi Lei等提出的multi-scale superpixel based cellular(MSCA)[2];Peruch等提出的mimicking expert dermatologists’ segmentation(MEDS)[3];J.Glaister等提出的texture distinctive lesion segmentation(TDLS)[4];E.Ahn等提出的saliency based skin lesion segmentation method(SSLS)[5]等。近年来,随着卷积神经网络(CNN)的广泛使用,CNN网络在图像分割领域也取得了巨大成果。但是由于CNN网络在图像分割方面存在计算效率低下、像素块大小限制以及感受野(receptive field)大小等问题,Jonathan Long等提出了全卷积神经网络(fully convolutional networks,FCN)[6]用以图像分割领域,并取得了较好的分割效果。

因此,本文提出了一种基于FCN网络的改进全卷积网络的皮肤病变图像分割算法。利用全卷积网络提取皮肤病变图像的形状特征及每一个属于病变区域像素点的特点,同时引进Jaccard-Diceloss损失函数解决来皮肤病变图像中病变与背景区别过大的问题,进一步提高了整体的分割性能。最后,采用2016国际生物医学图像之皮肤病变分析黑色素瘤检测挑战赛(ISBI 2016 Skin Lesion Analysis Towards Melanoma Detection Challenge)的公共数据来评估该算法模型的有效性、效率性以及广泛性。

1 全卷积网路

FCN网络是Jonathan Long等提出来的,用来实现自然图像的语义分割。通过对图像进行像素级的分类,从而解决语义级别的图像分割问题。与经典的CNN网络的主要区别在于FCN网络将CNN网络最后的全连接层转换成卷积层,采用反卷积的方式对最后一个卷积层生成的特征图(feature map)进行上采样,然后进行特征层裁剪操作并通过SoftMaxWithLoss损失函数层,最终得到与输入图像大小相同的输出预测图像,实现了分割图像的逐像素(pixelwise)预测。FCN网络是一种端到端(end-to-end)、像素到像素(pixels-to-pixels)的训练网络,其网络结构特点主要包括以下3个方面:

(1)卷积化(Convolutionalization)在CNN网络中最后一般使用全连接层,全连接层是将原来的输出二维数据(图片)压缩成一维,其会丢失部分信息。而在图像分割中最终输出预测的是分割图片(二维数据),在FCN网络将全连接层转换成卷积层以便输出的二维数据不发生丢失。同时,该卷积层的使用使得FCN网络能够适应任意尺寸的输入图像。

(2)上采样(即反卷积Deconvolution)在CNN网络中使用池化层(pool)[7]来缩小输出特征图的分辨率,采用VGG16模型对FCN网络进行微调训练,在经过5次池化后其特征图分辨率缩小为输入图片的32倍。而在FCN网络中输出的预测图像大小应与输入图像大小一致,因此需要在网络的最后一层进行上采样(即反卷积)。同时增大数据尺寸的反卷积层,能够输出更加精细的结果。

(3)跳跃结构(Skip Layer)FCN网络依次将pool5层输出特征图卷积化再经过32倍上采样得到步长(stride)为32的FCN32s网络,pool4层输出跳跃融合2倍的卷积层并经过16倍上采样得到stride为16的FCN16s网络,pool3层输出跳跃融合4倍的卷积层并经过8倍上采样得到stride为8的FCN8s网络。确保了FCN网络输出预测图像的鲁棒性和精确性。

此外,Jonathan Long等通过实验分别验证FCN32s网络、FCN16s网络、FCN8s网络的分割效果,验证了FCN8s网络的输出分割图像最为精细,精确性相比FCN32s网络和FCN16s网络有了进一步的提高。

2 皮肤病变图像分割算法

2.1 改进全卷积网络

IFCN网络是在FCN网络的基础上进行修改的,通过引进Jaccard-Diceloss损失函数来解决皮肤病变图像中病变与背景区别过大的问题,进一步提高FCN网络的分割性能。IFCN网络继承了FCN网络在图像分割方面的优点,同时也有效地改进了FCN的缺点,其网络结构如图1所示。

图1 IFCN网络结构

IFCN网络结构主要包括卷积层、ReLU激活函数层、池化层、反卷积、Jaccard-Diceloss层,其中网络的下采样部分及上采样的部分与FCN网络结构一致。输入皮肤病变图片在IFCN网络中通过下采样以及上采样操作,然后通过Jaccard-Diceloss损失函数层得到最终的分割结果。

和FCN网络一样,在IFCN网络中同样可以得到stride为32的IFCN32s网络、stride为16的IFCN16s网络以及stride为8的IFCN8s网络。不同stride得到的IFCN网络结构对皮肤病变图像的分割结果也是有所差异,其具体的网络结构如图2所示。

由图2可以直观地看到不同stride的IFCN网络结构的构造过程,其网络结构与FCN网络结构基本一致。输入图像经过卷积层、ReLU激活函数层、pool层进行前向传播,然后pool5层输出通过conv6和conv7层进行32倍的上采样并最终通过Jaccard-Diceloss损失函数层得到stride为32的IFCN32s网络。而IFCN16s网络是将pool4层的输出跳跃融合2×conv7进行16倍的上采样并通过Jaccard-Diceloss损失函数层得到的。同理,IFCN8s网络是将pool3输出跳跃融合2×pool4及4×conv7进行8倍的上采样并通过Jaccard-Diceloss损失函数层得到的。

图2 不同stride的IFCN网络结构

IFCN网络继承了FCN网络结构的优点,通过不含全连接层的全卷积网络,使其能够适应任意尺寸的输入。引进增大数据尺寸的反卷积层,使得能够输出精细的结果。融合不同深度的跳跃结构,确保了输出结果的鲁棒性以及精确性。同时,通过添加新的Jaccard-Diceloss损失函数层[8,9],进一步加快网络中loss值的收敛性以及提高最后分割结果的逐像素精确度(pixel-wise accuracy)、灵敏度(sensitivity)、特异性(specificity)、Jaccard指数(Jaccard index)、Dice相似系数(Dice coefficient)。

2.2 Jaccard-Diceloss损失层

在FCN网络中,输入图像通过SoftMaxWithLoss层生成一个与原始输入分辨率大小相同的分类概率图,表示每一个像素点属于前景或者背景的可能性。分类概率图通过计算输出预测值与真实标签值之间的误差,优化损失函数得到最终的FCN网络模型权重[10]。对于皮肤病变图像,由于属于前景的肿瘤块通常在整张皮肤病变图像中所占区域较小,而属于背景的周围皮肤占据整张图像的大部分区域。在网络的学习过程中,网络更加容易偏向学习背景区域的特征,而导致肿瘤块区域只有部分被分割或者丢失前景信息。因此,本文为了改进网络的分类响应图,提高整体网络的分割效果添加新的损失函数层(Jaccard-Diceloss层)而得到IFCN网络结构。

Jaccard-Diceloss损失函数是根据Jaccard距离和Dice距离而提出来的,在医学图像分割过程中通常利用Jaccard指数和Dice相似系数来作为衡量最终的分割效果的评估指标。Jaccard-Diceloss损失函数主要是由Jaccard距离和Dice距离两部分构成,其中Jaccard距离定义为

(1)

Dice距离定义为

(2)

式中:ti和pi分别表示输出预测图与真实标签分割图中第i个像素点的值。

考虑到上述两个距离公式均与皮肤病变图像的分割评估指标有关,对于输出预测图与真实分割结果之间的相似性存在紧密联系,本文将二者进行整合得到新的距离公式,也即文中所提到的Jaccard-Diceloss损失函数。Jaccard-Diceloss损失函数的数学表达式定义为

(3)

其中,α为(0,1)之间的常数,ti和pi分别表示输出预测图与真实标签分割图中第i个像素点的值。

由于Jaccard-Diceloss损失函数是作为损失层添加在网络中,需要进行反向传播用以参数的更新,因此对上式进行求偏导得

(4)

3 实验与结果分析

3.1 数据集与实验参数

在网络的学习过程中,训练数据的数量以及质量对最后得到训练网络模型影响。本文中实验采用的数据集是2016年国际生物医学图像之皮肤病变分析黑色素瘤检测挑战赛(ISBI 2016 Skin Lesion Analysis Towards Melanoma Detection Challenge)的公共数据集,该数据集包括900张皮肤镜图像的训练集,379张皮肤镜图像的测试集,以及所有数据集对应手工分割的真实图像。该数据集的图片数量不大,且图片具有不同尺寸的分辨率。实验采用VGG16模型对IFCN网络进行微调得到训练模型并测试图片得到最终的分割结果,而对于IFCN网络来说,其最大的优势之一就是能够克服数据样本的不足,使网络充分学习到训练样本的所有特征。同时,为了方便网络输入,提高网络模型学习的性能,对原始输入图片进行预处理:①通过尺度变换方式对数据集进行统一尺寸的分辨率;②对输入标签图片进行处理制作索引图。

本文中实验是基于Caffe[11]框架实现的,所有的运算都在一块内存为8 G的Nvidia GeForce GT750M的显卡上来加速网络训练。在训练阶段,使用VGG16模型对IFCN网络进行微调[12],用于初始化网络参数权值,加快网络的收敛。网络的初始学习率设置为0.0001,动量(momentum)设置为0.99,最大迭代次数为10万次,采用随机下降梯度法(SGD)[13]来更新网络权值。在测试阶段,将测试集中的图片一张一张的输入到已经训练好的网络模型中,通过前向传播与反向求导的方式计算出每张输入图片的分割预测结果,并输出最终分割效果图。

3.2 评估指标

本文中皮肤病变图像分割的评估指标主要包括:Dice相似系数(Dic),Jaccard指数(Jac),灵敏度(Sen),特异性(Spe)以及逐像素精确度(Acc)。它们分别定义为

(5)

(6)

(7)

(8)

(9)

其中,GT表示的是手工分割真实图像,AP表示的是网络输出的分割预测结果,TP表示的是真阳性像素(病变区域),TN表示的是真阴性像素(背景区域),FP表示的是假阳性像素,FN表示的是假阴性像素。

3.3 皮肤病变图像分割实验

本文是基于改进全卷积网络的皮肤病变图像分割实验,使用Caffe框架的Python语言来实现的。在实验过程中,考虑到Jaccard-Diceloss损失函数中常数α取值大小,对所采用的公共数据集输入网络图片尺寸大小以及不同步长的IFCN网络选择对最终皮肤病变图像分割效果的影响,我们进行了以下实验来进行验证得到最佳的分割结果。

3.3.1 常数α取值

本实验是将皮肤病变图像输入IFCN网络进行训练并测试得到最终的分割图像,由于IFCN网络中的Jaccard-Diceloss损失函数的常数α取值的不同,对于最终的分割图像也会产生不同结果。α的取值范围是在(0,0.5)之间,为了便于观察不同α值对最终分割结果的影响,得到最佳的α值。本文分别选取α=0,α=0.0625,α=0.125,α=0.25,α=0.375的点,在输入图片大小统一为500×500,所选网络为IFCN32s的前提下进行训练,得到皮肤病变图像最终分割结果的各项评估指标值,并画出其各项评估指标值的变化曲线,结果如图3所示。

图3 不同α值的分割结果评估指标值变化曲线

通过观察上图可知,皮肤病变图像的最终分割结果的各项评估值(Acc、Dic、Jac、Sen、Spe)曲线均呈现出先增后减的趋势。在α=0.125时,皮肤病变图像的最终分割的各项评估值均为最大值,分割结果达到最优。此时,各项评估指标值分别为逐像素精确度Acc=0.951,Dice相似系数Dic=0.902,Jaccard指数Jac=0.834,灵敏度Sen=0.911,特异性Spe=0.973。

3.3.2 图片尺寸变换

对于皮肤病变图像分割实验来说,输入图片尺寸大小也会影响最终的分割结果。输入图片尺寸过大不仅会导致最终的分割结果变差,而且还会增加网络层的计算量耗费更多的时间,甚至超出计算机读取图片的内存而使网络无法进行训练。为了避免上述情况,本实验对输入图片进行了预处理,分别将输入图片尺寸大小统一设置为192×256和500×500进行两组实验对比分析最终的分割结果,从而选取最佳的图片尺寸大小。两组实验是在α=0.125,所选网络为IFCN32s的前提下进行的,其最终分割结果见表1。

表1 不同输入图片尺寸的分割结果

由表1可知,当输入图片尺寸大小为192×256时,皮肤病变图像的最终分割结果的各项评估指标值相较于输入图片尺寸大小为500×500的皮肤病变图像的最终分割结果的各项评估指标值更大,分割效果更加明显。

3.3.3 IFCN网络选择

FCN网络根据跳跃结构而分别得到步长(stride)为32的FCN32s网络、stride为16的FCN16s网络、stride为8的FCN8s网络,不同stride大小的FCN网络最终的分割效果也各不一样。FCN32s网络的分割结果较为粗糙,FCN16s网络相较于FCN32s网络其分割结果相对精细,而FCN8s相对于前两个网络分割结果来说,其最为精细。IFCN网络是通过修改FCN网络,添加新的Jaccard-Diceloss损失函数层而得到的。IFCN网络继承了FCN网络的各项优点,同样也存在stride为32的IFCN32s网络、stride为16的IFCN16s网络以及stride为8的IFCN8s网络。为了验证不同stride的IFCN网络对皮肤病变图像的最终分割结果的影响,在输入图片尺寸大小为192×256,常数α=0.125的前提下,进行了3组实验,皮肤病变图像的最终分割结果见表2。

通过观察表2可知,随着所选IFCN网络的stride越小,皮肤病变图像的最终分割结果越优,各项评估指标值增大。当选择的网络为IFCN8s,皮肤病变图像的最终分割图像最为精细。

表2 不同步长IFCN网络的分割结果

3.4 对比与评估

本文所用采用的网络是在FCN网络的基础上进行改进的,在皮肤病变图像的分割问题上,通过IFCN8s网络训练模型并测试得到的最终分割结果。以下分别是利用FCN网络和IFCN8s网络得到皮肤病变图像的分割结果,见表3。

表3 FCN网络和IFCN网络的皮肤病变图像分割结果

由表3可知,IFCN8s网络在皮肤病变图像分割结果的各项评估指标均超过FCN网络的分割结果,表明本文所提出的IFCN8s网络在皮肤病变图像分割问题上对比FCN网络有了进一步的提升,达到最优。同时,为了更加直观地观察IFCN8s网络与FCN网络在皮肤病变图像的最终分割效果的区别,给出了以下4组皮肤病变的图像,分别为原始图像、手工分割的真实图像以及由IFCN8s网络和FCN网络得到的最终分割图像。如图4所示。

图4 皮肤病变图像分割效果

此外,本文实验实验数据是基于2016年国际生物医学图像之皮肤病变分析黑色素瘤检测挑战赛(ISBI 2016 Skin Lesion Analysis Towards Melanoma Detection Challenge)的公共数据集。而在ISBI 2016挑战赛官网中提供了部分参赛小组分割结果的各项评估指标值,选取其中前4名与本文实验的最终分割结果的各项评估指标进行对比,其结果见表4。

通过表4可以清晰地观察到本文所使用的IFCN8s网络在各项评估指标中除特异性(Spe)外均名列前茅,表明IFCN8s网络对于皮肤病变图像的最终分割结果最优,具有有效性、效率性以及广泛性。

表4 ISBI 2016前4名与本实验在皮肤病变图像分割结果对比

4 结束语

本文是基于改进全卷积(IFCN)网络的皮肤病变图像分割,实现了皮肤病变图像分割结果的最优化。通过对FCN网络进行修改,添加Jaccard-Diceloss损失函数层来解决皮肤病变图像中病变与背景区别过大的问题,提高分割精度而得到IFCN网络结构。采用VGG16模型对IFCN网络进行微调,逐层训练输入图像特征,学习更新网络模型权值,生成网络训练模型用以测试皮肤病变图像。实验结果表明,基于改进全卷积(IFCN)网络的皮肤病变图像的分割方法对比其它的分割方法结果更优。此外,算法的所有运算均在一块GPU上实现的,虽然最终的分割结果仍稍有瑕疵,但总体达到实验的要求。IFCN网络在皮肤病变图像分割的结果验证了其有效性、效率性以及广泛性,在其它医学图像分割问题上也具有极高的应用前景。

猜你喜欢
网络结构卷积损失
基于3D-Winograd的快速卷积算法设计及FPGA实现
胖胖损失了多少元
从滤波器理解卷积
玉米抽穗前倒伏怎么办?怎么减少损失?
基于傅里叶域卷积表示的目标跟踪算法
基于互信息的贝叶斯网络结构学习
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
沪港通下A+ H股票网络结构演化的实证分析
复杂网络结构比对算法研究进展
一般自由碰撞的最大动能损失