BEV 之 LSS概要

在这里插入图片描述

1、 Lift

显示估计图像下采样(16倍)后的特征点深度,将2D图像提升到3D空间,得到图像特征的视锥(点云)。

根据图像和深度均分得到3D视锥索引

下采样16倍,得到特征图大小为 H x W, 每个特征点深度D量化为41。那么得到特征视锥体为H x W x D, 每个特征视锥体对应图像空间(u, v, d)
源码中为(xs, ys, ds),即将图像和深度均分后得到。最后生成HxWxDx3的视锥体。经过内外参,每个(u, v, d)可转换到bev坐标系(x, y, z)。
在这里插入图片描述

2D图像卷积成3D 特征

1、backbone 提取图像特征;
2、一层卷积直接出D+C的维度,D属于深度分布,C是语义特征;
3、分离D维度,对D维深度做 softmax 归一化;
4、将D与C做外积,最终输出的是H×W×D×C;
5 、B×N张图像,对应的输出就是B×N×H×W×D×C

def get_depth_dist(self, x, eps=1e-20):return x.softmax(dim=1)def get_depth_feat(self, x):#主干网络提取特征x = self.get_eff_depth(x)# Depth#输出通道数为D+Cx = self.depthnet(x)#softmax编码,想理解为每个可选深度的权重depth = self.get_depth_dist(x[:, :self.D])#深度值*特征 =  2D特征转变为3D空间(俯视图)内的特征new_x = depth.unsqueeze(1) * x[:, self.D:(self.D + self.C)].unsqueeze(2)return depth, new_x

以上成为CamEncode()。

H×W×D×C 的特征刚好对应 HxWxDx3的视锥体索引。根据索引进行下一步的bev-pooling。

2、Splat

结合内外参,各相机的图像点云特征分配到bev网格,对同一个bev网格对应的多个图像点云特征进行sum-pooling,得到bev 特征图。

如何将H×W×D×C 的特征映射到BEV空间下,需要根据相机内外参将对应的图像空间位置(u,v, d)转换为bev空间位置(x, y, d)。这部分对应为GetGeometry()。

得到 H×W×D 的BEV空间位置索引后即可将 H×W×D 的图像特征映射到对应的BEV网格位置中。

如果有B X N 张图像输入(Batchsize x N 个视角)那么对应BxNxHxWxD 个特征点。这个数据量很庞大,将会是计算瓶颈。

由于图像空间映射到BEV很多点是无效的,直接从H×W×D一一映射将会产生大量无效计算。

1、特征reshape 成 M x C 维度, M = BxNxHxWxD
2、根据内外参,生成BxNxHxWxD个视锥点云BEV空间体素坐标,对每个体素进行位置编码,然后对位置进行argsort(位置排序,输出编码),这样投影到相同bev体素的位置编码相邻。通过位置编码找到图像特征。

由于N张图像均投影到同一个BEV网格下,经过投影,N 维度去除。
最后得到 B×C×Z×X×Y 的BEV特征。Z 量化为1,相当BEV下拍扁。后面就是在BEV 特征空间下的操作。

3、Shoot

在BEV 特征图上进行结果预测,参考centerPoint 等。

不足之处

1、依赖 depth 的显示估计。通过反向传播优化depth 网络效果较差,可以预训练depth 权重进行优化。
2、外积操作过于耗时。特别是精密预测,HxWxD 很大,不利于轻量化部署。

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

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

相关文章

机器视觉理论入门

文章目录 前言一、马尔视觉理论二、图形与图像三、图像基础名词总结 前言 Marr的视觉计算理论立足于计算机科学,系统地概括了心理物理学、神经生理学、临床神经病理学等方面已取得的所有重要成果,是迄今为止最为系统的视觉理论。Marr 的视觉计算理论虽然…

LiteOS GPIO操作

在源码工程中&#xff0c; 华为海思在hi_io.h头文件里已定义好表示每个IO口的宏定义&#xff0c;如&#xff1a; typedef enum {HI_IO_NAME_GPIO_0, /**< GPIO0 */HI_IO_NAME_GPIO_1, /**< GPIO1 */HI_IO_NAME_GPIO_2, /**< GPIO2 */... } 并且在此头文…

【论文速读】《面向深度学习的联合消息传递与自编码器》

这篇文章来自华为的渥太华无线先进系统能力中心和无线技术实验室&#xff0c;作者中有大名鼎鼎的童文。 一、自编码架构的全局收发机面临的主要问题 文章对我比较有启发的地方&#xff0c;是提到自编码架构的全局收发机面临的主要问题&#xff1a; 问题一&#xff1a;基于随…

洛杉矶裸机云大宽带服务器的特性和优势

洛杉矶裸机云大宽带服务器是结合了物理服务器性能和云服务灵活性的高性能计算服务&#xff0c;为用户提供高效、安全的计算和存储能力。在了解如何使用洛杉矶裸机云大宽带服务器之前&#xff0c;需要了解其基本特性和优势。以下是对洛杉矶裸机云大宽带服务器的具体分析&#xf…

使用lv虚拟卷扩展磁盘

使用centos演示。 首先创建centos虚拟机。链接&#xff1a;VMWARE安装Centos8,并且使用ssh连接虚拟机-CSDN博客 1. 增加磁盘。 选中要扩容的虚拟机&#xff0c;右键选择设置&#xff0c;然后点击磁盘&#xff0c;选择添加。 这里选择NVM的磁盘。选择这种磁盘是为了保持与之前…

有Daemon字眼的守护线程,和没有的差异是什么?怎么创建有daemon字眼的线程?

在编程中&#xff0c;尤其是在Java等支持多线程的编程语言中&#xff0c;守护线程&#xff08;Daemon Thread&#xff09;与普通线程&#xff08;Non-Daemon Thread&#xff09;之间存在一些关键差异。这些差异主要体现在它们对程序终止行为的影响上。 主要差异 程序终止行为…

SpringBoot新手快速入门系列教程:前述

我自己是一个SpringBoot新手&#xff0c;花了一天时间学了SpringBoot。大家不要惊讶&#xff0c;前提是我自己已经有了10几年的编程经验精通多门语言&#xff0c;并且在人间最强兵器Chat某T的AI助手帮助下&#xff0c;才能创造一天快速学会一个框架的神话。 当然中间遇到了很多…

笔试算法刷题

猿辅导2021校园招聘笔试&#xff08;算法一&#xff09; 牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推&#xff0c;求职就业一站解决_牛客网 (nowcoder.com) 第一眼看到这个题想到的是蓝桥杯飞机降落&#xff0c;贪心题。但是这样算的是最大不相交区间数量&#xff0…

Test-Time Adaptation via Conjugate Pseudo-labels--论文笔记

论文笔记 资料 1.代码地址 https://github.com/locuslab/tta_conjugate 2.论文地址 https://arxiv.org/abs/2207.09640 3.数据集地址 论文摘要的翻译 测试时间适应(TTA)指的是使神经网络适应分布变化&#xff0c;在测试时间仅访问来自新领域的未标记测试样本。以前的TT…

致远漏洞(登陆绕过+任意文件上传)

漏洞复现 1.获得cookie POST /seeyon/thirdpartyController.do HTTP/1.1 Host: 192.168.1.9 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 Accept: text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8 Accept-Langua…

大数据面试题之ElasticSearch(1)

目录 ElasticSearch介绍 ElasticSearch架构 ElasticSearch深度分页 ElasticSearch调优手段有哪些 ElasticSearch脑裂了怎么办 ElasticSearch的倒排索引 ElasticSearch如何实现master选举 ElasticSearch的搜索过程说下 ElasticSearch如何在并发情况下保证读写一 Elast…

uni-app三部曲之一: Pinia使用

1.引言 最近在学习移动端的开发&#xff0c;使用uni-app前端应用框架&#xff0c;通过学习B站的视频以及找了一个开发模板&#xff0c;终于是有了一些心得体会。 B站视频1&#xff1a;Day1-01-uni-app小兔鲜儿导学视频_哔哩哔哩_bilibili B站视频2&#xff1a;01-课程和uni的…

简述设计模式-策略模式

概述 在策略模式中一个类的行为或者算法可以在运行时更改&#xff0c;这种类型的设计模式属于行为型模式。 在策略模式中定义了一系列的算法和策略&#xff0c;并将每个算法封装在独立的类中&#xff0c;使得他们能够互相替换&#xff0c;通过使用策略模式可以在运行时选择不…

java 实现Comparable接口和实现Comparator接口排序的区别

Comparable接口 作用&#xff1a; Comparable接口是在类的内部实现的&#xff0c;用于指定类的默认比较规则。当一个类实现了Comparable接口时&#xff0c;它必须实现compareTo方法&#xff0c;该方法用于定义对象之间的自然顺序。 实现方式&#xff1a; 实现Comparable接口的…

洛谷P10716【MX-X1-T4】「KDOI-05」简单的字符串问题(扩展kmp+set+二分+扫描线树状数组)

题目 思路来源 小羊肖恩 题解 羊神这个做法tql&#xff0c;当时只是机械地写&#xff0c;过了之后再想想&#xff0c;才觉得确实是nb 先扩展kmp&#xff08;Z函数&#xff09;预处理出来数组&#xff0c;记z[i]为i往后可以和前缀匹配的最大长度 对于每个询问(p,cnt)&#x…

隧道转发:保护你的数据传输安全

你曾经是否担心过你的数据安全&#xff1f;现代网络威胁不断增加&#xff0c;保护数据传输的安全性变得愈发重要。今天为大家介绍一种强大的网络传输技术——隧道转发&#xff08;Tunneling&#xff09;。这项技术不仅能有效保障数据安全&#xff0c;还能保护用户隐私&#xff…

centOS79中安装nginx12.15

##red## &#x1f534; 大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff0c;雄雄的小课堂。 前言 装了这么多&#xff0c;发现Nginx是最简单的&#xff0c;一次性就搞定了。下面我们来看看如何安装 安装Nginx 安装gcc-c编译器 分开运行&#xff1a; yum…

anaconda安装pytorch

&#x1f4da;博客主页&#xff1a;knighthood2001 ✨公众号&#xff1a;认知up吧 &#xff08;目前正在带领大家一起提升认知&#xff0c;感兴趣可以来围观一下&#xff09; &#x1f383;知识星球&#xff1a;【认知up吧|成长|副业】介绍 ❤️如遇文章付费&#xff0c;可先看…

python爬虫入门(三)之HTML网页结构

一、什么是HTML 1、网页的三大技术要素&#xff1a; HTML定义网页的结构和信息&#xff08;骨架血肉&#xff09;CSS定义网页的样式&#xff08;衣服&#xff09;JavaScript定义用户和网页的交互逻辑&#xff08;动作&#xff09; 2、一个最简单的HTML&#xff1a;用<>…

Qt开发 | qss介绍及控件应用 | qss加载方式 | 控件提升 | 鼠标位置与控件位置 | 搜索编辑框 | tab在左文本水平的tabWidget

文章目录 一、qss简介与应用二、QLineEdit qss介绍与使用三、QPushButton qss1.常用qss1.1 基本样式表1.2 背景图片1.3 图片在左文字在右 2.点击按钮弹出菜单以及右侧箭头样式设置3.鼠标悬浮按钮弹出对话框 四、QCheckBox qss妙用&#xff1a;实时打开关闭状态按钮五、QComboBo…