Waymo离线点云序列3D物体检测网络 (3D Auto Labeling): Offboard 3D Object Detection from Point Cloud Sequences

在这里插入图片描述
本文介绍一篇Waymo基于点云序列的3D物体检测网络:3D Auto Labeling,论文已收录于CVPR 2021。 这里重点是理解本文提出的 Object-centric Auto Labeling

论文链接为:https://arxiv.org/abs/2103.05073

2021-09-02补充:本文作者之一对这篇论文的解读。

Waymo研发经理|自动驾驶感知前沿技术介绍


0. Abstract

当前的 3D物体识别 研究主要集中在实时场景上,但仍有许多未充分探索的离线感知场景,例如使用机器自动生成高质量的 3D 标签。

由于输入和速度限制,现有的3D物体检测器无法满足离线使用的高质量需求。因此本文提出了一种使用点云序列数据的新型离线3D物体检测模型。通过捕获物体在不同帧的视图,本文设计了一个离线检测器,通过多帧物体检测新的以物体为中心的细化模型来使用点云序列进行检测。

Waymo 开放数据集上进行评估后,与最先进的在线检测器以及与离线基准相比,本文设计的 3D自动标注 模型显示出更高的性能,甚至可以达到人工标注的水平。


1. Introduction

在引言中,作者提出在点云序列中,物体的不同视角包含关于其几何形状的互补信息,如左图所示。因此本文提出使用多帧点云作为输入,同时又使用多物体追踪将不同帧检测的物体关联起来,最终提取物体点云数据和检测框,检测性能如右图所示。

在这里插入图片描述在这里插入图片描述

2. Offboard 3D Object Detection

问题描述:设输入点云序列{Pi∈Rni×C},i=1,2,…,N\left\{\mathcal{P}_{i} \in \mathbf{R}^{n_{i} \times C}\right\}, i=1,2, \ldots, N{PiRni×C},i=1,2,,N,其中NNN表示总帧数,Pi\mathcal{P}_{i}Pi表示每一帧点云。同时也已知不同帧的传感器坐标位置 {Mi=[Ri∣ti]∈R3×4},i=1,2,…,N\left\{\mathcal{M}_{i}=\left[R_{i} \mid t_{i}\right] \in \mathbf{R}^{3 \times 4}\right\}, i=1,2, \ldots, N{Mi=[Riti]R3×4},i=1,2,,N,因此我们可以补偿自车运动。对于每一帧输出为 3D bounding box (中心位置,大小和方向),物体类别,以及所有物体的ID号

与以往的以frame为中心的多帧输入检测不同,本文提出以object为中心进行多帧检测,使用多帧检测器输出初始的物体位置,对于每一个物体,通过追踪可以提取所有与物体相关的点云数据和检测box。然后对物体轨迹数据进一步处理,最终输出追踪级别的物体boxes,这一个过程与人工标注很相似(定位、追踪、追踪优化),因此也被成为 3D Auto Labeling


3. 3D Auto Labeling Pipeline (重点)

算法框架如下图所示,输入为点云序列,3D物体检测器首先给出每一帧中的物体类型、得分、3D bounding box。然后使用多物体追踪器将不同帧的物体boxes关联起来。提取出每一个物体的点云数据和 3D bounding box,最终通过object-centric auto labeling来生成标签。

3D物体检测中,本文提出使用多帧的MVF++作为检测器,通过自车运动将其余帧点云坐标转换为当前帧坐标;多物体追踪中本文使用了AB3DMOT作为追踪器。接下来是提取点云数据{Pj,k},k∈Sj\left\{\mathcal{P}_{j, k}\right\}, k \in S_{j}{Pj,k},kSj3D bounding box {Bj,k},k∈Sj\left\{\mathcal{B}_{j, k}\right\}, k \in S_{j}{Bj,k},kSj
在这里插入图片描述


3.1 Satic Object Auto Labeling

从图3可以看到,自动生成标签环节有三个小模块:motion state classificationstatic object auto labelingdynamic object auto labeling。本文中使用了一个线性分类器来判断物体是否静止,准确度可以达到99%,具体细节可以看文章附录E。

下面介绍静态物体自动标注模块,对于静态物体,该模块将物体在不同帧的点云进行合并得到新的点云 Pj=∪{Pj,k}\mathcal{P}_{j}=\cup\left\{\mathcal{P}_{j, k}\right\}Pj={Pj,k},预测出单个box,然后根据传感器位置转换到不同帧中,流程图如图4所示。首先会将点云转换为box坐标,这里使用得分最高的box作为初始box。然后使用实体分割网络分割出前景点,同时迭代回归物体 bounding box,所有网络都是以PointNet作为网络架构,具体细节可以看文章附录F。

在这里插入图片描述在这里插入图片描述

3.2 Dynamic Object Auto Labeling

动态物体自动标注流程图如图5所示。这里使用滑动窗口方式预测出每一帧的box,有两个分支,一个点云序列分支,一个box序列分支。

点云子序列为 {Pj,k}k=T−rT+r\left\{\mathcal{P}_{j, k}\right\}_{k=T-r}^{T+r}{Pj,k}k=TrT+r,根据当前帧检测box (Bj,T\mathcal{B}_{j, T}Bj,T) 将点云子序列转换为box坐标,同样地使用分割网络分割出前景点,然后通过点云编码网络将物体点云编码为Point Embedding

对于Box子序列 {Bj,k′}k=T−sT+s\left\{\mathcal{B}_{j, k}^{\prime}\right\}_{k=T-s}^{T+s}{Bj,k}k=TsT+s,同样地将box坐标转换为帧TTT下的坐标。将点云序列编码为trajectory embedding,最后与Point Embedding相结合,再通过一个回归网络输出当前帧TTT的预测。


4. Experiments

下面是本文算法与其余3D物体检测算法在Waymo val set的比较。
在这里插入图片描述
下面是人工标注半监督学习的对比实验。

Comparing human labels and auto labels in 3D object detectionResults of semi-supervised learning with auto labelsAblation studies on the improvements to 3D detector MVFAblation studies on 3D detection AP vs. temporal contexts
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

下面是静态自动标注动态自动标注时域大小的对比实验。

Ablation studies of the static auto labeling modelComparing with alternative designs of dynamic object auto labelingEffects of temporal context sizes for object auto labeling
在这里插入图片描述在这里插入图片描述在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【OpenJ_Bailian - 2711 】 合唱队形(dp,枚举中间顶点)

题干: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK&…

Waymo自动驾驶数据集介绍与使用教程

本文将对Waymo自动驾驶数据集(Waymo Open Dataset)进行介绍。 论文链接为:https://arxiv.org/abs/1912.04838v7 项目链接为:https://github.com/waymo-research/waymo-open-dataset 数据集链接为:https://waymo.com…

Java 并发基础——线程安全性

线程安全:多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协调,这个类都能表现出正确的行为,那么久称这个类是线程安全的。 在线程安全类中封…

详解一阶段3D物体检测网络 SE-SSD: Self-Ensembling Single-Stage Object Detector From Point Cloud

本文介绍一篇一阶段的3D物体检测网络:SE-SSD,论文已收录于 CVPR 2021。 这里重点是理解本文提出的 Consistency Loss 、Orientation-Aware Distance-IoU Loss、Shape-Aware Data Augmentation。 论文链接为:https://arxiv.org/pdf/2104.0980…

【POJ - 3744】Scout YYF I(概率dp,矩阵快速幂优化dp)

题干&#xff1a; 题目大意&#xff1a; 在一条不满地雷的路上&#xff08;无限长&#xff09;&#xff0c;你现在的起点在1处。在N个点处布有地雷&#xff0c;1<N<10。地雷点的可能坐标范围&#xff1a;[1,100000000]. 每次前进p的概率前进一步&#xff0c;1-p的概率…

详解3D点云分割网络 Cylindrical and Asymmetrical 3D Convolution Networksfor LiDAR Segmentation

本文介绍一篇3D点云分割网络&#xff1a;Cylinder3D&#xff0c;论文已收录于 CVPR 2021。 这里重点是理解本文提出的 Cylindrical Partition 和 Asymmetrical 3D Convolution Network。 论文链接为&#xff1a;https://arxiv.org/pdf/2011.10033.pdf 项目链接为&#xff1a;…

Java中泛型Class《T》、T与Class《?》

一.区别 单独的T 代表一个类型 &#xff0c;而 Class<T>代表这个类型所对应的类&#xff0c; Class<&#xff1f;>表示类型不确定的类 E - Element (在集合中使用&#xff0c;因为集合中存放的是元素)T - Type&#xff08;Java 类&#xff09;K - Key&#xff08;…

【CodeForces - 701D】As Fast As Possible(二分,模拟,数学公式)

题干&#xff1a; On vacations n pupils decided to go on excursion and gather all together. They need to overcome the path with the length l meters. Each of the pupils will go with the speed equal to v1. To get to the excursion quickly, it was decided to r…

自动驾驶3D物体检测研究综述 3D Object Detection for Autonomous Driving: A Survey

本文介绍一篇最新的自动驾驶3D物体检测研究综述&#xff08;2021年6月份发布&#xff09;&#xff0c;来源于中国人民大学&#xff0c;论文共26页&#xff0c;99篇参考文献。 论文链接为&#xff1a;https://arxiv.org/pdf/2106.10823.pdf 0. Abstract 自动驾驶被看作是避免人…

【CodeForces - 705C】Thor(模拟,STLset优化链表)

题干&#xff1a; Thor is getting used to the Earth. As a gift Loki gave him a smartphone. There are n applications on this phone. Thor is fascinated by this phone. He has only one minor issue: he cant count the number of unread notifications generated by …

Java中接口的多继承

我们知道Java的类只能继承一个类&#xff0c;但可以实现多个接口。但是你知道么&#xff1f;Java中的接口却可以继承多个接口。本文就来说一说Java中接口的多继承。 进入主题之前&#xff0c;先扩展一下。Java为什么只支持单继承呢&#xff1f; 我们不妨假设Java支持多继承&a…

详解基于IMU/GPS的行人定位: IMU/GPS Based Pedestrian Localization

本文介绍一篇使用 IMU/GPS 数据融合的行人定位论文&#xff0c;这里重点是理解本文提出的 Stop Detection 和 GPS Correction。 论文地址为&#xff1a;https://www.researchgate.net/publication/261452498_IMUGPS_based_pedestrian_localization 1. Introduction 低成本的 …

每次maven刷新jdk都要重新设置

pom.xml <java.version>17</java.version> 改为<java.version>1.8</java.version>

【CodeForces - 706D】Vasiliy's Multiset(01字典树)

题干&#xff1a; Author has gone out of the stories about Vasiliy, so here is just a formal task description. You are given q queries and a multiset A, initially containing only integer 0. There are three types of queries: " x" — add integer …

LaTeX常用数学符号总结

本文汇总了在使用LaTeX中常用的数学符号&#xff0c;相关下载资源为&#xff1a;139分钟学会Latex&#xff08;免积分下载&#xff09;。 文章目录1. 希腊字母2. 集合运算符3. 数学运算符4. 三角符号、指数符号、对数符号5. 积分、微分、偏微分6. 矩阵和行列式7. 基本函数、分段…

基本类型优先于装箱基本类型

基本类型与包装类型的主要区别在于以下三个方面&#xff1a; 1、基本类型只有值&#xff0c;而包装类型则具有与它们的值不同的同一性&#xff08;identity&#xff09;。这个同一性是指&#xff0c;两个引用是否指向同一个对象&#xff0c;如果指向同一个对象&#xff0c;则说…

【CodeForces - 827A】String Reconstruction(并查集合并区间,思维)

题干&#xff1a; Ivan had string s consisting of small English letters. However, his friend Julia decided to make fun of him and hid the string s. Ivan preferred making a new string to finding the old one. Ivan knows some information about the string s. …

详解自动驾驶仿真框架OpenCDA: An Open Cooperative Driving Automation Framework Integrated with Co-Simulation

本文介绍一款同时支持协同驾驶开发与测试、自动驾驶全栈开发 和 CARLA-SUMO联合仿真的开源框架 OpenCDA&#xff0c;论文已收录于 ITSC 2021。主要feature有&#xff1a; 支持CARLA-SUMO联合仿真&#xff0c;CARLA端主管环境渲染、传感器模拟、车辆动力&#xff0c;Sumo端主管…

JavaMonitor 监视器

为什么wait(), notify()和notifyAll()必须在同步方法或者同步块中被调用&#xff1f; 当一个线程需要调用对象的wait()方法的时候&#xff0c;这个线程必须拥有该对象的锁&#xff0c;接着它就会释放这个对象锁并进入等待状态直到其他线程调用这个对象上的notify()方法。同样的…

KITTI自动驾驶数据集可视化教程

本文介绍关于自动驾驶数据集KITTI的基本操作&#xff0c;包括Camera和LiDAR可视化教程&#xff0c;源码已上传&#xff1a;https://download.csdn.net/download/cg129054036/20907604 1. 数据准备 将 KITTI 数据 (calib, image_2, label_2, velodyne) 添加到 dataset/KITTI/ob…