杨国亮,邹俊峰,李世聪,温钧林
江西理工大学电气工程与自动化学院,江西赣州341000
皮肤病作为常见的一种身体疾病,在世界范围内发病率呈上升的趋势,严重威胁着人类的身心健康[1]。在种类繁多的皮肤病中,黑色素瘤十分常见,早期恶性黑色素瘤的治愈率是十分高的,但是随着时间的推移,其侵袭性会增强,一旦扩散治疗就异常艰难[2]。皮肤病灶图像分割可作为医学诊断相关疾病的重要依据,但由于早期的黑色素瘤隐蔽性较强,藏匿在毛发之间,与正常皮肤和常见痣较难区分,导致检测十分困难,依靠医生手动评估也是十分耗时耗力的[3]。因此,利用计算机辅助诊断(Computer Aided Diagnostic,CAD)来提高医生的诊断效率和准确性显得尤为重要。
针对皮肤病灶图像分割问题,一般分为两种分割算法,一种是传统的图像分割算法,另一种是深度学习算法。传统的图像分割主要有以下几种:(1)基于边缘和轮廓的图像分割[4],利用各种边缘算子提取图像病灶区域边缘信息;(2)基于区域的分割,如文献[5]利用Delaunay 三角剖分融合皮肤检测和病灶分割;(3)基于自适应阈值和偏斜度校正方法,处理黑色素瘤原位图像中的灰度区域[6];(4)基于无监督学习K 均值(K-Means)方法[7];(5)基于有监督学习的支持向量机(Support Vector Machines, SVM)和人工神经网络(Artificial Neural Networks,ANN)[8]。随着科技的进步,芯片算力的快速增长,深度学习已成为当前主流方法。医学相关领域的图像分割技术飞速发展,U-Net 基于全卷积网络(Fully Convolutional Network, FCN)改进的U 型结构获得效果上的突破[9-10],但存在获取尺度空间信息能力差,上下文特征丢失等问题,后续改进的网络如全卷积残差网络和密集池全卷积网络等都取得了不错的效果[11-12]。但是这些网络都存在一些局限性,容易受到病灶区域的形状、颜色、伪影、对比度等背景噪声和其他因素影响;背景占比较大导致学习特征不足;以及小区域的病灶分割效果较差的问题。
针对上述算法存在的一些局限性,本文基于U-Net网络框架提出一种U型稠密特征融合的皮肤病灶分割方法。采用稠密卷积网络DenseNet作为网络编码器提取特征信息[13];使用空洞空间金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)结构[14],在不降低空间维度的同时增大感受野,获得多尺度信息;引入稠密空间注意力(Dense Spatial Attention,DSA)模块和融合压缩注意力模块(Blend Squeeze Attention,BSA),通过加强聚焦病灶区域的特征,降低周围边界噪声干扰,保持图像整体语义信息,同时采用组合的损失函数优化,提升分割结果与标签的重叠度。
由于医学类图像分割数据集较小,为了获得更好的网络性能,解决网络过深容易过拟合的问题,采用DenseNet 预训练模型作为网络的特征编码器,同时网络底层采用带有空洞卷积的空间金字塔结构,充分利用上下文提取更多特征信息,解码上采样(Upsample,Up)之间使用DSA 的残差结构和深度可分离卷积(Depthwise Separable Convolution,DSC)[15],跳连结构利用融合压缩注意力模型融合编码器浅层与深层特征,解码器增加残差结构恒等映射加强特征信息指导恢复图像结构。根据皮肤病灶的特性,提出的病灶分割网络结构如图1所示。
DenseNet 通过旁路建立前后层的稠密连接,聚合不同层的特征图,后续的特征层都能获得之前所有层的输出,加强特征的复用,DenseNet 稠密块的稠密连接结构布局如图2所示,其结构如式(1)所示:
图2 DenseNet模型稠密块结构Figure 2 DenseNet model dense block structure
分割问题中常用下采样操作增加感受野大小,通过减少特征维度去除冗杂信息,但此操作容易丢失局部信息,造成精度下降,因此采用空洞卷积来扩大感受野,同时不降低分辨率,通过设置不同扩张率(Dilation Rate)的空洞卷积增大核尺寸,有效对皮肤病灶区域多尺度信息进行提取和特征融合,其结构如图3所示。
图3 空洞空间金字塔池化模块Figure 3 Atrous spatial pyramid pooling module
本文使用3 种模块提取尺度特征,1×1 卷积对输入特征进行映射,4个扩张率分别是2、4、6、10的空洞卷积捕获多重感受野和不同尺度的上下文特征信息,但在扩张率逐渐增大时,其卷积权重的有效性会降低,造成只有接近中心处的部分区域有效,因此利用滑动步长为1的最大池化,在不改变原分辨率的同时整合图像上下文信息,保持底层的纹理特征,最后通过1×1卷积级联方式融合所有尺度信息,有效地降维和去除特征冗余模块。
本文结合DSA 与DSC 构成解码器。在传统UNet 结构皮肤病灶分割中,深层语义信息的解码尤为重要,上采样结构中需要对提取的图像特征进行细节信息的恢复,但是U-Net 模型尺度结构较为单一,容易出现分割图像边界模糊和残缺的情况,同时空间特征信息容易在多次采样中丢失。受到文献[16]中网络编码器启发,本文提出一种DSA 模型用于特征解码,模型结构如图4所示。
图4 稠密空间注意力模型Figure 4 Dense spatial attention model
为了提取深层特征,加强空间关联性学习能力,采用稠密结构的空间金字塔模型,增加网络宽度。文献[16]采取1×1卷积完成特征降维和升维,中间层卷积使用的是普通卷积核,不同的是本文对特征图采用稠密空洞空间卷积操作,特征融合采用通道叠加方式,最终利用注意力机制生成DSA 模型。本文利用1×1卷积与不同扩张率卷积相结合的并联结构,扩大特征感受野,获取多尺度特征,同时每组卷积利用级联分层的方式将学习的子特征信息叠加融合,增加了提取特征网络的深度,实现特征复用的同时获取更多重感受野,加强语义信息提取,提升对病灶区域噪声的抗干扰能力,利用这种并联加级联多路径细化方式加强像素级别的依赖性,最终将每个卷积提取后的结构信息进行聚合,其结构如式(2)和式(3)所示:
其中,oi为各支路卷积的输出特征,C[ ⋅]表示1×1 卷积操作,σ( ⋅)为sigmoid 激活函数,⊗为哈达玛积操作。模型将稠密特征叠加后通过1×1 卷积跨通道融合,同时通过激活函数对深层特征映射,细化成通道数为1的注意力特征权重,权重与输入特征采用哈达玛积操作,使网络自动调整特征权重以获得像素级别信息表征,加强病灶区域空间注意力来提升网络性能。在解码结构中将编码器的浅层特征与深层采样特征融合,输入DSA 恢复特征信息,同时利用残差结构进行像素级别加法操作,提升每个维度的信息量,保护输入的特征信息。
与传统解码器上采样后使用普通卷积不同,由于增加了DSA,深层特征数量庞大,上采样之后使用普通卷积导致参数量急剧增加,因此,解码器中将每个上采样特征通道维度叠加操作后,采用DSC 代替普通卷积,有效降低参数量,卷积操作结构如图5 所示。首先采用逐通道卷积对输入特征每个通道单独进行3×3卷积,获得与输入特征通道相同数量的特征图,然后设定1×1逐点卷积组的个数以控制输出特征层数,利用了不同通道在病灶区域的空间信息生成特征。
图5 深度可分离卷积Figure 5 Depthwise separable convolution
浅层的特征信息在解码中十分重要,模型中通常增加跳连结构,将编码器特征信息融合到解码器,解决梯度爆炸问题[17],同时利用浅层信息修正原始特征结构。本文在普通跳连结构中融合深层与浅层特征,通过高分辨率的纹理空间信息指导深层显著性目标的空间位置,同时为了避免所有特征图中非病灶区域造成性能影响,引入BSA 模块,关注空间特征编码,进一步降低细节恢复不足引起的病变区域分割模糊问题,模块如图6所示。
图6 融合压缩注意力模块Figure 6 Blend squeeze attention module
SE(Squeeze and Excitation)注意力[18]采用的是压缩通道方式,通过全局平均池化获得一维全局压缩特征,再利用两个全连接完成通道权值加权,与文献[18]不同的是,BSA 扩展了重加权通道。图6 中Hin为浅层高分辨输入,Lin为深层低分辨特征。模块利用一个浅层路径的注意力卷积通道学习权重,滑动步长为2 的3×3 卷积实施浅层非完全特征压缩降低特征维度,同时另一条支路最大池化保留浅层信息作为初始特征,深层特征利用卷积提取局部尺度语义特征信息同时重构通道数,然后深层卷积特征与浅层卷积特征利用加法操作(⊕),加强编码器同一位置空间下的特征信息量,增强像素间联系,由于网络深层提取的特征数量较多,为了有效利用浅层空间纹理信息和像素间的相互依赖性,同时修正深层语义信息,利用1×1卷积细化生成深层特征维度的显著性特征图,为避免下采样产生病灶边缘信息丢失问题,将特征图与浅层最大池化支路所保留的特征进行哈达玛积操作(⊗),对局部信息进行加权,有效利用浅层空间纹理信息指导深层特征显著性目标位置和像素间的相互依赖性:
本文采用的数据来源于生物医学影像国际研讨会举办的黑色素瘤皮肤病灶检测挑战赛ISBI 2016,利用公开的数据集评估算法模型,分割结果按照官方提供的指标进行评价。数据集包括900 张训练集图像和379 张测试集图像。由于图像分辨率较大且数据样本较少,本实验实施图像增强效果,包括随机旋转、裁剪、随机亮度等操作,图像尺寸统一调整到256×256。通过5个指标对模型评估:
Ntp,Ntn,Nfp,Nfn分别为真阳性、真阴性、假阳性和假阴性的像素点数量;Sen为灵敏度,表示正确分割出的病灶像素在实际病灶像素上的占比;Spe为特异性,表示正确分割出的非病灶像素在实际非病灶像素上的占比;Jac为Jaccard系数[19],表示正确分割出的病灶像素在标签与预测图像并集上的像素占比;Dic为Dice系数[20],表示分割结果与标签的相似度;Acc为准确率,表示正确分割的病灶像素和非病灶像素在图像总像素上的占比[21]。
实验仿真平台基于Ubuntu 16.04 系统,采用TensorFlow 2.1及其集成的Keras搭建模型,计算机配置Intel® CoreTM i7-6700 CPU @ 3.40 GHz 处理器,通过一块8G 显存的NVIDIA GeForce GTX1070 GPU进行模型训练。使用Adam 优化器优化,初始学习率设置为0.000 1,训练迭代次数30 次,同时设置训练批次大小为4。
语义分割中广泛使用交叉熵损失函数[22],但由于皮肤病灶区域与背景区域相差较大,容易导致训练出现偏差,因此本实验将二值交叉熵与Jaccard系数组合成LA损失函数。交叉熵反映特征信息的概率分布,常用于逻辑分类问题中[23],其二值形式如式(10)所示:
其中,yn是真实标签值,xn是预测输出值,N为最大像素个数,log(xn)和log( 1-xn)分别为衡量病变与非病变像素的对数似然函数。
由于皮肤病灶前景占比区域远小于背景,因此本文在二值交叉熵基础上结合Jaccard 距离弥补空间维度相似性的欠缺,如式(11)所示:
其中,yn×xn表示模型预测值与标签的交集,为模型预测值与标签的并集,两者之间的商即为衡量样本相似度,将1减去相似度作为距离损失函数,即通过最小化分割结果与标签病灶区域差异性以提高对病灶区域分割位置信息的灵敏度,通过两者的结合以适应前景与背景偏差问题,组合LA损失函数如式(12)所示:
为了充分说明网络中不同模块对分割性能的影响,实验在U-Net 架构基础上调整,具体如下:(1)使用U-Net分割,记作T1;(2)采用U-Net与DSA模块融合分割,记作T2;(3)采用U-Net 与ASPP 融合分割,记作T3;(4)使用U-Net、ASPP与DSA 模块,记作T4;(5)本文算法去掉DSA 模块,记作T5;(6)在T5 基础上使用文献[18]方法,记作T6;(7)采用本文算法,记作M1;(8)采用本文算法同时使用LA损失函数,记作M2。其中(1)~(7)使用二值交叉熵损失函数,实验结果如表1所示。
表1 不同网络结构的性能比较(%)Table 1 Performance comparison among different network modules(%)
由表1可知,U-Net以其稳健的结构特性获得不错的结果,但是各项指标都较低(T1),T2和T3两次实验各项结果均高出T1,其中Sen和Jac指标提升较多,表明提出的DSA模块和ASPP对病灶尺度信息及其形态结构都有良好的特征提取能力,在两者结合下的T4实验,提升各项指标的同时平衡了Spe与Sen两个指标参数。T5实验总体指标均高于T4,表明稠密结构编码器对特征重用能够有效的提取病灶区域特征信息,弥补U-Net编码器提取能力的不足,T6实验对比T5实验,T5中Sen和Jac等指标上均有优势,同时M1实验相较于T5实验结果也类似,可以看出本文提出的DSA模块和BSA模块相较于文献[15],在特征解码过程中对病灶点具有较好灵敏度和结构信息保持,进一步提升了网络性能。M2与M1实验对病灶与非病灶像素都能有效检测,使用LA损失函数的M2在没有降低灵敏度的同时有效提高了特异性,Jac系数和Dic系数都有提升,使网络更加平衡病灶区域结构保持,提高预测与标签之间的有效重叠区域,LA损失函数能更有效地降低噪声干扰,保留更多的病灶边界信息。
为了更直观显示改进算法的病灶分割效果,选取部分图像分割效果图,如图7 所示,第1~5 列分别为数据集中原始图像、标签、U-Net 分割结果、BCDU-Net(Bi-Directional ConvLSTM U-Net)[24]分割结果和本文算法分割结果。可直观看出改进的算法对皮肤病灶分割效果更好,相比于U-Net和BCDU-Net网络,在病灶周围干扰较多的图像中,本文算法分割出的整体轮廓处理得更好,对病灶边界的细节信息保留较为完整,在较大区域病灶中较好解决了分割不充分的问题,同时对于中小区域病灶分割也有很好的效果,特别是局部边界细节特征也能较好的保留。
图7 不同算法分割效果Figure 7 Results of segmentation by different algorithms
为了更清晰观察改进算法对皮肤病灶分割的性能,比较了ISBI 2016 官方竞赛中前5 名比赛队伍和其他部分文献的数据分割结果,如表2所示。
表2 不同算法分割结果(%)Table 2 Segmentation results obtained by different algorithms(%)
由表2 可知,改进算法M2 在Acc、Jac和Dic指标中最高,且相较于其他模型有较明显的提升,对比参赛队伍第1 名(EXB),Acc、Spe、Sen、Jac和Dic分别提高了0.78%、1.03%、1.37%、2.57%和1.98%,虽然TMUteam的Spe在单个指标数据上具有不错成绩,但距离本文算法总体性能还有差距,同时在相关文献提出的算法中,文献[12]的Sen指标最高,但本文算法在总体指标上性能都优于参考的网络模型。说明改进的算法在皮肤病灶分割中有较好的性能表现。
病灶区域中毛发遮挡严重和病灶边界对比度较低的图像对本文算法具有挑战性,边缘细节模糊问题还有待进一步改善,网络还有优化空间,今后的改进工作将优化计算量提高训练速度,加强对噪声干扰的处理,适当增加预处理操作,修复难以识别病灶的区域所导致的分割缺失和模糊问题,提高算法鲁棒性。
本文基于U型架构提出了一种稠密特征融合的皮肤病灶分割方法。通过DenseNet预训练模型和ASPP模型提取多尺度信息和特征融合,加强特征的重用,提升了网络编码性能,同时编码阶段利用BSA模块获取的浅层空间位置信息修正深层语义特征,并通过跳跃连接引入到残差结构DSA模型,以缓解上采样过程信息丢失的问题,利用嵌入解码器的DSC大幅度减少网络参数量,同时结合二值交叉熵与Jaccard距离组合的LA损失函数,有效提升Jaccard系数和Dice相似度等评估指标,较好地还原了病灶区域和整体结构,有效地缓解了分割偏移问题,提高了算法准确性和鲁棒性。实验结果表明,本文算法综合指标相比其他算法具有一定优势,提升了皮肤病灶分割的效果,有助于进一步提高皮肤病灶计算机辅助诊断效率。