【文献阅读6】第一届微小目标检测TOD挑战赛的冠军方案解读:方法和结果!

本文主要是介绍【文献阅读6】第一届微小目标检测TOD挑战赛的冠军方案解读:方法和结果!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【文献阅读6】The 1st Tiny Object Detection Challenge: Methods and Results-第一届微小目标检测TOD挑战赛的冠军方案解读:方法和结果!

  • 摘要
  • 1 引言
  • 2 TOD挑战
    • 2.1 挑战数据集
    • 2.2 评估指标
  • 3 结果和方法
    • 3.1 baidu_ppdet团队
    • 3.2 STY-402团队
    • 3.3 BRiLliant团队
  • 4 结论

论文名称:The 1st Tiny Object Detection Challenge: Methods and Results
论文地址: http://arxiv.org/pdf/2009.07506v1.pdf
开源代码: https://github.com/ucas-vg/tinybenchmark

本博客仅作为翻译、阅读、学习笔记

摘要

第一届微小物体检测(TOD)挑战旨在鼓励研究开发新的和准确的方法,用于在具有宽视角的图像中检测微小物体,目前的重点是微小人的检测。TinyPerson数据集1用于TOD挑战,并公开发布。它有1610个图像和72651个框级注释。来自全球的大约36支参赛队伍参加了第一届托德挑战赛。文中,作者对第一届TOD挑战赛进行了简要概述,包括了对获得前三名的方法进行了简要介绍。

1 引言

探测微小物体具有挑战性,但没有得到很好的探索。一个可能的原因是因为缺乏用于微小物体检测的数据集和基准,因此与一般物体检测相比,研究人员对微小物体检测中的挑战关注较少。

微小目标检测对于真实世界的视觉应用非常重要,并且在几个方面不同于一般的目标检测。例如,由于对象非常小,而整个输入图像具有相对较大的视野,所以来自目标对象的信息要少得多,来自背景干扰的信息要多得多。此外,输入图像的大视场特性通常意味着微小物体被远距离成像,这使得具有各种姿态和视点的微小物体的检测更加困难。

第一次微小物体检测挑战采用了TinyPerson数据集。该数据集包含1610幅带有72651个盒级注释的图像,并且是从真实场景中收集的。挑战数据集中的人非常小,他们的纵横比有很大的差异,因此他们代表不同类型的对象。在下一节中,我们将总结关于挑战、方法和结果的详细信息。

2 TOD挑战

2.1 挑战数据集

  • 来自真实世界视频,50帧采样一次,去除重复图片,图像的大小主要是1920*1080。
  • TinyPerson中人的长宽比有较大的方差。具有多样的人的姿态和观点,它带来了更复杂的人的多样性。
  • 主要关注海边周围的人。
  • 有很多物体密集的图像(每张图像200人以上),将人分为海洋人(海洋中的人)或地球人(陆地上的人)。
  • 数据集忽略了难以分开成单个人的人群、模糊区域、大部分身体在水面以下的人。

2.2 评估指标

  • 平均精度 AP (average precision) and 失误率 MR(miss rate)
  • 尺寸范围分为3个区间:微小[2,20]小[20,32]全部[2,inf]。对于微小[2,20],它被分成3个子区间:tiny1[2,8]tiny2[8,12]tiny3[12,20]。并且IOU阈值设置为0.25和0.5,用于性能评估。与行人检测相同,“忽略”区域不参与评估,这意味着与它们匹配的检测包围盒不会产生假阳性。
  • 由于被忽略区域比人的区域大得多,因此将忽略区域的IOU(insertion of union)标准改为IOD(insertion of detection)
    IOU阈值概念
    IOD用于评估被忽略的区域。轮廓(inviolet)框代表一个标记的被忽略区域,虚线框代表未标记和被忽略的人。红色框是一个检测结果框,有一个被忽略的人的高欠条。

IOD用于评估被忽略的区域。轮廓(inviolet)框代表一个标记的被忽略区域,虚线框代表未标记和被忽略的人。红色框是一个检测结果框,有一个被忽略的人的高欠条。

3 结果和方法

第一次TOD挑战的结果如表1所示。在这一部分,将简要介绍前3名提交的方法。在这里插入图片描述

3.1 baidu_ppdet团队

Yuan Feng, Bin Zhang, Xiaodi Wang, Ying Xin, Jingwei Liu, Mingyuan Mao, Sheng Xu, Baochang Zhang, Shumin Han.(Baidu & Beihang University)

作者基于两阶段检测框架构建了检测器。他们检查了探测器不同组件的性能,得出了一个用于集成的大模型池。两阶段的检测器包括 Faster R-CNN,FPN, Deformable R-CNN和Cascade R-CNN。将数据集分两部分训练90%,验证10%
框架如图二所示。
在这里插入图片描述
数据增强
作者在MSCOCO和Object365数据集上预处理了他们的模型,以获得更好的性能。 为了解决尺度差异问题,作者在MSCOCO上实现了尺度匹配1,通过重新调整训练图像的比例来匹配TinyPerson中图像的大小分布,这有助于实现2%到3%的改善,即AP 50%

训练策略
作者以ResNet-101[6]为基线训练了fast R-CNN,AP tiny 50为57.9%。应用多尺度训练技巧后,APtiny 50达到60.1%。此外,擦除忽略区域,同时在有效集上验证以保持与评估相同,收益也接近2%。优化NMS阈值、样本比例和数量。最后,FRCNN-Res101的APtiny 50达到65.38%。

模型改进
特征表示一直是微小目标检测的关键。为了提高网络的特征表示能力,设计了一种新的特征融合方法。对于更快的CNN和FPN,P3层可以更好地代表微小的物体。相比之下,P3层的缺失带来了语义信息的丢失。因此,作者使用PAFPN2来代替检测器中的FPN,这将mAP提高了约1.5%。

模型集成
作者进一步用各种例如SENet-154、ResNet-200、CBNet和Res2Net-200的主干进行组合来训练网络。现有的集成方法可以有效地融合尺寸和性能相对接近的网络。然而,当涉及到尺寸和性能非常不同的模型时,结果会变得更糟,因为较小的模型会降低较大模型的性能。为了解决这个问题,作者提出了一种简单有效的集成方法,称为hierarchical coarse-to-fine(分层粗到细),如图3所示。
在这里插入图片描述

3.2 STY-402团队

Cheng Gao, Wei Tang, Lizuo Jin (Southeast University)

作者采用Faster R-CNN,ResNet-50、FPN、DCNv2为基线模型。所有的模特都是在MS COCO上预训练。基线采用从 P2 到 P6 的特征金字塔等级,锚的面积定义为(122, 242,4822,962,1922)像素。在ResNet-50的第3-5阶段,可变形卷积应用于所有卷积层。

骨干网络
在基线中,第一阶段的权重被冻结。由于MS COCO和TinyPerson的区别比较明显,所以主干中的卷积层都是不冻结的。此外,在FPN的每个卷积层之后添加批处理规范化层。作者用ResNet-vd代替ResNet。而且Res2Net是一种新的多尺度骨干架构,可以不费力地进一步提高几个有代表性的计算机视觉任务的性能。作者还用26w×4s训练了Res2Net-50,性能比ResNet-50-vd提高了3%。

多尺度训练
短边的刻度是从832、896、960、1024、1088、1152、1216、1280、1344、1408、1472、1500中随机取样的,而长边在PaddleDetection中固定为2000。特别是由于GPU内存有限,训练ResNeXt101(64×4d)时,短边最大值设为1280。在MMDetection中,短边的比例从480、528、576、624、672、720、768、816、912、960中随机采样,长边固定为1280。

训练技巧
在培训练阶段,NMS之前的推荐数量从2000个更改为12000个。并且在测试阶段将数据改为6000。

数据扩充
采用随机水平翻转、随机裁剪、随机扩展和剪切混合来增加训练数据。VisDrone也用作附加数据,只使用类别0、1、2,删除类别3-11。

大尺度测试
测试采用大尺度(1280 × 960)。为了获得更好的性能,同时还使用了另一个大尺度(1024 × 768)进行测试。

双阈值测试
如果子图像检测结果的最高置信度小于某个阈值(0.5),则该子图像将被视为纯背景图像并被忽略。

模型集成
他们使用不同的主干训练7个模型,如图4所示。除了HRNetV2p-W18接受过MMDetection训练外,其余模型均接受过PaddleDetection训练。最后通过加权框融合得到最终的集成结果(IoU阈值为0.6)。
在这里插入图片描述

3.3 BRiLliant团队

Mingbo Hong, Yuchao Yang, Huan Luo, Shuiwang Li, Qijun Zhao(College of Computer Science, Sichuan University)

为了探索微小物体中更详细的特征,作者利用高分辨率网络作为主干网络,允许网络提取高分辨率表示。为了同时检测不同尺度的对象,作者在区域建议网络中引入了一个改进的卷积块注意模块(CBAM)3,以引导网络寻找如图5所示的地方。与传统的CBAM不同,改进的CBAM增加了一个抑制块,以平衡不同比例的对象之间的注意力值。此外,为了针对不同比例的对象提出不同数量的建议,作者使用Top k采样器而不是固定阈值来选择正样本,如图6所示,并且选择是基于IOU度量,而不是ATSS中使用的中心距离。所提出的采样器适应于物体的尺度,这可以更准确地检测微小物体,而ATSS可能根本不会为微小物体生成任何正样本。
在这里插入图片描述
在这里插入图片描述

4 结论

微小目标检测相关任务对于许多真实世界的计算机视觉应用是重要的,解决其技术挑战的进展也可以帮助一般目标检测研究。作者希望第一次TOD挑战是这一有希望的研究方向中有用的第一步。


  1. Yu, X., Gong, Y., Jiang, N., Ye, Q., Han, Z.: Scale match for tiny person detection.In: W ACV. pp. 1257–1265 (2020)
    文章链接:https://arxiv.org/abs/1912.10664
    我的笔记:https://editor.csdn.net/md?articleId=111567522 ↩︎ ↩︎

  2. Tan, M., Pang, R., Le, Q.V.: Efficientdet: Scalable and efficient object detection.In: CVPR. pp. 10781–10790 (2020) ↩︎

  3. Woo, S., Park, J., Lee, J.Y., So Kweon, I.: Cbam: Convolutional block attention
    module. In: ECCV. pp. 3–19 (2018) ↩︎

这篇关于【文献阅读6】第一届微小目标检测TOD挑战赛的冠军方案解读:方法和结果!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/537070

相关文章

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方