Deep learning for digital pathology image analysis: A comprehensive tutorial with selected use cases
Deep learning for digital pathology image analysis: A comprehensive tutorial with selected use cases
Andrew Janowczyk, Anant Madabhushi
1 摘要
背景: 深度学习(deep learning, DL)是一种表示学习方法,非常适合用来处理数字病理学(digital pathology, DP)中的图像分析问题。DP中有各种图像分析任务,包括检测和计数(例如有丝分裂)、分割(例如细胞核)、组织分类(例如癌/非癌)等等。但是由于产生数字病理学图像的过程(制片、着色、扫描)和供应商平台的不统一,以及生物差异(如不同等级疾病有不同表现),DP中的图像分析任务特别具有挑战性。传统方法在特定领域人为设计任务相关的handcrafted特征,这需要大量的微调以适应这些差异;而深度学习是一种相对来说领域无关的方法,它将特征的发现与实现相结合,最大化感兴趣的类别间的差异。虽然DL在部分DP图像分析任务中表现优异,但是当前并没有开源的工具或教程提供这方面的指导,比如:(a)选择合适的放大倍数,(b)控制训练集中的注释错误,(c)确定一个合适的包含丰富信息样本的训练集,这些是将DL成功应用于DP任务中所必须的基本概念。
目标: 本文有7个独立的DP任务,用来探索DL应用于不同DP领域所需要的技巧。
结果: 本文展示了如何使用深度学习解决以下问题:
● (a)细胞核分割(nuclei segmentation),F‑score of 0.83 across 12,000 nuclei
● (b)上皮细胞分割(epithelium segmentation),F‑score of 0.84 across 1735 regions
● (c)细管分割(tubule segmentation),F‑score of 0.83 from 795 tubules
● (d)淋巴细胞检测(lymphocyte detection),F‑score of 0.90 across 3064 lymphocytes
● (e)有丝分裂检测(mitosis detection),F‑score of 0.53 across 550 mitotic events
● (f)浸润性导管癌检测(invasive ductal carcinoma detection),F‑score of 0.7648 on 50 k testing patches
● (g)淋巴瘤分类(lymphoma classification),classification accuracy of 0.97 across 374 images
结论: 本文对深度学习方法在数字病理学领域的应用进行了迄今为止最大范围的综合研究,在评估中使用了超过1200张数字病理学图像。
2 INTRODUCTION
数字病理学(digital pathology, DP)是指将组织切片数字化,以生成高分辨率的图像,这样就可以使用图像分析技术来处理DP领域中的检测、分割、分类等任务。很多DP领域的图像分析都涉及到量化(如细胞或有丝分裂计数)或者组织分级(分类)。如图1中所示,这些任务都需要识别组织基元(histologic primitive),例如细胞核、有丝分裂、细管、上皮组织细胞等。
现有方法主要有两个缺点:(1)任务相关方法的开发需要很长时间的研究及开发周期,对某个特定数据集性能良好的处理参数一般不能直接应用于另一个独立的数据集,还需要额外的参数进行调整;(2)如何寻找或调整最优参数一般只能依靠算法的开发者,对其他人来说无法直观理解。深度学习没有任务或者数据相关的先验假设,完全由数据驱动生成合适的特征空间,这是DL的关键特性,使得训练得到的特征可以泛化应用到其他独立的测试集上。
3 DIGITAL PATHOLOGY TASKS ADDRESSED
表1展示了本文处理的7个任务。
3.1 Segmentation and Detection Tasks
分割任务要描绘出组织基元(例如细胞核、有丝分裂、细管、浸润性导管癌IDC)的精确边界,所以需要提取精确的形态特征。检测任务(例如检测淋巴细胞和有丝分裂)一般只是确定基元的中心而不需要描绘出轮廓,所以分割要比检测更具有挑战性,尤其是基元存在多个可能形态时。
3.2 Tissue‑Based Classification Task
本文处理的另一类实例属于组织级别分类。使用DL方法可以直接学习到组织类别的特征表示,而不需要定义单个组织基元以通过相关组织基元的特定特征来进行预测。DL的方法不需要定义基元,在不了解相关领域的基元的前提下也可以直接对组织类别进行预测。DL方法只需要标示了类别的图像块(patch)就可以学习到具有较强类别区分性的表示。
3.3 Manual Annotation for Ground Truth Generation
优质的注释样本是深度学习重要的先决条件,但是处理数字病理学中最大的挑战就是获取高质量的注释样本。有文章显示在组织分类器的在更高分辨率上会发生退化,主要是因为医学专家注释的并没有那么精细(图5是一种类似情况)。
病理学家一般不会耗费精力来标注高分辨率病理图像,所以(a)很少有精确到像素级的标注;(b)一般标注较低分辨率图像;(c)标注样本包含大量的假阳/阴区域。
4 DEEP LEARNING METHODS
4.1 Overview of Deep Learning Workflows
本文使用的深度学习主要由四个模块组成。
Casting
设计一个适当的网络一般需要确定很多问题,比如:输入图像块的尺寸、网络层的数量、卷积的属性等。本文使用现有的AlexNet,因为发现一个成功的网络架构也是比较困难的,本文实现框架为Caffe。
Patch generation
一旦确定了网络结构,那么输入尺寸也就确定了,接下来就是生成图像块来构成训练/验证集。这个阶段需要一定的相关领域知识,以确定生成的训练集包含多样性的表示。本文选定的网络性能一般,虽然可以减轻过拟合的问题,但样本的选取会很大程度的影响最终的效果。这个问题在病理学领域尤为显著,因为同一类别中也存在很大的差异。
Training
使用固定batch size的随机梯度下降(SGD)方法,(a)将预处理的图像块输入网络;(b)计算误差导数;(c)反向传播更新网络参数。学习率随训练时间减小,以确定收敛到局部最小。保存训练得到的参数(也就是模型)用于测试。
Testing
使用训练好的模型对测试集数据进行预测。
4.2 Review of AlexNet Network Architecture
Convolutional layer 略
Pooling layer 略
Inner product (fully connected) 略
Activation layer 略
Dropout layer 略
Softmax layer 略
网络结构见表2,超参数设置见表3,输入图像尺寸为32x32。
注:对于文中医学相关的名词翻译可能不准确,如有异议请指正。