bev 之 fastBEV

在这里插入图片描述
前面我们提到bev 之 LSS, 知道视觉的BEV方案的主要痛点在于:
1、depth 的预测
2、图像特征到BEV特征之间的视图变换消耗大量计算

LSS 为什么需要D维深度

占据大量消耗的原因是LSS 对每个图像特征点引入深度D,即假设每个像素上存在可能的D维深度。也就是假设不同像素深度上对应的图像特征不同。

能不能去除深度特征

从M2BEV中,假设图像到BEV视图的转换过程沿相机光线的深度均匀分布,也就是说不同深度对应的图像特征是相同的。基于这个理论,就可以将深度D去掉。
在这里插入图片描述
LSS 基于像素深度上的特征均匀分布, 这比LSS 看起来非常暴力,去掉深度维度确实可以大幅度提高速度。

分析原因:Lss想做的是对于射线空间中无占据的区域希望其特征为0,只保留有物体的语义特征的精准预测,这就依赖深度预测。而fastbev 则假设射线经过的空间均有可能存在语义特征,且相同。然后用3d neck进一步融合粗采样的bev特征。所以对图像上的同一个物体,映射到BEV上后其特征也能像带有深度预测一样聚集一块,只是会有部分局部特征会分散到bev空间其他位置,这部分分散的特征在BEV空间是冗余的,但是不影响聚集特征的预测。所以3d neck本身是不可或缺的,否则精度将明显掉点。

LSS 中的BEV Pooling

LSS 去除了深度Depth,为了加速2D图像特征到3D BEV空间特征,不像LSS , 先构建N个图像的映射视锥 N x H x W x D,再对特征进行索引投影映射。LSS直接将不同视角的N个图像的直接投影到BEV空间

原始是在BEV空间独立产生N份特征,再pooling成一份。但是图像重叠区域部分占的比例极低,所以fastBEV 干脆在BEV空间只产生一份特征,对重叠区域只保留任意一份(这会失去重叠的融合特征,但是实验验证精度损失极小)

推理查表进行特征映射

构建BEV体素空间到图像空间的映射关系
构建好查找表后,我们只需要对最终要产生的voxel按索引查找一遍其对应采样的2d特征按需索取填充即可,这样避免了大量冗余计算。

总结:

fast BEV 相对 LSS 做了以下加速:
1、去除 depth 估计,也就去除了D维的计算量,节省存储和计算。
2、直接从BEV 特征空间通过映射表获取图像特征,且对重叠区域只保留一个特征,加快视场空间转换。

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

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

相关文章

ubuntu18虚拟机克隆后不能上网和磁盘损坏问题

小学期直接给学弟学妹们自己配好的克隆的虚拟机,结果出现了这两种问题,参考了网上好多资料,太多了忘了存了,花了好久的时间才解决,这里记录一下。 磁盘损坏问题: 网络无法连同问题,ip addr发现…

特征融合篇 | YOLOv10改进之在Neck网络中添加加权双向特征金字塔BiFPN

前言:Hello大家好,我是小哥谈。在计算机视觉任务中,特征金字塔网络(FPN)是一种常用的方法,它通过构建不同尺度的特征图来捕获不同尺度的目标。然而,传统的FPN存在一些缺点,如特征融合…

解锁Postman的API参数化:动态请求的秘诀

🔑 解锁Postman的API参数化:动态请求的秘诀 在API测试的世界里,参数化是构建灵活、可重用请求的关键。Postman作为API开发和测试的领军工具,提供了强大的参数化功能,允许用户创建动态、个性化的API请求。本文将深入探…

计算机网络--tcpdump和iptable设置、内核参数优化策略

tcpdump工具 tcpdump命令: 选项字段: 过滤表达式: 实用命令: TCP三次握手抓包命令: #客户端执行tcpdump 抓取数据包 tcpdump -i etho tcp and host 192.168.12.36 and port 80 -W timeout.pcapnetstat命令 netst…

7.10飞书一面面经

问题描述 Redis为什么快? 这个问题我遇到过,但是没有好好总结,导致答得很乱。 答:Redis基于内存操作: 传统的磁盘文件操作相比减少了IO,提高了操作的速度。 Redis高效的数据结构:Redis专门设计…

java算法day11

二叉树的递归遍历二叉树的非递归遍历写法层序遍历 递归怎么写? 按照三要素可以保证写出正确的递归算法: 1.确定递归函数的参数和返回值: 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且…

第二证券:销量暴跌95%,这一巨头市值蒸发超3000亿元!

在多重要素刺激下,PCB工作站上风口。 波音销量堕入停滞 6月仅售出3架客机 据央视财经,在一系列丑闻的影响下,波音公司本年出售遭到明显冲击。当地时间9日,波音发布的数据闪现,在以前一个月,该公司仅卖出…

关于Java面向对象的一些问题(2024.7.10)

package question20240710;public class Question {/*1. 什么叫做多态,条件是什么?2. 使用多态特性,带来了什么样的好处?3. 使用多态特性,注意什么样的弊端?4. 关于多态的弊端我们如何解决?5. 在…

excel有条件提取单元格特定文本(筛选纯文字的单元格或含有数字的单元格、单元格提取不同的文本长度)

实际工作背景 需要对导出的银行流水中的数十个村以及对应的村小组进行分组统计,但是初始的表格中村和小组是混在一起的,如下图所示: 目的:将大树村和大树村小组名称分别筛选出来 1.观察发现,大树村小组的单元格第4…

代码随想录算法训练营第四十九天| 647. 回文子串、 516.最长回文子序列

647. 回文子串 题目链接:647. 回文子串 文档讲解:代码随想录 状态:不会 思路: dp[i][j] 表示字符串 s 从索引 i 到索引 j 这一段子串是否为回文子串。 当s[i]与s[j]不相等,那没啥好说的了,dp[i][j]一定是fa…

构建与操作共享栈

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝既然选择了远方,当不负青春,砥砺前行! 共享栈是一种优化的栈实现方式,它允许两个或多个栈共享同一段连续的内存空间…

Tkinter 部件使用教程

tkinter学习教程 C语言中文网Tkinter教程 菜鸟编程-Python GUI编程(Tkinter) tkinter基本组件 messagebox 【tkinter标准对话框】messagebox:信息传递,消息对话框! bind bind事件信息 listbox Tkinter 组件详解之Listbox radiobutton Tkinter…

数据结构——Trie

题目: 维护一个字符串集合,支持两种操作: I x 向集合中插入一个字符串 x𝑥;Q x 询问一个字符串在集合中出现了多少次。 共有 N𝑁 个操作,所有输入的字符串总长度不超过 10^5,字符串仅…

【分布式系统】Ceph对象存储系统之RGW接口

目录 一.对象存储概述 二.创建RGW接口 1.在管理节点创建一个 RGW 守护进程 2.创建成功后默认情况下会自动创建一系列用于 RGW 的存储池 3.默认情况下 RGW 监听 7480 号端口 4.开启 httphttps ,更改监听端口 5.在 rgw 节点上查看端口 6.在客户端访问验证 7.…

Mybatis study

一、Mybatis Plus mybatis-plus指定实体类字段不查询 加标签 TableField(exist false) Spring Data Jpa学习 干我们这行,啥时候懈怠,就意味着长进的停止,长进的停止就意味着被淘汰,只能往前冲,直到凤凰涅槃的一天&am…

【onnx】onnxruntime-gpu无法使用问题

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 onnxruntime-gpu无法使用 1. 正文 CUDA版本:12.1 nvcc -VCUDNN的版本 cat /usr/include/cudnn_version.h |grep CUDNN_MAJOR -A 2说明: 可…

C#中的Dictionary

Dictionary<TKey, TValue> 是一个泛型集合&#xff0c;它存储键值对&#xff08;key-value pairs&#xff09;&#xff0c;其中每个键&#xff08;key&#xff09;都是唯一的。这个集合类提供了快速的数据插入和检索功能&#xff0c;因为它是基于哈希表实现的。 注意 ke…

拉曼操作维护使用手册(中英文对照)

1 INTRODUCTION 介绍 This document contains information needed to install and operate the Laser Gas Analyzer (LGA). The information contained herein is believed to be accurate and reliable, however, inaccuracies and omissions of pertinent information are po…

Vue 3 组件通信全解:从基础到高级技巧

引言 Vue 3 引入了 Composition API&#xff0c;这为组件通信带来了新的灵活性和强大的功能。 组件通信基础 组件的定义和作用 在前端开发中&#xff0c;组件可以被看作是构建用户界面的独立单元。它封装了特定的功能和样式&#xff0c;可以被重复使用&#xff0c;并且可以…

【数据结构——链表的深度探索】从实现到应用,保姆级攻略

【数据结构——链表深度探索】从实现到应用&#xff0c;保姆级攻略 &#x1f341;1. 链表的介绍&#x1f341;2. 链表的实现&#x1f341;2.1 单向链表&#x1f341;2.1.1 size()&#x1f341;2.1.2 display()&#x1f341;2.1.3 contains(int key)&#x1f341;2.1.4 addFirst…