视觉BEV语义分割模型 Simple-BEV: What Really Matters for Multi-Sensor BEV Perception?

news2024/9/21 20:33:08

A Simple Baseline for BEV Perception Without LiDAR

本文介绍一篇简单的BEV语义分割模型,这篇文章出彩的是消融实验部分,分析了哪些因素对BEV语义分割影响比较大,此外还分析了如何更好使用Radar数据提高感知性能。

项目链接为:https://simple-bev.github.io/


文章目录

      • 1. Simple-BEV Model
      • 2. Experiments
        • 2.1 Unified study of performance factors
        • 2.2 Multi-modality fusion analysis

1. Simple-BEV Model

整个模型架构如下图所示(在作者上传到Arxiv v1版论文中提供了下图),传感器包含多个摄像头和毫米波雷达。

  • 首先使用Resnet-101网络提取每个图像特征,然后定义3D空间 ( 100 m , 100 m , 10 m ) (100m,100m,10m) 100m100m10m,将每个子网格投影到特征图上,双线性采样特征,得到3D特征网格,大小为 ( 200 , 200 , 8 ) (200,200,8) (200,200,8)
  • 然后将毫米波雷达点云转换成图像,毫米波图像特征维度为15维;
  • 毫米波图像特征与3D特征网格相结合,压缩成BEV特征图,再使用Resnet-18网络处理BEV特征图,最后是不同的任务头;

在这里插入图片描述


2. Experiments

2.1 Unified study of performance factors

首先比较了将图像特征投影到BEV上的不同方法的性能。从下表可以看到双线性采样是优于基于深度splatting的方法,本文方法仅落后于多尺度可变形的注意力方法。在BEV语义分割中,双线性采样就可以很轻松得到较好的结果,可以不需要进行深度估计。

在这里插入图片描述
下图是深度估计和双线性采样在不同距离上的IOU比较,可以看到在近距离上深度估计效果更好,远距离上双线性采样效果更好,对于图像来说,要估计远距离的深度往往是很有挑战性的。

在这里插入图片描述

下面测量模型的性能如何随输入分辨率而变化,使用相同的分辨率进行训练和测试。使用低于448×800的分辨率会大大降低性能。论文的最佳结果是49.3,输入分辨率为672×1200。然而,该分辨率相比448x800的分辨率要慢得多(133 ms vs 83 ms),并且需要将近两倍的训练时间,针对nuscenes数据集来说,可以考虑448x800的输入分辨率。

在这里插入图片描述

下图讨论了批量大小对模型性能的影响:批量大小的增加会提高模型性能。将批量大小从2增加到40模型性能可以提高近14个点。大多数以前的工作使用的批量大小小于16,许多现有方法可能会从简单的重新训练中再受益(仅改变批量大小)。

在这里插入图片描述
下面是不同主干网对性能的影响,可以看到网络越深,性能越高,但这些主干网也对输入分辨率有着特定要求,即上面提高的448x800。
在这里插入图片描述
下面是对数据增强方法的比较。

  • 训练模型时,随机地将每个相机的图像大小调整到目标分辨率的[0.8,1.2]以内,并将其放置在中心的随机偏移处。表III(a)显示,能提高1.6个点。
  • 当随机选择相机作为“参考”相机时,即选择不同相机作为3D网格的参考系可以提高0.6个点。随机选择参考相机有助于减少BEV模块中的过拟合,定性地观察到,如果没有这种增强,分割的车辆在某些位置的某些方向上会有轻微偏差;但是随机选择相机,这种偏差消失了。
  • 之前的研究报告称,在每个训练样本中随机丢弃6个可用摄像头中的1个摄像头会带来好处。如表III(c)所示,发现相反的情况:使用所有相机表现更好。这可能是因为参考相机随机化提供了足够的正则化。

在这里插入图片描述


2.2 Multi-modality fusion analysis

下表比较了多模态融合的性能,在本文融合Radar之后模型性能提高了8个点左右,仅落后Camera+LiDAR性能5个点。

在这里插入图片描述
下表是不同毫米波雷达参数设置对多模态模型性能的影响。

  • 访问与每个雷达点相关的元数据,这包括速度等信息,有助于区分移动对象和背景,反之将降低0.7点。
  • 将所有雷达返回作为输入,通过禁用nuScenes内置的异常值过滤策略实现。过滤策略试图丢弃异常点(由多径干扰和其他问题产生),但也可能丢弃一些真实的返回。使用过滤数据而不是原始数据会导致性能下降2点。
  • 将雷达的多次扫描聚合作为输入能提高2.6个点。

在这里插入图片描述

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

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

相关文章

fastjson 反序列化RCE,远程命令执行漏洞CVE、CNVD(2022年12月最新)

1、前言 Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,也可以将 JSON 字符串转换为 Java 对象。Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。 2、漏洞原理 漏洞利用fastjson autotype在处理json对…

GCD和LCM算法

目录 一 整除 定义 性质 二 GCD 1)定义 2)性质 3)GCD编程 ①暴力法 ②欧几里得算法 ③更相减损术 ④Stein算法 三 LCM ①暴力法 ②最大公约数法 四 裴蜀定理 例题:裴蜀定理 五 算法实践 [蓝桥杯 2019 省 B] 等差…

【AIOT】语音学习

声音以波的形式传播,即声波(Sound Wave)。当我们以波的视角来理解声音时,却又大繁若简起来:仅凭频率(Frequency)、幅度(Magnitude)、相位(Phase)便…

19 CPP拷贝构造函数

函数以值的方式返回对象时&#xff0c;可能会调用拷贝构造函数&#xff08;VS会调用&#xff0c;Linux不会&#xff0c;g编译器做了优化&#xff09; 代码说明 #include <iostream>using namespace std;//函数以值的方式返回对象时&#xff0c;可能会调用拷贝构造函数&a…

C++对C的语法增强

1、语法检查增强 声明int a; 定义int a 10; c语言的弱语法类型 2、严格的类型转换 枚举类型不能赋值整形 3、struct类型加强 c中定义结构体变量需要加上struct关键字&#xff0c;c不需要 c中结构体只能定义成员变量&#xff0c;不能定义函数。c可以定义成员函数 4、bool类…

聊聊优惠卷秒杀的下单功能

前言 案例来自黑马程序员视频&#xff1a;https://www.bilibili.com/video/BV1cr4y1671t/?spm_id_from333.999.0.0 案例分析 下单时需要判断两点&#xff1a; 秒杀是否开始或者结束&#xff0c;如果尚未开始或者已经结束则无法下单&#xff1b;库存是否充足&#xff0c;不足…

【图像隐写】DWT+SVD数字水印【含GUI Matlab源码 606期】

⛄一、DWTSVD数字水印简介 理论知识参考文献&#xff1a;基于DWT和SVD的彩色图像数字水印算法研究 一种基于DWT-SVD的图像数字水印算法\ ⛄二、部分源代码 function varargout main(varargin) % MAIN M-file for main.fig % MAIN, by itself, creates a new MAIN or raises…

想要提升英语阅读能力的小伙伴,走过路过,千万不要错过!

一、英语四六级阅读提升网站&#xff1a; 据统计&#xff1a;四六级阅读题目的来源主要来自纽约时报、经济学人、大西洋月刊、时代、新闻周刊、卫报等报刊&#xff0c;其分布比重如下图&#xff1a; 原文链接&#xff1a;英语四六级阅读外刊来源&#xff0c;知道事半功倍&#…

IIC信号为什么要加上拉电阻

IIC是一个两线串行通信总线&#xff0c;包含一个SCL信号和SDA信号&#xff0c;SCL是时钟信号&#xff0c;从主设备发出&#xff0c;SDA是数据信号&#xff0c;是一个双向的&#xff0c;设备发送数据和接收数据都是通过SDA信号。 在设计IIC信号电路的时候我们会在SCL和SDA上加一…

计算机毕业设计springboot+vue基本微信小程序的外卖点餐平台

项目介绍 餐饮行业是一个传统的行业。根据当前发展现状,网络信息时代的全面普及,餐饮行业也在发生着变化,单就点餐这一方面,利用手机点单正在逐步进入人们的生活。传统的点餐方式,不仅会耗费大量的人力、时间,有时候还会出错。小程序系统伴随智能手机为我们提供了新的方向。手机…

基于vue2整合tinymce富文本编辑器

文章目录1.导入依赖2.全部代码3.实际效果1.导入依赖 npm install tinymce -Snpm install tinymce/tinymce-vue -S2.全部代码 <template><editor:key"tinymceFlag"ref"editor"v-model"content":init"tinymceInit"></e…

国内使用ChatGPT的方式汇总

最近ChatGPT大火呀&#xff0c;小伙伴们是不是在网上看到各种和ChatGPT有趣聊天的截图&#xff0c;奈何自己实力不够&#xff0c;被网络拒之门外&#xff0c;只能眼馋别人的东西。看别人玩&#xff0c;肯定不如自己玩一把舒服的啊。今天小卷就给大家汇总了国内能使用ChatGPT的方…

【C/C++ 数据结构】-就这一篇博客让你玩爆二叉树的各种遍历问题!!!

作者&#xff1a;学Java的冬瓜 冬瓜的主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【C/C 数据结构与算法】 分享&#xff1a;被苦难淬炼过的人&#xff0c;内心真诚。——都靓评宋濂 主要内容&#xff1a;二叉树的递归前序遍历、中序遍历、后序遍历、层序遍历。…

你还会想起这道题吗(another version)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 众所周知&#xff0c;原神是由米哈游自主研发的一款全新开放世界冒险游戏。游戏发生在一个被称作「提瓦特」的幻想世界&#xff0c;在这里&#xff0c;被神选中的人将被授予「神之眼…

“价格+产品+服务”:京东手机开启“复合竞赛”

市场唯一不变的就是变化&#xff0c;那些最终生存下来的企业往往是最能适应变化的。 11月份&#xff0c;京东再次强调“低价”策略的重要性&#xff0c;背后无疑是其对消费环境变化做出的及时反应。“消费者对价格更为敏感&#xff0c;对高性价比商品的需求依旧是主流”&#…

YOLO-V5 算法和代码解析系列 —— 学习路线规划综述

目录标题为什么学习 YOLO-V5 &#xff1f;博客文章列表面向对象开源项目学习方法预备知识项目目录结构为什么学习 YOLO-V5 &#xff1f; 算法性能&#xff1a;与YOLO系列&#xff08;V1&#xff0c;V2&#xff0c;V3&#xff0c;V4&#xff09;相比&#xff0c;YOLO-V5效果最好…

【花雕动手做】有趣好玩的音乐可视化系列项目(33)---核酸托盘灯

偶然心血来潮&#xff0c;想要做一个音乐可视化的系列专题。这个专题的难度有点高&#xff0c;涉及面也比较广泛&#xff0c;相关的FFT和FHT等算法也相当复杂&#xff0c;不过还是打算从最简单的开始&#xff0c;实际动手做做试验&#xff0c;耐心尝试一下各种方案&#xff0c;…

RosonQt140——Qt Charts模块介绍和Qt绘制图表

Qt图表概述 Qt Charts能够创建时尚、互动、以数据为中心的用户界面。Qt Charts使用图形视图框架&#xff0c;便于集成。图表组件可以作为QWidget或QGraphicsWidget对象或QML类型使用。 QChart类管理不同类型的系列和其他图表相关对象的图形表示&#xff0c;如图例和坐标轴。QC…

33-Vue之ECharts高级-设置主题

ECharts高级-设置主题前言内置主题自定义主题前言 本篇来学习下ECharts中如何设置图表主题 内置主题 ECharts 中默认内置了两套主题: light dark var chart echarts.init(dom, light) var chart echarts.init(dom, dark)<!DOCTYPE html> <html lang"en&quo…

前缀树介绍,定义,图文详解分析——Java/Kotlin双版本代码

前缀树 前缀树&#xff0c;又称作字典树&#xff0c;用一个树状的数据结构储存字典中的所有单词。 列&#xff0c;一个包含can、cat、come、do、i、in、inn的前缀树如下图所示&#xff1a; 前缀树是一个多叉树&#xff0c;一个节点可能存在多个节点。除根节点外&#xff0c;每…