点击我爱计算机视觉标星,更快获取CVML新技术


计算机视觉在医疗领域的应用非常广泛,52CV曾有相关博文:

AI医疗 | 新开源计算机视觉技术用于新生儿胎龄估计

NIHCC发布迄今世界最大的CT医学影像数据集(附下载)

Kaggle新上比赛:胸部X光片肺炎检测

前天PyImageSearch博主Adrian Rosebrock发表博文展示了使用Keras库利用深度学习技术进行疟疾检测的流程,并取得了超过目前文献的最好方法,值得大家参考。(昨天52CV-医学影像群里还有一位同学说如何做医学图像方面的毕设,这篇文章真是及时雨啊)

文末附代码和数据库下载。

疟疾全球分布

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

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

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

贫困程度、医疗条件、是否战争、政府是否腐败、传染媒介(蚊虫叮咬等)。

可知,在这些地区开展疟疾检测的技术手段不仅需要速度快还需要是低成本的(设备低廉而且要省电)。

目前疟疾检测的方法

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

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

为了使疟疾检测更快,科学家和研究人员开发了快速诊断检测(RDT)的抗原检测

所使用设备如下所示:

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

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

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

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

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

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

作者使用方法

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

其中一些细节包括:

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

图像样本示例:

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

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

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

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

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

7.使用softmax分类模型。

使用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/

代码数据下载

在“我爱计算机视觉”微信公众号对话界面回复“疟疾检测”,即可收到代码和所用数据的百度云下载地址。

加群交流

医疗图像处理识别在国内交流平台较少,52CV君已经建了一个专业群,扫码添加52CV君拉你入群:

(请务必注明:医疗图像)

喜欢在QQ交流的童鞋,可以加52CV官方QQ群:928997753。

(不会时时在线,如果没能及时通过验证还请见谅)

更多前沿计算机视觉技术请浏览:

52CV精华文章分类汇总(2018年12月1日)


长按关注我爱计算机视觉

【点赞与转发】就是一种鼓励

疟疾检测-Keras深度学习医学图像分析相关推荐

  1. 深度学习 -- 医学图像分析(一)

    参考文献:https://zhuanlan.zhihu.com/p/62045048 这次我们主要讨论深度学习在医学图像分析的主要应用(别问为啥没有别的,问就是都是草稿). 医学图像分类 图像筛查 定 ...

  2. Keras深度学习实战(12)——面部特征点检测

    Keras深度学习实战(12)--面部特征点检测 0. 前言 1. 数据集和模型分析 1.1 数据集分析 1.2 模型分析 2. 面部特征点检测 3. 模型测试 小结 系列链接 0. 前言 在计算机视 ...

  3. Keras深度学习实战(1)——神经网络基础与模型训练过程详解

    Keras深度学习实战(1)--神经网络基础与模型训练过程详解 0. 前言 1. 神经网络基础 1.1 简单神经网络的架构 1.2 神经网络的训练 1.3 神经网络的应用 2. 从零开始构建前向传播 ...

  4. [Python图像识别] 四十七.Keras深度学习构建CNN识别阿拉伯手写文字图像

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  5. Keras深度学习入门(一)

    第一部分:机器学习基础 一.机器学习的四个分支 监督学习 分类 回归 序列生成,给定一张图像,预测描述图像的文字 语法树预测,给定一个句子,预测其分解生成的语法树 目标检测,给定一张图像,在图中特定目 ...

  6. 《Keras深度学习:入门、实战与进阶》之印第安人糖尿病诊断

    本文摘自<Keras深度学习:入门.实战与进阶>. 1.数据理解 本节使用Pima Indians糖尿病发病情况数据集.该数据集最初来自国家糖尿病/消化/肾脏疾病研究所.数据集的目标是基于 ...

  7. Keras深度学习实战——交通标志识别

    Keras深度学习实战--交通标志识别 0. 前言 1. 数据集与模型分析 1.1 数据集介绍 1.2 模型分析 2. 交通标志识别 2.1 数据集加载与预处理 2.2 模型构建与训练 相关链接 0. ...

  8. 怎么装python的keras库_matlab调用keras深度学习模型(环境搭建)

    matlab没有直接调用tensorflow模型的接口,但是有调用keras模型的接口,而keras又是tensorflow的高级封装版本,所以就研究一下这个--可以将model-based方法和le ...

  9. DL之Keras: Keras深度学习框架的注意事项(默认下载存放路径等)、使用方法之详细攻略

    DL之Keras: Keras深度学习框架的注意事项(自动下载存放路径等).使用方法之详细攻略 目录 Keras深度学习框架的注意事项 1.Keras自动下载默认数据集/模型存放位置 Windows系 ...

最新文章

  1. 在SecureCRT中,hbase shell不能回退的问题
  2. ubuntu 中的qt怎么调用graphics.h_Qt 标准对话框之 QFileDialog
  3. mysql upgrade 失败_`mysql_upgrade`失败,没有给出真正的理由
  4. 在Idea中测试各JVM语言的交互性
  5. Spring如何引用properties文件里的配置
  6. 机房收费系统重构版:照葫芦画瓢
  7. busybox inetd tftpd
  8. swift python 性能_Swift 性能探索和优化分析
  9. Nginx与tomcat集成
  10. 【TWVRP】基于matlab灰狼算法求解带时间窗的车辆路径规划问题【含Matlab源码 361期】
  11. redis安装教程(简明扼要,一看就懂)
  12. 剑与家园服务器维护,剑与家园合服爆料 合服规则介绍
  13. 获取王者荣耀皮肤所有高清图片-Python
  14. ER图和EER图的区别
  15. ubuntu双系统时间同步_解决Windows与Ubuntu双系统时间同步问题
  16. 史上最全的MySQL优化手册
  17. 让我们再聊聊浏览器资源加载优化
  18. 混合网络:为自动驾驶设计的一种快速车辆检测系统
  19. 从键盘输入一个小写英文字母,将其转换成大写英文字母后,输出大写英文字母及其对应的十进制ASCII码值.
  20. 36 岁,我又跳槽了!

热门文章

  1. 黑盒测试--等价类划分、边界值分析
  2. ibm java英语面试_IBMJava英文面试题(附参考答案)
  3. pandas 转换为文本类型_分享5个高效的pandas函数!
  4. python可视化库matplotlib_Python数据可视化matplotlib库
  5. python invalid literal for int_求助!运行出现错误“ValueError: invalid literal for int() ··...
  6. hbase 预写日志_HBase存储结构
  7. python 数列第几项开始,数值超过1200
  8. php常用分页类,php 分页类(整理)
  9. linux下java转储线程_Java线程转储prio值与linux上的真实线程优先级不对应?
  10. python whl安装 缺少dll 查看具_解决Python安装时报缺少DLL问题【两种解决方法】