雷锋网 (公众号:雷锋网) AI 研习社按:最近一段时间以来,医学影像作为人工智能重要的应用领域,受到学界和越来越多 AI 公司的关注。Nature、Science、Cell 上频频刊登在医疗影像中应用 AI 的文章,谷歌、IBM、依图科技等公司也纷纷加入 AI+ 医疗的竞争……
作为全球最大的数据科学竞赛平台,Kaggle 也顺理成章搭上了这班顺风车,与 Booz Allen Hamilton 咨询公司一同推出了 2018 年 Data Science Bowl 比赛。
众所周知,鉴定细胞的细胞核是大多数医学分析的起点。人体 30 万亿细胞中,大部分都有细胞核,而这些细胞核中存储了 DNA。识别细胞核可以让研究人员识别样本中的每一个细胞,通过测量细胞对各种治疗措施的反应,研究人员可以了解潜在的生物过程,进而提高药物检测的效率,缩短新药的开发周期。
本次比赛要求参赛者构建计算机视觉模型,从图片中识别不同条件下的细胞核,并且以均值平均精度(MaP)和交并比(IoU)作为评价指标。该比赛奖池巨大,达到了 10 万美金之多,共吸引了 861 支队伍。
下面是第一名的解决方案,雷锋网 AI 研习社编译整理如下。
我们之前有参加过图像分割挑战赛(如 Carvana,Urban 3D,Spacenet,Konica Minolta),在这些比赛中,我们积累了丰富的经验。因此,这一次比赛的选择非常明确——开了挂的 U-Net!
首先,我们尝试了最简单的方法,并将针对二进制掩膜的分水岭算法加入其中(换言之,修改 GT 掩膜使得细胞核之间总是存在间隙),这让我们在公开榜单上获得了大约 500 的分数。显然,这不足以赢得比赛。
然后,我们加入了代表轮廓的通道,轮廓的宽度取决于细胞核的大小。这些掩膜 + 简单的分水岭后置处理算法让我们在公开榜单上大约获得了 525 分。尽管这并不是一个大的突破,但是它给了我们对正确方向的启示。
回过头来看这些错误,很明显,网络很容易在不模糊的地方预测轮廓。然而,在我们真正需要通过轮廓去分割出细胞核的地方,这些网络的表现却非常糟糕。因此,我们决定只预测细胞之间的边界。很容易地,我们通过单一的网络处理结果 + 分水岭后置处理在公共榜单上获得了大于 550 的分数。
尽管我们在一个通道中有全掩膜,在另一个通道中有细胞的边界,但有时结果还是不够好。一个更好的方法是改变原子核的掩膜并且使边界上的像素点变成空白。这也让我们能够使用 softmax 而不是 sigmoid 函数作为激活函数。这样可以更好地分离出原子核,但是实际上,由于交并比(IoU)的阈值太高,均值平均精度(MaP)却被降低了。我们通过额外在全掩膜上训练的网络去解决这个问题,并且在后置处理的步骤中将结果进行融合。
2 通道 sigmoid 激活函数掩膜网络(例如,掩膜-边界、边界)或3通道 softmax 激活函数掩膜网络(例如,掩膜-边界、边界、1-掩膜-边界)
2 通道全掩膜(例如,掩膜、边界)
对于图c43e356beedae15fec60ae3f8b06ea8e9036081951deb7e44f481b15b3acfc37,处理结果看起来是这样的:
在 post 处理之后的结果为:
由于只有几百张训练图像,我们需要提出具体的数据增强方案来防止模型过拟合,更好地泛化。我们用了大量的数据增强方法(或许太多了)
对比度受限自适应直方图均衡化算法(Clahe),锐化(Sharpen),凸点(Emboss)
高斯噪声
彩图到灰度转换(Color to Gray)
反相——我们本不该使用它的,这种方法使得第二阶段一些图像没有被准确地预测
将灰度图重新映射到随机颜色的图像中
模糊(Blur)、一般模糊(Median Blur)、非常模糊(Motion Blur)
对比度和亮度
随机缩放、旋转、翻转
重度几何变换:弹性变换(Elastic Transform)、透视变换(Perspective Transform)、分段仿射变换(Piecewise Affine transforms)、枕形畸变(Pincushion Distortion)
随机色相、饱和度、明度(HSV)变换
通道重排——由于数据的天然性,这一点非常重要
图像上细胞核的复制。这样就创造了大量重叠的细胞核,似乎有助于网络更好地学到重叠细胞核的边界。
我们使用在 ImageNet 上预训练好的、类似于编码器——解码器结构的 UNet 网络。
令人惊讶的是,像 VGG16 这样的简单编码器根本不适用于这个比赛,比如在细胞组织上看起来像细胞核(但事实上并不是)的困难情况下就失败了,尤其是在像 59b35151d4a7a5ffdd7ab7f171b142db8cfe40beeee67277fac6adca4d042c4 这种彩色图片中:
这些实验之后,我们决定进行更加深入的研究!结果显示,本次比赛中性能最好的模型是:DPN-92, Resnet-152,INceptionResnetV2,Resnet101
在这个部分,我们使用预测出的细胞核作为候选,来训练 LightGBM 模型。每一个候选都是通过最低的(决策树)分裂阈值挑选出来的,并且试图与较高的阈值和损失分开。我们使用几个基本的形态学特征来描绘候选,例如:坚固性、循环性、凸性、面积、计数等。预测目标是交互比,之后根据预测出的交互比选择候选的最佳阈值,将交互比很小的候选直接删除。
我们从 janowczyk、nucleisegmentationbenchmark、isbi2009、BBBC020、TNBC 数据集中额外添加了一些图像,其中一部分图像降低了我们在公共榜单上的得分,使得对彩色图片的预测不那么准确。很遗憾的是我们没有时间去找到问题的根源,进而做出进一步的调整。
我们使用了一种简单的方法:仅仅在后置处理之前对掩膜的结果取了平均。
随机裁剪(random crops): 256*256
批处理尺寸(batch size):16
优化器:Adam
学习率:初始值为十的负四次方(我们有不同的 LR 策略,但是大多数情况下选择不超过十的负四次方的小 LR 值)。
对于使用 sigmoid 激活函数和 2 通道掩膜的网络,我们为每个通道使用「binary_crossdentropy」和「soft_dice」的组合。 对于使用 softmax 激活函数和 3 通道掩膜的网络,我们为每个通道使用 「categorical_crossentropy」和「soft_dice」(soft dice 仅仅适用于掩膜和边界通道)
标准翻转/旋转(0度,90度,180度,270度)。
via Kaggle
雷锋网 AI 研习社编译整理。
雷锋网版权文章,未经授权禁止转载。详情见 转载须知 。