‘数字人体’视觉挑战赛 - 算法赛道亚军比赛攻略_LLLLC

‘数字人体’视觉挑战赛 - 算法赛道亚军比赛攻略_LLLLC

比赛主页:数字人体”视觉挑战赛——宫颈癌风险智能诊断
相关代码:github

0 赛题内容

本次比赛分为初赛和复赛两个阶段,比赛的任务是对异常细胞进行检测。初赛只需要检测出异常细胞。复赛需要进一步区分六类异常细胞,其中四种为阳性类别:“ASC-H” (AH)、“ASC-US” (AS)、“HSIL” (HL)、“LSIL” (LL),两种为阴性类别:“Candida” (CA, 念珠菌)、“Trichomonas” (TS, 滴虫),其中阳性类别为鳞状上皮细胞本身发生病变,而阴性类型是细胞受到微生物 (念珠菌、滴虫)感染。

图片数量方面,复赛共提供1690张图片,其中1440张为阳性图片 (注意区分于上面的阳性类别)提供标注信息,250张为阴性图片,不含有六类异常细胞,因此也没有标注信息。1440张阳性图片 (分辨率为上万的数量级,全部标注较耗时)并未完全标注,而是提供了3670个ROI区域 (分辨率为几千的数量级),并提供ROI区域的标注信息 (ROI以为的区域可能存在异常细胞,但未进行标注)。

复赛测试集共350张测试图片,需要预测ROI区域内6类异常细胞的位置、类别和概率。评测指标为mAP(IOU=0.5, VOC2010)。

复赛提供的为PAI的线上开发环境:

  • CPU:Intel® Xeon® CPU E5-2682 v4 @ 2.50GHz 8核;
  • GPU:Tesla P100 16G x 2;

1 赛题分析

我们首先对数据进行了病理学数据统计两方面的分析,通过这两方面的分析,得到一些可以利用的先验以及任务的主要挑战

结合病理学知识的一些发现:

  1. 细胞形态方面。四类阳性细胞较为相似,它们是出于不同时期的病变细胞,主要的区别在于核质比的变化;两类阴性细胞具有比较明显的特点,CA主要是受念珠菌感染的细胞,呈矛状,体积较大,TS是受滴虫感染的细胞,滴虫主要附着于细胞外部,体积较小;
  2. 细胞位置随机均匀分布。如图2 (图片见底部)是液基细胞学检查的制片过程,其中包括了振荡和离心过程,所以可以粗略认为细胞在玻片上是均匀随机分布的,这对后面的数据增强策略具有指导作用;
  3. 不共存先验。念珠菌和滴虫适合生存的pH环境是不同的,也就是在大部分情况下,念珠菌和滴虫只能单独存在,这对后面的模型设计以及后处理具有指导作用;
  4. 背景因素干扰。如图3是一些不满意的标本的示意图,可以看出,某些玻片可能存在粘液,血等背景的干扰,如何提升背景的多样性也是值得考虑的问题;

通过数据统计的一些发现:

  1. 类别数量不平衡。如图4所示,是每一类细胞的ROI数量以及标注框 (gt_boxes)数量示意图,可见存在类别不平衡问题,且这种不平衡有以下的特点:TS类以最少的ROI (234个ROI),占据了最多的标注框 (11747个标注框),即ROI最少的类别标注框反而最多。这一点在后面的训练策略中需要进行考虑;
  2. 标注框尺度变化大。如图5所示,可以看出,四种阳性细胞的尺寸只要在几十到两百之间;CA的尺寸较大,存在几百甚至上千的尺寸;TS的尺寸较小,大部分为五十以下;
  3. 类别不共存先验。如图6所示,我们使用邻接矩阵的形式来统计六个类别的两两共存情况,可以发现,CA和TS基本上是单独出现,四类阳性细胞之间互为共存,这也和前面的病理学分析是吻合的;

2 方案介绍

我们的整体方案可以分为数据模型预测与后处理三大部分进行介绍。

2.1 数据

在训练阶段,我们使用“在线”crop的方式在ROI区域中crop固定size的patch作为训练图片,如图7所示,所以一个epoch就是遍历所有的3670个ROI,“在线”crop的方式比“离线”先将所有的样本crop出来具有更高的灵活性。

除了训练图片的获取,最重要的环节就是数据增强,我们主要使用了下面几种类型的数据增强方法:

  1. 随机背景替换。如上所述,本次比赛除了提供1440张阳性图片以外,还提供了250张阴性图片,因此我们通过随机背景替换的方式,利用阴性图片来增加背景多样性。具体地,如图8所示,我们以一定的概率将标注框随机贴到阴性图片上,从而改变标注框周围的背景,增加分类器negative样本的多样性。在利用阴性图片的时候需要注意防止截取到图片的四个角的纯色背景部分,如图9所示,因为玻片中的细胞是位于一个圆形的区域内,如果截取到四个角的话会产生纯色的背景,影响分类器训练;
  2. 随机标注框移动。除了利用阴性图片来增加背景的多样性,我们考虑进一步利用阳性图片的背景来增加背景多样性,如图10所示,我们将标注框进行随机移动,并是用inpainting操作对原来的位置进行填充。通过这种方式来改变标注框周围的环境;
  • 除了上述的数据增强方式,我们还使用了下面一些常见的数据增强方式:
    1. 随机抖动标注框;
    2. 随机水平。竖直翻转;
    3. 随机旋转;
    4. 随机颜色空间扰动;

2.2 模型

我们使用通用模型专家模型结合的形式,如图11所示,通用模型对六种类型的细胞进行检测,专家模型针对特定的类别进行检测。

模型的具体组成发面,我们使用的是一些常见的经典结构:

  1. 检测框架:Faster-RCNN[4]
  2. 基础网络:ResNet-50[5]
  3. 其它模块:FPN[6]/BiFPN[7], DCN[8], Cascade[9]

由于上述都是一些比较常见的结构,这里不进行详细介绍,下面主要介绍针对本次任务数据的特点,在训练过程中一些值得分享的细节

在训练通用模型的过程中:

  1. batchsize的大小会对模型性能产生影响。前面提到,此次数据存在不平衡问题,且TS以最少的ROI占据了最多的标注框,即TS在图片中密集出现。有234个ROI包含TS,而总共有3670个ROI,我们可以计算不同的batchsize下TS在一个batch中出现的概率,如下表所示,可见随着batchsize的增大,TS在某个batch中出现的概率增加。另外,当TS在某个batch中出现的时候,其梯度很可能会成为主导,最终导致模型对TS产生bias。所以我们最终采用较小的bathsize (1或2)进行实验;
  2. anchor scale会对模型的性能产生影响。因为六个类别的标注框尺度有较大的差异,一开始我们希望通过增加anchor scale来提升anchor对CA的覆盖程度,但是发现这样并不是很work。如图12所示,展示的是scales取[8]和[8, 16, 32]的时候anchor的尺寸和数量情况,可以看到,增加scales之后,anchor的尺寸变大了,能够覆盖到更大的CA (这是我们的本意),但是这会导致中等大小的anchor的占比升高了,而中等大小的anchor的尺寸主要是128-512,这一范围和阳性细胞的大小正好match,这会导致模型对四类阳性细胞产生bias,引在我们的实验中,最终采用的是单一的scales
Batchsize 8 4 2 1
TS在batch中出现的概率 0.51 0.26 0.13 0.06

在训练专家模型的过程中:

  • 考虑如何抑制假阳性预测。阳性细胞、CA、TS的ROI数量分别为2953、483、234,可见CA和TS中总的ROI (3670)的比例较小。训练专家模型的时候,以训练CA的专家模型为例,最常规的做法是仅使用483个含有CA的ROI进行训练,我们发现这样训练出来的模型在测试集上会有很多的假阳预测 (因为模型“见过”的背景较少,并没有见过四类阳性细胞以及TS,很容易会产生假阳预测)。因此,我们在实验中的做法是,训练某一种类型的专家模型的时候,将其它类型细胞的ROI数据当成背景数据使用,通过上述的随机背景替换数据增强方式进行利用。这样,模型的分类器就能“见到”其它类型的细胞,提升分类器的性能。

2.3 预测与后处理

预测阶段,我们采用交叠滑窗的形式 (步长为patch大小的一半),如图13所示,采用交叠滑窗的方式主要是为了保证patch边缘的检测质量,防止检测结果被patch“截断”。

在后处理方面,我们主要进行重叠抑制异类不共存抑制两方面的处理:

  1. 重叠抑制:
    1. 类内抑制:对同种类别的重叠预测框进行融合
      1. 模型内部抑制:对预测阶段的滑窗重叠部分的预测框进行融合,如图14所示。采用Box Voting,IoU阈值为0.2;
      2. 模型之间抑制:对不同模型的预测框进行融合,如图15所示,采用WBF (Weighted Box Fusion)[10]进行融合,IoU阈值为0.3;
    2. 类间抑制:对不同类别的重叠预测框,抑制分数低的类别,如图16所示。采用跨类别的NMS,IoU阈值取0.3 (这种方法在比赛的时候收效并不明显,甚至有所下降,主要还是因为模型本身不是很强,以及评价指标mAP的计算方式);
  2. 异类不共存抑制:
    • 利用CA过滤其它类型的框:当ROI中超过三个CA预测框的置信度大于0.85的时候,抑制该ROI上其它类别的预测框 (我们尝试过依据其它5类细胞的预测置信度进行抑制,但是没有收效,主要是因为我们的CA本身区分度比较高,且我们的CA模型比较强一些);

3 方案总结

在本次比赛中,我们首先根据病理学数据统计得到一些先验挑战

  1. 先验:不共存,随机分布;
  2. 挑战:背景干扰,类别不平衡,标注框尺度变化;

我们提出的方法可以总结如下:

  1. 数据层面:随机背景替换,随机标注框移动(随机分布;背景干扰)
  2. 模型层面:通用模型和专家模型结合(不共存;类别不平衡)
  3. 训练层面:减小batchsize,均衡anchor scale(类别不平衡,标注框尺度变化)
  4. 后处理策略:不共存抑制,重叠抑制(不共存)

4 参考文献

[1] https://wenku.baidu.com/view/5b4ba55bad51f01dc281f1b5.html
[2] https://www.91360.com/201603/60/26147.html
[3] https://wenku.baidu.com/view/ff172cdfde80d4d8d05a4f21.html
[4] Faster r-cnn. NeurIPS 2015.
[5] Deep residual learning for image recognition. CVPR 2016.
[6] Feature pyramid networks for object detection. ICCV 2017.
[7] Efficientdet: Scalable and efficient object detection. arXiv preprint arXiv:1911.09070, 2019.
[8] Deformable convolutional networks. ICCV 2017.
[9] Cascade r-cnn: Delving into high quality object detection. CVPR 2018.
[10] Weighted Boxes Fusion: ensembling boxes for object detection models. arXiv preprint arXiv:1910.13302, 2019.

‘数字人体’视觉挑战赛 - 算法赛道亚军比赛攻略_LLLLC_第1张图片
‘数字人体’视觉挑战赛 - 算法赛道亚军比赛攻略_LLLLC_第2张图片
‘数字人体’视觉挑战赛 - 算法赛道亚军比赛攻略_LLLLC_第3张图片

‘数字人体’视觉挑战赛 - 算法赛道亚军比赛攻略_LLLLC_第4张图片
‘数字人体’视觉挑战赛 - 算法赛道亚军比赛攻略_LLLLC_第5张图片
‘数字人体’视觉挑战赛 - 算法赛道亚军比赛攻略_LLLLC_第6张图片

‘数字人体’视觉挑战赛 - 算法赛道亚军比赛攻略_LLLLC_第7张图片
‘数字人体’视觉挑战赛 - 算法赛道亚军比赛攻略_LLLLC_第8张图片
‘数字人体’视觉挑战赛 - 算法赛道亚军比赛攻略_LLLLC_第9张图片

你可能感兴趣的:(深度学习,比赛)