用深度学习协助医生诊断肿瘤

blog
paper

医生在看完病人组织的样片后得出的结论报告,直接决定了很多疾病的诊断结果。尤其对于癌症,医生的诊断对病人的治疗起到关键的作用。查看病人组织样片是一件特别繁琐的工作,需要很多年的看片经验才能做的好。

即使是经过额外训练的医生,当诊断同一个病人时,不同的医生也会得出不同的结论。例如,。。。而且一个病人的图片往往时亿级像素,医生要对看到所有像素,而且往往看片的时间也很有限。

为了解决这个诊断效率以及诊断质量的问题,我们研究了如何把深度学习的方法用在数字病理学上,通过创建一个能够完成诊断医生工作的自动诊断算法。使用了2016 ISBI Camelyon Challenge 的图片数据来训练模型。

【博客后面直接讲方法的结果了,这里转到paper部分】

给一张亿级像素图片,目标是判断图片是否包含肿瘤,以及定位到肿瘤的位置,以便医生查看。在这种应用场景下,检测和定位要比像素级别的分割更重要。由于图片尺寸大同时图片数量又不多(270张),我们使用图片中的块(patch)来训练。在图片上滑动窗口,在每个窗口上做推断,产生肿瘤可能性热图。对于每一张整图,把所有热图中概率最大的作为图片级别的预测结果。

使用Inception(V3)架构,输入图片是299x299,用已有预训练的模型初始化参数。对于输入patch,我们预测中心128x128区域的标签。128像素区域能够覆盖肿瘤细胞,其他工作[16]也有这样做。如果中心区域有至少一个像素被认为是肿瘤,就把这个patch标记为肿瘤。我们改变了网络层的参数,固定层的数量不变,减少每层filter的数量。为了尽量减小模型大小。我们也尝试了多尺度图片,实验表示使用4个尺度并不会增加多少精度,我们就只用了两个尺度。

训练和评估模型不是件容易的事,由于patch的巨大数量和肿瘤类别的不平衡。每一个slide包含10,000到40,000个patches(中值为90,000),而每个包含肿瘤的slide包含20到150,000不等的肿瘤patches(中值为2000),对应到的包含肿瘤的patch比例从0.01%到70%不等(中值为2%)。为了避免patch中正常和不正常的patch,需要仔细地采样。首先,用同等比例选取正常的和有肿瘤的。然后,选择那些包含patch随机分布的slide,并从这些slide中选取patch。

我们使用了如下数据增强手段:
1. 输入patch旋转90°四次,左右翻转,再旋转4次。这样就得到了8个方向的patch。能够这样做的原因是,slide没有方向性。
2. 使用TensorFlow的image库来修正颜色:

We use TensorFlow’s image library (tensorflow.image.random X ) to 
perturb color:brightness with a maximum delta of 64/255, saturation 
with a maximum delta of 0.25, hue with a maximum delta of 0.04, 
and contrast with a maximum delta of 0.75. Lastly, we add jitter 
to the patch extraction process such that each patch has a small x,y 
offset of up to 8 pixels. The magnitudes of the color perturbations 
and jitter were lightly tuned using our validation set. Pixel values 
are clipped to [0, 1] and scaled to [−1, 1].

启发

  1. 论文用的思路是“滑动窗口+分类器”进行目标检测,这里的窗口就是文中所说的patch。
  2. 数据增强非常重要,尤其是对于样本不够的情况。而数据增强又需要对数据本身有一定的了解,否则无法选择到合适的argument方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值