林凯迪,杜洪波*,王鸿菲,朱立军
(1.沈阳工业大学 理学院,沈阳 110870; 2.北方民族大学 信息与计算科学学院,银川 750021)
据世界卫生组织统计,每年有1/3的癌症是皮肤癌.近年来,我国的皮肤癌发病率逐年提高,但目前全国的皮肤科医生仅有2万多名,存在严重短缺和分布不均的情况,同时皮肤病种类多样,有2 000多种,存在着不同疾病相似的症状,同一疾病不同的症状,这都极大地阻碍了医生的诊断,尤其是在医疗资源不发达的地方,皮肤病的确诊率非常低[1].而皮肤镜是一种无创性显微图像分析技术在皮肤癌早期的诊断和筛查中有显著作用[2-4].因此,运用皮肤镜图像来进行计算机辅助诊断技术也应运而生,并得到了广泛的应用.
Ballerini等[5]对K最近邻算法进行改进,并实现了皮肤镜图像的分类.Celebi等[6]先对皮肤镜图像做分割处理,再提取病灶的特征,然后使用支持向量机进行二分类,实现了恶性黑色素瘤的识别.以上方法均需要人工提取病灶的特征.随着深度学习的发展,研究人员将深度神经网络应用到皮肤镜图像的检测中.与传统计算机辅助检测方法相比,深度学习方法具有两种显著优势:① 自动提取特征;② 识别准确率更高.Codella等[7]将卷积神经网络与支持向量机结合,实现了皮肤镜图像中黑色素瘤的识别.Kawahara等[8]使用改进的AlexNet网络来提取皮肤病图像中的特征,再结合支持向量机进行图像的识别.李航等[9]使用深度残差网络提取皮肤镜图像的特征,并采用支持向量机进行分类任务,得到了85%的准确率.
但是,对于皮肤镜图像的识别与分类问题,由于基于卷积神经网络的方法在特征提取方面的能力有限,还存在许多缺点和不足,黑色素瘤的识别准确率并不理想.胶囊网络是Hinton等[10]于2017年提出的一种新型深度学习网络结构,将神经元由标量提升为向量.用一组神经元组成可以表示特征(或实体)间的空间关系以及特征(或实体)存在的概率来表示胶囊.动态路由算法使用路由迭代的方式连接不同隐藏层之间的胶囊,使胶囊以更少的模型参数获得更强的泛化能力.李励泽等[11]使用该模型进行了色素新皮肤病识别的研究,准确率达到82.24%.
随后,Hinton于2018年提出了使用EM(expectation-maximization)算法的矩阵胶囊网络[12],其胶囊包括姿态矩阵和激活概率,感受野的增加使得该网络可以拟合复杂图像.因此,本文将特征表征能力更强的矩阵胶囊网络应用到皮肤镜图像的分类中,实验数据采用国际皮肤成像组织(international skin imaging collaboration,ISIC)2017年公布的图像,基于TensorFlow深度学习框架的结果表明,使用矩阵胶囊网络可以达到更高的准确率.
矩阵胶囊网络由卷积层、初始胶囊层、卷积胶囊层和全连接层组成[10].其结构如图1所示,该模型以大小为5×5的卷积层开始,具有32个通道(A=32),步长为2,采用ReLU非线性函数进行激活.初始胶囊层利用1×1×32×(4×4+1)的卷积核计算得到,通道数为32(B=32),4×4是姿态矩阵的大小,1是激活概率;初始胶囊层后是两个3×3卷积胶囊层(K=3),每个胶囊层有32个胶囊类型(C=D=32),步长分别为2和1.最后一层卷积胶囊层连接到最终的胶囊层,每个输出级别由动态路由规则计算得到一个输出胶囊[13].
图1 矩阵胶囊网络结构Fig.1 Matrix capsule network structure
假设胶囊j∈ΩL+1的姿态矩阵服从正态分布,则可以用分布的均值表示该姿态矩阵的输出.将L层胶囊i的输出与转换矩阵Wij的乘积作为胶囊j姿态矩阵的分布的观测值,而每个L层胶囊i连接到胶囊j的概率Rij则是隐藏参数,因此使用了EM算法来实现动态路由规则[13].EM算法通过迭代的方式进行参数估计,由两步构成.E步:求期望(expectation),根据M步的结果更新胶囊i到胶囊j的连接概率;M步:求极大(maximization),计算L+1层胶囊j姿态矩阵的分布期望与是否激活.
首先,初始化胶囊层间的连接概率.假设ΩL为L层胶囊的集合,ΩL+1表示L+1层胶囊的集合,i,j表示不同的胶囊且∀i∈ΩL,j∈ΩL+1,则:
(1)
在M步,首先更新胶囊i到胶囊j的连接概率:
Rij=Rij×ai,
(2)
其中,ai为胶囊i的激活概率.接着对胶囊j的均值方差进行点估计:
(3)
(4)
∀h:aj←logistic(λ(βa-∑hcosth)).
(5)
其中,βu,β,λ在训练中得出.接下来进入E步的计算.根据M步所估计的期望求胶囊i的输出属于胶囊j的分布的概率:
(6)
其中,Pj表示分布概率.然后根据Pj,更新连接概率Rij:
(7)
E步结束.最后,对以上两个步骤迭代得到动态路由结果.
实验仿真环境为python3.6,Anaconda3,TensorFlow1.15,Keras2.2.4.硬件环境为深度学习GPU运算塔式服务器主机,采用可支持两个INTEL XEON SP的可扩展处理器(10核/20线程2.2 G),内存为双16 G(24个DIMM插槽),GPU使用1块GeForce RTX3070.
皮肤镜是一种表皮透光显微镜,医生诊断可疑皮肤病变的常见非侵入性方法便是采用分析患者皮肤镜图像的方法.使用手持式放大设备,让肉眼看不见的皮肤结构可以看见,以此来区分恶性皮肤病变与良性黑素细胞痣,在诊断黑色素瘤方面尤为重要[14].为了增强皮肤病变区域的成像清晰度,皮肤镜设备包括可放大10到14倍的高质量镜片和照明系统.皮肤镜及皮肤镜下的皮肤如图2和图3所示.
图2 非黑色素瘤示例Fig.2 Example of non-melanoma
图3 黑色素瘤示例Fig.3 Example of melanoma
皮肤镜图像是交叉偏振滤光镜(非接触式皮肤镜)或油/凝胶界面(浸入式皮肤镜)等专业设备产生的图片.临床图像是由常规的方法获取的图片,如手机或普通相机捕获的图像.从临床图像相比,皮肤镜图像的成像质量更高,有利于图像处理,因此本文使用皮肤镜图像作为实验数据.
皮肤镜图像数据集因为其数据的专业性,分类标记的过程需要医生专家的参与,是成本很高的数据集.本文采用国际皮肤成像合作组织ISIC(International Skin Imaging Collaboration)于2017年提供的数据集,共2 000张皮肤镜图像.训练集和测试集中的黑色素瘤与非黑色素瘤的分布如表1所示.
表1 数据集中黑色素瘤与非黑色素瘤数量Tab.1 Number of melanoma and non-melanoma in the data set
为了使训练对模型的初始化和超参数不那么敏感,采用传播损失(spread loss)作为反向传播的损失函数.第i类(不是真标签)的损失被定义为:
Li=(max(0,m-(at-ai)))2,
(8)
其中,at是目标类的激活值,ai是类i的激活值.总损失为:
(9)
模型训练的传播损失结果如图4所示.同时,输出模型的重构损失如图5所示.
图4 传播损失 图5 重构损失Fig.4 Spread loss Fig.5 Reconstruction loss
可以看出,当训练次数不断增加,损失值逐渐趋于0.结合学习率(图6)的结果图可以得知,模型在训练到4 000步时达到稳定状态,模型开始收敛.
图6 学习率 图7 测试集精确度Fig.6 Learning rate Fig.7 Test set accuracy
测试集的识别准确率如图7所示,平均准确率为98.2%.这说明,矩阵胶囊网络在皮肤病识别上的准确率较高,有很大的应用潜力.
F1指数是根据准确率和召回率给出的一种综合评价,是两者的调和均值.实验采用F1指数作为模型性能的评价指标.
(10)
(11)
其中,P为准确率,R为召回率.TP表示真阳性,FP表示假阳性,FN表示假阴性.F1的计算公式如下:
(12)
实验结果如表2所示.
表2 评价指标结果Tab.2 Evaluation index result
评价一个算法的优异常常选用准确率,但在实际应用中很容易实现一个没有用处的算法,所以选取了F1值来衡量本文的算法,通过引入召回率,也就是被正确识别出来的个体数与该数据集的总体数的比例.由表2可知该算法的准确率和召回率都较高,最终得到的F1值也较高,可见运用了矩阵胶囊网络模型的稳定性较高.
为了验证本文模型的有效性和优势,选择了卷积神经网络的AlexNet、ResNet、VGGNet以及矩阵胶囊网络等网络在ISIC2017数据集上进行了对比实验.
AlexNet发展了LeNet,在2012年的ILSVRC大赛上奠定了卷积神经网络在计算机视觉领域的优势地位;VGG网络在AlexNet的基础上减小了卷积核的大小,提高了网络的深度,使得VGGNet有更广泛的应用;2015年ResNet被提出,通过提出残差网络结构有效地解决了随着网络层数增加而产生的梯度消失现象.这几种网络模型都是卷积神经网络中有代表性的模型,本文也将通过与这几种网络结构的实验结果进行对比.
首先,定义识别精度如下:
(13)
其中,Acc为模型的识别精度,α为top1预测正确数,即数据集全部识别完成后得到的结果与数据集图像本身标签相同的图像数量.β为测试图像的总数.
皮肤镜图像数据集在不同网络模型上的分类结果如表3所示.从实验结果可以得出以下结论:①AlexNet因网络结构较为简单所以耗时最短,占用内存最少,同时识别精度也较低;VGGNet通过小的卷积核的堆叠来替换大的卷积核的办法来减少参数量,提高了其学习能力,获得了较好的识别精度;ResNet的残差网络结构在VGGNet的基础上进一步提高了识别精度,并且减少了所耗时长.② 在识别精度上,使用EM算法的矩阵胶囊网络明显高于其他网络模型,证明了矩阵胶囊网络在皮肤病识别领域的优势,同时也说明矩阵胶囊网络在图像识别领域中有更大的应用潜力.③VGGNet16、CapsNet和CapsNet(EM)三种网络更耗时,尤其是CapsNet(EM),因此,如何降低矩阵胶囊网络的耗费时长,提高网络的效率成为进一步研究的一个方向.④ 从占用内存的情况来看,矩阵胶囊网络占用更多的内存,比传统的神经网络模型有较大的差距,在以后的研究中应有所改进.
表3 不同模型上的分类结果Tab.3 Classification results on different models
主要研究了对黑色素瘤的分类识别模型,创新性的将矩阵胶囊网络运用到皮肤病诊断领域,通过搭建训练CapsNet(EM)网络结构,在ISIC2017数据集上得到了较高的识别准确率,比传统神经网络模型准确率高,表明矩阵胶囊网络在图像的识别处理上更有潜力,同时实验结果的识别准确率98.21%也明显高于文献[11]中使用向量胶囊网络获得的82.24%的识别准确率,可见矩阵胶囊网络有着广泛的应用空间,在一些对精度与准确性要求较高的领域也更有优势,具有更大的应用潜力与研究价值.