DeepBlueAI团队荣获两项第一
任务一:
任务二:
赛题特点
图像分辨率极高、近景和远景目标尺度差异大 十亿像素级的超高分辨率是整个数据集的核心问题。一方面,由于计算资源的限制,超高分辨率使得网络无法接受大图作为输入,而单纯将原图缩放到小图会使得目标丢失大量信息。另一方面,图像中近景和远景的目标尺度差异大,给检测器带来了巨大的挑战。目标在图像中分布密集,并且遮挡严重 数据集均从广场、学校、商圈等真实场景采集,其人流和车辆密度极大。同时,行人和车辆的拥挤、遮挡等情况频发,容易造成目标的漏检和误检。
主要工作
赛道一 Pedestrian & Vehicle Detection
根据以往积累的经验,团队首先将原图缩放到合适尺度,并使用基于Cascade RCNN的检测器直接检测行人的三个类别和车辆,将其作为Baseline: Backbone + DCN + FPN + Cascade RCNN,并在此基础上进行改进。
实验结果显示,模型存在大量的误检和漏检。这些漏检和无意义的检测结果大幅降低了模型的性能。团队将上述问题归纳为两方面的原因:
训练和测试时输入模型的图像尺度不合适。图像经过缩放后,目标的尺度也随之变小,导致远景中人的头部等区域被大量遗漏。
网络本身的分类能力较弱。行人的可见区域和全身区域十分相似,容易对分类器造成混淆,从而产生误检。
根据上述问题,团队进行了一些改进。首先,使用滑动窗口的方式切图进行训练。滑动窗口切图是一种常用的大图像处理方式, 这样可以有效的保留图像的高分辨率信息,使得网络获得的信息更加丰富。如果某个目标处于切图边界,根据其IOF大于0.5来决定是否保留。其次,对于每个类别采用一个单独的检测器进行检测。经过实验对比,对每个类别采用单独的检测器可以有效的提高网络的效果,尤其是对于可见区域和全身区域两类。 同时向检测器添加了Global Context (GC) block来进一步提高特征提取能力。GC-Block结合了Non-local的上下文建模能力,并继承了SE-Net节省计算量的优点,可以有效的对目标的上下文进行建模。
除Cascade RCNN外,还采用了Generalize Focal Loss (GFL)检测器进行结果互补。GFL提出了一种泛化的Focal Loss损失,解决了分类得分和质量预测得分在训练和测试时的不一致问题。
最后,将各检测器的结果使用Weighted Box Fusion (WBF)进行融合,形成了最终的解决方案。传统的NMS和Soft-NMS方法会移除预测结果中的一部分预测框,而WBF使用全部的预测框,通过进行组合来获得更加准确的预测框,从而实现精度提升。整体pipeline如下图所示:
实验结果: