罗志鹏发布

当CV碰上无人机:ICCV 2019 VisDrone挑战赛冠军解决方案解读

近日,在 ICCV 2019 Workshop 举办的 Vision Meets Drone: A Challenge(简称:VisDrone2019) 挑战赛公布了最终结果,来自深兰科技北京 AI 研发中心的 DeepBlueAI 团队斩获了「视频目标检测」和「多目标追踪」两项冠军。我们可以通过这篇文章来了解一下 DeepBlueAI 团队的解决方案。

The VisDrone2019 挑战赛

如今,配备摄像头的无人机或通用无人机已经广泛地应用在农业、航空摄影、快速交付、监视等多个领域。

挑战赛官网地址:http://aiskyeye.com/

VisDrone2019 数据集由天津大学机器学习与数据挖掘实验室 AISKYEYE 队伍负责收集,全部基准数据集由无人机捕获,包括 288 个视频片段,总共包括 261908 帧和 10209 个静态图像。

这些帧由 260 多万个常用目标(如行人、汽车、自行车和三轮车)的手动标注框组成。为了让参赛队伍能够更有效地利用数据,数据集还提供了场景可见性、对象类别和遮挡等重要属性。

本届挑战赛包含四个任务: 

  • 任务 1:图像中的目标检测。任务旨在从无人机拍摄的单个图像中检测预定义类别的对象(例如,汽车和行人);

  • 任务 2:视频中的目标检测。该任务与任务 1 相似,不同之处在于需要从视频中检测对象;

  • 任务 3:单目标跟踪挑战。任务旨在估计后续视频帧中第一个帧中指示的目标状态;

  • 任务 4:多目标跟踪挑战。该任务旨在恢复每个视频帧中对象的轨迹。

数据集下载链接:https://github.com/VisDrone/VisDrone-Dataset

这次比赛的难点主要有:

1. 大量的检测物体

与常规检测数据集不同的是,每张图片包含上百个待检测物体,数据集总共含有 260 万个标注框,如果使用占用显存较大的模型,可能会出现资源不够的情况。同时面对一些重叠的结果时,我们需要选择合适的阈值去过滤出最好的结果。

2. 部分目标过小

因为数据集是由无人机拍摄而来,行人和远景的物体的标注框就非常小,这对模型产生 anchor 的能力形成了一定的挑战,高分辨率的空间信息和高质量的 proposal 在本次赛题中就显得尤为重要。

3. 不同的数据分布

常用的数据集如:COCO 数据集、OBJ365 都是广泛应用的数据集,所以大家经常用它们的预训练来 fine-tune 其他数据集。而这一次的数据集由于拍摄角度问题,预训练所带来的效果不如预期。

评测指标

为了进行综合评估并反映每个对象类别的性能,本次测评采用类似于 MS COCO 数据集的评估方案,使用 AP, APIOU=0.50, APIOU=0.75, ARmax=1, ARmax=10, ARmax=100, 和 ARmax=500,且这些指标是基于 10 个对象类别计算出来的。

最终,来自电子科技大学的李宏亮团队获得了 Task1「图像中的目标检测」的冠军;中科院信息工程研究所的葛仕明团队获得了 Task3「单目标跟踪挑战」的冠军;来自深兰科技北京 AI 研发中心的 DeepBlueAI 团队获得了 Task2「视频目标检测」和 Task4「多目标追踪」两项冠军。以下是 DeepBlueAI 团队分享的解决方案

任务 2:视频中的目标检测

检测器:Cascade RCNN + DCN + FPN + DH

团队基于现有数据集,并结合以往检测经验,打造了一个强大的目标检测器。

1. Cascade RCNN

用低 IoU 阈值进⾏训练会导致效果不好,因为会产⽣很多噪声框;所以我们希望阈值尽量⾼,但 IoU 阀值设过⾼时,训练出的 detector 效果却会呈现下降趋势。Cascade RCNN 将多个阈值越来越⾼的 detector 串联,得到了更好的效果。

⾸先,在每次 detector 计算后,IoU⾼的 bbox 的分布都会提升,使得下⼀阶段更⾼阈值下正样本的数量得到保证;其次,每经过⼀次 detector 计算,bbox 都会变得更准确,更⾼的阈值可保证下⼀次回归效果更好。

2. DCN(Deformable Convolution Network)

deformable convolution network 提出了「deformable convolution」和「deformable RoI pooling」两种网络结构单元,deformable convolution 和 deformable RoI pooling 都是基于通过学习一个额外的偏移(offset),使卷积核对输入 feature map 的采样产生偏移,集中于感兴趣的目标区域, 从而产生更好的感受野。

3. Double Heads

通过对比实验可发现:用 fc-head 去做分类,同时用 conv-head 去做回归,可以实现最好的效果。因为分类更多的需要语义信息,而回归坐标框需要更多的空间信息,这种方法采用「分而治之」的思想,针对不同的需求设计 head 结构,当然这种方法增加了计算量,在平衡速度和准确率的情况下,最后选择了 3 残差、2non-local,共 5 个模块。

实验细节:

1. 我们将 Faster rcnn + DCN + FPN 作为我们的 baseline,因为这两个模块总是能在不同的数据集上起到效果。

2. 将原有 head 改为 Double head

3. 采用级联检测 (Cascade rcnn)

4. 将 ResNeXt101 作为 backbone

5. 使用 cascade rcnn COCO-Pretrained weight

6. 多尺度训练+Testing tricks

实验结果 (验证集)

任务 4 : 多目标跟踪

跟踪算法:IOU tracker + KCF + tracklet vote

根据赛题描述与数据集分析结果,我们可以知道,如果图中有大量目标且大部分都为小目标,在这种情况下仍然使用 reid 相关跟踪算法的话,不仅最终效果不理想,而且也会在匹配排序的过程中耗费大量的资源,所以我们最终决定使用 iou-tracker。

原因:

  1. 使用不需要图片信息,仅根据检测结果的相邻帧的 iou 进行计算;

  2. iou-tracker 对检测结果有着较高的要求,我们对自己的检测结果有信心;

  3. 运行速度极快,不涉及到神经网络,节省时间和 GPU 资源。

MOT Pipeline:

难点:使用 iou tracker 之后,还是会不可避免地遇到断帧 (一条轨迹无法全部预测,被预测为多个子段) 的问题,这样会大大降低最后的得分,所以我们使用 KCF 对现有结果进行一个更新。

KCF 的原理极为复杂,但 KCF 作用就是根据现有结果使用传统算法,去预测之后几帧的结果,这相当于对一些丢失的信息进行补充的操作。

得到新的轨迹之后再使用 IOU 相关投票融合方法,将更新后的结果融合,融合过程如图所示:

KCF 更新轨迹之后,正常情况下轨迹之间就会有相互重叠的地方,我们使用一个基于 IOU 的投票方法,如果轨迹之间重叠部分的投票结果大于某个阈值,就将这两个轨迹进行融合。

实验细节:

1. 我们将任务二中的检测结果当做输入,先使用 GOG 方法作为我们的 baseline

2. 将方法改为 IOU tracker

3. 调整阈值,以及一些测试技巧

4.+KCF +tracklet voting

5. 得到更好的检测结果

实验结果 (验证集)

实验数据。

下一步工作

在检测方面,在网络结构上有一些其他可以使用的模块,例如「PAFPN--FPN 的改进版」,可以在特征提取之后更好地处理各层级之间的信息;以及「GCnet」,一种结合了两个不错的 attention 机制所得到的网络,等等。

由于时间的限制,在更新原有跟踪结果的时候,我们使用的是比较传统的 KCF 算法,这类算法比较节省时间,但同时也有很大的局限性。如果有机会,以后想尝试一些更好的、基于神经网络的方法进行更新。

参考文献

[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.

入门VisDrone 2019挑战赛深蓝科技
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

无人机技术

无人机(Uncrewed vehicle、Unmanned vehicle、Drone)或称无人载具是一种无搭载人员的载具。通常使用遥控、导引或自动驾驶来控制。可在科学研究、军事、休闲娱乐用途上使用。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

推荐文章
暂无评论
暂无评论~