当前位置:   article > 正文

项目分享 | 基于昇思MindSpore的深度学习疟疾检测——疟疾病理切片的判读

项目分享 | 基于昇思MindSpore的深度学习疟疾检测——疟疾病理切片的判读

摘要

迄今疟疾在全球范围内的流行仍很严重,世界人口约有40%生活在疟疾流行区域。疟疾仍是非洲大陆上最严重的疾病,约有5亿人口生活在疟疾流行区,每年全球约有1亿人有疟疾临床症状,其中90%的患者在非洲大陆,每年死于疟疾的人数超过200万。亚洲东南部,中部也是疟疾流行猖獗的地区。中南美洲仍有疟疾流行。

非洲大部分地区仍处于贫穷的状态,卫生条件的不足和医疗设备的落后造成对疟疾等相关疾病的识别能力不足,常不能及时检测或不能准确检测。随着人工智能的快速发展,计算机辅助医学图像分析技术正在不断发展且完善。在实际的临床使用中能够有效解决欠发达地区医疗水平不足的弊端。通过引入机器学习和深度学习方法,用计算机辅助判断疟疾正在逐步成为现实。

通过使用疟疾患者的薄血膜图片作为数据集进行深度学习训练,可以得到判断疟疾是否存在的一个训练模型。在实际使用时能够针对待测样本进行图像分析,判断该样本是否属于疟疾病人的样本,可以实现对疟疾的快速诊断。在欠发达地区,这项技术可为当地群众提供准确快速的疟疾诊断,弥补当地医疗资源短缺和人手不足的问题。能有效进行疟疾的诊断同时也为后续的治疗提供帮助。

01




项目设计

1.1模型原理

1.1.1简介

在本项目中使用的模型为Vision Transformer(ViT),以下简称为ViT。ViT是2020年Google团队提出的将Transformer应用在图像分类的模型,虽然不是第一篇将Transformer应用在视觉任务的论文,但是因为其模型"简单"且效果好,可扩展性强(scalable,模型越大效果越好),成为了Transformer在CV领域应用的里程碑著作。ViT是自然语言处理和计算机视觉两个领域的融合结晶。在不依赖卷积操作的情况下,依然可以在图像分类任务上达到很好的效果。

1.1.2模型结构

ViT模型的主体结构是基于Transformer模型的Encoder部分(部分结构顺序有调整,如:Normalization的位置与标准Transformer不同),其结构图如下:

image.png

1.1.3模型特点

ViT模型主要应用于图像分类领域。因此,其模型结构相较于传统的Transformer有以下几个特点:

  • 数据集的原图像被划分为多个patch后,将二维patch(不考虑channel)转换为一维向量,再加上类别向量与位置向量作为模型输入。

  • 模型主体的Block结构是基于Transformer的Encoder结构,但是调整了Normalization的位置,其中,最主要的结构依然是Multi-head Attention结构。

  • 模型在Blocks堆叠后接全连接层,接受类别向量的输出作为输入并用于分类。通常情况下,我们将最后的全连接层称为Head,Transformer Encoder部分为backbone。

1.1.4模型解析

Transformer模型源于2017年的一篇文章。在这篇文章中提出的基于Attention机制的编码器-解码器型结构在自然语言处理领域获得了巨大的成功。模型结构如下图所示:

image.png

其主要结构为多个Encoder和Decoder模块所组成,其中Encoder和Decoder的详细结构如下图所示:

image.png

Encoder与Decoder由许多结构组成,如:多头注意力(Multi-Head Attention)层,Feed Forward层,Normalization层,甚至残差连接(Residual Connection,图中的"Add")。不过,其中最重要的结构是多头注意力(Multi-Head Attention)结构,该结构基于自注意力(Self-Attention)机制,是多个Self-Attention的并行组成。

1.2模型训练及效果

1.2.1模型训练

该模型训练所用数据集来自于National Library of Medicine,以下为数据集下载链接https://lhncbc.nlm.nih.gov/LHC-research/LHC-projects/image-processing/malaria-datasheet.html。获得数据集后需根据昇思MindSpore的数据集进行预处理。在导入数据后,需要构建ViT模型。以下为模型构建流程示意图:

image.png

完整训练ViT模型需要很长的时间,实际应用时建议根据项目需要调整epoch_size。本次项目中受限于算力,相关参数的设定epoch_size = 10、momentum = 0.9、num_classes = 1000。以下为训练过程展示:

image.png

2.2.2模型效果

1、该模型使用业界通用的评价标准Top_1_Accuracy和Top_5_Accuracy评价指标来评价模型表现。该评价标准定义为:

  • Top-1:Accuracy是指排名第一的类别与实际结果相符的准确率,就是你预测的label取最后概率向量里面最大的那一个作为预测结果,如过你的预测结果中概率最大的那个分类正确,则预测正确。否则预测错误。

  • Top-5:Accuracy是指排名前五的类别包含实际结果的准确率,就是最后概率向量最大的前五名中,只要出现了正确概率即为预测正确。否则预测错误。

以下为本项目的模型评价结果。

image.png

通过上图可知:Top_1_Accuracy=0.8081、Top_5_Accuracy=1.0。可知该模型具有优良的准确性。

2、输出效果图展示

image.png

image.png

image.png

02




昇思MindSpore安装

首先在昇思MindSpore官网安装页面(http://mindspore.cn/install/)寻找合适计算机系统的版本。

image.png

注意,本次项目使用的版本为2.1.0,以下为pip安装命令:

  1. $pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/2.1.0/MindSpore/
  2. unified/x86_64/mindspore-2.1.0-cp38-cp38-linux_x86_64.whl --trusted-host
  3. ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
复制

03




项目使用方法

image.png

1、本项目结构如文件所示。

data文件夹即数据集,里面包含测试集test以及数据集train。

2、ViT文件夹即网页中展示的已经训练好的模型。

3、python文件:如文件名字所示,test即为测试程序,train即为训练程序,verify即为验证程序。

4、如果是新手,记得在使用前修改其中的文件地址,一般情况下,报错大概率是由于环境配置错误(版本错误)或者文件地址修改错误(漏了地址没有修改或者/ \两个符号没有变换)等等。

5、如果有问题欢迎交流。

6、本项目完全开源,使用了MIT协议即:允许他人修改源代码后再闭源,不用对修改过的文件做说明,且二次开发的软件可以使用原作者的名字做营销。

04




总结

通过昇思MindSpore实现本项目的数据处理、模型训练、模型推理等等内容。通过本次项目所训练出的模型评价为Top_1_Accuracy=0.8081、Top_5_Accuracy=1.0。可知该模型具有优良的准确率。当输入图片进行推理时可以看出其预测的结果。

通过本次基于深度学习的疟疾病理切片的判读项目的学习与时间,掌握了深度学习计算机环境的搭建以及学习了Vision Transformer框架。

该项目可以根据昇思MindeSpore搭载于硬件开发板上进行推理应用,具体可以根据官网文档进行操作,这里由于时间关系没有制作,如果有感兴趣的读者可以进行深度的开发。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/699751
推荐阅读
相关标签
  

闽ICP备14008679号