基于深度学习的黑素瘤皮肤病图像识别算法

2023-05-29 09:24沈豪杰黄吉利徐晴宇张仕程任鹏
电子技术与软件工程 2023年7期
关键词:密集黑色素瘤集上

沈豪杰 黄吉利 徐晴宇 张仕程 任鹏*

(1.徐州医科大学医学信息与工程学院 江苏省徐州市 221000)(2.徐州医科大学医学影像学院 江苏省徐州市 221000)(3.徐州医科大学麻醉学院 江苏省徐州市 221000 4.徐州医科大学口腔医学院 江苏省徐州市 221000)

1 多模态神经网络算法

皮肤是防护机体的第一道屏障,覆盖于躯体表面,极易受到各种致病因子的损害。因此,皮肤病已经成为人类最常见的疾病之一。在所有类型的皮肤病中,黑色素瘤癌症被确定为人类中最致命的一种,其致死率超过所有死于皮肤病的患者的75%。黑色素瘤在我国发病率以每年3%-5%的速度增长,每年新增病例约为2 万[1]。早期发现可以将黑素瘤的5年存活率由14%提高至99%左右。皮肤病变图像分析是黑色素瘤诊断和治疗的重要进展[2]。这种技术可以帮助医生及时发现和识别黑色素瘤,并及早采取治疗措施。

近年来,许多国内外学者利用机器学习技术进行图像分割,以实现对皮肤病的早期检测和治疗。研究人员采用了具有不同性能的不同深度网络架构,在检测皮肤癌症方面取得了较高的准确率。Ansari 等人[3]提出了一种基于支持向量机(Support Vector Machine,SVM)的诊断分类方法,为了去除不需要的噪声,研究人员采用了中值滤波器。此外,他们还使用对比度增强技术以获得更高质量的图像结果,然后利用最大熵阈值对图像进行分割。Gautam 和Ahmed[4]提出了一种基于背景照明补偿的图像分割方法,以获得最准确的诊断结果。研究人员采用了迭代膨胀技术进行噪声去除。在特征提取方面,使用ABCDE 规则(不对称性、边界、颜色、直径和演变)来分析图像。最后,使用SVM 进行分类,达到了70%的准确率。随着GPU 计算能力的提高,卷积神经网络(Convolutional Neural Network, CNN)已成为图像处理中最强大的工具之一,包括医学图像分析[5-6]。常炳国等人[7]提出一种融合元数据和图像数据的多模态神经网络算法。通过感知机学习模型提取元数据的特征向量;通过CNN 模型提取图像数据的特征向量,将特征向量融合映射进行分类,用于黑色素肿瘤的早期辅助诊断。Pomponiu 等[8]在图像特征提取方面使用预训练的AlexNet 网络,然后使用k 最邻近分类器进行分类。Lopez 等[9]人在皮肤镜图像分类任务中,对VGGNet 进行了调整,并比较了三种不同的方法。这三种方法包括从头开始训练、将预训练网络用作特征提取器,以及对预训练网络进行微调。结果表明,第三种方法取得了最好的分类效果。Ahmed 等人[10]提出了一种全自动算法。他们选择将解码器架构与金字塔池单元相结合,从而实现皮肤镜图像中的皮肤病变。这种方法的优势在于不需要对图像进行任何灰度转换或预处理。

本文以深度学习中的CNN 方法为基础,将通道注意力机制与DenseNet 结合并应用于皮肤病变图像中的黑色素瘤鉴别任务。为了验证所提出算法的有效性,选取了4 种分类评价指标以及3 种对比模型。实验结果表明,与对比模型相比,本文的方法在各个评价指标上均获得了最佳效果。

2 方法

2.1 DenseNet

DenseNet 是在2017年提出的一种经典的图像分类网络[11],其主要的贡献是设计了密集连接结构,极地大增强了网络模型对于特征图的复用能力,有效地促进了不同网络层之间的信息流通,缓解了过拟合现象。构成DenseNet 的主要组件是密集块(Dense Block)和过渡层(Transition Layer),通过调控密集块内的连接层数,可以获得DenseNet 的4 个不同版本,包括DenseNet121、DenseNet169、DenseNet201 和DenseNet264。在传统的CNN 结构中,前一组特征图与后一组特征图相互连接,因此L 个网络层具有L 个连接。而密集块通过添加密集连接结构,将不相邻的特征图直接连接起来,使得L 个网络层具有个连接。图1 显示了一个具有10 个连接的4 层密集块结构。

图1:具有10 个连接的4 层密集块

假设输入特征图为X0, Xi(i=0,1,2,…4)表示为第i 层的特征图,Hi(·)表示为非线性变换,包括3×3 的卷积层、批量归一化和激活函数等。那么第4 层的输出特征图X4是对先前所有层的输出特征图进行非线性变换得到的,该过程的公式表达如下:

在一个整个密集块之后会跟随着过渡层,过渡层的作用是降低特征图的维度,它由一个1×1 的卷积层和一个2×2 的平均池化层(Global Average Pooling,GAP)组成。由于密集块内的层数设置不同,DenseNet 拥有4种不同的版本,本文选择了DenseNet121 作为研究对象。DenseNet121 首先由一个7×7 卷积层和一个3×3 最大池化层组成,这两个操作的步长均设置为2。剩余的网络部分主要由4 个密集块和3 个过渡层组成,每个密集块内部的连接层数量分别为6,12,24,16。除最后一个密集块以外,其余每个密集块之后都连接有一个过渡层。最后一个密集块的输出结果将会通过一个GAP 层和一个带有softmax[12]激活函数的全连接层,这个全连接层设置的神经元数量对应着目标任务所包含的类别数量。

2.2 通道注意力机制

受人类视觉关注特性的启发,机器视觉中的注意力机制可以帮助网络结构聚焦于更有效的特征信息。注意力机制按照获取获取注意力权重方式的不同一般可以分为通道注意力、空间注意力和混合注意力。本文选择引入通道注意力机制,其特点是即插即用且添加的额外参数量极少,几乎不会影响网整体的规模和推理速度。ECA[13]是一种高效的通道注意力机制,它提出了一种不降维的局部跨通道交互策略和自适应确定一维卷积核大小的方法,显著地提升了图像分类任务的性能。ECA 的具体结构如图2 所示。其中,F 表示输入特征图,F’表示输出特征图,H、W 和C 分别表示特征图的高度、宽度和通道数。GAP 表示全局平均池化,K 表示获取局部跨通道关系的一维卷积核大小。S 表示sigmoid 激活函数,U 表示相乘操作。

图2:ECA 的具体结构

ECA 的内部流程可以分以下步骤。首先,通过GAP 层汇集不同通道的空间信息,生成与通道数量一致的向量。其次,使用卷积核大小为K 的一维卷积对其进行特征提取。接着,通过sigmoid 激活函数生成归一化后的通道权重系数。最后,将输入特征图与得到权重系数相乘进行优化。上述过程中在一维卷积运算时使用的卷积核大小K 可以通过式(2)计算得到:

其中odd 指的数值最近的奇数,γ 设置为2,b 设置为1。给定了特征图的通道维度C,那么一维卷积的核大小K 可以自适应地计算得到。

2.3 EnDenseNet121

本文在DenseNet121 的基础上嵌入了ECA,并提出了一种新颖的黑色素瘤识别网络EnDenseNet121。具体地,我们在DenseNet121 中的每个密集块后添加了ECA结构,从通道维度强化网络模型对于重要特征的关注度,抑制无用的特征信息,最终提升对于黑色素瘤的识别效果。

EnDenseNet121 的具体结构如图3 所示,它主要包括4 个阶段的特征提取,每个密集块和过渡层的参数配置与DenseNet121 保持一致。本文是针对皮肤病变图像的良恶性2 分类问题,因此最后通过全连接层和sigmoid 激活函数输出预测结果,预测值越近1,表示模型认为输入样本属于黑色素瘤的概率越大。

2.4 损失函数

对于一张皮肤病变图像,模型对其进行前向传播后获得预测结果,并且通过特定的损失函数计算该预测结果与真实标签之间的差距。模型训练的目的就是不断优化权重参数从而逐步降低这个损失值。本文研究的目标是对于皮肤病变图像的良恶性二分类问题,因此采用了适用于二分类问题的二元交叉熵作为损失函数,它可以通过式(3)计算得到:

其中,yϵ{0,1}代表真实标签,pϵ(0,1)表示模型的预测结果。二元交叉熵用于评判二分类模型预测结果的好坏,当标签y 为1 时,预测值p 越接近1,损失值就越趋近于0。同理,当标签y 为0 时,预测值p 越接近0,损失值就越趋近于0。

2.5 评价指标

为了评估模型对于皮肤病变图像良恶性诊断的效果,我们采用了4 种分类评价指标,包括准确率(Accuracy)、召回率(Recall)、精准度(Precision)和F1得分(F1-score)。其中,准确率表示确分类的样本数量与样本总数量之比,召回率表示正确预测为正的样本数量与所有实际为正的样本数量之比,精准度表示模型正确预测为正的样本数量除以其预测为正的所有样本数量,F1 得分是通过平衡召回率和精准度计算得到的。上述评价指标的计算公式如下:

其中,真阴性(TN)表示预测为良性实际也为良性。真阳性(TP)表示预测为恶性实际也为恶性。假阴性(FN)表示预测为良性实际为恶性。假阳性(TP)表示预测为恶性实际为良性。

3 实验及结果分析

3.1 实验数据

本文的研究数据来源于SIIM-ISIC(2020)举办的黑色素瘤分类挑战赛[14],该数据集提供了大量的皮肤病变图像,并且给出了每张图像所属的类别:良性或恶性(黑色素瘤)。我们从上述数据集中提取了2130 例图像作为本文的研究对象,其中包括良性数据1163 例,恶性数据967 例。为了契合模型的输入维度,采用双线性插值方法将所有图像的高度、宽度和通道数分别统一调整为224、224 和3。此外,良性数据的标签编码为0,恶性数据的标签编码为1。最后,我们按照8:1:1 的比例将数据集划分为训练集、验证集和测试集,具体划分情况见表1。

表1:训练集、验证集和测试集划分情况

3.2 实验环境与训练参数

本文的实验平台为win11 64 位操作系统,运行内存为32GB,GPU 型号为NVIDIA GeForce RTX 3090,显存为24GB。所有实验的程序设计都是基于Python3.8.10完成的,其中模型的搭建采用了开源的深度学习框架Tensorflow2.9.0,结果分析部分采用了scikit-learn1.1.3工具箱完成。

在模型训练的过程中,更新模型参数的优化器设置为Adam[15],初始学习率设置为0.001,beta1 设置为0.9,beta2 设置为0.999。训练批次设置为16,训练轮次设置为140。每当模型在训练集上完整地训练一次后,即对验证集进行预测并记录相应的损失值,最终将验证集损失最小的模型权重保存用于测试。此外,为了降低学习率过大而导致模型错过全局最优解的风险,规定在训练轮次分别达到20,40,80 时,学习率分别下降至0.0005、0.00025 和0.000125。最后,我们还采用了随机翻转、随机平移和随机裁剪等多种数据扩增手段,用于防止在训练过程中出现过拟合现象。上述训练过程中使用的参数统一地应用于本文研究的所有模型。

3.3 实验结果

为了验证我们提出的EnDenseNet121 针对黑色素瘤识别的有效性,我们选择了VGGNet19、ResNet50 和DenseNet121 等3 个优秀的图像分类模型进行对比。我们首先分析了所有模型的训练过程,图4 显示了各个模型在训练过程中的损失值下降情况。可以发现,随着训练轮次的增加,不同模型的损失值逐步下降并趋于平稳,EnDenseNet121 的损失值收敛至最低。这表明了各个模型都在一定程度上学会了如何鉴别黑色素瘤,并且EnDenseNet121 在训练集上的学习能力最强。

图4:不同模型在训练集上的损失值下降曲线

图5 显示了所有模型在训练过程中的准确率上升情况。可以发现,随着训练轮次的增加,不同模型的准确率逐步上升并趋于平稳。其中,VGGNet19 对于黑色素瘤的识别效果最差,ResNet50 和DenseNet121 的识别效果较为接近。EnDenseNet121 由于引入了ECA 机制,增强了模型对于黑色素瘤特征的关注度,因此效果超越了所有的对比模型,在训练集上获得了最高的识别准确率。

图5:不同模型在训练集上的准确率上升曲线

最后,我们将各个模型在验证集上表现最好的模型保存用于对测试集进行预测。表2 展示了所有模型在测试集上的预测效果,包括前文提到的4 个评价指标。

表2:不同模型在测试集上的预测结果

通过表2 可以得到,所有模型对于黑色素瘤的识别准确率都能达到80%以上。其中,VGG19 的准确率达到了80.28%,ResNet50 和DenseNet121 由于跳跃连接的引入,识别效果显著提升,准确率分别为83.56%和84.03%。EnDenseNet121 在所有评价指标上均获得了最佳表现,准确率达到86.38%,精准度达到81.90%,召回率达到89.58%,F1 得分达到85.57%。

4 结语

借助人工智能技术对皮肤病变图像进行分析具有重要意义,这能够帮助医生迅速地发现和识别黑色素瘤并及时采取相应的治疗措施。本文以优秀的图像分类模型DenseNet 为基础,将其进一步与高效的通道注意力机制ECA 相结合,提出了一种能够在皮肤病变图像中鉴别黑色素瘤的深度学习模型EnDenseNet121。在公开的皮肤病变数据集上的实验结果表明,本文提出的方法能够有效地识别黑色素瘤,在各个分类评价指标上均超越了对比模型,准确率达到86.38%,精准度达到81.90%,召回率达到89.58,F1 得分达到85.57%。在未来的工作中,我们将会进一步引入特征能力挖掘更强的模块,提升模型的分类性能。同时,我们还会考虑对模型进行轻量化处理,以满足实时分析皮肤病变图像的需求。

猜你喜欢
密集黑色素瘤集上
耕地保护政策密集出台
密集恐惧症
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
基于5G超密集组网的规划与设计
复扇形指标集上的分布混沌
原发性食管恶性黑色素瘤1例并文献复习
颅内黑色素瘤的研究进展
左拇指巨大黑色素瘤1例
欧盟等一大波家电新标准密集来袭