ICCV 2019 COCO & Mapillary挑战赛冠军团队技术分享

2023-10-27

640

近日,在 ICCV 2019 Workshop 举办的 COCO + Mapillary Joint Recognition Challenge(COCO + Mapillary 联合挑战赛)公布了最终结果,深兰科技团队 DeepBlueAI 获得了该挑战赛 7 大赛题中的 Mapillary Detection 赛道的冠军

作者丨罗志鹏

单位丨深兰北京AI研发中心

论文动机

ICCV 的全称是 IEEE International Conference on Computer Vision,即国际计算机视觉大会,由 IEEE 主办,与计算机视觉模式识别会议(CVPR)和欧洲计算机视觉会议(ECCV)并称计算机视觉方向的三大顶级会议,被澳大利亚 ICT 学术会议排名和中国计算机学会等机构评为最高级别学术会议,在业内具有极高的评价。 

COCO + Mapillary Joint Recognition Challenge Workshop 

这个 Workshop 的目的是研究场景理解背景下的目标检测识别,每年都会举办挑战赛,堪称 ImageNet 之后计算机视觉领域最受瞩目和最具含金量的竞赛。今年该挑战赛共有 7 大赛题,分别是 COCO Detection、COCO Panoptic、COCO Keypoints、COCO DensePose、Mapillary Detection、Mapillary Panoptic 和  LVIS Challenge。 

COCO 是一种应用广泛的视觉识别数据集,旨在促进通用物体目标检测和实例分割的研究,重点是对复杂场景的全面理解。Mapillary-Vistas 是一个新的街道级图像数据集,它强调对高层次语义图像的理解,并应用于自动驾驶车辆和机器人导航。该数据集具有来自世界各地的位置,在天气和照明条件、捕获传感器特性等方面具有多样性。 

Mapillary-Vistas在数据集中方面是 COCO 的补充,可以很容易地用于研究不同于 COCO 的视觉领域中的各种识别任务。COCO 侧重于自然场景的识别,而 Mapillary 侧重于街景场景的识别。从去年开始,COCO 和 Mapillary 的检测赛道(Detection)都改为实例分割(Instance Segmentation)任务,目标是同时检测和分割每个对象实例。

赛题介绍

Mapillary Vistas Object Detection Task 

该任务强调识别静态街道图像对象(如路灯、标志、标杆)和动态街道参与者(如汽车、行人、自行车)的单个实例,即同时检测和分割每个实例。这项任务旨在推动实例分割的最新进展,针对汽车或运输机器人等自主行为主体的关键感知任务。这个赛道的数据集是高分辨率的街景自动驾驶场景的图片,其中训练集 18000 张,验证集 2000 张和测试集 5000 张,赛题主要关注的 37 个对象类别包括汽车、行人、自行车、路灯、标志、标杆等等。

640?wx_fmt=png

评测指标

和 COCO 数据集的评估方案一样,评测将使用 mask AP,包括640?wx_fmt=png640?wx_fmt=png640?wx_fmt=png640?wx_fmt=png640?wx_fmt=png 和 640?wx_fmt=png,且这些指标是基于 37 个对象类别上计算出来的。为了进行综合评估,并报告每个对象类别的性能。

方案概述:HTC + CBNet + DCN + FPN

我们团队基于现有数据集结合以往检测经验,实现了一个强大的实例分割模型。

640?wx_fmt=png

HTC(Hybrid Task Cascade)是上一届挑战赛 COCO Detection 赛道的冠军模型,也是目前 COCO 实例分割的最佳模型。我们团队以这个极强的模型为基础进一步改进,取得了更好的效果。HTC 又是基于 Cascade Mask R-CNN 改进的,它主要改进了两个方面。 

1. Interleaved Execution:在每个 stage 里,先执行 box 分支,将回归过的框再交由 mask 分支来预测 mask,也消除了训练和测试流程的 gap,这样也就改进了 Cascade Mask R-CNN 在每一个 stage 里的 box 和 mask 两个分支在训练时中并行执行没有交互的问题。

2. Mask Information Flow:在相邻的 stage 的 mask 分支之间增加一条连接,提供 mask 分支的信息流,这样后面 stage 的 mask head 既能得到 backbone 的特征,也能得到上一个 stage 的特征。 

而我们团队在 HTC 网络结构基础上尝试从以下几个方面进行改进: 

1. Backbone--CBNet 

CBNet 提出了一种通过相邻 backbone 之间的复合连接来组装多个相同 backbone 的新策略。使用 CBNet 提取特征,相比于普通的强 backbone,在前景目标处具有更强的激活值,在背景处具有更弱的激活值。我们团队在 mmdetection 开源框架上自己实现了 CBNet,并接近复现原论文的精度。最终团队使用的是两个 ResNeXt-101(64*4d)组合而成的 CBNet,这也成了提分的重要武器。

640?wx_fmt=png

640?wx_fmt=png

HRNet 通过并行连接高分辨率和低分辨率卷积来保持高分辨率表示,并通过在并行卷积中重复执行多尺度融合来增强高分辨率表示。HRNet 作为另一个极强的 backbone 已广泛运用在目标检测、语义分割、关键点检测等任务中。而将 HRNet 和 CBNet 结合在一起,可以得到一个更强大的 backbone。

2. Head -- MaskIoU head 

大多数实例分割框架都采用实例分类的置信度作为 Mask 质量分数,然而 Mask 质量通常与分类分数相关性不强。由于背景杂波、遮挡等问题,分类分数可能较高,但 Mask 质量较低。Mask Scoring R-CNN 论文提出了一种实例分割 rescoring 再评分的方法,在 mask head 上新拼接 MaskIoU head,对预测 Mask 与其 Mask gt 之间的 iou 进行回归,将预测的 Mask 与分类分数相乘,得到新的校准 Mask 分数作为最终 Mask 置信度。

640?wx_fmt=png

3. Data Augmentation -- InstaBoost 

InstaBoost 论文提出了一种高效的数据增强方法。利用背景像素的冗余性,提出了一种基于位置概率图的方法来探索基于局部外观相似度的可行目标位置。其中的 Random InstaBoost 和 Map-guided InstaBoost 均可在不改变网络结构的基础上,显著提升实例分割的精度。

640?wx_fmt=png

4. 其他Tricks 

DCN

640?wx_fmt=png

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

Sync BN 

目前网络的训练大都是多卡训练,大型网络结构以及复杂任务会使得每张 GPU 负责的 batch-size 小于等于 1,若不进行 Sync BN,那么 moving mean、moving variance 参数会产生较大影响,可能造成 BN 层失效。而 Sync BN 训练时利用全局样本的均值和方差,后向时样本得到相应的全局梯度,训练效果就不再受 GPU  个数的影响。

640?wx_fmt=png

实验细节

1. 采用 HTC + DCN + FPN 作为 baseline,逐步进行改进;

2. 将 CBNet-ResNeXt-101 作为新的 backbone;

3. 将原有 mask head 改为 MaskIoU head;

4. 使用 COCO-Pretrained weight;

5. 调参和多尺度训练和一些测试 tricks;

6. 没有使用额外数据和多模型融合策略。

实验结果

640?wx_fmt=png

这是我们团队第一次完整训完 HTC +CBNet + DCN + FPN 的模型后,在单尺度(3200*2400)下提交的测试集的结果,精度已经超越了去年的冠军(Bo_Li),后面主办方未公开榜单具体成绩。本着公平参赛和探索高质量实例分割单模型的原则,我们团队没有使用额外数据和多模型融合策略,甚至最终由于时间和资源有限还没有采用多尺度测试融合,后几次交的结果都是单模型单尺度,但也保持优势到了最后并顺利拿下今年的冠军。

640?

点击以下标题查看更多往期内容: 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ICCV 2019 COCO & Mapillary挑战赛冠军团队技术分享 的相关文章

  • 使用ICE建立C++与C#的通讯

    使用ICE建立C 与C 的通讯 版权 三夏健 https www cnblogs com liwei81730 archive 2012 08 21 2649476 html ICE的优势是作为通讯中间件可支持跨平台的通讯 目前支持C C
  • 基于深度学习Seq2Seq框架的技术总结

    随着互联网经济的普及定位技术的快速发展 人们在日常生活中产生了大量的轨迹数据 例如出租车的GPS数据 快递配送员PDA产生的轨迹数据等 轨迹数据是一种典型的时空数据 Spatial Temporal Data 是按照时间顺序索引且空间变化的
  • gitleb+hexo部署搭建博客

    当你想发布自己的想法 或者学习内容时 这个时候可能你的选择就是在各大平台发布 比如说 简书 csdn 掘金等一些公开的平台 但是这样你的数据就是属于别人了 如果有一天那个平台关闭了 那不是你的多年记录的内容都没有了 可想而知你当时的心情是多
  • WIN10环境下配置hadoop+spark并运行实例的教程

    WIN10环境下配置 hadoop spark 并运行开发实例的教程 前期准备 基本环境配置 虚拟机的安装 配置虚拟机中的静态网络 关闭并禁用防火墙 配置主机名 编辑host文件 使用ssh传输文件 SSH免密配置 解压文件 配置文件 配置
  • imx6ul:uboot-2013.10启动过程解析

    1 源码结构分析 首先一个问题 老版本的u boot是没有SPL这个文件的 新版u boot开始包含SPL文件 原来u boot启动比如放到nand中 在cpu内部有一个stepping stone 可以拷贝nand中的u boot到ram
  • python. 创建虚拟环境 conda_python使用conda创建和管理python虚拟环境

    一 背景 前期使用过程中发现使用python3自带的venv创建虚拟环境时 无法指定python版本 也许可以 但我没找到方法 所以打算利用第三方的工具conda来管理python环境 二 Miniconda安装 本文主要是介绍环境管理相关
  • SAP FI 系列 (026) - 增值税的配置

    产品的销售 原料的采购 都要与增值税打交道 SAP 系统对于不同国家的销售和购置税 都提供了基于国家的计税程序 Tax Procedure 项目实施的时候 只需要选择预置的税码或者新增税码 针对这些税码配置记账的会计科目即可 税码包括的最重
  • 2023最新「阿里」Java 高级工程师面试高频题:JVM+Redis+ 并发 + 算法 + 框架

    前言 面对今年的大环境而言 跳槽成功的难度比往年高了很多 很明显的感受就是 对于今年的 java 开发朋友跳槽面试 无论一面还是二面 都开始考验一个 Java 程序员的技术功底和基础 对源码解读和核心原理理解也是成了加分项 特别是对 Jav
  • 实战:利用Pytorch复现Deep Residual Learning for Image Recognition中的 Resnet34

    残差网络Resnet Deep Residual Learning for Image Recognition 论文阅读笔记 在学习了resnet的论文之后 为了便于理解 变想要复现文论中34层的resnet模型 即以下这张图 实际上 Re
  • 等价类划分和边界值的区别与联系

    等价类划分和边界值的区别与联系 例子 参数输入 1 99 为合法 一 等价类划分法 1 按照位数不同划分 输入 空 个位数 十位数 百位数 测试了 空 1 11 101 就不用在测试 2 22 102 了 因为 个十百 位数都是等价的 属于
  • MES系统解决钢结构企业原材料管控难问题

    随着国家经济建设的发展 钢结构行业产品在轻钢门式结构 多层和小高层住宅 大跨度空间结构 塔桅结构等领域有着良好的发展前景 中国建筑钢结构产业和市场正呈现出蓬勃发展的势头 总的来说 形势很好 前景喜人 另一方面 我们应该清醒地看到 由于建筑钢
  • ctf实战 掌控安全的靶场 第四关通关记录

    掌控安全封神台第四关 根据提示为存储型xss flag在cookie中 xss平台其实网上就有 可以直接用 xsspt com xss平台大致如下 点击创建项目输入项目名字 选择模块是要注意选择 默认模块和xss js 生成代码
  • 打开word资源管理器没有响应

    今天 更新windows10之后 打开word excel文档导致整个资源管理器没有反应 打开其他文档例如 PDF 图片等没有任何问题 解决方案 如下图 关闭 详细信息窗格 即可
  • 基于Java+SpringBoot+Vue的校园交友网站的设计与实现

    文章目录 一 效果演示 二 前言介绍 三 主要技术 四 系统设计 部分 4 1 主要功能模块设计 4 2 系统登录流程设计 五 运行截图 5 1 系统功能模块 5 1 1 用户注册 5 1 2 线下活动 5 1 3 交友信息 5 1 4 个
  • 解决在选项卡中,只有默认选项里的vue-seamless-scroll可以滚动的问题

    参考的文章作者说她的vue seamless scroll无缝滚动不滚动是因为她的页面有切换按钮 原来用v show的时候只有默认页面的可以滚动 改为v if就可以了 我的页面也是因为切换按钮的原因引起的不滚动 但是我的页面目前只能使用js
  • JS获取当前日期时间

    getCurrentDate var timeStr var curDate new Date var curYear curDate getFullYear 获取完整的年份 4位 1970 var curMonth curDate get
  • 【华为机试真题 JAVA】最长连续子序列-100

    编程题目 100分 最长连续子序列 2021 H2 2022 H1考试题 时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 本题可使用本地IDE编码 不
  • Python3 输入和输出

    在前面几个章节中 我们其实已经接触了 Python 的输入输出的功能 本章节我们将具体介绍 Python 的输入输出 输出格式美化 Python两种输出值的方式 表达式语句和 print 函数 第三种方式是使用文件对象的 write 方法
  • Mac mkdir创建文件夹 提示Permission denied

    B00011347 wanghan mkdir map car mkdir map car Permission denied 处理办法 B00011347 wanghan sudo mkdir map car Password 输入密码
  • tensorflow错误:InvalidArgumentError (see above for traceback): Cannot assign a device for operation

    一 错误 InvalidArgumentError see above for traceback Cannot assign a device for operation shuffle batch Could not satisfy e

随机推荐

Powered by Hwhale