【医学影像】《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 ...
随机推荐
- 支付宝soa框架发展思路(转载)
大家好,这里是首届QCon Beijing的现场,现在坐在我的旁边是的支付宝的首席架构师程立.先给大家介绍一下,支付宝架构发展到今天,经历哪些时期,都有哪些里程碑? 我回忆一下,支付宝系统架构发展大概 ...
- elmah oracle
. <sectionGroup name="elmah"> <section name="security" requirePermissio ...
- charles4.2下载与破解方法以及配置https.RP
Charles下载地址 地址:https://www.charlesproxy.com/latest-release/download.do 2. Charles破解 破解地址:https://www ...
- 一起做RGB-D SLAM (4)
第四讲 点云拼接 广告:“一起做”系列的代码网址:https://github.com/gaoxiang12/rgbd-slam-tutorial-gx 当博客更新时代码也会随着更新. SLAM技术交 ...
- mysql-day01
Microsoft Windows [版本 10.0.17134.648](c) 2018 Microsoft Corporation.保留所有权利. C:\Users\lijun>java用法 ...
- 编写高质量代码改善C#程序的157个建议——建议155:随生产代码一起提交单元测试代码
建议155:随生产代码一起提交单元测试代码 首先提出一个问题:我们害怕修改代码吗?是否曾经无数次面对乱糟糟的代码,下决心进行重构,然后在一个月后的某个周一,却收到来自测试版的报告:新的版本,没有之前的 ...
- Tomcat 警告:consider increasing the maximum size of the cache
最近在Tomcat8上导入原本Tomcat6的项目,报了以下错误:Tomcat 警告:consider increasing the maximum size of the cache. 这是因为to ...
- duilib入门简明教程 -- XML基础类(7)
现在大家应该对XML描述界面不那么陌生了,那么我们做进一步介绍. 前面的教程我们写了很多代码,为的是让大家了解下基本流程,其实duilib已经对常用的操作做了很好的包装,正式使用时无需像前面的教程那样 ...
- Spring学习(三)——集成 Velocity
上篇文章http://www.cnblogs.com/wenjingu/p/3822989.html我们使用Gradle构建了一个简单的Spring MVC Web应用程序, 本篇将在上篇的基础上将j ...
- python下使用tesserocr遇到的一些坑
我是在win7 64位系统下用的. 首先是安装tesseract,这个可以去官网下载,我使用的是3.05.1,安装时使用默认安装路径就行了,下载语言包速度很慢很慢,需要等 接下来就是安装tessero ...