CVPR 2020夜间行人检测挑战赛两冠一亚(含获胜方案解读)
CVPR 2020夜间行人检测挑战赛两冠一亚(含获胜方案解读)
来自深兰科技北京 AI 研发中心的 DeepBlueAI 团队在 CVPR 2020 夜间行人检测挑战赛中斩落了两个冠军、一个亚军。本文将介绍该团队的解决方案。
近日,由 CVPR 2020 Workshop 举办的 NightOwls Detection Challenge 公布了最终结果。来自深兰科技北京 AI 研发中心的 DeepBlueAI 团队斩获了「单帧行人检测」和「多帧行人检测」两个赛道的冠军,以及「检测单帧中所有物体」赛道的亚军。
本文将为大家介绍 DeepBlueAI 团队的解决方案。
NightOwls 检测挑战赛简介
检测 RGB 摄像机拍摄的夜间场景图片中的行人,是一个非常重要但是未被充分重视的问题,当前最新的视觉检测算法并不能很好地预测出结果。官方 baseline 在 Caltech(著名行人检测数据集)上的 Miss Rate(越小越好)可以达到 7.36%,但在夜间行人数据集上却只能达到 63.99%。
夜间行人检测是许多系统(如安全可靠的自动驾驶汽车)的关键组成部分,但使用计算机视觉方法解决夜间场景的检测问题并未受到太多关注,因此 CVPR 2020 Scalability in Autonomous Driving Workshop 开展了相应的比赛。
NightOwls Detetection Challenge 2020 共有三个赛题:单帧行人检测(该赛题与 2019 年相同)、多帧行人检测,以及检测单帧中所有物体(包括行人、自行车、摩托车三个类别):
- Pedestrian Detection from a Single Frame (same as 2019 competition)
- Pedestrian Detection from a Multiple Frames
- All Objects Detection (pedestrian, cyclist, motorbike) from a Single Frame
赛题介绍
夜间行人数据集示例
Track 1: Pedestrian detection from a single frame
该任务只要求检测行人(对应 Ground truth 中 category_id = 1 的行人类别),且所用算法只能将当前帧用作检测的输入,该题目与 ICCV 2019 NightOwls 挑战赛相同。
Track 2: Pedestrian detection from multiple frames
该任务的要求与任务 1 相同,都是只检测行人,但是该任务允许使用当前帧以及所有先前帧 (N, N-1, N-2, …) 来预测当前帧的行人。
这两个任务的数据集由 279000 张全注释的图片组成,这些图片来源于欧洲多个城市黎明和夜间的 40 个视频,并涵盖了不同的天气条件。
模型效果评估使用的是行人检测中常用的指标Average Miss Rate metric,但是仅考虑高度 > = 50px 的非遮挡目标。
Track 3: All Objects Detection (pedestrian, cyclist, motorbike) from a Single Frame
该任务要求检测出帧里所有在训练集中出现过的类别,包括自行车、摩托车,并且不允许使用视频序列信息。
赛题难点
这次比赛的主要难点包含以下几个方面:
- 运动模糊和图像噪点
与常规检测数据集不同,该竞赛考虑到实际驾驶情况,所用数据是在车辆行进过程中采集的,所以当车速较快或者有相对运动的时候会产生持续的运动模糊图像。并且由于摄像头是普通的RGB相机,因此在光线较弱的环境下收集的图片质量大幅度下降,这也是影响模型效果的主要原因。
- 对比度差异大,色彩信息少
这是由于收集数据主要来自于夜间环境所导致的必然结果,所以在进行数据增强的时候需要谨慎,不同增强方式会造成较大的影响。
- 不同的数据分布
该比赛的数据集涵盖了不同的城市和天气,之前常用的行人检测数据集一般未同时满足这两个条件。该数据具有多样性,且与常用数据集的数据分布存在较大差异。该比赛数据集与常用于训练预训练模型的数据集(如 COCO 数据集、OBJ365)的数据分布存在很大的不同,因此对基于常用数据集预训练的模型进行 fine-tune 的效果不如预期。
DeepBlueAI 团队解决方案
DeepBlueAI 团队在单帧行人检测和多帧行人检测两个赛道中取得了冠军成绩,在检测单帧中所有物体赛道中获得了亚军。
就检测器而言,该团队首先通过常规检测所累积的经验构造出一个 baseline:
Baseline = Backbone + DCN + FPN + Cascade + anchor ratio (2.44)
这些模块早已是各个比赛的「常客」,也被许多专业人士进行了比较透彻的分析,此处不再赘述。DeepBlueAI 团队进行了简单的实验,发现这些模块总是有用,进而将这套算法作为 baseline,加上一些行人检测的小 trick,如将 anchor ratio 改为 2.44、针对标注为 ignore 的目标在训练过程中 loss 不进行回传处理。
具体主要工作包含以下几个方面:
1. Double Heads
通过观察实验发现,baseline 将背景中的石柱、灯柱等物体检测为行人,这种情况大多和 head 效果不好有关。该团队基于此进行了实验,如 TSD [7]、CLS [8]、double head [9],并最终选择了效果好且性价比高的 double head 结构(如下图所示):
Double Heads 结构
通过对比实验可以发现:使用 FC-head 做分类、Conv-head 做回归,可以得到最好的效果。
分类更多地需要语义信息,而坐标框回归则更多地需要空间信息,double head 方法采用分而治之的思想,针对不同的需求设计 head 结构,因此更加有效。当然这种方法也会导致计算量的增加。在平衡速度和准确率的情况下,该团队最终选择了 3 个残差 2 个 Non-local 共 5 个模块。
2. CBNet [10]
合并功能更强大的 backbone 可提高目标检测器的性能。CBNet 作者提出了一种新颖的策略,通过相邻 backbone 之间的复合连接 (Composite Connection) 来组合多个相同的 backbone。用这种方式他们构建出了一个更强大的 backbone,称为「复合骨干网络」(Composite Backbone Network)。
当然这也带来了模型参数大小和训练时间的增加,属于 speed–accuracy trade-off。该团队也尝试过其他的改进方式,但最终还是选择了实用性更强的 CBNet,该方法不用再额外担心预训练权重的问题。
该团队选择了性价比较高的双 backbone 模型结构。
3. 数据增强
**
**
该团队发现 Pixel-level 的增强方式导致了性能结果大幅下降,因此没有在这个方向继续尝试。
而图像增强方式 Retinex,从视觉上看带来了图像增强,但是该方法可能破坏了原有图片的结构信息,导致最终结果没有提升。
于是,该团队最终选择了 Spatial-level 的增强方式,使得结果有一定的提升。
实验细节
\1. 将 Cascade rcnn + DCN + FPN 作为 baseline;
\2. 将原有 head 改为 Double head;
\3. 将 CBNet 作为 backbone;
\4. 使用 cascade rcnn COCO-Pretrained weight;
\5. 数据增强;
\6. 多尺度训练 + Testing tricks。
实验结果
**
**
下图展示了该团队使用的方法在本地验证集上的结果:
该团队将今年的成绩与去年 ICCV 2019 同赛道冠军算法进行对比,发现在不使用额外数据集的情况下,去年单模型在 9 个尺度的融合下达到 11.06,而该团队的算法在只用 2 个尺度的情况下就可以达到 10.49。
未来工作
该团队虽然获得了不错的成绩,但也基于已有的经验提出了一些未来工作方向:
\1. 由于数据的特殊性,该团队尝试使用一些增强方式来提高图片质量、亮度等属性,使图片中的行人更易于检测。但结果证明这些增强方式可能破坏原有图片结构,效果反而降低。该团队相信会有更好的夜间图像处理办法,只是还需要更多研究和探索。
\2. 在允许使用之前帧信息的赛道二中,该团队仅使用了一些简单的 IoU 信息。由于收集这个数据集的摄像头一直在移动,该团队之前在类似的数据集上使用过一些 SOTA 的方法,却没有取得好的效果。他们认为之后可以在如何利用时序帧信息方面进行深入的探索。
\3. 该领域存在大量白天行人检测的数据集,因此该团队认为之后可以尝试 Domain Adaption 方向的方法,以充分利用行人数据集。
参考文献:
[1] Lin T Y , Dollár, Piotr, Girshick R , et al. Feature Pyramid Networks for Object Detection[J]. 2016.
[2] Dai J, Qi H, Xiong Y, et al. Deformable Convolutional Networks[J]. 2017.
[3] Cai Z , Vasconcelos N . Cascade R-CNN: Delving into High Quality Object Detection[J]. 2017.
[4] Xie S , Girshick R , Dollar P , et al. Aggregated Residual Transformations for Deep Neural Networks[C]// 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE Computer Society, 2017.
[5] Bochinski E , Eiselein V , Sikora T . High-Speed tracking-by-detection without using image information[C]// 2017 14th IEEE International Conference on Advanced Video and Signal Based Surveillance (AVSS). IEEE, 2017.
[6] Henriques J F , Caseiro R , Martins P , et al. High-Speed Tracking with Kernelized Correlation Filters[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(3):583-596.
[7] Song G , Liu Y , Wang X . Revisiting the Sibling Head in Object Detector[J]. 2020.
[8] Li A , Yang X , Zhang C . Rethinking Classification and Localization for Cascade R-CNN[J]. 2019.
[9] Wu, Y., Chen, Y., Yuan, L., Liu, Z., Wang, L., Li, H., & Fu, Y. (2019). Rethinking Classification and Localization in R-CNN. ArXiv, abs/1904.06493.
[10] Liu, Y., Wang, Y., Wang, S., Liang, T., Zhao, Q., Tang, Z., & Ling, H. (2020). CBNet: A Novel Composite Backbone Network Architecture for Object Detection. ArXiv, abs/1909.03625.

浙公网安备 33010602011771号