皮肤肿瘤图像自动分类的研究进展
2022-08-19戚倩倩孙卫佳姚春丽
王 慧,戚倩倩,李 雪,孙卫佳,刘 莹,姚春丽
1.长春工业大学 计算机科学与工程学院,长春 130012
2.吉林大学第二医院 皮肤科,长春 130041
皮肤肿瘤是一种常见的皮肤增生性疾病,种类很多,临床上分为良性肿瘤和恶性肿瘤[1]。皮肤恶性肿瘤有侵袭周围组织器官及转移的风险,早期诊断、及时治疗可提高治愈率及生存率。图1 列出了常见的皮肤良性肿瘤和恶性肿瘤,以及这些疾病患者的皮损图像。良性肿瘤包括色素痣、脂溢性角化病、皮肤纤维瘤等;常见的皮肤恶性肿瘤包括基底细胞癌、鳞状细胞癌、恶性黑色素瘤等[2]。
图1 皮肤肿瘤分类及症状图像Fig.1 Skin lesion classification and symptom images
在皮肤恶性肿瘤中基底细胞癌最为常见,其次为皮肤鳞状细胞癌、恶性黑色素瘤。基底细胞癌生长缓慢,极少发生转移,但具有侵袭性生长的特点[3]。鳞状细胞癌具有转移的风险,且高危型鳞状细胞癌转移有一定的致死率[4]。但绝大多数的皮肤恶性肿瘤致死病例都是恶性黑色素瘤造成的[5],早期诊断可极大提高生存率[6]。癌症筛查和早期诊断是减轻癌症疾病负担的关键公共卫生战略措施[7],因此早期诊断、及时治疗对改善皮肤恶性肿瘤的预后至关重要。但由于部分恶性肿瘤早期临床表现与一些良性的皮肤肿瘤或皮肤疾病存在一定相似性,如早期恶性黑色素瘤、色素型基底细胞癌与色素痣,单从临床表现较难鉴别,缺少经验的医生易误诊、漏诊,导致皮肤恶性肿瘤的临床诊断精度低,误诊率高,诊疗效率低下。应用皮肤镜等辅助检查措施可一定程度上提高确诊率,具有无创、快速的优点,但存在组织穿透性有限,结果判定主观性强等缺点[8]。目前诊断的金标准仍是皮肤组织活检病理检查,但存在专业人员培养周期长、需要有创操作、耗时、花费高等局限性[9],因此对于早期的皮肤恶性肿瘤,寻找快速精准的诊断方法具有重要意义。
随着人工智能的兴起,计算机诊断皮肤疾病成为可能,我国多家医院也开始着力于开展有关人工智能(artificial intelligence,AI)诊断皮肤疾病的研究[10-11]。计算机在提高皮肤科医师诊断水平,促进学科建设和发展等方面拥有巨大潜能[12]。人工智能系统可以支持皮肤科医生的日常临床实践,提高医生的诊断效率[13],同时计算机可以给医生提供诊断意见,医生也可以结合临床和组织病理特征,必要时为人工智能提供临床信息用于训练,提高系统的正确诊断率。但目前皮肤图像分类领域内的综述类文章对数据集的收集以及不同模型实验效果整理不够全面,因此本文针对近几年的皮肤肿瘤图像分类方法及相关数据集进行了详细的归纳总结。
1 主要评价数据集
在皮肤图像分类中,常用的公开数据集有ISIC数据集、PH2数据集、MED-NODE数据集、七点皮肤病数据集以及来源于搜索引擎各种公开的医学图像等。以下对皮肤疾病数据集进行总结。
(1)ISIC数据集
ISIC数据集由国际皮肤成像合作组织(The International Skin Imaging Collaboration)提供。从2016 年开始,该组织与领先的计算机视觉会议一起为计算机科学界赞助了年度挑战赛,这些挑战赛在规模、复杂性和参与度等方面都在不断增长,因此ISIC 数据集是目前最大、使用频率最高的公开皮肤疾病数据集。该数据集包含ISIC2016~ISIC2020共5个数据集,其中ISIC2016~ISIC2018 均包含分割、特征检测、疾病分类三个挑战,ISIC2019 和ISIC2020 仅包含分类任务。该数据集的训练集和测试集均为通过人工验证、CC-0 许可的高质量图像和元数据。
(2)ISIC2016数据集
ISIC2016 数据集[14]包含2 类疾病共1 279 张图像以及类别标签和GroundTruth,测试集包含379张图像。皮肤疾病图像颜色深度均为24 位,GroundTruth 颜色深度均为8位,图像尺寸为722×542~4 288×2 848不等。类别标签以表格形式存储,使用该数据时需要进行预处理。
(3)ISIC2017数据集
ISIC2017 数据集[15]包含黑色素瘤、脂溢性角化病、良性痣3类疾病、2 750张图像、GroundTruth以及类别标签。其中训练集图像有2 000 张,验证集和测试集分别有150 张图像和600 张图像,皮肤疾病图像颜色深度均为24 位,图像尺寸为767×576~6 621×4 441 不等。验证集和测试集还包括未标注的超像素图像。与ISIC2016相同,类别标签为表格存储,在训练模型前需要对数据集进行预处理。
(4)ISIC2018数据集
ISIC2018 数据集[16]中分类和分割包含有不同数量的疾病图像,对于分割任务,共有2 594张图像作为训练集,验证集和测试集分别有100 和1 000 张图像。对于分类任务,共包含12 500 张图像,其中训练集共包含10 015 张图像7 类疾病,分别为光化性角化病(327)、基底细胞癌(514)、良性角化病(1 099)、皮肤纤维瘤(115)、黑色素瘤(1 113)、黑色素细胞性痣(6 705)、血管性皮肤病变(142)。这些图像由HAM10000[17]数据集提供,均为24位颜色深度,尺寸为600×450。验证集和测试集分别为193 和1 512 张图像。分类任务数据集中7 类图像混合在同一个文件夹中,标签以表格存储,需要预处理。
(5)ISIC2019数据集
ISIC2019数据集共包含8类疾病,25 331张图像,这些数据分别来自于HAM10000、BCN20000[18]和ISIC2017数据集。测试集共有8 238 张图像。其中图像深度均为24位,各个图像尺寸不同。与ISIC2016~ISIC2018不同,ISIC2019 仅有分类任务,分别为使用元数据进行分类和不使用元数据进行分类。数据集标签除了标明图像的类别,同时还包括年龄、性别以及解剖部位的信息。同ISIC2018,这些数据以表格形式存储,所有图像在同一个文件夹中,需要预处理。
(6)ISIC2020数据集
ISIC2020 数据集[19]包含来自2 000 多个患者的共33 126例良性和恶性2类皮肤病变皮肤镜训练图像。图像来自巴塞罗那医院、维也纳医科大学、斯隆·凯特琳纪念癌症中心、澳大利亚黑素瘤研究所、昆士兰大学和雅典大学医学院。该数据集是针对2020年夏季在Kaggle举办的SIIM-ISIC黑色素瘤分类挑战赛策划的。所有图像均为24位颜色深度,且尺寸不相同,所有图像在同一个文件夹中,数据以表格形式存储,需要预处理。
(7)PH2数据集
PH2数据集[20]是在葡萄牙马托西诺斯Pedro Hispano医院皮肤科服务处获得的皮肤镜图像数据集。总共包含200例皮肤镜检查的黑素细胞病变,其中有80张普通痣、80张非典型痣和40例黑色素瘤。PH2数据集包括所有图像的医学注释,即病变的医学分割、临床和组织学诊断以及几种皮肤镜检查标准的评估。PH2数据集图像尺寸介于760×560~770×580之间,颜色深度为24位,每张图像都分别存储在一个文件夹中,需要进行预处理。
(8)七点皮肤病数据集
七点皮肤病数据集[21]用于评估计算机对七点皮肤病变恶性程度的预测结果。该数据集包括20 类2 045张临床和皮肤镜彩色图像,以及为训练和评估计算机辅助诊断系统而定制的相应结构化元数据。这些图像尺寸均为768×512,颜色深度为24位。数据集将疾病放在34个文件夹中,使用时需将图像按类别分开。
(9)MED-NODE数据集
MED-NODE数据集[22]来自于格罗宁根大学医学中心皮肤科,共包含2 类170 张图像,分别为70 例黑色素瘤和100例良性痣。数据集包含各种尺寸图像,颜色深度均为24位,这些疾病按类别分别放在两个文件夹中,图片和标签可直接提取,不需要预处理。
(10)Dermofit Image Library数据集
Dermofit Image Library 数据集[23]来源于爱丁堡大学,该数据集包含了10 个不同类别的共1 300 张图像,包括黑色素瘤、脂溢性角化病和基底细胞癌。每张图像都有一个基于专家意见(包括皮肤科医生和皮肤病理学家)的标准诊断。每个病变都对应一个GroundTruth。
(11)SNU数据集
SNU数据集[24]来自于首尔国立大学本当医院、印加大学桑吉派克医院和哈利姆大学东滩医院,包含134类共2 201个不同尺寸图像。数据集按照疾病类别存储图像,可直接读取,不需要预处理。
(12)XiangyaDerm数据集
XiangyaDerm数据集[25]是一个大规模的以亚洲为主的带有Bounding Box的皮肤病数据集。它包含107 565张临床图像,涵盖541种皮肤病。该数据集中的每张图片都是由专业医生标注的,该数据集为非公开数据集。
(13)网站数据集
数据集除上述几类外还可在各种皮肤疾病网站获得。表1列出了一些公开的皮肤疾病相关网站如Derm-NetNZ、DermIS、Dermatology Atlas等,这些网站上的图像主要为临床图像,在获取时具有一定困难,且需要进行预处理。
皮肤疾病数据集总结如表1所示。
表1 相关数据集Table 1 Related datasets
2 主要评价指标
皮肤肿瘤图像自动分类模型评估指标主要有准确率、精确度、灵敏度、特异度、F1值、ROC曲线、AUC值。计算这些指标需要分别计算真阳性(true positive,TP)、真阴性(true negative,TN)、假阳性(false positive,FP)和假阴性(false negative,FN),其概念如下:
真阳性:实为正例,分类器预测为正例的数目。
真阴性:实为反例,分类器预测为反例的数目。
假阳性:实为反例,分类器预测为正例的数目。
假阴性:实为正例,分类器预测为反例的数目。
(1)准确率(Accuracy)
准确率为预测正确的数量占总数量的百分比。其计算公式如下:
准确率衡量的是分类器的分类准确程度,准确率值越大表示分类器分类结果与真实确诊结果越接近。
(2)精确度(Precision)
精确度为在所有被预测为正例的数目中实际为正例的概率。其计算公式如下:
(3)灵敏度(Sensitivity)
灵敏度又叫召回率(recall)或真阳性率(true positive rate,TPR),为实际为正例的数目中被正确预测为正例的数目。其计算公式如下:
(4)特异度(Specificity)
特异度为实际为反例的数目中被正确预测为反例的数目。其计算公式如下:
(5)F1值(F-Measure)
F1 值是兼顾精确度和召回率的指标。F1 值越高,模型性能越好。其计算公式如下:
(6)ROC曲线(receiver operating characteristic)
ROC 曲线将误判率(false positive rate,FPR)作为x轴,灵敏度作为y轴。灵敏度是所有实际为正例的样本中,被正确判断为正例的样本比率。误判率是所有实际为反例的样本中,被错误判断为正例的样本比率。误判率的计算公式如下:
(7)AUC值(area under curve)
AUC为ROC曲线下面积,表示处于ROC曲线下方的面积大小。AUC越大,模型分类效果越好,通常AUC值介于0.5 到1.0 之间。AUC 值是一个概率值,表示随机挑选一个正样本以及一个负样本,分类器判定正样本分值高于负样本分值的概率就是AUC值。
3 计算机皮肤肿瘤图像自动分类方法
皮肤肿瘤AI辅助诊断的核心为皮肤肿瘤图像的计算机自动分类,常见分类流程如图2所示。当前皮肤分类算法大体可以分成基于传统机器学习的皮肤图像自动分类方法和基于深度学习的皮肤图像自动分类方法以及两者结合等几种方式。
图2 皮肤肿瘤分类流程Fig.2 Flow chart of skin lesion classification
3.1 使用传统机器学习算法
使用传统机器学习算法对皮肤疾病分类主要通过对图像的纹理、颜色、形状等特征进行提取量化,之后使用分类算法对提取到的特征进行分类,最终得到分类结果。其主要流程如图3所示。为准确提取到特征,在特征提取步骤之前通常会对图像进行预处理,例如去掉噪声干扰(如毛发、伪影等)或对病灶进行分割和边界检测,可以减少周围健康皮肤对特征提取步骤的影响。对于传统机器学习分类算法,则通常使用支持向量机(support vector machine,SVM)[26]和随机森林(random forest,RF)[27]等方式。
图3 使用传统机器学习算法分类流程图Fig.3 Flow chart of traditional machine learning algorithm classification
支持向量机是一种小样本学习方法,其泛化错误率低,具有良好的学习能力。Chatterjee等人[28]提出基于递归特征消除(recursive feature elimination,RFE)的技术来识别每种疾病。在分类之前,根据ABCDE 准则[29]分析皮肤病变的形状、边缘不规则性、纹理和颜色,使用不同的图像处理工具提取不同的定量特征,之后使用SVM 进行分类,并采用分层结构分类模型对该框架的性能进行评估。但是经典的SVM 只适用于二分类算法,在皮肤多分类方面仍具有局限性。对于多分类问题,该团队利用交叉相关技术,在类似视觉影响的基础上,从皮肤疾病的明显区域提取空间和光谱特征,选取适当的核心图像块进行分析,实现皮肤疾病的多类别分类[30],取得了较高的性能指标,但本质上是通过多次SVM进一步分出疾病亚类,最终只能区分4种不同疾病,对于更多种类的疾病则需要重新设计并训练更多的分类器。
不同于SVM,随机森林算法由多个决策树组成,能有效地在大数据集上运行。Dhivyaa等人[31]首先使用区域生长法对病灶区域进行初步分割,再使用ABCDE 准则提取图像特征,之后根据这些特征去设计不同的决策树,最终使用随机森林算法实现皮肤病变图像分类,并用不同的数据集进行比较。与SVM 相比,该模型计算复杂度较低,设计灵活,可将皮肤疾病分为两类或两类以上。但是对于具有噪声的图像(例如被毛发遮挡的疾病)容易产生过拟合现象,且设计随机森林时,可能存在多个相似的决策树,对结果造成影响。Murugan 等人[32]则将SVM 与随机森林结合起来,对不同特征提取方式提取到的特征进行分类,研究结果显示使用灰度共生矩阵(grey-level co-occurrence matrix,GLCM)提取到的特征进行分类,其表现效果要优于其他特征提取方式,在ISIC数据集上最高达到了89.31%的准确率。
尽管不同的机器学习方式在皮肤分类上取得了较大进展,有些优秀的算法甚至超越了人类专家的水平[33],但传统的机器学习算法是基于统计学原理的,不同的场景不同算法的表现也有很大差距,而且经典机器学习算法通常需要复杂的特征工程,适应性较差。
基于传统机器学习的皮肤图像自动分类代表性算法如表2所示。
表2 基于传统机器学习的皮肤图像自动分类研究Table 2 Research on skin image classification based on machine learning
3.2 使用深度学习网络模型
使用基于深度学习的方法对皮肤肿瘤图像进行分类可以极大地提高准确性,且具有很强的适应性。同时深度学习网络灵活性更强,可以从不同角度创新。图4展示了当前深度学习网络模型分类的基本流程,在训练网络前通常会对图像进行数据增强(旋转、拉伸、翻转等)和归一化等预处理操作,之后将图像输入到主干网络进行特征提取,在主干网络后接全连接层可以将提取到的特征转换为分类结果。此外,也有学者使用分割-分类多阶段模型对皮肤疾病进行分类,在分类前通常将图像传入分割网络分割出病灶区域,之后将分割出的区域与疾病图像点乘得到仅有病灶的图像,这样做可以排除病灶外皮肤区域对分类网络的干扰,从而提高分类网络的准确率。下面将对各种深度学习分类方式进行介绍。
图4 使用深度学习算法分类流程图Fig.4 Flow chart of deep learning algorithm classification
3.2.1 使用单个模型分类
ResNet[34],在皮肤分类领域中是一种主流的网络模型[35-36],与人类专家相比具有较高的准确率[37]。基于ResNet50在皮肤分类任务上的分类能力,Han等人[38]在网络结构基础上增加注意力机制。该研究算法在F1值指标上表现出更好的效果,超越了非皮肤科医生,准确率与皮肤科的医生相当。Tschandl 等人[39]用ResNet34进行了皮肤恶性肿瘤的多分类任务和二分类任务。Han等人[40]使用ResNet152模型对12种皮肤病的临床图像进行分类。
尽管ResNet 具有强大的性能,但深层的网络需要更长时间的训练。不局限于ResNet,针对于皮肤分类任务,学者们提出了不同的网络模型进行实验。Jinnai 等人[41]提出了一种基于区域的卷积神经网络,结果表明该模型分类的精度优于皮肤科医生,但是该研究的数据来源单一,可能存在偏差,并且提出的模型局部纹理识别能力较弱,难以识别低分辨率的图像。Han等人[42]使用卷积神经网络(convolutional neural networks,CNN)对多达134 种疾病进行分类,结果表明CNN 在分析模糊、难以辨别的图像方面比皮肤科医生更有效,然而训练模型使用的图像质量高,在实际应用中效果会因为图像质量不佳而下降。Fujisawa 等人[43]使用GoogLeNet[44]进行图像分类,但该模型在孔隙瘤和脂溢性角化病两种疾病上的分类效果不佳。Liu 等人[45]则提出了一种多级关系捕获网络(multi-level relationship capture network,MRCN),使用区域相关学习模块来模拟中心病变区域中不同重要区域之间的关系。同时,使用跨图像学习模块来模拟多幅图像之间的深度语义相关性。该模型在三个具有挑战性的数据集上进行了全面的实验,实验结果表明了MRCN优越的性能。
随着各种计算机视觉领域的模型提出,目前使用单个模型进行分类的技术已经趋于成熟,且易于实现,同时准确率较高。但对于不同的数据集,数据分布差异大,模型容易受到噪声,如毛发、光线等多种因素影响,因此在多种数据集之间,单个模型表现可能相差较大,预测结果不具有稳定性。
使用单个模型分类的代表性算法总结如表3所示。
表3 使用单个模型分类研究总结Table 3 Research on classification using individual models
3.2.2 比较多种模型效果
在不同数据集上,不同的模型表现可能存在较大差异,通常学者会比较多种模型的效果最终选取效果较好的模型。Kimeswenger 等人[46]基于两种方法实现神经网络体系,分别是加入SELU 的Baseline 和多实例学习(multiple instance learning,MIL)体系结构,最终通过比较每种网络的结果得出具有注意力机制的MIL 结构效果更好。通过使用四种不同的网络模型,Huang 等人[47]实现了基底细胞癌和脂溢性角化病的分类。同样,Singhal 等人[48]也比较了四种不同网络模型在皮肤疾病七分类上的表现,之后选取表现最好的模型作为最终模型。上述Huang 与Singhal 等人的研究中,最终得出的结论都是Inception ResNet v2[49]在数据集上与其他模型相比的表现更好。在Huang等人[50]的研究中,通过比较多个模型最终得到DenseNet[51]在良恶性二分类任务中效果更好,EfficientNet[52]在多分类任务上综合表现更好。Xie等人[53]在自己建立的湘雅数据集上比较了五种不同的模型,最终发现Xception[54]的表现最好。Mijwil[55]在其研究中使用三种不同体系结构,在ISIC2019 和ISIC2020 数据集上进行测试,最终实验结果表明Inception v3的表现更好。
在上述实验中,尽管都是皮肤疾病分类的任务,但学者们在不同数据集上得出了不同的结论,说明数据分布不同,不同网络模型表现可能也存在差异。但上述各实验结论中表现最好的模型都具有相同的特点——更宽的网络。通常来说,加深网络深度可以提升网络的表达能力,增加感受野(如VGGNet[56]和ResNet 等),而更宽的网络则能使网络学习丰富的特征(如DenseNet、EfficientNet、InceptionNet 等),对于皮肤疾病图像分类,病灶通常位于图像中央,且各类疾病具有高度相似性,因此提取更丰富的特征辨别各类疾病间细微差距相比于增加感受野更能提高网络的分类准确率。
通过使用多种不同深度学习网络模型分别来完成分类任务,然后进行比较,得出最好的分类模型。这种方式通常用于筛选分类任务中的主干网络,但本质上仍然属于使用单个网络进行分类,若通过多个网络合作进行分类,其稳定性相比于单个网络会更高。
比较多种模型效果的代表性算法总结如表4所示。
表4 比较多种模型效果研究Table 4 Research on comparing effects of multiple models
3.2.3 分割-分类多阶段模型
分割-分类多阶段模型模拟了医生诊断皮肤疾病时的流程,相比于单个分类网络,往往能取得更好的效果。Al-Masni等人[57]提出了一种二阶段诊断模型,首先使用全分辨率卷积神经网络(full resolution convolutional network,FrCN)进行分割,再使用四种不同的分类网络进行分类。但该研究使用两个级联网络完成,因此需要为每个阶段准备训练数据。Jiang 等人[58]提出一种分类模型和后续语义分割模型组成的框架。但是研究使用的全视野数字切片(whole slide image,WSI)数据受系统成本、存储等限制,在世界范围的疾病诊断应用内进展缓慢。Khouloud 等人[59]则提出了一种检测黑色素瘤的深度学习模型,该模型由分割网络W-Net和分类网络Inception ResNet 两部分,实验表明该模型的分割和分类能力表现优秀,具有更高的准确性。Khan 等人[60]也提出了包括分割和分类两个阶段的深度学习框架,分别在不同的数据集上进行测试,获得了良好的分类效果,但是该模型对纹理、颜色和背景等方面要求较高。除了分割模型,YOLO[61]作为目标检测模型,也可以提取包含病灶在内的矩形区域,Nersisson 等人[62]融合YOLO 和CNN 提出了新的分类网络,该网络先使用YOLO 提取病灶区域,之后再使用CNN 完成皮肤疾病的分类。该研究在ISIC2016 数据集上达到了94%的准确率,并且在处理有毛发、汗液的图像时基本不受影响,鲁棒性强。Liu等人[63]模拟医生学习和诊断过程提出了临床启发网络(clinical-inspired network,CIN)。该网络由病变区域分割模块、病变特征注意模块和病变区分模块三部分组成,并在ISIC2016 和ISIC2017 数据集上测试,获得了较高的准确率。
使用多个网络共同完成分类任务具有更高的稳定性,例如对病灶先进行分割,一定程度上减轻了数据分布差异对模型造成的影响,但多个网络的训练成本高,网络参数大,对硬件要求高,难以普及。
分割-分类多阶段模型的代表性算法总结如表5所示。
表5 分割-分类多阶段模型研究总结Table 5 Summary of research on segmentation-classification multi-stage models
3.2.4 其他分类方式
从医学数据集不足的角度出发,使用生成对抗网络(generative adversarial network,GAN)扩充数据集往往也能提升网络预测效果。Zhao 等人[64]提出了基于Self-Attention-StyleGAN 的皮肤癌图像生成分类网络,该网络使用生成对抗网络生成图像,之后进行分类。该模型的平衡多类精度在ISIC2019 数据集上达到了94.71%。Gao等人[65]设计了一种正则化的对抗训练框架,在2D皮肤癌分类和3D 危及器官分割任务上,以较少的训练开销获得了优于最先进自动增强方法的性能。尽管GAN可以大幅扩充数据集,提高准确性,但与分割-分类模型相同,GAN增加了训练的成本。
不局限于数据集,作为训练时评估模型表现好坏的损失函数同样对模型的训练效果有着巨大影响。Lei等人[66]模拟医学生比较疾病之间异同点来学习和识别一种疾病的方式,提出了一种三元组模型及三元组损失,该损失让三元组的学习更加稳定。Barata等人[67]模拟医生看病时结合以往经验的方式引入了基于内容的图像检索(content-based image retrieval,CBIR)技术,并提出由交叉熵损失、三重态损失、对比损失和蒸馏损失四部分组成的损失函数,取得了良好的结果。Zhu 等人[68]受小样本学习(few-shot learning,FSL)的启发,将FSL 运用到皮肤疾病分类中,提出查询相对(query-relative,QR)损失解决交叉熵损失与Episode Training 不兼容导致模型效果不佳的问题。修改损失函数虽然对模型的训练不产生直接的时间消耗,但损失函数与网络处理方式通常是相对应的,不具有泛化性。
开发轻量级的网络模型进行皮肤疾病分类也是重要的研究方向之一,它可以嵌入到移动设备,使得患者在医生诊断前获得较为精确的检测结果,之后医生也可以参考该结果进行诊断。Toaar等人[69]提出了一种基于自动编码器、脉冲神经网络和卷积神经网络的模型。该模型的分类网络使用MobileNetv2[70],可以大大节省参数量,使其可以应用在智能手机上,同时自动编码器和脉冲神经网络弥补了MobileNetv2 准确率不高的问题。Srinivasu等人[71]在MobileNetv2的基础上加入了LSTM[72]机制,在HAM10000 数据集上达到了85%的准确率,并将该模型应用到手机上。Iqbal 等人[73]设计了一种轻量级的皮肤分类网络CSLNet,该网络具有高效率和高性能。该研究中提出的算法在ISIC 数据集上的表现优于最先进的算法。
轻量级模型训练时间短,可以嵌入到移动设备,具有相当大的研究前景,但在设计轻量级模型时同时保证准确率与泛化能力具有一定的挑战性。
其他分类方式的代表性算法总结如表6所示。
表6 其他分类方式研究Table 6 Research on other classification methods
3.3 深度学习模型与传统机器学习算法结合
除了上述提到的深度学习的方式与传统机器学习算法的方式,也有学者尝试将两种方法结合起来对皮肤疾病图像进行分类。在传统机器学习分类流程的基础上使用深度学习网络替代特征提取部分,而预处理部分也需要换成深度学习方式中的预处理。将深度学习模型与传统机器学习算法结合的方式包含了两种分类方式的优点,不仅省略了传统机器学习算法中复杂的特征工程的操作,而且将深度学习中全连接层换成传统机器学习中的算法也可以进一步提高算法的分类速度。使用两种方式分类的流程图如图5所示。
图5 结合深度学习与传统机器学习算法分类流程图Fig.5 Flow chart of combining deep learning with traditional machine learning algorithm classification
Dorj 等人[74]利用经过预训练的卷积神经网络模型进行特征提取,利用ECOC-SVM 分类器对皮肤恶性肿瘤进行分类。该模型准确率、灵敏度、特异度均超过90%,表现优于其他模型。Minagawa等人[75]使用灰度算法对亮度和颜色平衡进行标准化,之后将预处理后的图像使用深度神经网络进行分类。Tyagi等人[76]将卷积神经网络结构与粒子群算法相结合,提出一种基于皮肤镜图像的疾病预测与分类智能预测模型,该模型在ISIC2016 上的分类准确率高达99.46%,其他指标也均在97%以上。Khan 等人[77]提出一种使用深度学习特征和改进的飞蛾火焰优化(improved moth-flame optimization,IMFO)算法进行皮肤病变分割和分类,该方法融合了多种机器学习算法和特征分析方式,实现了分割-分类两阶段的模型,在ISIC2016~ISIC2018 数据集上的准确率均超过90%。由于该模型使用了较多的技术,整个分类流程需要花费较长的计算时间。在Adla 等人[78]的研究中,首先使用深度学习的方式提取图像的特征,然后使用基于燕子群算法的卷积稀疏自动编码器(convolutional sparse auto-encoder,CSAE)进行分类,取得了优良的结果,该算法在ISIC2017上的准确率高达98.5%。
使用传统机器学习算法与深度学习网络模型进行结合的方式适用于各种不同情况的疾病分类,传统机器学习算法与深度学习的结合保证了模型的预测速度以及较高的准确率,同时可以通过深度学习提取特征的方式解决复杂的特征工程问题。但是将两种方式结合仍然存在一定困难,如何通过深度学习网络生成适用于机器学习处理的特征是一项挑战。同时该方向也一直是学术界积极探索的问题,目前相关的研究较少,具有很高的研究价值。
深度学习与传统机器学习算法结合分类的代表性算法总结如表7所示。
表7 深度学习与传统机器学习算法结合分类研究Table 7 Research on combination of deep learning and machine learning algorithms for classification
4 总结
4.1 不同模型在典型数据集上的表现
本文总结了许多学者提出的不同模型,下面选取四个不同的典型数据集,分别是ISBI2016(ISIC2016)、ISIC2017、ISIC2018(HAM10000)和ISIC2019数据集,评估指标选取准确率、精确度、灵敏度、特异度进行分析。
不同实验中数据集的训练集和测试集划分不同,因此相同的模型在同一数据集上也可能产生不同结果。此外训练轮数、Batchsize、学习率等超参数的设置对网络训练结果也会产生较大影响。图6~图9 展示了不同模型在数据集的表现。
图6 不同模型在ISIC2016数据集上的比较Fig.6 Comparison of different models on ISIC2016 dataset
图7 不同模型在ISIC2017数据集上的比较Fig.7 Comparison of different models on ISIC2017 dataset
图8 不同模型在ISIC2018数据集上的比较Fig.8 Comparison of different models on ISIC2018 dataset
从图6~图9中可以看出,使用多种网络共同合作的方式准确率和灵敏度高于使用单个模型,说明多个网络合作更适用于图像分类任务。对于ISIC2018数据集,其相关研究的文献更多,说明目前的皮肤疾病分类任务数据集主要以ISIC2018(HAM10000)为主。而ISIC2019相关的研究不多,作为较新的数据集,其数据量比ISIC2018 更大,可能会在今后的研究中成为主要数据集。此外,从ISIC2016到ISIC2019数据集,模型的综合效果逐年下降,这是因为ISIC2016数据集的图像和种类较少,分类相对简单。而ISIC2019 数据集共有8 类,数据集总量为ISIC2016的20倍左右,因此挑战性更大。
图9 不同模型在ISIC2019数据集上的比较Fig.9 Comparison of different models on ISIC2019 dataset
4.2 不同方法的适用范围
表8总结了不同方法/机制的优点、局限性以及适用范围。当前皮肤疾病分类任务更倾向于使用深度学习的方式。对于使用深度学习框架,单个分类网络的框架已经较为成熟,易于实现,但是这种方式受输入图像影响较大,例如临床图像中的病灶小,不在中心等位置,可能导致网络训练时受到较大噪声的干扰,影响分类结果。使用多个网络比较更适用于筛选出合适的网络模型作为Backbone 或Baseline,并在此基础上进行创新。而使用网络类似于分割-分类多阶段的模型完成图像分类保证了更高的稳定性,同时修改更具有灵活性。使用GAN对数据集扩充可以有效解决医学领域皮肤疾病数据集少的问题,但是生成图像的质量难以保证。损失函数的创新可能为模型带来不错的提升,但设计起来相对困难,泛化能力比交叉熵损失弱。轻量级的模型具有更强的实用性,但同时保证较少的参数量和较强的泛化能力仍是一项巨大挑战。知识蒸馏(knowledge distillation)作为当前研究热点,可以结合上述所有深度学习模型进行创新,具有相当大的潜力。结合深度学习与机器学习的方式虽然也是学术界积极研究的问题,但该方向仍然存在一定困难。
表8 不同方法/机制的特点和适用范围Table 8 Features and application scope of different methods/mechanisms
4.3 研究趋势
对于数据集来说,当前研究的数据集主要倾向于ISIC2018 数据集,而关于ISIC2019 和ISIC2020 的实验相关研究较少。此外,Wang 等人[79]认为当前的皮肤图像分类都采用标注好类型的数据集,这无疑需要消耗大量的人工和精力去制作精良的数据集,因此他们提出了一种基于自监督拓扑聚类网络的未标记皮肤损伤分类。该方法可以在没有先验分类结果的情况下自动对未标记的医学图像进行分类,并且充分的实验证明了他们提出的STCN 模型能够有效地解决未标记的医学图像分类任务。
从分类模型来看,传统的机器学习和单个网络模型的研究在近年来较少,因为这两种方法的发展已经较为成熟,此外这两种方法在分类准确性上具有一定的局限性。在未来发展上,皮肤分类模型将趋向于准确率更高,模型更轻量。对于更高的准确率,使用迁移学习往往能带来更好的效果,除了载入预训练权重,领域自适应(domain adaptation)作为迁移学习中的一部分,旨在把分布不同的源域和目标域的数据,映射到一个特征空间中,使其在该空间中的距离尽可能近,这也是目前研究的热点之一。但是在领域迁移时,域内和域间类别不平衡的问题成为一项挑战,Yoon等人[80]则提出一种分类和对比语义对齐(classification and contrastive semantic alignment,CCSA)的方式来解决域内与域间数据不平衡的问题,为了鼓励从少数类中学习,损失使用采样的类概率来加权分类和对齐损失。Bayasi 等人[81]提出了一种用于多域学习(multi-domain learning,MDL)的持续学习(continual learning,CL)方法,即一种新的剪枝策略,该策略会检测每个域中造成错误分类的相关单元,并释放这些单元,以便它们专门用于新域的后续学习。此外,作者有效地将剪枝和训练阶段合并为一个步骤,从而减少与重新训练网络后对于网络剪枝的相关计算成本。
此外,也有不少学者结合当前热点技术等对皮肤疾病图像进行分类。强化学习是一类学习、预测、决策的框架,它与环境交互,是一种针对序列问题的算法,相比于监督学习,强化学习考虑的是长期回报,这种长远的眼光对于找到最优解非常关键。例如Akrout 等人[82]引入强化学习技术,将其与CNN结合提出一种问答(question answering,QA)模型,该模型提高了视觉症状检查器的分类置信度和准确性,同时减少了提出的平均问题数。联邦学习能够在满足用户隐私保护、数据安全和政府法规的要求下,在多参与方或多计算结点之间开展高效率的机器学习框架。Bdair等人[83]提出一种半监督的联邦学习方法,并提出了对等匿名化(peer anonymization,PA)技术来改善隐私,在提高性能的同时降低了通信成本。知识蒸馏是一种压缩模型的方法,由教师网络和学生网络组成,通过精简、参数量小的学生网络学习复杂、泛化能力强的教师网络的输出,使得学生网络能够有效地学习教师网络的泛化能力。Van Molle等人[84]使用知识蒸馏技术训练深度学习网络,并将其运用到皮肤疾病分类上,取得了良好的效果。Transformer是一种利用注意力机制来提高训练速度的模型,被广泛应用于自然语言处理中,最近有研究证实其在计算机视觉领域也有巨大潜力。Shamshad 等人[85]对Transformer 在医学领域中的应用进行了详细的总结。Wu等人[86]引用自然语言分析中的Transformer 技术与分类网络结合,在全视野数字切片上进行分类,实验结果表示该方法优于其他全视野数字切片方法。
除了模型和技术上的创新,结合医学知识去分析疾病类别同样也是一种新的方向。例如Kinyanjui 等人[87]提出了一种估计皮肤病基准数据集中肤色的方法,并研究模型性能是否依赖于该度量。Pacheco等人[88]使用元数据(例如病人的年龄、性别等)进行辅助分类,他们使用了五种不同的网络,并加入他们提出的元数据处理块,使得网络的分类结果有所提升。
尽管深度学习在皮肤肿瘤图像分类领域取得巨大进展,许多模型与方法已经较为成熟甚至投入实际使用,但目前的研究仍然存在以下问题或改进方向:
(1)在医学领域,数据集缺乏仍然是一项重要的问题,而制作一份精良的医学数据集不仅需要专业的人员操作,同时需要消耗巨大的成本。使用自监督技术标注数据集能大大降低时间和人工的消耗。此外,使用生成对抗网络可以生成逼真的图像,也可以解决医学图像数据少的问题。
(2)现有的分类模型大部分都局限于单一模型对单张图像直接进行分析,若结合其他信息,如患者年龄、肤色、性别、各类别图像之间的异同点、其他模型的软预测结果等,可能会对模型的提升有更大帮助。不局限于计算机视觉领域,引入其他领域的技术如Transformer、强化学习、联邦学习进行皮肤疾病分类也是当前的研究热点之一,且目前相关研究较少,值得深入探索。
(3)随着深度学习的发展,会有越来越多性能优异的模型被提出,相比于追求高的准确率,轻量级的模型在医学领域的实用价值更大,不管是嵌入在移动设备端,或是在云端计算机上运算,轻量级模型能在保证不降低过多准确率的情况下大幅提升效率。领域自适应、知识蒸馏、网络剪枝、轻量级模型等技术具有巨大的研究价值。
5 结束语
皮肤恶性肿瘤对患者的生活质量及生命健康威胁巨大,但是恶性肿瘤又与一些良性肿瘤临床表现相似,容易导致医生的误诊,使用AI 辅助医生的方式可以提高医生的诊断效率和精确度,可在医疗领域中发挥重大作用。基于皮肤肿瘤图像自动分类的临床辅助诊断模型,可有效提高皮肤科医生的临床诊断效率和准确率,缩短诊断周期,达到各级医院的诊断均质化,具有重要的实用价值。
本文对国内外皮肤肿瘤图像自动分类方法进行了归纳总结,在有关人机的对比实验中,无论传统机器学习算法还是深度学习算法对皮肤肿瘤分类效果都比一般医生要好,和专家水平相当。且计算机具有很强的计算能力,因此使用计算机辅助医学诊断是未来医疗的趋势。相比于传统机器学习算法,深度学习方法在提取图像特征中具有较强优势,准确率更高,因此多数的皮肤图像分类任务都是使用基于深度学习的方法实现的。而深度学习算法有很多种模型,不同的模型各有优势,在不同任务中表现的效果不同,因此使用多种网络模型组合完成任务也是实现图像分类任务的方法之一。同时,随着算力的不断提升,也会有更多新的模型被提出,这些网络模型在医学图像分类领域中也会有较好的表现。