使用神经网络进行皮肤癌的诊断

作者:Abhinav Sagar
编译:ronghuaiyang
首发:AI公园公众号

导读

医疗领域的应用是计算机视觉技术落地的一大方向。

在这个博客中,我们使用卷积神经网络来解决皮肤癌的分类问题。许多癌症病例早期被误诊,导致了患者死亡等严重的后果。在本工作中,我们使用深度神经网络和迁移学习架构来解决上述问题。我们使用公共ISIC数据库来训练和测试我们的网络。我们的模型的准确率为0.935,precision为0.94,recall为0.77,F1 score为0.85,ROC- AUC为0.861,优于之前的最好的方法。

介绍

皮肤癌是世界上被诊断出的最普遍的癌症。可以看出,如果能在早期确诊,并选择适当的治疗方法,存活率是非常高的。因此,尽早了解病人的症状是否与癌症相对应是绝对必要的。传统上,医生一直使用肉眼来检测皮肤癌。尤其是当癌症还处于早期阶段时,即使是专家也难以确认。这就是计算机视觉可以帮助实现整个过程自动化的地方。这种自动化不仅可以在避免假阳性和假阴性方面有更高的效率,而且可以减少时间和手工工作。我们的模型可以应用在缺乏专家医生的地方。

数据集

我们从ISIC网站获得了一个用于皮肤癌分类的公共数据集。我们使用3000张图像进行训练,600张图像进行验证,尺寸为224×224。图像在训练集和验证集之间平均分布,如图1所示。

良性图像与恶性图像

提出的方法

我们使用迁移学习的概念来进行分类。在迁移学习中,模型不是从零开始学习,而是从解决不同问题时学到的模型开始。通过这种方式,模型利用了之前的学习,避免了从零开始。在图像分类中,迁移学习通常通过使用预先训练好的模型来表达。预训练的模型是指在大型基准测试数据集上训练来解决与我们想要解决的问题类似的问题的模型。我们使用五个预先训练好的模型 —— Inception v3,InceptionResNet v2,ResNet50,MobileNet和DenseNet169作为我们工作的预训练的权重。

Inception V3

谷歌的Inception v3架构在我们的数据集上进行了重新训练,通过对所有层进行微调,并用一个平均池化、两个全连接的顶层来替换顶层,最后是softmax层,它可以进行两个诊断类别的分类。

InceptionResNet v2

InceptionResNet v2架构在我们的数据集上进行了重新训练,通过对所有层进行微调,并将顶层替换为一个全局平均池化,一个全连接层,最后是softmax层,它可以进行两个诊断类别的分类。

ResNet50

它使用恒等映射来映射输入。这个恒等映射没有任何参数,只是将上一层的输出添加到前面的层中。层之间的跳过连接将前一层的输出添加到堆叠层的输出中。这使得他们能够训练出比以前更深层次的网络。

MobileNet

MobileNet的基本部分是深度可分离滤波器,称为深度可分离卷积。这些卷积层是一种分解卷积,将标准卷积分解成深度卷积称为pointwise卷积。

DenseNet169

为了解决梯度消失问题,该架构使用简单的连通模式,以确保在前向和后向计算中,各层之间的信息流动最大。这些层以这样一种方式连接,即来自前面所有层的输入通过它自己的特征图传递到后面所有层。

网络结构

网络架构可以用以下几点来解释:

  1. 我们将数据集分为两个部分——训练集和测试集,分别使用80%和20%的图像。
  2. 我们使用数据增强,如剪切、缩放、翻转和亮度变化,将数据集大小增加到原始数据集大小的两倍以上。
  3. 我们尝试使用预训练过的模型,比如Inception v3, InceptionResNet v2, ResNet 50, MobileNet和DenseNet169,然后微调网络的最后几层。
  4. 我们使用了50%的dropout和batch normalization层来减少过拟合。
  5. 最后我们使用了两个dense层,分别有64个神经元和2个神经元。
  6. 最后一层用于分类,softmax作为激活函数。
  7. 我们使用二元交叉熵作为损失函数。
  8. 除了最后一层之外,整个过程中都使用ReLU作为激活函数。

实验结果

loss vs epochs和accuracy vs epochs图如图2所示:

图2 Loss vs epoch b) Accuracy vs epoch

分类的混淆矩阵如图3:

图3:混淆矩阵

ROC-AUC

通过绘制ROC曲线,用于评价分类器。ROC曲线偏离对角线越远,分类器越好。分类器的ROC-AUC图如图4所示:

图4: ROC-AUC曲线

预训练权重对结果的比较如表5所示。

表6显示了与之前结果的比较。

总结

综上所述,本研究探讨了深度卷积神经网络在皮肤癌良恶性分类中的能力。我们的结果显示,在皮镜图像(3000个训练和600个验证组成的3600个图像)上训练的最先进的深度学习架构优于皮肤科医生。我们展示了使用非常深的卷积神经网络使用迁移学习并在皮镜图像上进行微调,可以达到比专家医生和临床医生更好的诊断准确性。为了帮助皮肤科医生,这些模型可以很容易地在皮肤镜系统或智能手机上实现。

—END—

英文原文:https://towardsdatascience.com/dermatologist-level-skin-cancer-classification-using-neural-network-475f93d7f8c3

推荐阅读

  • Fast-SCNN的解释以及使用Tensorflow 2.0的实现
  • YOLOv4中的数据增强
  • 关于如何使用机器学习来做异常检测的7个问题
  • MobileBERT:一个在资源有限设备上使用的BERT模型

关注图像处理,自然语言处理,机器学习等人工智能领域,请点击关注AI公园专栏
欢迎关注微信公众号

发表评论

邮箱地址不会被公开。 必填项已用*标注