论文阅读:Offboard 3D Object Detection from Point Cloud Sequences
目录
概要
Motivation
整体架构流程
技术细节
3D Auto Labeling Pipeline
The static object auto labeling model
The dynamic object auto labeling model
小结
论文地址:[2103.05073] Offboard 3D Object Detection from Point Cloud Sequences (arxiv.org)
概要
该论文提出了一种利用点云序列数据进行离线三维物体检测的方法,称为3D Auto Labeling。相比现有的三维物体检测方法,该方法能够更好地满足离线场景下高质量的要求。该方法利用点云序列中不同帧所捕获的物体的互补视角信息,通过多帧物体检测和新颖的物体中心优化模型来利用时间点云。在Waymo公开数据集上的评估结果表明,该方法相比于现有的三维物体检测方法和离线基准有显著提升,甚至可以与人工标签的效果媲美。该方法还具有半监督学习和应用自动标签的能力。

关键是使用点云序列数据来进行物体检测,并设计了一个新的离线物体检测管道,利用多帧物体检测和新的物体中心检测模型来提高检测准确性。同时,还利用了物体轨迹数据来对物体的运动状态进行分类,并引入了一个动态物体自动标注模型和一个静态物体自动标注模型来生成高质量的自动标注数据。这些自动标注数据可以用于半监督学习,以提高检测性能。
Motivation
- 由于有限的输入和速度限制,现有的3D目标检测器无法满足机外使用的高质量要求。大多数3D预测研究都集中在实时车载用例上,只考虑来自当前帧或少数历史帧的传感器输入。
- 4D标注数据内含物体动态行为信息,为高等级自动驾驶的必要输入;
- 4D人工标注极为耗时,据统计,人工标注25秒10Hz的点云序列中物体4D框,平均需要10小时,成本高,可扩展性差。
整体架构流程
该方法主要运用coarse-to-fine的思想使得检测结果更为准确:
技术细节
为了充分利用时态点云,摒弃了基于帧的通用输入结构,其中点云的整个帧被合并。转向以目标为中心的设计。首先利用性能最佳的多帧检测器来提供初始目标定位。然后,通过多目标跟踪链接在不同帧中检测到的目标。基于检测box和原始点云序列,可以提取物体的整个跟踪数据,包括其所有传感器数据(点云)和检测box,即4D:3D空间+1D时间。然后,提出了新的深度网络模型来处理这样的4D目标跟踪数据,并输出时间已知且高质量的目标box。
3D Auto Labeling Pipeline
3D Auto Labeling管道。给定一个点云序列作为输入,管道首先利用3D对象检测器来定位每一帧中的对象。然后跨帧的对象框通过多目标跟踪器链接。为每个对象提取对象跟踪数据(其每帧的点云及其 3D 边界框),然后通过以对象为中心的自动标记(静态和动态轨迹的分而治之)生成最终的“自动标签”,即细化的 3D 边界框。

The static object auto labeling model
静态对象自动标记模型。将世界坐标中合并的对象点作为输入,模型输出静态对象的单个框。
先做前景分割,分割出前景背景点.然后用提取前景点,回归物体的目标框.
1)前景分割的网络:PointNet分割网络,MLPx5 -> 1024->maxpool -> concat to 1088(1024 + 64)->预测出2维
2)目标框回归网络:PointNet的变体,输出(3 dim,heading,size,cls)
3)进行级联微调,再让transform过的前景点经过一次目标框回归网络.
两个回归网络共享参数的效果更好。

The dynamic object auto labeling model
动态对象自动标记模型。以一系列对象点和一系列对象框,模型以滑动窗口方式运行,并为中心帧输出细化的 3D 框。输入点和框颜色表示帧。

对于点云分支,模型采用目标点云的子序列。向每个点添加时间编码通道后,子序列点通过并集合并,并在中心帧处为检测器box的box坐标。接着有一个基于PointNet的分割网络来对前景点进行分类,然后通过另一个点编码网络将目标点编码为一个embedding。对于长方体序列分支,长方体序列帧将转换为长方体框架处探测器box的坐标。长方体子序列可以比点子序列长,以捕获长的轨迹嵌入,其中每个box是一个具有7维几何和1维时间编码的点。然后,将计算出的目标嵌入和轨迹嵌入连接起来,形成联合嵌入,然后通过一个box回归网络预测帧处的目标box。(参考:Offboard 3D Object Detection From Point Cloud Sequences-CSDN博客)
小结
- 制定车载 3D 目标检测问题和特定管道 (3D Auto Labeling) 的提议,该管道利用了我们的多帧检测器和新颖的以对象为中心的自动标记模型;
- 在具有挑战性的Waymo开放数据集上实现最先进的3D目标检测性能;
- 3D目标检测的人体标签研究,以及人体标签和自动标签之间的比较;
- 证明了自动标签对半监督学习的有效性。
相关文章:
论文阅读:Offboard 3D Object Detection from Point Cloud Sequences
目录 概要 Motivation 整体架构流程 技术细节 3D Auto Labeling Pipeline The static object auto labeling model The dynamic object auto labeling model 小结 论文地址:[2103.05073] Offboard 3D Object Detection from Point Cloud Sequences (arxiv.o…...
Python学习基础笔记六十八——循环
循环是编程语言常见的流程控制。 Python语句要让计算机反复地做一些事情,就要用到循环语句。 有While和for循环。 while循环: command input("请输入命令:") while command ! exit:print(f输入的命令是{command})command input("请输…...
部署k8s dashboard(这里使用Kubepi)
9. 部署k8s dashboard(这里使用Kubepi) Kubepi是一个简单高效的k8s集群图形化管理工具,方便日常管理K8S集群,高效快速的查询日志定位问题的工具 部署KubePI(随便在哪个节点部署,我这里在主节点部署&#…...
Java Lambda表达式的使用
我们了解了 java Lambda 的概念并可以在匿名类的场合使用 Lambda 语法进行简单替换。本节主要介绍在 Java 中如何使用 Lambda 表达式。 作为参数使用Lambda表达式 Lambda 表达式一种常见的用途就是作为参数传递给方法,这需要声明参数的类型声明为函数式接口类型。…...
【初始C语言8】详细讲解初阶结构体的知识
前言 💓作者简介: 加油,旭杏,目前大二,正在学习C,数据结构等👀 💓作者主页:加油,旭杏的主页👀 ⏩本文收录在:再识C进阶的专栏…...
<C++> IO流
C语言的输入与输出 在C语言当中,我们使用最频繁的输入输出方式就是scanf与printf: scanf: 从标准输入设备(键盘)读取数据,并将读取到的值存放到某一指定变量当中。printf: 将指定的数据输出到…...
基于单目相机的2D测量(工件尺寸和物体尺寸)
目录 1.简介 2.基于单目相机的2D测量 2.1 想法: 2.2 代码思路 2.2 主函数部分 1.简介 基于单目相机的2D测量技术在许多领域中具有重要的背景和意义。 工业制造:在工业制造过程中,精确测量是确保产品质量和一致性的关键。基于单目相机的2…...
23面向对象案例1
目录 1、计算连续表达式的一个过程 2、优化后的代码 为什么不能return resultn? 3、用面向对象的方法可以解决冗余的问题,但是还是不能解决result的值可以被随意修改的问题 4、解决不能被随意修改的问题,可以将类属性改成私有变量吗&…...
go语言基础之常量与itoa
视频学习地址:Go零基础入门_在线视频教程-CSDN程序员研修院 一. 常量 定义:常量是一个简单值的标识符,在程序运行时,不会被修改的量。注意:常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数…...
民宿酒店订房房态商城小程序的作用是什么
外出旅游出差,酒店民宿总是很好的选择,随着经济复苏,各地旅游及外出办公人次增多,酒店成绩随之增加,市场呈现多品牌酒店经营形式。 区别于以前,如今互联网深入各个行业,酒店经营也面临着困境。…...
acwing算法基础之数据结构--栈和队列
目录 1 知识点2 模板 1 知识点 栈:先进后出。先进的就是栈底,后进的就是栈顶。后进先出嘛,所以在栈顶弹出元素。 队列:先进先出。先进的就是队头,后进的就是队尾。先进先出嘛,所以在队头弹出元素。 单调…...
关于导出的Excel文件的本质
上篇文章中提到关于xlsx改造冻结窗格的代码,我是怎么知道要加pane的呢,加下来就把我的心路历程记录一下。 我改造之前也是没有头绪的,我网上查了很多,只告诉我如何使用,但源码里没有针对!freeze的处理,所以…...
Rust中FnOnce如何传递给一个约束Fn的回调
Rust中FnOnce如何传递给一个约束Fn的回调 下面的代码,set_cb(func);会报错,如何包装能够做到这样的效果: fn set_cb<F: Fn() static>(handler: F) {handler(); }fn main() {let join_handle std::thread::spawn(|| {});let func |…...
【JUC】线程通信与等待唤醒机制
文章目录 1. 线程通信2. Object类中的wait和notify方法实现等待和唤醒3. Condition接口中的await和signal方法实现等待和唤醒4. LockSupport实现等待和唤醒4.1 优点 1. 线程通信 多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相…...
C#面对对象(英雄联盟人物管理系统)
目录 英雄信息类 因为要在两个窗体里面调用字典,所以要写两个类来构建全局变量 添加功能 查询功能 英雄信息类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WindowsFormsApp…...
2023年中国分布式光纤传感产量、需求量及行业市场规模分析[图]
分布式光纤传感器中的光纤能够集传感、传输功能于一体,能够完成在整条光纤长度上环境参量的空间、时间多维连续测量,具有结构简单、易于布设、性价比高、易实现长距离等独特优点,常用的分布式光纤传感器有光时域反射仪、布里渊分析仪、喇曼反…...
B2R Raven: 2靶机渗透
B2R Raven: 2靶机渗透 视频参考:ajest :https://www.zhihu.com/zvideo/1547357583714775040?utm_id0 原文参考:ajest :https://zhuanlan.zhihu.com/p/270343652 文章目录 B2R Raven: 2靶机渗透1 启动靶机,查看后网卡…...
SpringBoot-黑马程序员-学习笔记(六)
目录 76.常用计量单位使用 77.bean属性校验 81.测试表现层 82.发送虚拟请求 94.springboot读写redis的客户端 100.ElasticSearch(简称ES) 一个分布式全文搜索引擎 76.常用计量单位使用 Data Component ConfigurationProperties(prefix "serve…...
unity2022版本 实现手机虚拟操作杆
简介 在许多移动游戏中,虚拟操纵杆是一个重要的用户界面元素,用于控制角色或物体的移动。本文将介绍如何在Unity中实现虚拟操纵杆,提供了一段用于移动控制的代码。我们将讨论不同类型的虚拟操纵杆,如固定和跟随,以及如…...
『GitHub Actions』部署静态博客指南
前言 之前博主是使用的 Jenkins 实现 vuepress 博客的自动部署与持续交付,但是因为现在迁移服务器到海外,并且服务器配置降低。现在经常出现服务器的 Jenkins 构建过程中 CPU 占用率过高,导致服务器卡死 然后我想的话既然只是部署静态博客&…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
