AI小助手

  • 80

    获得赞
  • 53

    发布的文章
  • 5

    答辩的项目

疟疾检测-Keras深度学习医学图像分析

Keras

最后更新 2020-05-25 15:26 阅读 131

最后更新 2020-05-25 15:26

阅读 131

Keras

image.png

疟疾全球分布

疟疾是一种致命传染病,在全世界范围内每年造成超过40万的人死亡,下图展示了疟疾发病数量的全球分布图。红色代表高危地区。

image.png

由上图可知,疟疾最泛滥的地区在中非。而这也往往是世界经济欠发达地区,医疗条件和生活卫生环境堪忧。

疟疾的地理分布和以下因素强相关: 

贫困程度、医疗条件、是否战争、政府是否腐败、传染媒介(蚊虫叮咬等)。 可知,在这些地区开展疟疾检测的技术手段不仅需要速度快还需要是低成本的(设备低廉而且要省电)。


目前疟疾检测的方法

目前临床医疗环境中对疟疾的诊断主要依赖两种方法。

一种是血液采样涂片,通过有经验的医生在显微镜下观察载玻片并手动计算感染的红细胞数,有时候医生需要数5000个细胞,这显然需要耗费大量的时间。

image.png

为了使疟疾检测更快,科学家和研究人员开发了快速诊断检测(RDT)的抗原检测。 所使用设备如下所示:

image.png

虽然RDT明显快于细胞计数,但它的准确性也低得多。


新方法,深度学习自动检测

值得高兴的是,2018年,NIH提出了新的基于深度学习的疟疾检测方法,通过采集血液样本图像,将疟疾的检测建模为已感染、未感染的二分类问题,他们的论文名为《Pre-trained convolutional neural networks as feature extractors toward improved parasite detection in thin blood smear images》,使用了6个预训练模型。

image.png

这种方法取得了可观的检测精度(95.9%),但训练时间也很长,需要24个小时。

更大的问题是,这么多大型的预训练模型,实际使用时是极其耗时、耗电、耗内存的。在刚才我们看到的疟疾高发地区部署这样的系统依然面临挑战。

于是,作者的想法是,构建小型结构的CNN网络,在原始数据上重新训练,并期望达到相当的精度。


作者使用方法

Adrian Rosebrock通过构建残差CNN网络来实现疟疾检测。

其中一些细节包括:

1.数据集直接使用NIH发布的疟疾数据集,其共有27588幅图像,正负样本各13794幅图像(文末附下载)。 

图像样本示例:

image.png

2.训练集:验证集:测试集的数量之比为:8:1:1。 

3.训练迭代次数50次,batch size 设为32,初始学习率1e-1,动量0.9。 

4.数据预处理阶段除了必要的归一化外还经过多种数据增广操作,包括:旋转、缩放、平移、镜像等。 

5.输入图像resize到64*64大小(而NIH研究中使用的ImageNet预训练模型需要的大小)。

6.模型构建使用Keras构建残差网络(ResNet.build())

image.png

7.使用softmax分类模型。

image.png

image.png

使用Titan X GPU训练,经过50个epoch,共计54分钟的训练,模型精度达到:

96.50% accuracy on 训练集 

96.78% accuracy on 验证集 

97% accuracy on 测试集

检测精度高于NIH的6个大型模型的方法!而模型大小仅17.7M!

原博文地址: 

https://www.pyimagesearch.com/2018/12/03/deep-learning-and-medical-image-analysis-with-keras/


文章转载自公众号:我爱计算机视觉

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,转载请附上原文出处链接和本声明。
本文链接地址:https://www.flyai.com/article/512
讨论
500字
表情
每日优质讨论奖励 20FAI
发送
每日优质讨论奖励 20FAI
删除确认
是否删除该条评论?
取消 删除