【医学影像】《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%以上的表现,我佛了。
总结下,这绝对是有重要贡献的好文章,赞!