利用CNN、KNN和SVM对恶性皮肤癌病变进行分类
皮肤癌是一种非常危险的疾病,每年影响着数百万人的生活。随着病情的发展,患者的生存率会呈指数级下降,因此早期检测和分类至关重要。传统上,医生检测皮肤癌的过程耗时、困难且昂贵,还可能导致病变扩散。而计算机辅助技术可以帮助早期检测和分类癌症,提高治愈的机会。
1. 皮肤癌简介
癌症是细胞异常生长的疾病,有可能影响并扩散到身体其他部位。皮肤癌则是由于皮肤细胞的DNA损伤未得到修复,导致基因突变或其他遗传缺陷,最终使细胞不受控制地增殖。紫外线辐射是导致皮肤癌的主要因素,这种不受控制的生长可能导致肿瘤,肿瘤可分为良性(非癌性)和恶性(癌性)。
1.1 常见的恶性皮肤癌类型
常见的恶性皮肤癌主要有以下三种:
-
基底细胞癌(Basal Cell Carcinoma)
:起源于基底细胞,这些细胞位于皮肤内,有助于产生新细胞。通常表现为皮肤上的小透明肿块,常见于颈部和头部等阳光暴露部位。
-
鳞状细胞癌(Squamous Cell Carcinoma)
:起源于鳞状细胞,它们构成皮肤的中层和外层。这种癌症与其他类型的癌症在扩散区域上有所不同,它可能影响附近的组织、骨骼或淋巴结。
-
黑色素瘤(Melanoma)
:由产生黑色素的黑素细胞发展而来。这是最严重的一种皮肤癌,可能扩散到眼睛,有时甚至扩散到内脏器官。
在过去10年中,由于紫外线暴露的突然增加,黑色素瘤病例每年激增了53%。尽管早期识别黑色素瘤癌症可以提高生存机会,但皮肤科医生在没有额外技术支持的情况下,诊断准确率仅为65% - 80%。因此,利用机器学习算法不仅可以帮助医生,还可以让普通人通过在移动设备上安装应用程序进行自我检查。
2. 相关研究工作
此前有许多研究尝试使用图像处理和机器学习技术来检测和分类皮肤癌,以下是一些相关研究的介绍:
|研究人员|方法|准确率|
| ---- | ---- | ---- |
|Joakim等|使用卷积神经网络(CNN),通过迁移学习训练Inception v3模型|3路分类时验证准确率为68.3%;黑色素瘤与痣对比准确率为71%;脂溢性角化病与基底和鳞状细胞癌对比准确率为91%等|
|Esteva等|使用单个CNN模型,直接从图像的像素和疾病标签进行训练|使用Google的Inception v3架构,准确率为72.1%|
|Fathima等|使用计算机辅助诊断,基于计算的纹理属性(相关性、对比度、能量和均匀性),采用SVM和KNN分类方法|SVM模型准确率为75.95%,优于KNN模型|
|Dorj等|使用ECOC SVM和深度卷积神经网络|基底细胞癌的最大平均准确率为95.1%,最小平均准确率为91.8%|
|Maurya等|分析皮肤癌的特定特征,将其归一化为对称灰度共生矩阵(GLCM),并使用多类支持向量机(MSVM)进行分类|准确率为81.43%|
|Choudhury等|使用基于颜色和纹理特征的多层分解技术,将得到的特征值输入到极限学习机(ELM)和MSVM进行分类|MSVM准确率为94.18%,ELM准确率为90.5%|
|Ballerini等|提出基于KNN的独特分层分类技术,利用图像的纹理和颜色等显著特征|整体准确率为74%,在确定潜在风险癌症时准确率超过93%|
3. 方法与流程
本次研究选择将皮肤癌分为黑色素瘤、鳞状细胞癌和基底细胞癌,因为这三类约占皮肤癌的85%,且如果不及时治疗,对身体危害极大。研究使用了来自ISIC网站的皮肤癌图像,并采用了CNN、SVM和KNN三种不同的分类方法。整个流程如下:
graph LR
A[获取数据] --> B[图像预处理]
B --> C[图像增强]
C --> D[方法1: CNN分类]
C --> E[方法2: KNN分类]
C --> F[方法3: SVM分类]
D --> G[实验结果分析]
E --> G
F --> G
3.1 图像增强
由于用于训练机器学习模型的基底细胞癌和鳞状细胞癌图像数量有限(基底细胞癌约70张,鳞状细胞癌约20张,而黑色素瘤图像有2100张),因此对原始图像进行了图像增强操作,包括缩放、旋转、扭曲、添加椒盐噪声、翻转和透视变换等,以增加基底细胞癌和鳞状细胞癌的数据集。
3.2 方法1:使用CNN
构建了两个CNN模型:
- 第一个模型将恶性皮肤病变分为黑色素瘤和非黑色素瘤,准确率达到91.1%。
- 第二个模型试图同时将恶性皮肤病变分为黑色素瘤、基底细胞癌和鳞状细胞癌,准确率仅为70.2%,效果不理想。这是因为基底细胞癌和鳞状细胞癌非常相似,CNN模型难以对它们进行良好的分类。
为了提高准确率,采取了以下措施:
-
定义正确的滤波器和池化大小
:发现滤波器大小为3×3,池化大小为2×2时效果更好。
-
保存最佳模型
:在每个训练周期后保存当前最佳模型,而不是使用训练结束后的最后一个模型,将准确率提高到了74%。
最终,使用这样的CNN模型将皮肤病变分为黑色素瘤和非黑色素瘤,准确率为91.1%;再将非黑色素瘤病变进一步分为基底细胞癌和鳞状细胞癌,准确率为72.65%。
3.3 方法2:使用KNN
CNN在将非黑色素瘤病变分为基底细胞癌和鳞状细胞癌时表现不佳,主要原因是滤波器无法提取有意义的信息,且训练模型的高质量数据集有限。为了克服这些问题,使用了KNN算法。
KNN分类的工作方式如下:
1. 将图像数据集和标签集输入到KNN分类器进行训练。
2. 数据集表示每个图像的直方图等效值,将基底和鳞状图像的直方图等效值绘制在图表上。
3. 在测试时,对于每个输入图像,观察其在图表上的邻居类别以及到每个K个邻居的距离,并根据K个相邻节点的标签值的多数来确定输出标签。
通过对不同的K值进行实验,发现K = 5时效果最佳,准确率为76%,具体数据如下表所示:
| K值 | 准确率 |
| ---- | ---- |
| 1 | 67.64 |
| 3 | 58.82 |
| 5 | 76 |
| 7 | 73.52 |
| 9 | 73.52 |
| 11 | 67.64 |
3.4 方法3:使用SVM
KNN在K值超过5后准确率不再提高,而SVM可以处理线性和非线性特征点,因此是一个不错的选择。SVM使用超平面来区分不同的类别,对于每个图像,提取诸如方向梯度直方图(HOG)、中心环绕检测器CENSURE、ORB等特征,形成特征向量列表,将其输入到SVM分类器进行训练。训练完成后,模型会输出一个最优超平面,用于对新的病变图像进行分类。该方法的整体准确率为76.5%。
4. 实验结果
4.1 CNN对黑色素瘤和非黑色素瘤的分类结果
| 类别 | 精确率 | 敏感度 | 准确率 |
|---|---|---|---|
| 黑色素瘤 | 86.91 | 97.8 | 91.1% |
| 非黑色素瘤 | 97.26 | 83.52 |
4.2 CNN、KNN和SVM对非黑色素瘤图像分类的混淆矩阵
| 分类器 | 真实类别:基底细胞癌 | 真实类别:鳞状细胞癌 |
|---|---|---|
| CNN(增强后) |
预测为基底细胞癌:130
预测为鳞状细胞癌:24 |
预测为基底细胞癌:43
预测为鳞状细胞癌:48 |
| KNN(增强后) |
预测为基底细胞癌:19
预测为鳞状细胞癌:3 |
预测为基底细胞癌:5
预测为鳞状细胞癌:7 |
| SVM(增强后) |
预测为基底细胞癌:20
预测为鳞状细胞癌:4 |
预测为基底细胞癌:4
预测为鳞状细胞癌:6 |
4.3 不同方法在有无图像增强情况下的精确率、敏感度和准确率对比
| 方法 | 图像增强 | 精确率 - 基底细胞癌 | 精确率 - 鳞状细胞癌 | 敏感度 - 基底细胞癌 | 敏感度 - 鳞状细胞癌 | 准确率 (%) |
|---|---|---|---|---|---|---|
| CNN | 否 | 70.5 | 0 | 100 | 0 | 70 |
| CNN | 是 | 84.4 | 52.7 | 75.1 | 66.6 | 72.65 |
| SVM | 否 | 70.58 | 0 | 100 | 0 | 70.6 |
| SVM | 是 | 83.3 | 60.0 | 83.33 | 60.0 | 76.5 |
| KNN | 否 | 70.5 | 0 | 100 | 0 | 70 |
| KNN | 是 | 86.3 | 58.3 | 79.1 | 70 | 76 |
从实验结果可以看出,在没有图像增强的情况下,CNN、KNN和SVM的整体准确率分别为70%、70%和70.6%。而应用图像增强后,三种方法的准确率都有所提高,CNN为72.65%,KNN为76%,SVM为76.5%。
5. 结论
皮肤癌是一种非常危险的疾病,早期检测和分类对于为患者提供适当的治疗至关重要。通过结合CNN、SVM和KNN的两阶段过程,可以有效地将皮肤癌分为黑色素瘤、基底细胞癌和鳞状细胞癌。实验结果表明,CNN在第一阶段将黑色素瘤和非黑色素瘤分类时准确率达到91.1%,而SVM在第二阶段将非黑色素瘤进一步分为基底细胞癌和鳞状细胞癌时表现最佳,准确率为76.5%。这种分层方法和多种算法的结合可以用于进一步确定其他不同类型的癌症。
6. 技术点分析
6.1 CNN技术优势与局限
- 优势 :CNN在处理图像数据方面具有天然的优势,其卷积层能够自动提取图像的特征,减少了人工特征工程的工作量。在本次研究中,第一个CNN模型将恶性皮肤病变分为黑色素瘤和非黑色素瘤时,准确率达到了91.1%,说明CNN能够有效地学习到这两类病变之间的差异特征。
- 局限 :当面对基底细胞癌和鳞状细胞癌这种相似度较高的类别时,CNN的表现不尽如人意。如第二个CNN模型同时对黑色素瘤、基底细胞癌和鳞状细胞癌进行分类时,准确率仅为70.2%。这是因为CNN的滤波器难以从非常相似的图像中提取出有区分度的信息,而且有限的高质量数据集也限制了其性能。
6.2 KNN技术优势与局限
- 优势 :KNN算法简单易懂,不需要进行复杂的模型训练过程。在处理非黑色素瘤病变分类问题时,KNN通过考虑样本之间的距离关系,能够在一定程度上克服CNN的局限性。当K值选择合适(如K = 5)时,KNN的准确率达到了76%,说明其在处理小样本和相似类别分类问题上有一定的优势。
- 局限 :KNN的计算复杂度较高,尤其是在处理大规模数据集时,需要计算每个样本与所有训练样本之间的距离。而且K值的选择对分类结果影响较大,如果K值选择不当,可能会导致分类准确率下降。
6.3 SVM技术优势与局限
- 优势 :SVM能够处理线性和非线性特征点,通过寻找最优超平面来进行分类。在本次研究中,SVM在处理非黑色素瘤病变分类问题时表现出色,整体准确率达到了76.5%。这表明SVM能够有效地处理类别之间的边界,对不同特征的适应性较强。
- 局限 :SVM的训练时间相对较长,尤其是在处理大规模数据集时。而且SVM对核函数的选择比较敏感,如果核函数选择不当,可能会导致过拟合或欠拟合问题。
7. 关键路径总结
整个皮肤癌分类的关键路径可以总结如下:
1.
数据获取
:从ISIC网站获取黑色素瘤、鳞状细胞癌和基底细胞癌的皮肤癌图像。
2.
数据预处理
:对原始图像进行图像增强操作,包括缩放、旋转、扭曲、添加椒盐噪声、翻转和透视变换等,以增加数据集的多样性和规模。
3.
第一阶段分类
:使用CNN将恶性皮肤病变分为黑色素瘤和非黑色素瘤,通过调整滤波器和池化大小、保存最佳模型等方法提高准确率。
4.
第二阶段分类
:
- 使用KNN对非黑色素瘤病变进一步分类,通过实验选择合适的K值。
- 使用SVM对非黑色素瘤病变进一步分类,提取图像的特征向量列表进行训练。
5.
结果评估
:通过精确率、敏感度和准确率等指标评估不同分类器的性能,并进行对比分析。
graph LR
A[数据获取] --> B[数据预处理]
B --> C[第一阶段分类: CNN]
C --> D[第二阶段分类: KNN]
C --> E[第二阶段分类: SVM]
D --> F[结果评估]
E --> F
8. 实际应用展望
8.1 医疗辅助诊断
将该分类方法集成到医疗诊断系统中,为医生提供辅助诊断建议。医生在诊断皮肤癌时,可以借助该系统快速准确地判断病变的类型,提高诊断效率和准确率,减少误诊和漏诊的发生。尤其是在基层医疗单位,医生可能缺乏丰富的经验和专业知识,该系统可以作为一种有效的辅助工具。
8.2 个人健康管理
开发移动应用程序,让普通人可以通过手机拍摄皮肤病变的照片,上传到应用程序中进行自动分类。这样,人们可以及时发现潜在的皮肤癌风险,并及时就医。这对于提高公众的健康意识和早期发现皮肤癌具有重要意义。
8.3 医学研究
该分类方法可以为医学研究提供数据支持。研究人员可以利用分类结果进一步分析不同类型皮肤癌的发病机制、发展规律和治疗效果等,为皮肤癌的研究和治疗提供新的思路和方法。
9. 总结与建议
9.1 总结
本次研究通过结合CNN、SVM和KNN三种机器学习算法,实现了对恶性皮肤癌病变的有效分类。在第一阶段,CNN能够准确地将黑色素瘤和非黑色素瘤区分开来;在第二阶段,SVM在将非黑色素瘤进一步分类为基底细胞癌和鳞状细胞癌时表现最佳。图像增强技术的应用有效提高了分类的准确率。
9.2 建议
- 数据扩充 :进一步收集更多高质量的皮肤癌图像数据,尤其是基底细胞癌和鳞状细胞癌的图像,以提高模型的泛化能力和分类准确率。
- 算法优化 :尝试将不同的机器学习算法进行更深入的融合,或者探索新的算法和模型结构,以提高分类性能。
- 临床验证 :将该分类方法在临床实践中进行验证,与医生的诊断结果进行对比分析,不断优化和完善该方法。
总之,皮肤癌的早期检测和分类对于患者的治疗和康复至关重要。通过不断地研究和改进分类方法,有望为皮肤癌的诊断和治疗提供更有效的支持。
超级会员免费看
1329

被折叠的 条评论
为什么被折叠?



