天池宫颈癌智能诊断赛后总结——目标检测
新年伊始,在经历了长达两个月的激烈较量后圆满结束这场比赛。总结下来感触颇深,并对整个赛事有了更深的理解。
战绩是初赛排名12,复赛排名35,无缘决赛。
赛题背景:
数据探索性分析
解决方案
后记
赛题背景:
由主办方需求推动,将目标检测、深度学习等技术整合运用到异常鳞状上皮细胞的定位与宫颈癌细胞学图片的分类工作中,并以协助医生完成诊断任务为目标。
样本包括两大类:有目标的样本(1440个)和没有目标的样本(250个)。
具有目标属性的对象可分为阳性类别和阴性类别两种类型。其中阳性类别包括ASC-H、ASC-UC、HSIL和LSIL;而阴性类别则由Candida和Trichomonas两种病原体组成。基于对训练集数据集标签的统计分析结果表明,在任何给定样本中不可能同时存在阳性特征和阴性特征。
所以就按照6类目标检测问题进行解答。
数据探索性分析




从上面几幅图可以看出:
- 不同类疾病数量存在明显差异(最大比例达1:7),考虑到样本不平衡的问题。
- 大多数样本尺寸偏大(超过网络输入尺寸限制),考虑到滑窗切片技术的应用。
- bbox覆盖范围较大且小目标所占比例较高(我认为这是本次赛题的关键所在)。
- bbox ratio值变化并不显著。
- 从病理图片观察可知……
- 同一疾病在不同染色状态下(如上所示),样本色调存在一定差异。
- 病灶区域并非呈理想化的矩形形状(未被完整包围)。



解决方案
模型的选择
主要借鉴了现有的成熟解决方案,并在项目中采用了开源的mmdetection框架,并对Cascade-RCNN和Retinanet进行了基础测试。


在初赛阶段尝试了两种方法后发现表现相近。相比之下,Retinanet的表现更为突出。进入复赛后由于Cascade-RCNN的表现一直不尽如人意因此放弃了进一步尝试。考虑到评分标准的不同在初赛阶段使用了0.3@mAP和0.5@mAP两个评估指标因此Cascade-RCNN多头的优势得以显现。然而到了复赛后由于只有0.5@mAP这一单一指标限制了其潜力同时由于Cascade模型规模较大导致训练时间过长主办方仅提供了两张GPU相比我们拥有8卡、22核的优势因而最终决定放弃这一模型
Tricks
Trick1 :Deformable Convolutional Networks(DCN),这种技术的应用已经成为一种习惯用法吧?实际上,在应用过程中通常都能提升性能,并且在本节中我们也会探讨这一技术的具体应用。
Trick2 技术:NMS方法。因问题2阐述了样本尺寸过大的问题,并采用滑动窗口技术解决。这种技术必然导致同一个病灶区域生成多个边界框因此需要去除多余框进行过滤处理。该方法是由实验室师兄大佬(获得阿里达摩院高级算法工程师offer)讲述的。该方法能带来明显的提升效果当然这个只能称为后处理技术并非常规trick类方法
以下的Trick尝试之后基本上可以说没什么用;由此可见可以看出只是对模型进行了一些训练工作。
Trick3 ,采用二分类模型将样本分为两类。值得注意的是,在复赛期间由于样本之间的差距较大(1440:250的比例),这可能导致了问题。因此采用了初赛阶段的预训练模型,并且该方法在初赛阶段的表现提升了约2%。然而,在初赛阶段将阴性目标归类到无目标类别中会导致两种数据分布存在显著差异。
Trick4 ,Max Score Post-Process 是一种无需进行二分类而直接执行目标检测的方法。它通过判断每个样本的目标得分最高的数值是否超过设定阈值来确定是否有目标存在。若最高得分未超过该阈值,则判定该样本中无目标。然而,在实际应用中发现有部分样本其最高得分低于0.3的情况出现后应用此方法后导致部分得分下降 因此放弃采用此方案
Technique 5
Trick6
Trick7 也对不同标签之间的关系进行了深入分析,在力不从心的情况下决定进行后续处理。通过研究训练集中的标签分布规律发现:同一时间同一目标不会呈现阳性与阴性状态并存的现象;此外阴性类目标之间也不会出现同时存在的状况。线下猛涨分达3个千分点之多令人欣喜若狂,在线测试却意外滑落
后记
通过本次比赛的所有经历来看,在技术和策略上确实存在诸多不足之处。作为一名新手开发者而言,在技术实力上依旧停留在新手阶段。然而通过这次经历也让我能够更加理性地看待这项比赛这件事了。回想起来,在以往曾天真地以为能够轻松夺冠并获取数万元的digits of prize money, 现在看来, 这样的水平仍需进一步提升才能达到预期目标。在此总结一些个人心得,以此激励自己不断进步,切勿有所期待
- 任何trick也只能是一种技巧本身,并不解决根本问题。研究者应该注重的是将模型与实际应用场景相结合这一关键环节。有时候会想如果由像何恺明这样的顶尖研究者来解决这些问题会是怎样一番景象呢?通过各种SOTA记录的确能提高竞争力但若无法落地反而会徒劳无功因此未来可能不会再参与此类比赛而是更多地投入到模型优化与业务场景结合的研究当中。
- 深入的数据探索性分析对于提升性能至关重要仅依赖现有mAP高分或复杂大型模型并不足以找到最佳基准只有深入理解业务背景才能制定针对性解决方案关于本次赛题的小目标是在比赛结束前10天内完成数据分析工作并训练了两套未最终采纳的模型正是因为缺乏深入分析才吃了大亏。
- 掌握复现技术的能力是关键的技术储备。单纯依赖已有成果往往只能进行小幅度优化同时也会限制自己的创新能力因此建议在闲暇时间多练习自己动手搭建模型的能力。
- 切勿成为"坑比者"。初赛期间使用本地IDE进行断点调试非常方便但在决赛中使用阿里云PAI平台则完全无法实现这一点导致很多bug难以及时发现最终只能通过逐步排查来解决问题因此编写代码时必须对每一部分进行细致思考做好测试工作的同时也要勇于承诺并切实履行承诺这样才能赢得更多合作伙伴的信任。
