【医学影像】《Dermatologist-level classification of skin cancer with deep neural networks》论文笔记
这是一篇关于皮肤癌分类的文章,核心就是分类器,由斯坦福大学团队发表,居然发到了nature上,让我惊讶又佩服,虽然在方法上没什么大的创新,但是论文本身的工作却意义重大,并且这篇17年见刊的文章,引用量已经达到1300多,让人佩服,值得学习。
【出发点】现有的皮肤癌分类系统由于数据量不够,同时只针对标准化的图像如皮肤镜图像和组织图像,通用性不够,还难以媲美医生的水平,也就是说不能投入实际使用
【论文核心】利用inceptionv3训练12万张图片,对皮肤癌的诊断达到可媲美皮肤科医生的水平
【论文贡献】1.从互联网上收集12万张皮肤癌图像,这其中大多数为普通的图像(不是医学设备产生的标准图像),并由皮肤科医生打上类别标签
2.设计一套分类算法,对收集的图像进行详细的分类
3.利用在imagenet上预训练的inceptionv3在皮肤癌图像上训练,可得到非常好的效果
下面详细讲一下这三个点,主要是第一点,这是一个工作量很大的事,也是我认为本文最大的贡献所在。
1.数据
之前的皮肤癌分类系统使用的数据集较小,通常小于1000张图像,于是本文作者就在互联网上收集了129450张图像,其中3374张是皮肤镜图像(皮肤镜是皮肤科医生诊断时使用的专业手持设备)
在这些图像中共包含2032中疾病,但是训练分类器的时候,作者将输出的类别精简为757类,具体是如何做的就是本文的第二点贡献啦,论文给出一个简洁直观的图示,可以看到是一个树结构,2032种疾病的每一个都是一个叶子结点,然后不断向上聚合,形成更大的结点。

数据集是如何划分的呢,127463张图像作为训练集和验证集,1942张作为测试集。
2.分类算法
分类算法的思路很简单,从根节点开始遍历,计算当前节点所属类别包含的图片数量,以上面的Benign节点为例,它包含的图片数就是该节点下面所有叶子节点的图片数目和,若该数目超出设定的阈值(本文为1000),则递归计算该节点的所有子节点,否则满足条件,将该节点设为用来训练的类别,即757之一。具体流程如下,思路还是很清晰的,也很合理。

3.网络

网络上其实没啥新意,对于这种开创性的工作,确实不需要说网络有多大的创新
那么本文的网络采用的是inceptionV3,很奇怪,另一篇cell上的关于眼病分类的文章采用的也是inceptionV3,其实现在普遍采用的分类器是resnet系列,而这两篇重量级高质量文章都采用了inceptionV3,很奇怪。
网络的输出为757类,具体见上面的图,都是各种细分的皮肤区域,然后根据自己的需要,你可以对输出概率进行求和,得出更大的更粗糙的类别的概率,这一点不难理解。
论文钟对这一点有一个更直观的图解,绿色的结点构成757类输出,红色结点是更加粗糙更大范围的分类,那么大类的概率就是对下面子类概率的简单求和。

【实验结果】本文的分类实际上只针对两种皮肤癌,也就产生了本文的两个任务:角质形成细胞癌(keratinocyte carcinomas)vs 良性脂溢性角化病(benign seborrheic keratoses);恶性黑色素瘤 vs 普通的痣,在 21 位经过认证的皮肤科医生的监督下,测试了它在活检证实的临床图像上的性能。第一例代表最常见的癌症的识别,第二例代表了最致命的皮肤癌的识别。深度卷积神经网络在这两个任务上的表现都达到了所有测试的专家的水平,证明了该人工智能的皮肤癌鉴定水平达到了媲美皮肤科医生的水平。论文中的测试集用了三种数据,也就是共有三种测试,分别是epidermal lesions(上皮病变),melanocytic lesions(黑素细胞病变)和melanocytic lesions(dermoscopy)(也是黑素病变,只不过采用的是皮肤镜图像),下面高能,图示三种任务,都是二分类的。

定量的评估呢,本文采用敏感性-特异性曲线,也就是正样本的召回率-负样本的召回率,后者会随着前者的增大而由1 降为0。上图吧,可以看到,完全超过医生的水平

那些红色的点就是皮肤科医生的水平,完全处于分类器的曲线下面,在不同的数据量和不同类的数据上都有91%以上的表现,我佛了。
总结下,这绝对是有重要贡献的好文章,赞!
【医学影像】《Dermatologist-level classification of skin cancer with deep neural networks》论文笔记的更多相关文章
- 【医学影像】《Identifying Medical Diagnoses and Treatable Diseases by Image-Based Deep Learning》论文笔记
这篇论文的作者是张康教授为首的团队,联合国内外众多医院及科研机构,合力完成,最后发表在cell上,实至名归. 从方法的角度上来说,与上一篇博客中的论文很相似,采用的都是InceptionV3模型,同时 ...
- 医学影像工作站程序ProDicom的说明
转载 http://blog.csdn.net/prodicom/article/details/4015064 注意:以下内容为转载,但保留了第一人称,请注意,以免造成不必要的麻烦. 医网联影像工作 ...
- 释放至强平台 AI 加速潜能 汇医慧影打造全周期 AI 医学影像解决方案
基于英特尔架构实现软硬协同加速,显著提升新冠肺炎.乳腺癌等疾病的检测和筛查效率,并帮助医疗科研平台预防"维度灾难"问题 <PAGE 1 LEFT COLUMN: CUSTOM ...
- C#开发医学影像胶片打印系统(一):万能花式布局的实现思路
本篇文章将介绍开发医学影像胶片打印系统(printscu模式)遇到不规则排版时的一种思路, 一般来讲,医院打印胶片时都是整张胶片打印,但有时需要将多个病人或一个病人的多个检查打印在同一张胶片上, 这时 ...
- 基于cornerstone.js的dicom医学影像查看浏览功能
最近由于项目需求,需要医学影像.dcm文件的预览功能,功能完成后,基于原生Demo做一个开源分享. 心急的小伙伴可以先看如下基于原生js的全部代码: 一.全部代码 <!DOCTYPE html& ...
- AI+医疗:使用神经网络进行医学影像识别分析 ⛵
作者:韩信子@ShowMeAI 计算机视觉实战系列:https://www.showmeai.tech/tutorials/46 行业名企应用系列:https://www.showmeai.tech/ ...
- C#开发PACS医学影像三维重建(一):使用VTK重建3D影像
VTK简介: VTK是一个开源的免费软件系统,主要用于三维计算机图形学.图像处理和可视化.Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的. 因为使用C#语言开发,而VTK是C++ ...
- [网摘][医学影像] DICOM 和 NIFTI 基础知识与区别
查找DICOM基础知识时,看到这篇文章里面写了一些关于使用深度学习进行医疗影像分析:文件格式篇.下文摘自:https://www.jiqizhixin.com/articles/2017-07-31 ...
- 使用医学影像开源库cornerstone.js解析Dicom图像显示到HTML中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- java的集合框架详解
前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法. 在Java语言中,Jav ...
- 关于神经网络中的padding
参考:https://www.cnblogs.com/willnote/p/6746668.html
- java简单例子介绍IOC和AOP
IOC和AOP的一些基本概念 介绍 IOC 一.什么是IOC IoC就是Inversion of Control,控制反转.在Java开发中,IoC意味着将你设计好的类交给系统去控制,而不是在你的类内 ...
- hibernate方言
hibernate中,方言是解决hql翻译成sql保证语法的正确,首先数据库都是支持sql的,不同的数据库会存在一些语法上面的差异.HQL则是基于对象的查询语言,当系统需要数据库的变换时,那么用hib ...
- win10 64位 python3.6 django1.11 MysqlDB No module named 'MySQLdb' 安装MysqlDB报错 Microsoft Visual C++ 14.0 is required
在python3.6中操作数据库,再按python2.7安装MySQLdb进行数据库连接已经不可用了,我使用的是另外一个方法:PyMySQL,安装好之后还是不能直接连接MySQL的,启动项目后报No ...
- Git: 教你如何在Commit时有话可说
Git: 教你如何在Commit时有话可说 不知道大家有没有观察过那些在Github上Star数位居前列的项目,它们无一例外的都拥有完善的文档体系和高覆盖的测试用例.要做到完善没有规范肯定是不行的 ...
- LightOJ 1268 Unlucky Strings (KMP+矩阵快速幂)
题意:给出一个字符集和一个字符串和正整数n,问由给定字符集组成的所有长度为n的串中不以给定字符串为连续子串的有多少个? 析:n 实在是太大了,如果小的话,就可以用动态规划做了,所以只能用矩阵快速幂来做 ...
- Java基本类型学习
基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型.它们是我们编程中使用最频繁的类型.java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化. 1. Java ...
- 使用word 2013 发布csdn博客
目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...
- Postman -- HTTP请求的Chrome插件
摘要 : Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件. 用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网 ...