50万奖金,10亿像素,这个目标检测与跟踪可不简单

近期,中国人工智能学会在阿里云天池平台上发布了首届全球人工智能技术创新大赛,其中一个赛道是在10亿像素的图像视频中进行目标检测与跟踪,总奖池50万人民币,初赛将于3月2日开赛。
随着视频监控的发展,大范围场景的自动化检测识别逐渐成为需求,本文以该赛题为背景,介绍相关技术方案,感兴趣的朋友可扫码加入大赛技术群。

报名链接:

https://tianchi.aliyun.com/s/be6691073b92dc4f2c2f230db97af7f5

(点击文末阅读原文直达)

1.赛题介绍

1.1 任务介绍

  • 任务一

目标检测任务:在PANDA数据集上完成车辆检测和行人检测,其中行人检测需要检测出可见范围框、全身范围框和头部范围框,车辆检测只需要检测出可见范围框。

  • 任务二

多目标跟踪任务:输出PANDA视频序列上的行人轨迹,即输出每帧图片的行人ID和位置框。

1.2 数据集介绍

PANDA是清华大学开放的一个十亿像素的高分辨率、宽视场的图片\视频数据集,该数据集有如下特点:

  • 宽视场,可视范围为1平方公里左右;
  • 图片分辨率很高,因此即使对于远处的行人,依然有很丰富的细节特征;
  • 部分场景人口密集。

示例图片如下图所示:

在该数据集上在做目标检测和多目标跟踪任务,有如下难点:

  • 由于数据集中的图片有很宽的视场,近处的行人和远处的行人的尺寸有较大差异;
  • 场景复杂,一些场景下行人被遮挡;
  • 图片分辨率比较大,对算法的运行效率有挑战;
  • 需要对运动距离和运动时间长的行人进行跟踪。

1.3 评价指标

  • 任务一

按照COCO数据集规定的计算方式计算和,计算两者的调和平均数作为得分:

  • 任务二

按照MOTChallenge规定的计算方式计算和,计算两者的调和平均数作为得分:

最终得分为2个任务得分的加权和:

上式中。

2.PANDA数据集论文中的baseline

PANDA数据集的开发团队使用一些算法在该数据集上进行测试,测试结果发表在CVPR2020的论文《PANDA: A Gigapixel-level Human-centric Video Dataset》中。

2.1 检测

作者测试了Faster R-CNN、Cascade R-CNN和RetinaNet三种网络,用于行人检测(包括可见范围框、全身范围框和头部范围框)任务,这三种算法都是基于MMDetection库实现的。

在COCO数据集预训练模型基础上训练,训练时,对PANDA数据集的图像进行resize操作,然后将图像分割为若干尺寸合适的图像块作为网络的输入。在分割图像块时,需要对分割线位置处的目标进行特殊处理,若在某图像块上该目标被分割后保留的面积超过原面积的50%,则保留该目标。

在测试时,将测试数据集中的图像做resize操作形成不同尺寸的图像,使用滑动窗口法(sliding window approach)生成尺寸合适的图像块作为网络的输入。

实验结果如下图所示:

上图中的“FR”代表Faster R-CNN,“CR”代表Cascade R-CNN,“RN”代表RetinaNet。“Sub”代表对不同尺寸的目标进行分组,其中“S”代表尺寸小于个像素点的目标,“M”代表尺寸在-个像素点的目标,“L”代表尺寸大于个像素点的目标。表示时的average precision,表示在[0.5,0.95]范围内步长取0.05时的average recall。

从上图中可以看出,三个算法检测小目标时性能都比较差,一个可能的原因是,PANDA数据集中目标的尺寸变化比较大,上述3个算法均不能很好地适配于目标尺寸变化如此巨大的数据集。

2.2 跟踪

作者在PANDA数据集上测试了DeepSORT、MOTDT和DAN三个跟踪算法,这三个算法都是采用了“检测器+跟踪器”的策略,使用跟踪器作者提供的参数进行测试,结果如下图所示:

上图中的“DS”、“DAN”、“MD”分别表示DeepSORT、DAN和MOTDT,“T”表示跟踪器,“D”表示检测器。

3.Gigavision往届获奖方案解读

Gigavision 2020挑战赛与本次比赛的任务基本相同,下面选取挑战赛中的冠军解决方案进行简要解读。

3.1 检测

baseline为:Backbone+DCN+FPN+Cascade R-CNN。在训练时,在baseline基础上做了如下优化:

1.使用滑动窗口切图作为网络输入,若在某图像块上该目标被分割后保留的面积超过原面积的50%,则保留该目标。

2.对于每个类别使用单独检测器,以提高检测效果。

3.在检测器中使用Global Context block,增加了网络对目标上下文的建模能力。Global Context block兼顾NLNet的全局上下文建模能力和SENet的轻量化,结构如下图所示:

Global Context block主要包括三部分:

(1)用于上下文建模的global attention pooling;

(2)用于捕获通道间依赖的bottleneck transform;

(3)用于特征融合的broadcast element-wise addition。

该结构出自论文《GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond》,开源代码:https://github.com/xvjiarui/GCNet

4.除Cascade R-CNN以外,还采用了Generalize Focal Loss(GFL)对Cascade R-CNN结果进行补充,GFL将分类与定位联合表示,而且提出了对边界框建模的新方法,实验表明使用GFL能够有效提高单阶段检测器的性能。

GFL出自论文《Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection》,开源代码:https://github.com/implus/GFocal

5.将检测器结果使用 Weighted Box Fusion(WBF)进行融合,WBF利用检测器输出的多个框融合最终结果,如下图所示:

上图表示分别使用NMS和WBF根据检测器输出结果得到最终检测框,图中蓝色是检测器预测结果,红色为ground truth。

该方法出自论文《Weighted Boxes Fusion: combining boxes for object detection models》,开源代码:https://github.com/ZFTurbo/Weighted-Boxes-Fusion

3.2 跟踪

使用了Detection+Embedding的方法。

1.检测器部分,构建anchor-free检测器,损失函数为GFL。

由于数据集有很高的分辨率,需要对图片切成若干子图,每个子图的分辨率为6000*6000,相邻的子图横向重叠1000个像素,纵向重叠2000个像素,防止子图边缘处的目标被分开。分别对子图进行检测,并将检测结果进行融合。

2. 参考论文《Learning Discriminative Features with Multiple Granularities for Person Re-Identification》

(开源代码:https://github.com/seathiefwang/MGN-pytorch)中提出的MGN架构,

参考《Two at Once: Enhancing Learning and Generalization Capacities via IBN-Net》

(开源代码:https://github.com/XingangPan/IBN-Net)

中的方法,使用ResNet50-ibn-a提取目标的特征,然后使用Triplet loss和Softmax loss计算全局特征损失,使用Softmax loss计算局部特征损失。

参考论文《Bag of tricks and a strong baseline for deep person re-identification》

(开源代码:https://github.com/michuanhaohao/reid-strong-baseline)

中的方法优化MGN。

3.数据关联:根据第一帧的检测框初始化若干轨迹,在后面的图片序列中,根据embedding features的距离将检测框与轨迹关联,每一帧都通过指数加权平均更新跟踪器特征。

4.部分开源代码和相关论文

  • https://github.com/hasanirtiza/Pedestron,对应论文《Generalizable Pedestrian Detection: The Elephant In The Room》,基于MMDetection框架的行人检测代码仓库。
  • https://github.com/saic-vul/iterdet,拥挤环境的目标检测,对应论文《IterDet: Iterative Scheme for Object Detection in Crowded Environments》,同样是基MMDetection框架。
  • https://github.com/liuwei16/CSP,对应论文《High-level Semantic Feature Detection: A New Perspective for Pedestrian Detection》。
  • PS-RCNN: Detecting Secondary Human Instances in a Crowd via Primary Object Suppression
  • NMS by Representative Region: Towards Crowded Pedestrian Detection by Proposal Pairing
  • Double Anchor R-CNN for Human Detection in a Crowd

仅用于学习交流!

END

(0)

相关推荐

  • 重磅!2K图像90FPS,中科院开源轻量级通用人脸检测器

    加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...

  • ECCV 2020附代码论文合集(目标检测)

    上次我们给大家带来了关于CNN与图像分割主题的论文,本次的主题是目标检测,包含2D.3D的目标检测,旋转目标检测,视频目标检测,同样每篇论文都附带论文代码,大家在阅读论文的同时也可亲自动手实践,快来看 ...

  • 一文看尽 27 篇 CVPR2021 2D 目标检测论文

    作者丨二玖 编辑丨极市平台 极市导读 本文对我们汇总的 CVPR 2021 检测大类中的2D目标检测领域的论文进行了盘点,将会依次阐述每篇论文的方法思路和亮点.在极市平台回复"CVPR21检 ...

  • 目标检测一卷到底之后,终于有人为它挖了个新坑|CVPR2021 Oral

    作者丨二玖 审稿|邓富城 报道丨极市平台 极市导读 本文解决了两个挑战:一是在没有明确监督的情况下,将尚未引入的目标识别为"未知",二是让网络进行N+1式增量学习. >> ...

  • 用 YOLO v5 DeepSORT,打造实时多目标跟踪模型

    By 超神经 内容概要:目标跟踪作为一个非常有前景的研究方向,常常因为场景复杂导致目标跟丢的情况发生.本文按照跟踪目标数量的差异,分别介绍了单目标跟踪及多目标跟踪. 关键词:目标跟踪   计算机视觉  ...

  • 一文看尽 6篇 CVPR2021 伪装目标检测、旋转目标检测论文

    作者丨一只喵 编辑丨极市平台 极市导读 本文对 CVPR 2021 检测大类中的"伪装目标检测"."旋转目标检测"领域的论文进行了盘点,将会依次阐述每篇论文的方 ...

  • 【科研】六篇精选论文,洞悉行人检测

    AI研习图书馆,发现不一样的精彩世界 论文精选 行人检测是计算机视觉领域中的一个热门研究课题,也是许多工业应用中的关键问题,包括自动驾驶系统和视频监控系统,并且需要行人检测算法具有高精度和实时性,如今 ...

  • 基于深度连续融合的多传感器三维目标检测

    重磅干货,第一时间送达 单眼视觉系统以低成本高性能实现令人满意的效果,但无法提供可靠的3D几何信息.双目摄像机可以提供3D几何信息,但是它们的计算成本很高,并且无法在高遮挡和无纹理的环境中可靠地工作. ...

  • 轻量高速检测器LFFD升级版LFD发布!用Pytorch部署,支持多类检测

    报道丨极市平台 极市导读 相比于LFFD,LFD使用PyTorch部署,且支持多类检测,同时有着更高的精度和更低的延迟推理. >>加入极市CV技术交流群,走在计算机视觉的最前沿 我们之前报 ...

  • 目标检测集 | ECCV 2020 论文大盘点(附论文&代码下载)

    计算机视觉研究院 " --------计算机视觉研究院专栏-------- 作者:Edison_G 微信公众号 : 计算机视觉研究院 知乎专栏:计算机视觉战队 不知不觉2020年已经进入11 ...

  • 综述:目标检测二十年(2001-2021)

    作者丨派派星 来源丨CVHub 编辑丨极市平台 极市导读 目标检测领域发展至今已有二十余载,本文将对目标检测领域近20年的发展做一次系统性的介绍,并为目标检测构建一个完整的知识体系架构. 引言 目标检 ...

  • 基于分割的包围盒生成用于全方位行人检测

    重磅干货,第一时间送达 小黑导读 论文是学术研究的精华和未来发展的明灯.小黑决心每天为大家带来经典或者最新论文的解读和分享,旨在帮助各位读者快速了解论文内容.个人能力有限,理解难免出现偏差,建议对文章 ...

  • 基于OpenCV的多位数检测器

    重磅干货,第一时间送达 现在数字无处不在,无论是闹钟.健身追踪器.条形码还是包装好了的送货包裹.利用MNIST数据集,机器学习可用来读取单个手写数字.现在,我们可以将其扩展为读取多个数字,如下所示.底 ...