fast_bev 学习笔记

目录

  • 一. 简述
  • 二. 输入输出
  • 三. github资源
  • 四. 复现推理过程
    • 4.1 cuda tensorrt 版
  • 训练
  • 修改图像数

一. 简述

原文:Fast-BEV: A Fast and Strong Bird’s-Eye View Perception Baseline
FAST BEV是一种高性能、快速推理和部署友好的解决方案,专为自动驾驶车载芯片设计。该框架主要包括以下五个部分:

Fast-Ray变换:这是一种轻量级的、部署友好的视图变换,它将多视图2D图像特征沿着相机射线的体素投影到3D,从而快速获得BEV(鸟瞰图)表示。相较于传统方法,这种变换方式显著提升了推理速度,使得多尺度投影操作变得更为高效和实用。
多尺度图像编码器:利用多尺度信息来获取更好的性能。通过多尺度投影操作,编码器能够充分利用不同尺度的图像特征,从而增强BEV感知的准确性和鲁棒性。
高效BEV编码器:专为加速车载推理而设计。通过使用少量的原始残差网络作为基本BEV编码器,该部分能够在保证性能的同时,进一步降低计算复杂度和推理时间。
数据增强:针对图像和BEV空间的强大数据增强策略,以避免过度拟合。通过引入各种数据变换和增强技术,可以提高模型的泛化能力,使其在面对不同场景和复杂环境时仍能保持良好的性能。
时间融合:利用时间信息的多帧特征融合机制。通过融合多帧图像的特征信息,该部分能够捕捉动态场景中物体的运动轨迹和状态变化,从而进一步提升BEV感知的准确性和实时性。
FAST BEV的优势在于其能够在保证高性能的同时,实现快速推理和方便部署。这使得它成为自动驾驶车载芯片上一种理想的解决方案。此外,相较于传统方法,FAST BEV无需使用昂贵的视图变换器或深度表示,从而降低了硬件成本和维护难度。

综上所述,FAST BEV通过优化视图变换、编码器设计、数据增强和时间融合等方面,实现了高性能、快速推理和部署友好的自动驾驶解决方案。随着自动驾驶技术的不断发展,FAST BEV有望在未来发挥更大的作用。

二. 输入输出

FAST BEV的输入主要是多相机RGB图像,
输出则是预测的3D边界框(包括速度)和地图分割结果。

通过一系列的处理步骤,如Fast-Ray变换、多尺度图像编码、高效BEV编码等,对输入的RGB图像进行特征提取、视图变换和编码,最终输出3D边界框和地图分割结果。

三. github资源

源码: https://github.com/Sense-GVT/Fast-BEV
使用CUDA和TensorRT进行Fast-BEV推理: https://github.com/Mandylove1993/CUDA-FastBEV
https://github.com/linClubs/FastBEV-ROS-TensorRT

Fast-BEV代码复现实践: https://blog.csdn.net/h904798869/article/details/130317240
Fast Bev在ubuntu上的复现过程以及error汇总: https://blog.csdn.net/qq_42704750/article/details/130280567
复现教程1 : https://zhuanlan.zhihu.com/p/631504194

四. 复现推理过程

4.1 cuda tensorrt 版

参考链接:https://github.com/Mandylove1993/CUDA-FastBEV

提供了PTQ和QAT的int8量化代码,
PTQ (Post-Training Quantization)是在模型训练完成后进行的量化,通过分析训练好的模型的权重和激活的分布来确定量化参数(如缩放因子和零点偏移)。
QAT(Quantization Aware Training)通过在训练过程中模拟量化操作来优化模型的权重,以减少量化带来的精度损失。
int8量化代码: 将模型的权重从浮点数转换为int8。在推理过程中,将模型的激活从浮点数转换为int8。在计算层输出时,将int8值转换回浮点数以便进行后续计算。

问题1:
安装mmcv mmdet mmdet3d 参考:https://blog.csdn.net/h904798869/article/details/130317240版本如下:
在这里插入图片描述

问题2:
安装spconv:

pip install torch==1.10.0+cu113 torchvision==0.11.0+cu113 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.htmlgit clone https://github.com/traveller59/spconv.git 
cd spconv
git checkout v1.2.1
git submodule update --init --recursive 
python setup.py bdist_wheelcd ./dist
pip install spconv-.....python 
import spconv

问题:https://blog.51cto.com/u_15906550/5921374

训练

https://blog.csdn.net/yunqiushuiman/article/details/136537614
https://zhuanlan.zhihu.com/p/627783225

修改图像数

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

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

相关文章

插入排序解读

在众多的排序算法中,插入排序以其直观易懂和在某些特定场景下的高效性而备受青睐。今天,我们就来深入探索一下插入排序的原理、实现方式以及它的优缺点。 一、算法原理 插入排序相当于打牌中抓牌插入的方式。插入排序的工作方式是通过构建有序序列&…

功能测试_验证qq账号的合法性

案例:验证qq账号的合法性(要求:6-10位的自然数) 使用等价类设计用例案例: 步骤: 1:明确需求:qq账号的合法性 2:划分等价类:有效等价类、有效取值、无效等价类、无效取值 3&…

三、SpringBoot3 整合 SpringMVC

本章概要 实现过程web 相关配置静态资源处理自定义拦截器(SpringMVC 配置) 3.1 实现过程 创建程序引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www…

双目运算符和单目运算符的重载

目录 题目 源码 结果示例 题目 建立一个矩阵类&#xff0c;可以完成指定的操作或运算。 说明&#xff1a; 矩阵为2行3列&#xff0c;基类型为整型&#xff1b;操作或运算&#xff1a;初始化&#xff08;>>&#xff09;、输出&#xff08;<<&#xff09;、赋值…

SpringBoot学习笔记(一)

SpringBootSpringBoot学习笔记&#xff08;一&#xff09; 1.SpringBoot配置2.yml3.SpringBoot配置&#xff08;1&#xff09;Value注解获取配置参数&#xff08;2&#xff09;Environment获取配置参数&#xff08;3&#xff09;ConfigurationProperties方式&#xff08;4&…

使用 Meltano 将数据从 Snowflake 导入到 Elasticsearch:开发者之旅

作者&#xff1a;来自 Elastic Dmitrii Burlutskii 在 Elastic 的搜索团队中&#xff0c;我们一直在探索不同的 ETL 工具以及如何利用它们将数据传输到 Elasticsearch&#xff0c;并在传输的数据上实现 AI 助力搜索。今天&#xff0c;我想与大家分享我们与 Meltano 生态系统以及…

WPF Pack

在WPF中&#xff0c;Pack URI&#xff08;Uniform Resource Identifier&#xff09;是一种特殊格式的统一资源标识符&#xff0c;用于定位和访问应用程序内部或外部的各种资源&#xff0c;如XAML文件、图像、样式、字体等。这种机制允许开发者以标准化、平台无关的方式引用和打…

【Leetcode】【2024048】1544. Make The String Great

做不受欢迎人士的时间比较久&#xff0c;看到有私信下意识以为要挨骂&#xff0c;乐 BGM&#xff1a;思念一个荒废的名字&#xff08;陈楚生《瘾》&#xff09; Descripition Given a string s of lower and upper case English letters. A good string is a string which d…

【Unity优化】模型

初始模型影响性能点 1.最小化面数&#xff0c;不需要微三角形面&#xff08;一个三角面包含个位数像素&#xff09;&#xff0c;三角面尽量分布均匀 2.合理的拓扑结构与平滑组&#xff0c;尽可能是闭包 3.尽量少的材质个数 4.尽可能少的蒙皮网格 5.尽可能少的骨骼数量 6.FK与I…

【每日算法】理论:AIGC算法相关 刷题:力扣哈希表回顾

上期文章 【每日算法】理论&#xff1a; 扩散模型深度学习基础 刷题&#xff1a;力扣哈希表回顾 文章目录 上期文章一、上期问题二、本期问题1、Classifier-free Guidance和Classifier Guidance2、VAE为什么会导致图像变模糊3、SD&#xff0c;Dall-E2两者的异同4、NMS非极大值…

【汇编】_Visual Studio2019写32位汇编

目录 第一步&#xff1a;创建新项目 1. 空项目—下一步 2. 选择位置—填写项目名—创建 第二步&#xff1a;项目生成依赖项 1. 右击项目名—生成依赖项—生成自定义 2. 选中masm—确定 第三步&#xff1a;创建源文件 1. 源文件—添加—新建项 2. 选择C文件—创建新文件…

链表实现学生管理系统

这次我们运用链表的基础知识&#xff0c;增删改查&#xff0c;实现对学生系统进行管理&#xff0c;采用的多文件编程模式&#xff0c;接下来介绍一下什么叫做多文件编程。 程序一般分三类文件&#xff1a; 头文件( .h )。放置各种声明&#xff0c;用于被文件包含。&#xff0…

Android Studio中查看和修改project的编译jdk版本

android studio中查看和修改project的编译jdk版本操作如下&#xff1a; File->settings->Build,Execution,deployment->Build Tools->Gradles 进入Gradles页面可以查看并修改project的编译jdk版本&#xff0c;如图所示

安卓远离手机app

软件介绍 远离手机是专门为防止年轻人上瘾而打造的生活管理类的软件,适度用手机&#xff0c;保护眼睛&#xff0c;节约时间。 下载 安卓远离手机app

设计模式之解释器模式讲解

概念&#xff1a;是一种按照规定语法对表达式进行解析的方案。给定一门语言&#xff0c;定义它的文法的一种表示&#xff0c;并定义一个解释器&#xff0c;该解释器使用该表示来解释语言中的句子。 抽象表达式&#xff1a;定义表达式需要实现的操作。终结符表达式&#xff1a;实…

Python学习从0到1 day21 第二阶段 面向对象 ④ 类型注解

仗剑红尘已是癫&#xff0c;有酒平步上青天 —— 24.4.7 一、变量的类型注解 学习目标 1.理解为什么使用类型注解 2.掌握变量的类型注解语法 为什么使用类型注解 tip&#xff1a;CTRLP&#xff0c;可以提示函数中传入的参数 当我们需要使用pycharm的自动补全功能&#xff0c;又…

java 创建线程的方式

在 Java 中&#xff0c;创建线程有以下几种方式&#xff1a; 继承 Thread 类&#xff1a;创建一个类并继承 Thread 类&#xff0c;重写 run() 方法来定义线程执行的任务。 public class MyThread extends Thread {Overridepublic void run() {System.out.println("Threa…

Google视觉机器人超级汇总:从RT、RT-2到AutoRT/SARA-RT/RT-Trajectory、RT-H

前言 随着对视觉语言机器人研究的深入&#xff0c;发现Google的工作很值得深挖&#xff0c;比如RT-2 ​想到很多工作都是站在Google的肩上做产品和应用&#xff0c;​Google真是科技进步的核心推动力&#xff0c;做了大量大模型的基础设施&#xff0c;服(推荐重点关注下Googl…

Excel 多选实现

代码 Private Sub Worksheet_Change(ByVal Target As Range) Dim rngDV As Range Dim oldVal As String Dim newVal As String If Target.Count > 1 Then GoTo exitHandlerOn Error Resume Next Set rngDV Cells.SpecialCells(xlCellTypeAllValidation) On Error GoTo exi…

Cherno CPP学习笔记-01-背景知识

0、工具网站收集 C语言版本特性 https://en.cppreference.com https://www.cplusplus.com https://www.tutorialspoint.com/cplusplus https://www.learncpp.com https://github.com/fffaraz/awesomecpp https://stackoverflow.com 网页CPP编译器 [C] gcc 12.1.0 - Wa…