皮肤黑色素癌[1]是由一种黑素细胞引起的恶性皮肤癌. 传统的基于机器学习的皮肤黑色素癌图像识别方法[2-4]主要包括两部分: 图像特征提取和图像识别. 由于皮肤黑色素癌图像的特殊性, 皮肤黑色素癌与非黑色素癌之间的类内差异大, 类间差异小. 利用传统的人工特征提取方法无法精确地提取出皮肤黑色素癌图像的特征, 诊断准确率偏低. 近几年, 卷积神经网络在图像识别技术中表现良好, 基于卷积神经网络(Convolutional Neural Network, CNN)的皮肤黑色素癌图像识别技术可以通过网络结构自动学习提取训练集图像中的特征并用于分类, 分类效果显著.
2016年, Kawahara等人[5]利用CNN网络识别皮肤癌图像, 并利用Dermofit皮肤癌数据集训练, 得到的诊断准确率为78.1%. 2018年, Dorj等人[6]提出利用AlexNet网络提取皮肤癌图像的特征, 通过收集3753幅皮肤癌图像训练, 得到的分类准确率为95.1%. 2019年, 管秋等人[7]利用深度残差网络识别皮肤黑色素癌, 并通过ISIC2016数据集(2016年国际皮肤影像协会ISIC皮肤癌数据集)训练, 识别准确率为86.8%. 胡海根等人[8]通过掩盖技术对ISIC2017数据集(2017年国际皮肤影像协会ISIC皮肤癌数据集)进行随机掩盖与非随机掩盖增强, 形成两个不同的数据集, 利用深度残差网络分别进行训练, 同时对两个训练模型集成学习, 得到的识别准确率为86.7%.
基于CNN网络的图像识别技术需要大量的训练数据集为基础, 但是在医疗影像识别领域, 医疗数据的获取途径有限, 无法得到大规模的医疗数据. 数据量过小就容易出现过拟合的问题. 迁移学习可以有效地解决数据集数量小的问题, 它首先通过依靠其他图像数据集训练获取网络模型参数, 再迁移应用到目标网络模型中, 从而提高目标网络的识别准确率. 因此, 很多学者开始使用迁移学习技术识别皮肤黑色素癌图像. 2017年, Esteva等人[9]收集整理了12万张由专业的皮肤癌医生标注的皮肤癌图像, 利用迁移学习在InceptionV3结构中训练, 达到了91%的准确率. Bi等人[10]将ISIC 2017数据集作为训练数据, 使用ResNet网络进行迁移训练, 识别的准确率达到了91.5%. 2018年, 董青青等人[11]利用ISIC 2016数据集在改进的卷积神经网络中训练, 利用CNN网络做迁移训练, 准确率达到了91.92%. 2019年, 柏朋成[12]利用深度残差网络识别皮肤黑色素癌, 并利用ISIC 2017数据集迁移训练, 识别准确率为85.3%.
基于迁移学习的皮肤癌影像识别技术都是依靠其他领域的图像数据(如ImageNet数据集[13])训练获取特征, 这种方法只能提取皮肤黑色素癌图像的高层次卷积层的特征, 即全局特征, 并不能充分挖掘图像的局部特征. 而在皮肤黑色素癌影像中, 局部纹理结构信息是区分黑色素瘤的重要标志. 深度残差网络(deep Residual Network, ResNet)可以训练学习皮肤黑色素癌图像的局部特征和全局特征, 同时解决训练过程中过拟合的问题, 在皮肤黑色素癌识别中的效果优良.
虽然ResNet网络解决了深层次网络中的过拟合问题, 但是该网络仍然存在训练参数多、训练时间长的问题. 为了提高网络的训练效率, 提高皮肤黑色素癌的识别准确率, 本文提出了IDRN算法, 通过将Inception模块与残差模块结合, 利用Inception模型代替传统ResNet网络中的卷积层、池化层, 并利用SeLU函数作为网络的激活函数对皮肤黑色素癌图像进行识别诊断. 最后利用旋转、翻转操作对ISIC2017皮肤癌数据集进行数据增强后, 将增强后的数据集在IDRN模型中进行训练. 实验结果表明, 本文提出的IDRN算法在皮肤黑色素癌分类中准确率达到了94.32%, 远远超过了其他网络模型.
1 深度残差网络与Inception结构 1.1 深度残差网络在CNN模型中, 通过增加网络层数, 可以整合低、中、高不同层次的图像特征, 包含了局部图像到全局图像等不同的特征. 因此在一定程度下, 卷积神经网络的网络层数越大, 提取的图像特征就越丰富, 识别准确率越高. 但是这样就会出现梯度消失和网络退化的问题. 尽管正则化等方法已经优化了梯度消失问题, 但是当网络层数绝对增加时, 梯度消失仍然存在, 模型会产生退化现象. 2016年, He等[14]提出了ResNet网络结构, 解决了深度网络存在的问题.
ResNet网络由多组残差网络结构组成, 每个残差网络结构包含了若干个残差学习模块(又称为残差块). 一个残差学习结构是通过多个卷积层以及快捷连接(shortcut connection)构成, 图1为一个残差学习结构.
根据图1可知, 在残差学习结构中输入为X, 输出为H(X), H(X)主要由残差映射函数F(X)和快捷连接X两部分组成, 即H(X)=F(X)+X. 其中, F(X)是X在主路径上的输出. 而快捷连接可以实现残差学习, 可以将某一层神经元的输出直接跨越多层网络直接传送给后面的某一层网络中. 恒等映射可以解决多层网络中出现的网络退化的问题. 具体原理是残差网络通过训练残差映射函数F(X)中的参数训练学习, 当模型判断当前残差块为冗余层时, 就会将F(X)的参数训练为0, 使结构的输出为输入X, 保证经过该恒等层的输入X和输出H(X)完全相同, 从而实现恒等映射.
在ResNet网络中, 由于网络模型参数量较大, 通常会先利用1×1的卷积核将X降维. 同时, 考虑到残差层F(X)与输入数据X的维度是否一致, 何恺明教授提出了恒等映射残差模块以及卷积残差模块(如图2和图3所示). 当F(X)与X的维度相同时, 使用恒等映射残差模块实现; 计算公式为:
$H(X) = ReLU(X + F(X))$ | (1) |
其中, X为残差块的输入, H(X)为残差块的输出, F(X)为残差映射函数, ReLU( )为激活函数.
而当F(X)与X的维度不同时, 使用卷积残差模块, 利用
$H(X) = ReLU(\varphi (X) + F(X))$ | (2) |
其中,
深度残差网络ResNet50由恒等映射残差模块以及卷积残差模块组成, 图4为ResNet50的网络结构. 其中Conv_block模块为卷积残差模块, idebtity_block模块为恒等映射残差模块. ResNet50网络包含50层网络结构, 分别为1层卷积层、48层残差结构和1层全连接层.
在ResNet50网络中, 输入图像大小为224×224×3, 经过7×7卷积层以及池化层后变为56×56×64大小的特征向量, 然后经过3个block1残差模块后, 转化为56×56×256大小; 再经过4个block2残差模块, 转化为28×28×512大小; 其次通过6个block3模块, 转化为14×14×1024大小; 再通过3个block4残差模块, 转化为7×7×2048大小; 最后通过平均池化以及全连接层将特征图像拉伸为2048个神经元后利用Softmax分类输出.
1.2 Inception结构
2014年, Szegedy等[15]提出GoogLeNet模型, 第一次提出Inception结构. 由于皮肤黑色素癌数据集的数量有限, 采用传统的ResNet网络训练参数过多, 容易出现过拟合的情况. 利用Inception结构提取图像特征可以在横向增加网络结构, 实现多尺度提取输入图像特征向量, 实现了在增加网络神经元个数并大大地减少网络参数数量.
传统的Inception模块将1×1、3×3、以及5×5的卷积层与池化层并行连接, 并将结果连接输出. Inception模块主要通过1×1的卷积核来降低图像的维度, 达到减少网络参数的效果. 在后续Inception V2模型中, 为了进一步地减少网络的参数, Google团队提出将5×5的卷积核用两个3×3的卷积核代替, 更小的卷积核来减少模型的参数, 实现了卷积核感受野不变的情况下, 降低了模型的参数数量, 具体网络如图5所示. 之后, Inception V3模型提出了将7×7的卷积核分解为1×7和7×1的两个一维卷积, 进一步减少了模型参数量, 增加了网络的深度.
2 基于Inception深度残差网络皮肤黑色素癌分类识别算法 2.1 基于深度残差网络的改进深度残差网络模型解决了极深卷积神经网络中存在的梯度消失和网络退化的问题, 但是该网络中的参数数量过大, 训练时间长. 针对以上的问题, 本文提出了IDRN算法, 将Inception结构引入到传统的ResNet网络中, 代替原始网络中的卷积层和池化层, 从而减少算法的时间复杂度; 同时改进网络的激活函数, 提高了算法对皮肤黑色素癌图像的识别准确率.
2.1.1 引入Inception模块
Inception模块实现了卷积神经网络横向维度的扩展, 从广度出发, 提高网络模型的准确率, 极大地减少了网络模型的参数数量. 本文利用改进后的Inception V2模块代替传统ResNet50网络中的第1层卷积层与第2层池化层, 通过对输入图像并行地执行多个卷积操作, 最后将结果拼接为一个特征向量输入到残差模块中. 利用Inception模型代替传统ResNet50网络中的卷积池化层, 可以实现通过多种不同大小的卷积核多尺度提取皮肤黑色素癌图像的特征, 丰富图像特征信息. 同时, 改进后的Inception结构也大大地减少了ResNet50网络的参数数量, 结构如图6所示.
图6中第1列包括3个3×3的卷积核, 实现了7×7卷积核卷积效果, 第2列包括2个3×3的卷积核, 实现了5×5的卷积核卷积的效果, 第3列为池化层. 经过Inception结构实现了将输入图像分别通过不同大小的来提取不同尺度的信息, 丰富了图像的特征信息, 提高图像识别的准确率. 同时, 传统的ResNet50网络为7×7的卷积层和池化层, 在这一层中训练参数为9408个. 而本文改进后的Inception结构将参数数量减少为1296个, 提高了模型的训练速度.
2.1.2 改用SeLU激活函数卷积神经网络中, 卷积池化操作为线性操作, 通常还需要通过一层激活函数变化来提高模型的非线性. 传统的激活函数包括Sigmod函数、tanh函数、ReLU函数等, 而ResNet使用ReLU激活函数, 用来解决梯度消失的问题. 但是ReLU函数处于负半轴时梯度为0, 会出现神经元死亡的情况, 影响之后的计算; 其次, ReLU函数具有稀疏处理作用, 容易丢失图像的有效特征; 并且ReLU函数的正半轴部分的导数恒为1, 当梯度极小时依然存在梯度消失.
针对ReLU函数的缺点, IDRN算法提出使用SeLU函数[16]作为激活函数, SeLU函数如式(3)所示.
$SeLU(x) = \left\{ \begin{array}{l} \lambda x,x > 0 \\ \lambda(\alpha {{\rm e}^x} - \alpha) ,x \le 0 \\ \end{array} \right.$ | (3) |
其中, λ>1. 由式(3)可知, SeLU激活函数的正半轴导数为λ, 这样就可以进一步减少梯度消失; 同时, 在函数的负半轴不为零, 防止了神经元死亡情况的出现, 能够全面地学习图像特征, 改进后的残差学习模块如图7所示.
2.2 Inception深度残差网络结构本文在ResNet50网络的基础上, 利用Inception结构代替了ResNet50网络初始阶段的卷积池化层, 同时利用SeLU函数作为网络中的激活函数, 并修改了输出节点的个数. 改进后的IDRN模型主要包括改进后的Inception结构和残差网络. 其中, Inception结构是由3条卷积池化网络并行连接而成(具体结构见图6). 残差网络则是IDRN网络的主要部分, 它由4个残差网络结构组成, 每个残差结构均由若干个残差块构成. 最后通过均值池化层以及Softmax线性分类器对皮肤黑色素癌进行分类, 得到输出结果. 整体网络结构包含54层, 分别为4层Inception结构, 以及由残差块组成的48层残差结构和平均池化层、全连接层, IDRN模型与ResNet50模型结构对比.
通过表1模型结构可以计算, 对于一张像素为224×224大小的RGB皮肤黑色素癌图像作为模型的输入图像, 采用本文改进的Inception深度残差网络结构的训练参数为1.79×107个. 若采用传统的ResNet50网络模型, 则训练参数高达2.55×107个. 从理论上分析, 本文提出的IDRN算法相较于ResNet50 网络减少7.6×106个训练参数, 可以解决深度残差网络训练参数数量过多的问题, 可以有效地降低模型的训练时间和时间复杂度.
图8为IDRN算法的网络结构图, 输入的皮肤镜图像大小为224×224像素, 通道数为RGB三通道. 输入图像首先通过改进Inception结构, 经过不同大小的卷积核并行提取图像特征并进行连接, 转换为56×56×64大小的特征向量; 然后经过3个ResNet_1残差模块后, 将图像的特征向量转化为56×56×256大小; 再经过4个ResNet_2残差模块, 将图像特征向量变化成28×28×512大小; 其次通过6个ResNet_3模块, 将特征向量转化为14×14×1024大小; 再通过3个ResNet_4残差模块, 将特征图像转化为7×7×2048大小; 最后通过平均池化以及全连接层将特征图像拉伸为2048个神经元后, 通过Softmax分类器将皮肤癌图像分为黑色素癌、黑色素痣以及脂溢性角化病3类.
3 实验 3.1 实验数据及数据增强
本文实验数据采用2017年国际皮肤影像协会提供的黑色素皮肤癌病变识别的皮肤镜数据集[17]. 该数据集包括恶性黑色素癌、黑色素痣以及脂溢性角化病3类, 其中包括2000张训练集, 600张测试集, 图像数据为JPG格式. 为了防止网络过拟合, 通过图像旋转的方式对数据集进行数据增强, 主要包括顺时针旋转90度、180度、270度以及水平翻转4种操作. 经过数据增强后的ISIC2017皮肤癌训练集有10000张, 测试集3000张. 同时, 因为网络中存在全连接层, 本文将皮肤癌数据集进行了预处理, 将数据统一为224×224像素大小的图像.
3.2 参数设置本文实验在Windows10 64位平台环境上运行, 基本配置是Intel Core i5-4590四核处理器, 16 GB DDR3内存, NVIDIA GTX1050 Ti独立显卡. 同时使用Keras开源框架验证IDRN算法对皮肤黑色素癌图像的识别效果.
3.2.1 学习率本文实验学习率的调整采用固定更新策略, 通过保持实验环境、迭代次数、激活函数不变, 分别运行学习率为1×10−2、1×10−3、1×10−4以及1×10−5时, IDRN算法在皮肤癌数据集上的识别准确率, 当网络模型的迭代次数为25次, 每次迭代的Batch-size为10时, 运行结果如图9所示.
通过图9可以得到, 学习率为1×10−4时与学习率为1×10−5时相差不大, 仅高于1%. 但是相比于学习率为1×10−3时, 增长了18%左右的准确率. 同时, 由于学习率越小, 模型收敛的速度越慢, 运行时间越长, 因此本文采用学习率为1×10−4作为本文IDRN算法的学习率.
3.2.2 SeLU激活函数本文利用SeLU激活函数代替传统ResNet网络中的ReLU激活函数. 通过实验表明, 在仅仅改变激活函数的情况下, IDRN算法在ISIC2017皮肤癌数据集上进行实验, 当网络模型的迭代次数为10次, 每次迭代的Batch-size为10, 学习率为1×10−4时, 实验结果如表2所示. 通过表2数据可以得知, 采用SeLU激活函数的模型训练准确率远远高于采用ReLU激活函数的模型.
3.3 实验结果
在本文实验中, 由于内存限制, 每一个batch_size只能设置为10, 因此本文实验是在学习率为1×10−4, 迭代次数为25次, batch_size为10, 激活函数为SeLU函数, 输入图像尺寸为224×224大小的情况下进行的. 同时, 为验证本文模型的有效性, 将本文提出的IDRN算法与几种不同深度的经典卷积神经网络模型在同一实验参数下进行对比实验. 通过将AlexNet[18]、VGG16[19]、GoogLeNet以及ResNet50模型分别在ISIC2017皮肤黑色素癌数据集中进行实验, 实验结果如表3所示.
从表3中可以得到, 本文提出的IDRN算法模型在皮肤黑色素癌数据集中的表现最好, 识别准确率达到了90%, 相比于AlexNet、VGG16、GoogLeNet以及ResNet50, 本文提出的算法模型在准确率得到了提升. 同时, 对于网络的训练参数, IDRN算法比ResNet50、Alexnet算法模型的训练参数少, VGG16模型的训练参数最多, GoogLeNet模型的训练参数最少; 对于模型训练过程中平均每张图片的训练时间, IDRN算法模型比ResNet50的训练时间短, AlexNet模型的训练时间最小, VGG16模型的训练时间最长. 综合比较得知, 本文提出的IDRN算法的训练参数以及每张图像的平均训练时间都比ResNet50模型得到了减少, 同时对于皮肤癌图像的识别准确率得到了提高.
将测试集作为输入数据在训练好的IDRN模型中进行预测与评估后, 得到的评估结果如表4所示.
通过表4可以得知, IDRN算法在测试集中表现良好, 证明本文提出的网络模型具有很好地泛化能力, 对于皮肤黑色素癌识别诊断可以起到辅助诊断的效果.
4 结论本文针对皮肤黑色素癌图像识别困难, 利用深度残差网络可以有效地解决过拟合问题, 提高识别准确率. 但是针对传统的深度残差网络识别皮肤黑色素癌图像存在训练参数多、时间效率低等问题, 本文提出了基于Inception深度残差网络的IDRN皮肤黑色素癌分类识别算法. 通过理论分析深度残差网络结构, 利用Inception模型代替网络层中的卷积层和池化层, 减少模型的训练参数数量. 同时使用SeLU函数作为网络的激活函数, 提高算法的识别准确率. 通过实验表明, 本文提出的IDRN算法比其他传统的卷积神经网络结构在ISIC2017皮肤癌数据集中的表现要好, 识别准确率提高为94.32%. 在未来的研究中需要进一步优化网络结构, 可以考虑对任意尺寸的输入图像进行识别, 进一步提高实验准确率.
本文的IDRN算法同样适用于其他领域的图像识别研究, 对其他领域图像识别任务具有良好的泛化性能, 有一定的研究意义.
[1] |
董小龙, 马勇光. 皮肤恶性黑色素瘤诊断及外科治疗策略. 中国美容医学, 2016, 25(6): 108-112. DOI:10.15909/j.cnki.cn61-1347/r.001220 |
[2] |
Mete M, Ou YL, Sirakov NM. Skin lesion feature vector space with a metric to model geometric structures of malignancy for classification. 15th International Workshop on Combinatorial Image Analysis. Austin, TX, USA. 2012. 285–297.
|
[3] |
刘志杰. 基于皮肤镜的黑色素瘤识别算法研究[硕士学位论文]. 成都: 电子科技大学, 2015.
|
[4] |
Vani BG, Selvaraj A. Segmentation and classification of skin lesions based on texture features. International Journal of Engineering Research and Applications, 2014, 4(12): 197-203. |
[5] |
Kawahara J, Hamarneh G. Multi-resolution-tract CNN with hybrid pretrained and skin-lesion trained layers. 7th International Workshop on Machine Learning in Medical Imaging. Athens, Greece. 2016. 164–171.
|
[6] |
Dorj UO, Lee KK, Choi JY, et al. The skin cancer classification using deep convolutional neural network. Multimedia Tools and Applications, 2018, 77(8): 9909-9924. DOI:10.1007/s11042-018-5714-1 |
[7] |
管秋, 李疆, 胡海根, 等. 基于深度残差网络的皮肤癌黑色素瘤识别. 浙江工业大学学报, 2019, 47(4): 430-435. DOI:10.3969/j.issn.1006-4303.2019.04.013 |
[8] |
胡海根, 孔祥勇, 周乾伟, 等. 基于深层卷积残差网络集成的黑色素瘤分类方法. 计算机科学, 2019, 46(5): 247-253. DOI:10.11896/j.issn.1002-137X.2019.05.038 |
[9] |
Esteva A, Kuprel B, Novoa RA, et al. Dermatologist-level classification of skin cancer with deep neural networks. Nature, 2017, 542(7639): 115-118. DOI:10.1038/nature21056 |
[10] |
Bi L, Kim J, Ahn E, et al. Automatic skin lesion analysis using large-scale dermoscopy images and deep residual networks. https://arxiv.org/abs/1703.04197. (2017-03-17).
|
[11] |
董青青, 银温社, 易三莉. 基于卷积神经网络的皮肤癌良恶性预测. 通信技术, 2018, 51(9): 2081-2086. DOI:10.3969/j.issn.1002-0802.2018.09.012 |
[12] |
柏朋成. 基于深度学习的皮肤镜图像黑色素瘤检测技术研究[硕士学位论文]. 广州: 华南理工大学, 2018.
|
[13] |
Deng J, Dong W, Socher R, et al. ImageNet: A large-scale hierarchical image database. 2009 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Miami, FL, USA. 2009. 248–255.
|
[14] |
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA, 2016. 770–778.
|
[15] |
Szegedy C, Liu W, Jia YQ, et al. Going deeper with convolutions. Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Boston, MA, USA. 2015. 1–9.
|
[16] |
Klambauer G, Unterthiner T, Mayr A, et al. Self-Normalizing Neural Networks. Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach, CA, USA. 2017. 972–981.
|
[17] |
Codella NCF, Gutman D, Celebi ME, et al. Skin lesion analysis toward melanoma detection: A challenge at the 2017 International Symposium on Biomedical Imaging (ISBI), hosted by the International Skin Imaging Collaboration (ISIC). 2018 IEEE 15th International Symposium on Biomedical Imaging (ISBI 2018). Washington, DC, USA. 2018. 168–172.
|
[18] |
Krizhevsky A, Sutskever I, Hinton GE. ImageNet classification with deep convolutional neural networks. Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe, CA, USA. 2012. 1097–1105.
|
[19] |
Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition. http://arxiv.org/pdf/1409.1556.pdf. (2015-04-10).
|