[视觉基础知识]: img to bev # include bev seg

参考:https://towardsdatascience.com/monocular-birds-eye-view-semantic-segmentation-for-autonomous-driving-ee2f771afb59
有源传感器(lidar or radar)得到的数据,天然就是一种bev表示(x-y平面);
如何利用环视图像可以得到bev?
2D图像本质上是3D空间在2D平面上的投影,如果反过来得到bev表示是一个 inherently ill-posed problem。

这其中会有一些先验,可以简单分为硬先验和软先验;
硬先验

  • 相机内参,外参

软先验

  • 道路的布局等
  • 在BEV下,汽车之间不存在重叠等

为了解决这个问题,传统上一个常见的做法是IPM(inverse perspective mapping,逆透视映射),但这个方法会依赖这些假设:1. 固定的相加外参;2. 地平面平坦假设。

但是当相机外参变化时,或者非平坦表面或崎岖不平的道路,该方法就逐渐失效了。

IPM也是一个研究方向,实际做IPM可以加一些直线约束。IPM变化的一个例子如下:
在这里插入图片描述
在这里插入图片描述
整个流程为:图像 → BEV平面投影 → 放大图像 → crop出感兴趣区域。

对于BEV Seg来说,难点有

  • IPM变化 # 内参,外参,

收集标注数据是一个很难的问题。

bev seg

参考:https://towardsdatascience.com/monocular-birds-eye-view-semantic-segmentation-for-autonomous-driving-ee2f771afb59

自动驾驶需要对周围环境进行感知,环境包含两种类型:

静态元素:road layout and lane structures,can be captured by an HD map containing lane level information.
map分为在线地图和离线地图。对于在线建图,有这些方法:SLAM,或者 这里提到的BEV Seg

动态元素:cars, pedestrians, and other types of road users。

Bev Seg相比SLAM,不依赖时序,对于ego car静止或者缓慢移动时,SLAM方法会失效,但是Bev Seg不会。

两种方法对比如下:
在这里插入图片描述

BEV semantic maps起作用的原因:预测或规划,不是很依赖于高度信息,通常是在top-down view (bev) 条件下做的。

因此,不依赖HD MAP,将Bev Seg地图和动态物体检测相结合,这些信息拿去做预测成了一种主流做法。

使用该做法的一些论文:Recent research exploring this strategy includes IntentNet (Uber ATG, 2018), ChauffeurNet (Waymo, 2019), Rules of the Road (Zoox, 2019), Lyft Prediction Dataset (Lyft, 2020), among many others.

感知输出表示,要用到下游的预测和规划上,需要将透视空间中的2D感知转换到3D或者BEV上,这通常需要借助radar或者lidar传感器。

使用BEV感知,有助于跨模态的感知。首先,BEV是可解释的(不怎么需要高度信息);其次,可以方便的扩展到其他新的模态,简化后融合的任务(如果我vision感知输出是bev的,那么很容易和lidar感知相融合);BEV这种感知结果,很容易的拿去被预测或规划消耗。
用lidar或radar做bev很简单,对于vision-based却很难,难点体现在以下两方面:

  • view transformation # 将多个视角的透视空间,转换到3D空间的bev表示。这种转换依赖硬先验:内外参;以及软先验,道路布局等;通常的做法是ipm,但是依赖参数固定+地平面假设。
  • data collection and annotation # 收集数据很难,一种做法是无人机跟随自车,然后去做标注;或者利用合成数据,或者是unpaired map data?

按照监督信号的类别,大致可分为两类

一、Simulation and Semantic Segmentatio
二、All you need is (multimodal) datasets

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

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

相关文章

想速成AD?凡亿教育正式上线《Altium Designer 24:150讲操作速成实战课程》

随着电子技术的不断发展,芯片生产工艺迭代更新,印制电路板(PCB)结构日益复杂,从最早的单片机到双面板,再到复杂的多层板结构,电路板上的布线密度越来越高。 同时,随着DSP、ARM、FPGA、DDR等高速逻辑元件的应用,PCB的信号完整性和抗干扰性能显得尤为重要,光靠EDA软件的自动布线…

LeetCode每日一题 翻转二叉树(二叉树)

题目描述 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root [2,1,3] 输出:[2,3,1]示…

Mistral AI vs. Meta:两大 Top 开源模型的对比

编者按: 随着大模型的不断升级和参数量的持续扩大,越来越多人开始重视大模型存在的硬件资源要求高、碳排放量较大等问题。如何在保持模型性能的同时,降低计算成本和资源消耗,成为了业界一个迫切需要解决的问题。 我们今天为大家带…

Servlet使用

文章目录 简介一、快速入门二、Servlet 执行流程三、Servlet 生命周期四、Servlet 方法介绍五、Servlet 体系结构六、Servlet urlPattern配置七、XML 配置方式编写 Servlet 简介 一、快速入门 <dependencies><dependency><groupId>javax.servlet</groupId…

个人网站制作 Part 9 添加发布、管理博客功能 | Web开发项目

文章目录 &#x1f469;‍&#x1f4bb; 基础Web开发练手项目系列&#xff1a;个人网站制作&#x1f680; 添加博客功能&#x1f528;使用Express和MongoDB&#x1f527;步骤 1: 创建博客模型&#x1f527;步骤 2: 创建博客路由 &#x1f528;使用前端框架&#x1f527;步骤 3:…

外包干了28天,技术退步明显......

说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入深圳某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&a…

Testng框架集成新业务

总体框架设计见我另一篇博客&#xff1a;httpclienttestng接口自动化整体框架设计 <block&#xff1a;表示测试用例块> block后面是 测试用例的名称 ||接口名,该接口名在URL.txt里维护接口 ||get\post&#xff1a;表示请求的方法 get_1\2\3\4&#xff1a;代表加密 get: …

【保姆级教程】如何拥有GPT?(Proton邮箱版)

OnlyFans 订阅教程移步&#xff1a;【保姆级】2024年最新Onlyfans订阅教程 Midjourney 订阅教程移步&#xff1a; 【一看就会】五分钟完成MidJourney订阅 GPT-4.0 升级教程移步&#xff1a;五分钟开通GPT4.0 如果你需要使用Wildcard开通GPT4、Midjourney或是Onlyfans的话&am…

排序算法之选择排序介绍

目录 算法简介 算法描述 代码实现 算法简介 选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理&#xff1a;首先在未排序序列中找到最小&#xff08;大&#xff09;元素&#xff0c;存放到排序序列的起始位置&#xff0c;然后&#xff0c;再从剩余未排序元素…

Altair HyperStudy 多学科设计研究软件,帮助设计师探索和优化产品的性能和鲁棒性

HyperStudy 是一款多学科设计研究软件&#xff0c;可帮助设计师探索和优化产品的性能和鲁棒性。 HyperStudy 通过结合新型数学方法、预测性建模和数据挖掘功能的自动化流程&#xff0c;可智能、高效地探索任何系统模型的设计空间。在考虑多物理场约束的同时&#xff0c;引导用…

业务服务:redisson

文章目录 前言一、配置1. 添加依赖2. 配置文件/类3. 注入redission3. 封装工具类 二、应用1. RedisUtils工具类的基本使用 三、队列1. 工具类2. 普通队列3. 有界队列&#xff08;限制数据量&#xff09;4. 延迟队列&#xff08;延迟获取数据&#xff09;5. 优先队列&#xff08…

使用分治法解决矩阵乘法的Strassen算法及C代码示例

使用分治法解决矩阵乘法的Strassen算法及C代码示例 一、背景与意义二、分治法与矩阵乘法二、Strassen算法的基本思想三、Strassen算法的具体步骤四、Strassen算法的C代码实现五、Strassen算法的时间复杂度分析六、Strassen算法的优缺点及改进七、结论 一、背景与意义 在计算机…

LoRa模块在紧急救援与灾害管理中的作用:连接生命线

在灾害发生时&#xff0c;迅速、精准的信息传递和协调是救援工作中至关重要的一环。LoRa&#xff08;低功耗广域网&#xff09;模块以其长距离通信、低功耗和强大的穿透能力&#xff0c;为紧急救援与灾害管理提供了一种卓越的解决方案&#xff0c;成为连接生命线的关键技术。 1…

多个线程交替打印ABC

多个线程交替打印ABC package 多个线程交替打印ABC;import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier;/*** Created with IntelliJ IDEA.** Author: AlenXu* Date: 2024/03/20/10:10* Description:*/ public class ThreadLoopP…

FPGA学习_Xilinx7系列FPGA基本结构

文章目录 前言一、7系列FPGA介绍1.1、芯片编号 二、基本组成单元2.1、可编程逻辑块CLB&#xff08;Configable Logic Block&#xff09;2.2、可编程输入输出单元&#xff08;IOB&#xff09;2.3、嵌入式块RAM&#xff08;Block RAM&#xff09;2.4、底层内嵌功能单元2.5、内嵌专…

罐头鱼AI视频混剪系统|视频矩阵运营获客

罐头鱼AI视频混剪系统 在当今数字化时代&#xff0c;视频内容已经成为吸引观众注意力的重要媒介之一。为了帮助用户更轻松地创建、编辑和发布视频内容&#xff0c;q1977470120罐头鱼AI推出了全新的视频混剪系统&#xff0c;让您的视频制作过程更加智能高效。让我们一起来看看罐…

网络工程师之路由交换技术篇

网络工程师之路由交换技术篇 路由交换之技术篇ARPICMPBPDUIPv6IP编址MAC其他技术点参考 以下均为个人笔记&#xff0c;摘录到csdn做备份 路由交换之技术篇 ARP Operation Code指定了ARP报文的类型&#xff0c; 包括ARP request 和ARP reply&#xff1b;取值为1或者2 &#x…

linux系统------------Mysql数据库

目录 一、数据库基本概念 1.1数据(Data) 1.2表 1.3数据库 1.4数据库管理系统(DBMS) 数据库管理系统DBMS原理 1.5数据库系统&#xff08;DBS) 二、数据库发展史 1、第一代数据库 2、第二代数据库 3、第三代数据库 三、关系型数据库 3.1关系型数据库应用 3.2主流的…

docker pull 镜像 报server misbehaving 异常信息

错误原因&#xff1a; DNS服务器配置问题。 解决方案&#xff1a; 修改DNS配置文件&#xff0c;增加nameserver如下 #打开配置文件并进行编辑 vi /etc/resolv.conf 添加如下nameserver配置&#xff1a; #resolv.conf增加nameserver nameserver 114.114.114.114

Flutter开发进阶之使用Socket实现主机服务(二)

Flutter开发进阶之使用Socket实现主机服务(二) Flutter开发进阶之使用Socket实现主机服务(一) 在完成局域网内设备定位后就可以进入微服务的实操了。 I、构建Socket连接池 一、定义Socket 使用socket_io_client socket_io_client: ^2.0.3+1导入头文件 import packag…