【LSS】Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D

本文主要是介绍【LSS】Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【LSS】Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D

1 摘要

现有的自动驾驶车辆的主要目标是从多个传感器抽取语义信息,并将这些语义信息融合成一个 BEV 坐标系下的特征图,然后进行运动规划。本文作者提出了一个方法,该方法将任意多的相机数据转化成BEV下的特征;lift:首先将 Image 信息映射到截头体中,splat:然后将多个截头体进行栅格化,训练结果表明,该模型不仅能够实现对图片信息很好的表达,还能实现对多个图片很好的融合在一个单一的表达,而且对标定误差具有鲁棒性,shoot:当将目标运动的轨迹映射到我们的 BEV 视角下,能够发现我们的模型推断的表示能够实现可解释的运动规划。
在这里插入图片描述

2 介绍

在自动驾驶中将多个传感器作为输入,每个传感器都有自己的坐标系,最终需要统一到自车坐标系下进行运动规划:
在这里插入图片描述
对于多个相机生成的 Images,可以通过单个 Image 进行检测,然后再进行转换和平移大自车坐标系下,实现多自车的全景检测,并且单个 Image 检测具有平移不变性,转置不变性,自车自车框架下的等距,这三个有价值的性质,但是需要对数据进行后处理实现,而且这种后处理是不能够通过数据驱动的方式实现的。
作者提出了“lift-splat”方法保证了上述的三个对称性有点,但是能够实现端到端训练的模型。“lift” 是通过生成一个截面体,实现将 Images 映射到 3D 空间上;“splat” 是将所有的截面体映射到同一个平面上,方便下游实现运动规划;“shooting” 是将预测轨迹映射到参照平面,可以得到可解释的运动规划。

3 Method

作者提出了在 BEV 视角下对多个 images 数据进行融合,并且保存了上述的三个有点。作者使用相机的内参矩阵和外参矩阵实现对参照坐标(x, y, z)到像素坐标(h, w, d)的映射。

3.1 Lift: Latent Depth Distribution

在这里插入图片描述

作者首根据 image 生成一个截面体,并将截面体在depth方向上离散化成 |D| 个点,在这里插入图片描述
对于每一个voxel(h, w)在 image 上都能找到与之对应的特征 c ( c 是已经提取过的上下文特征),由于每个voxel(h, w)都有 |D| 个点与之对应,因此生成一个 |D| - 1 维向量 α,用于表示同一个voxel (h, w)中位置 d 的特征向量:
在这里插入图片描述

3.2 Splat: Pillar Pooling

首先使用内参和外参将 “lift” 得到的 3D 点转化成 BEV平面,然后再利用 pointpilliar 将转化后的 points 利用 sum pooling 转化成bev 下的 featuremap ,实现对离散的矩阵使用离散卷积。
在这里插入图片描述

4 实施

4.2 棱台池化累积和技巧

该技巧是基于本文方法用图像产生的点云形状是固定的,因此每个点可以预先分配一个区间(即BEV网格)索引,用于指示其属于哪一个区间。按照索引排序后,按下列方法操作:
在这里插入图片描述
可以通过计算该算法的解析梯度,而非使用自动梯度计算以加快训练。该方法被称为“棱台池化”。

5 实验与结果

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

这篇关于【LSS】Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室

4-4.Andorid Camera 之简化编码模板(获取摄像头 ID、选择最优预览尺寸)

一、Camera 简化思路 在 Camera 的开发中,其实我们通常只关注打开相机、图像预览和关闭相机,其他的步骤我们不应该花费太多的精力 为此,应该提供一个工具类,它有处理相机的一些基本工具方法,包括获取摄像头 ID、选择最优预览尺寸以及打印相机参数信息 二、Camera 工具类 CameraIdResult.java public class CameraIdResult {

模具要不要建设3D打印中心

随着3D打印技术的日益成熟与广泛应用,模具企业迎来了自建3D打印中心的热潮。这一举措不仅为企业带来了前所未有的发展机遇,同时也伴随着一系列需要克服的挑战,如何看待企业引进增材制造,小编为您全面分析。 机遇篇: 加速产品创新:3D打印技术如同一把钥匙,为模具企业解锁了快速迭代产品设计的可能。企业能够迅速将创意转化为实体模型,缩短产品从设计到市场的周期,抢占市场先机。 强化定制化服务:面

WPF入门到跪下 第十三章 3D绘图 - 3D绘图基础

3D绘图基础 四大要点 WPF中的3D绘图涉及4个要点: 视口,用来驻留3D内容3D对象照亮部分或整个3D场景的光源摄像机,提供在3D场景中进行观察的视点 一、视口 要展示3D内容,首先需要一个容器来装载3D内容。在WPF中,这个容器就是Viewport3D(3D视口),它继承自FrameworkElement,因此可以像其他元素那样在XAML中使用。 Viewport3D与其他元素相

selenium的webdriver三种等待方式(显式等待WebDriverWait+implicitly_wait隐式等待+sleep强制等待)

隐式等待是等页面加载,不是等元素!!! 1、显式等待  一个显式等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码。显式等待是等元素加载!!! from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import

python画图|3D图基础教程

python画3D图和2D流程类似: 【a】定义一个自变量x; 【b】定义两个因变量y和z; 【c】直接输出plot(x,y,z) 今天就一起快乐学习一下画3D图的基础教程。 【1】官网教程 打开官网,可以迅速找到学习教程,参考下述链接: https://matplotlib.org/stable/plot_types/3D/plot3d_simple.html 然后我们解读一下示

docker images

docker 装好docker之后,先掌握一下docker启动与停止 docker启动关闭状态 systemctl 命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合。 查看 docker 的启动状态 systemctl status docker 关闭 docker systemctl stop docker 启动 docker syste

OGRE 3D----创建第一个OGRE 3D示例

目录 1. OGRE 3D概述 2. OGRE 3D vs VTK 3. 编译OGRE 3D 源码 4. 创建示例和配置其编译环境 5. 配置示例程序的执行环境 1. OGRE 3D概述 OGRE (Object-Oriented Graphics Rendering Engine) 是一个开源的、高级的 3D 图形渲染引擎,它提供了一个抽象层,使得开发者可以专注于创建内容和