热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CenterPoint:3D目标检测与跟踪

点击上方“3D视觉工坊”,选择“星标”干货第一时间送达作者丨元气满满的打工人来源丨CV研习社文章导读导读:随着自动驾驶行业热度的不断升温,

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

15a26b7e18d6dfd309d931b8e752101f.png

作者丨元气满满的打工人

来源丨CV研习社

文章导读

导读:随着自动驾驶行业热度的不断升温,也带动了其他技术的不断发展。其中计算机视觉作为其核心技术也在快速的迭代。3D目标检测技术小编之前已经分享过几篇文章,小编今天要分享的论文是CenterPoint:Center-based 3D Object Detection and Tracking。该方法同时包含检测和追踪二种技术,让我们一起学习一下吧。

Part 01

目标检测和目标跟踪的联系和区别

联系:

(1)目标跟踪需要依靠检测,目标跟踪必须先通过检测实现目标的定位,才能实现后续的跟踪。

(2)如果将动态的检测过程按照一定的时间间隔进行拆分(如一帧图像),再进行静态的检测,则目标检测可以实现类似目标跟踪的效果。

区别:

(1)目标跟踪比目标检测略复杂一些,目标检测一般为静态的检测,而目标跟踪通常为动态定位。

(2)目标检测一般利用模型中的特征信息或先验知识在单帧图像中找到感兴趣的区域,而目标跟踪是根据已有的目标的位置信息,在后续的跟踪过程中匹配最佳位置,重点在于目标的匹配过程。

Part 02

Center-based表示的几点优势

(1)不同于bounding-box的方式,点没有内在的方向。因此可以减少目标检测器的搜索空间,同时允许backbone学习对象的旋转不变性和它们相对旋转的旋转方差。

(2)有利于简化下游的任务(跟踪),如果对象是点,则轨迹就是空间和时间下的路径,则网络就可轻松的预测连续帧之间的相对偏移,并连起来即可。

(3) 基于点的特征提取可以方便研究者设计一个速度更快且更有效的二阶段细化模块。

Part 03

CenterPoint网络的提出

文章提出了一个基于Center-based的二阶段的检测结合跟踪的模型CenterPoint。在第一阶段,使用关键点检测器检测对象的中心,并对检测框的3D尺寸、3D方向和速度进行回归。第二阶段,设计了记忆细化模块,对第一阶段产生的检测框,使用额外的点特征来进行细化。CenterPoint的网络结构图如下:

f71aec63e29236430391b21824db34a1.png

网络结构图

CenterPoint的性能表现:在Waymo和nuScenes二大公开数据集下进行了实验,center-based的方法相比box的方法有3-4mAP的精度增长,在检测任务中取得了较高的精度。在跟踪任务中,甚至比之前的方法高出了50%的精度。文章提到该方法能够实时推理,具有很好的学习价值。

Part 04

CenterPoint具体的实现方式

如下图所示(此图为论文v1版本的网络框架图,对应上面v2版本论文中框架图的a、b和c三部分),网络共有4个输出,基于类的Heatmap、3D目标的大小、旋转角和速度。

fa6aea9ec87ecffde954f4c50d69f576.png

论文v1版本的网络结构图

下面将对这4个模块进行逐一介绍。

Center heatmap head:在这里,作者参照了CenterNet中的热力图回归方式,并进行了一些改进。首先介绍一下CenterNet的热力图的回归方式。在CenterNet网络中对于一张3通道的大小为W×H的图像,最终会输出一张K通道,大小为(W/R)×(H/R)的热力图,其中R代表输出的步长,K为待检测目标的类别数。热力图如下图所示,热力图中的数值有2个,0和1。若数值为1,则代表图像中的该点即为检测框的中心点。若数值为0,则代表此区域为背景。

2ed1a5a30bde473359cceb5d671f08e6.png

热力图

由于3D点云稀疏的特性,3D目标的特征不会像2D中那样显著,如直接使用CenterNet在点云中生成热力图,则热力图中必定大部分都是背景。因此文章的改进在于增加了目标热力图的正向监督,即扩大每个地面实况对象中心渲染的高斯峰值。具体的做法是设置高斯半径为σ = max(f(wl), τ ),其中τ = 2为最小高斯半径值,f为CenterNet中定义的半径函数。

通过这种方式,CenterPoint 保持了基于中心的目标分配的简单性,同时该模型从附近的像素获得了更密集的监督。

Regression heads:将一些对象属性存储在对象的中心特征上,包括sub-voxel位置细化、离地高度、3D大小和偏航旋转角。Sub-voxel位置细化减少了backbone网络的体素化和跨步的量化误差。离地高度hg有助于在3D中定位对象,并添加由map-views投影删除的缺失高程信息。方向预测使用偏航角的正弦和余弦作为连续回归目标。并结合框大小,这些回归头提供了3D边界框的完整状态信息。

Velocity head and tracking:为了通过时间跟踪对象,网络学习预测每个检测到的对象的二维速度估计 v ∈ R2 作为额外的回归输出。速度估计是特殊的,因为它需要两个输入map-views的当前和前一个time-step。它预测当前帧和过去帧之间对象位置的差异。与其他回归目标一样,速度估计对当前time-step下目标位置的真值使用L1 损失进行监督。

二阶段的CenterPoint:网络第二阶段的处理,将根据第一阶段的将根据第一阶段的检测框信息和特征图信息,从预测边框的每个面的三维中心提取一个点特征。对于每个点,使用双线性插值从主干map-views输出M中提取一个特征,并将点特征输入全连接网络MLP对结果进行细化。

第二阶段在一阶段CenterPoint 的预测结果之上预测与类别无关的置信度分数和进行目标框细化。置信度score的表示预测结果与真值之间的3D IoU,计算公式如下:

bf014bdc9f9a3ce0b9e66ee1303e71f6.png

网络训练时使用二进制交叉熵损失函数作为监督,公式如下所示,其中It为预测的置信度score:

1612e9b0a62e893b11949ead2ae896e0.png

Part 05

实验

作者就检测和追踪二个任务分别在公开数据集上进行了实验。

对于检测任务:在Waymo数据集上,模型在level2上在对车辆和行人的检测中分别取得了71.8和66.4的mAPH精度值,比先前的方法有一定的提升。在nuScenes数据集上,模型在多尺度输入和多模型集成方面比去年的冠军模型CBGS高出了5.2%的map和2.2%的NDS。结果如下表所示:

528830485c8ea689469444cd5271b8e4.png

a94aafe67df7b4ad6e2f650fd7b58854.png

对于跟踪任务:在Waymo数据集中,本文的模型与该领域的baseline模型AB3D进行了比较,结果有明显的提升。在nuScenes中,同样和AB3D模型和先前最好的模型进行了比较,结果同样有明显的提升。具体结果如下表所示:

2118894b0fa61b840e8b40aaf11a2fcc.png

168aef83bcaf2af6a85f3b8447df33ed.png

Part 06

总结

文章提出了一种Center-based的雷达点云的3D目标检测和跟踪的框架。方法的结构较为简单,取得了检测和跟踪二个任务上的效果提升。在推理速度上,文章中多次提到能够达到实时,但其使用的是桌面级显卡Titan RTX,而通常模型会在移动端使用。因此,其实时性有待验证,但不可否认文章的方法具有一定的创新性,有较强的学习价值。

本文仅做学术分享,如有侵权,请联系删文。

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

70c09c946f8e064518425d60c6ed8eb8.png

▲长按加微信群或投稿

20c47729f4a0233f9ac1cba0939029c2.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列、手眼标定、相机标定、激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

fb66012e3e1a7a4c75d4ae55fda2f261.png

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  



推荐阅读
  • 65位高校教师接龙晒工资!给打算入高校的研究生们参考!
    本文转载自:募格学术|来源:麦可思研究综合整理自小木虫论坛前有清华教授被骗千万,后有某重点高校青年教师晒出月薪900的工资条, ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • AI行业的下一个风口是医疗?创业者们这样说
    ▼点击上方蓝字关注网易智能为你解读AI领域大公司大事件,新观点新应用编者按:4月10日,鲸准AI产业价值峰会在北京举行。本次大会除了邀请A ... [详细]
  • 知识图谱表示概念:知识图谱是由一些相互连接的实体和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Obj ... [详细]
  • 论文笔记_S2D.48_2017IEEE RAL_单视图和多视图深度融合
    基本情况题目:Single-viewandmulti-viewdepthfusion出处:FcilJM,ConchaA,MontesanoL,etal ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了如何在方法参数中指定一个对象的协议,以及如何调用符合该协议的方法。以一个具体的示例说明了如何在方法参数中指定一个UIView子类对象,并且该对象需要符合PixelUI协议,同时方法需要能够访问该对象的属性。 ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
  • SLAM优秀开源工程最全汇总
    https:zhuanlan.zhihu.comp145750808 1、CartographerCartographer是一个系统,可跨多个平台和传感器配置以2D和3D形式提供实 ... [详细]
  • 微信回应「10 元就能在朋友圈改定位」;谷歌官方首次提及 Android 11;Node 8.16.2 发布 | 极客头条...
    微信回应「10元就能在朋友圈改定位」;谷歌官方首次提及Android11;Node8.16.2发布|极客头条,Go语言社区,Golang程序员人脉社 ... [详细]
  • 目录前言数组类型在不同消息类型中的定义在ROS消息中的定义在C中定义数组vector数组的一些常用操作基本操作求数组的最值遍历数组排序数组查找数组注意前言ROS系统的一个显著优势 ... [详细]
author-avatar
Eva---LiuJ
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有