本文首发于微信公众号 CVHub,不得以任何形式转载到其它平台,仅供学习交流,违者必究!
本文正在参加 人工智能创作者扶持计划
比赛介绍
甲状腺是一种呈蝴蝶状的内分泌腺,通常位于颈部前下部。它分泌人体内所有细胞正常工作所必需的激素。甲状腺结节是指甲状腺细胞的异常生长,在甲状腺内形成肿块。
统计研究表明,这种疾病的发病率随着年龄而增加,占世界人口的50%以上。直到最近,甲状腺癌是美国增加最迅速的癌症之一。它是20至34岁的女性群体中最常见的癌症。虽然绝大多数甲状腺结节是良性的(非癌症),但少部分的甲状腺结节含有甲状腺癌。尽早的诊断有助于更好的治疗甲状腺癌,前提是需要精确地表征结节。
甲状腺超声是评估甲状腺结节的关键工具。它是无创的,实时的,无辐射的。然而,人们很难解释超声图像,特别是识别恶性结节和良性结节之间的细微差别。因此,诊断过程是非常费时的,严重依赖于临床医生的专业知识和主观经验。
近年来,许多计算机辅助诊断系统被用于缓解这一问题。然而,由于没有可用的基准,通常很难评估每一种药物的疗效。因此,主办方建议了名为TN-SCUI2020一个挑战赛,旨在提供这样一个平台来验证所有最先进的方法和交流新的想法。
目标宗旨
本次TN-SCUI2020挑战的主要主题是寻找自动分割算法,得以在超声图像中准确分割出甲状腺结节。比赛将提供最大的公共甲状腺结节数据集,超过4500例患者病例,分别来自不同的年龄,性别,并使用不同的超声设备所收集。每个超声图像提供其Ground Truth(良性或恶性)和结节的详细描述。该数据集来自上海交通大学医学院附属瑞金医院超声科周佳桥博士发起的中华医学超声人工智能联盟(CMUAIA)。这一挑战将为来自不同背景(例如学术界、工业界和政府等)的参与者提供一个独特的机会,以公正的方式比较他们的算法。
开源协议
根据MICCAI的提案和要求,此数据集的发布权限仅限于此挑战的目的。除了本网站之外,将在数据集图像上给予出版权限。参与者不得在任何其他出版物或学术论文中使用该数据集图像。对于这可能导致的任何不适,我们将深表歉意。
数据集介绍
数据集包括训练集图像和测试集图像,以灰度图和.png扩展名保存,分别采集于不同设备因此具有不同的尺寸大小。其中,训练集图像共包含由3644名患者所采集到的3644例超声结节甲状腺图像。结节的注释由经验丰富的医生标记。所有标注图像均为二值图像,其中前景像素是255,背景像素值为0。图像名统一保存为“xxx.png”。其中“XXX”呈现患者ID(从001到3644编号)。分类任务的注释保存在CSV文件中,具有ID的标题(患者ID的表示),并且包含Cate属性,其中0代表良性,1代表恶性。
[官网地址]:tn-scui2020.grand-challenge.org/
[DDTI数据集下载地址]:drive.google.com/file/d/1wwl…
[1st方案链接]:github.com/WAMAWAMA/TN…
冠军方案介绍
数据预处理
由于采用不同的采集协议,部分甲状腺超声图像有不相关区域(背景环境噪声)。首先,我们采用阈值法去除这些可能带来冗余特征的区域。特别地,我们对像素值从0到255的原始图像进行沿x轴和y轴平均的操作,分别去除均值小于5的行和列。然后将处理后的图像大小调整为256×256分辨率作为第一个分割网络的输入。
级联分割框架
作者使用了一个简单的级联框架来分割结节,它可以很容易地扩展到其他单目标分割任务。
利用Dice Loss对两个具有相同编解码器结构的网络进行训练。事实上,我们选择DeeplabV3+ with efficientnet-B6的Backbone作为第一个网络和第二个网络的编码器。训练第一个分割网络(级联的I阶段)提供结节的粗定位,在粗定位的基础上,训练第二次分割网络(级联的II阶段)进行细分割。我们的初步实验表明,在第一个网络中提供的上下文信息可能不会对第二个网络的细化起到显著的辅助作用。因此,我们只使用ground truth(GT)获得的感兴趣区域(region of interest,ROI)内的图像来训练第二个网络。(在训练这两个网络的过程中,输入数据是唯一的区别。)
当训练第二个网络时,我们将GT得到的结节ROI展开,然后将扩大的ROI中的图像裁剪出来,并将其大小调整为512×512像素,以供第二个网络使用。我们观察到,在大多数病例中,大结节一般边界清楚,而且小结节的灰度值与周围正常的甲状腺组织的灰度值差异较大(如上图所示)。因此,背景信息(结节周围组织)对于小结节的分割具有重要意义。如下图所示,在预处理后大小为256×256像素的图像中,首先得到结节感兴趣区域的最小外平方,然后若正方形边长n大于80,则外扩m为20,否则m为30。
数据增强和后处理
在这两个任务中,以下方法在数据增强中执行: 1) 水平翻转, 2) 垂直翻转, 3) 随机剪切, 4)随机仿射变换 ,5) 随机检尺,6) 随机翻译, 7) 随机旋转, 和 8) 随机剪切变换。 此外,随机选择以下方法之一进行额外的增强: 1) 锐磨, 2)局部辨析, 3) 调整对比, 4) 模糊(高斯,平均值,中值), 5) 高斯噪声的加法,和 6)擦除。
TTA(Test time augmentation)通常提高分割模型的泛化能力。在我们的框架中,TTA包括用于分割任务的垂直翻转,水平翻转和180度旋转。
训练Trick
使用五折交叉验证来评估所提出的方法的性能。我们的观点是,有必要保持训练集和验证集中结节的大小和类别分布相似。实际上,结节的大小是将预处理后的图像统一为256×256像素。我们将尺度分为三个等级:1) 小于1722像素,2) 小于5666像素大于1722像素,和 3)大于5666像素。 这两个阈值,1722像素和5666像素, 很接近三分位数,通过卡方独立检验,大小分层与良、恶性分类有统计学意义(p<0.01)。我们将每个尺寸等级组的图像分为5个等级,并将不同等级的单次折叠合成新的单次折叠。这一策略确保了最后五次折叠具有类似的大小和种类分布。
流程梳理
- 预处理去除不相干的区域
- 实验级联框架 -五折交叉验证(CV)策略,平衡结节大小和种类分布
- 使用TTA(Test time augmentation)
- 模型整体:由于我们在五折CV中分别训练了两个网络,我们将任意一个第一个网络和一个第二个网络组合成一对,最后我们得到25对(或推理结果)并通过像素投票将25个Inference结果合并成最终的集合结果
分割结果
在2020TN-SCUI训练集上测试了3644张图像或结节,恶性2003:良性1641)。基于“DeeplabV3+ with efficientnet-B6 encoder”的五折CV分割结果如下:
[Leaderboard]:tn-scui2020.grand-challenge.org/evaluation/…
总结
总的来说,整体思路可分为数据预处理+模型训练+分割后处理三部分。首先,对于数据预处理部分,通过阈值法及边界裁剪策略删除了无用的背景噪声干扰信息,使模型得以训练一批干净的数据。其次,对于模型训练,采用常规的分割网络框架Deeplab v3,并应用了提取能力较强的Efficient-Net B6作为Backbone进行特征提取,同时结合了五折交叉验证和丰富的数据增强等训练技巧很好的对模型继续训练并有效的避免过拟合的风险,增强了网络的泛化性能。需要注意的是,作者的分割网络框架采取了2阶段的形式,即粗分割-细分割,这种级联结构在比赛中也是非常常用的,值得借鉴。最后,再对分割后的结果采取了测试时增强即TTA策略来进一步的提分。
写在最后
如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎扫码与我交流,一起探讨更多有趣的话题!
本文正在参加 人工智能创作者扶持计划