借助SD地图的BEV静态感知

动机与出发点
纯视觉、视觉+Lidar的感知系统在复杂城市道路场景下并不能如预期那般表现稳定,其中遮挡就是一个巨大挑战。现在的BEV静态感知方案多采用多趟重建的方式获取,这就导致无论前方是否有车辆、建筑物、绿化带等,只要能投影到BEV空间的车道线都会参与到参数训练过程中,也就会导致模型输出结果对这些不置信区域也产生响应。自然可以通过给感知元素添加遮挡判别属性来帮助下游判别车道线的可信程度,这个方式要做好的话需要在感知环境中区分可行驶区域和非可行驶区域。还有一个方案是使用辅助信息,如SD地图,SD地图(standard definition map)是一种较为廉价和覆盖范围广的辅助信息,并且其也是相对置信的,则可以考虑将它与传感器感知算法结合,得到更加鲁棒的感知方案,因而这里对最近看到的几篇SD地图结合方案进行梳理。

对于SD地图如何在感知中使用,其实就是需要解决如下几个问题:

  • 1)SD地图的坐标系如何与ego坐标系对齐
  • 2)SD地图的信息如何编码并与传感器数据融合

1. PriorLane: A Prior Knowledge Enhanced Lane Detection Approach Based on Transformer
参考代码:PriorLane

这篇文章中将SD地图建模为二值图像,1代表可行驶区域,0代表不可行驶区域。SD地图通过文章提出的KEA模块实现与ego数据的对齐,再通过与传感器数据cat之后进行融合得到混合表达。
在这里插入图片描述
这篇文章fusion部分比较简单,就是cat之后使用多层网络融合。主要的工作是在前面的对齐部分,首先对场景构建二值图,也就是下面所示的一个大场景地图:
在这里插入图片描述
这里使用且分patch方式进行特征抽取,其实就是用一个kernel_size=stride_size的大卷积实现。核心在KEA模块的下面,使用一个对方向信息敏感的卷积处理地图数据,再通过一个定位网络输出地图需要的旋转角度和平移量,并完成网格采样以此实现特征对齐。

CULane测试集上的性能表现:
在这里插入图片描述

2. SMERF:Augmenting Lane Perception and Topology Understanding with Standard Definition Navigation Maps
SD地图数据来源:OpenStreetMap

这篇文章原本是挂了代码链接的但是失效了已经,本来NVIDIA的工作一般来讲都不给代码的,dddd。这个工作是在BEV空间去做SD地图和传感器数据的融合的。其大体流程如下图所示:
在这里插入图片描述

其主要的过程可以划分为如下两个步骤:

  • 1)抽取SD地图中的地面元素,包含线条位置和属性,对于线条数据会通过均匀采样的方式得到 N N N个数据点,若是经过sin-cos编码之后便是得到 N ⋅ d N\cdot d Nd维度的线条描述,而属性则会通过one-hot编码得到维度为 K K K的向量。则对于感知范围内的地面元素会得到 M ⋅ ( N ⋅ d + K ) M\cdot(N\cdot d+K) M(Nd+K)的编码数据,这些编码数据会经过几层transformer得到地图特征表达。
  • 2)对于地图数据与传感器数据对齐和融合部分则是放到后面,通过Map Cross-Attn实现与原本BEV特征的交互实现。

OpenLane-V2数据集下相对base带来的涨点比较:
在这里插入图片描述

3. MapEX:Mind the map! Accounting for existing map information when estimating online HDMaps from sensor data
这篇文章是在query的维度引入SD地图,SD地图中地面元素的抽取和表达与SMERF近似,都是将点和类别组合起来得到query,由于网络都是固定query的数量,对于数量不足的情况下会在query池子中(下图中的“Classic queries”)选择对应数量的query实现数量统一。而SD地图与传感器数据的对齐和融合都通过transformer来隐式解决了,文章的具体流程结构见下图所示:
在这里插入图片描述

这个工作是在nuscenes上做的,再去获取对应SD地图是比较难的,文中使用删除元素、元素添加漂移量、添加噪声等方式去模拟真实SD地图中可能存在情况,效果呢见下图:
在这里插入图片描述
但是真实的SD地图跟文中提到的数据增广结果是存在偏差的,因而这个从标注结果模拟SD地图的方案大家就看一乐就好了。

稍微可以借鉴的是在预测结果与GT的匹配过程的改进,按照之前DETR类算法的思路使用匈牙利匹配去做匹配,但是由于在GT上做了扰动这个先验,那么可以对于那些扰动不是很大的(文中取的阈值是1m)可以之间建立这个query与GT的对应关系,这样可以使得网路收敛速度加快。但是这个思路需要结合SD地图给到的信息来综合考虑收益性,否则就比较鸡肋了。

文章的方法与之前一些在线建图方案进行比较:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1688买家API接口跨境卖家需要的API接口

1688作为深耕产业带多年的数字供应链平台,近两年不仅在年轻消费群体中热度飙升,在跨境侧也有不俗表现。 11月19日,1688总裁余涌在1688跨境寻源通计划发布会上透露,1688平台拥有100万的源头厂商,每年服务6500万的B类买…

【JavaEE】多线程(3) -- 线程等待 wait 和 notify

目录 1. wait()⽅法 2. notify()⽅法 3. notifyAll()⽅法 4. wait 和 sleep 的对⽐(⾯试题) 由于线程之间是抢占式执⾏的, 因此线程之间执⾏的先后顺序难以预知. 但是实际开发中有时候我们希望合理的协调多个线程之间的执⾏先后顺序. 完成这个协调⼯…

树莓派4B机器狗的串口通信驱动库pyserial实践

pyserial是一个串口通信驱动库,常用的Windows、Linux、MacOS等都可以安装,这里我使用的是树莓派4B来测试,这块板子还是很强大的,我们可以通过pyserial这个库来操作基于这块板子上的机器狗之类的设备。 1、四足机器狗 本人的是四…

初识Java 18-6 泛型

目录 潜在类型机制 支持潜在类型机制的语言 Python的潜在类型机制 C的潜在类型机制 Java中的直接潜在类型机制 潜在类型机制的替代方案 反射 将方法应用于序列中的每个元素 Java 8的潜在类型机制(间接实现) 潜在类型机制的使用例(S…

条款2:不要滥用宏

文章目录 优先选择编译器而不是预编译器两种特殊情况使用宏替代函数调用总结 优先选择编译器而不是预编译器 假设我们预定义了一个宏#define ASPECT_RATIO 1.653,当我们的程序在这个地方出现错误的时候。可能会出现以下的问题: 符号名称ASPECT_RATIO可能…

MQTT客户端、代理(broker)和连接建立

在前篇文章(http://t.csdnimg.cn/IamPz)中,介绍了发布/订阅架构和MQTT如何据此交换信息,其中的关键概念是: 发布/订阅架构触耦了负责发布信息的客户端(发布者)和负责接收信息的客户端&#xff…

C语言-联合和枚举

------------------------------------ --------------- ------ 最慢的步伐不是跬步,而是徘徊; 最快的脚步不是冲刺,而是坚持。 今天来到我们的联合和枚举类型的讲解: 目录 联合体类型 联合体类型的声明 联合体类型的特点 …

Wireshark抓包分析RTMP协议时,出现Unknown问题

进行rtmp推流时,使用wireshark抓包,发现部分包显示Unknown 解决方法: 编辑 -> 首选项 -> Protocols -> RTMPT,这里Maximum packet size默认是32768 将该值调大,比如调成1048576,即可解决该问题。…

ChatGPT 的 18 种玩法,你还不会用吗?

你确定,你会使用 ChatGPT 了吗? 今天给大家整理了 18 种 ChatGPT 的用法,看看有哪些方法是你能得上的。 用之前我们可以打开R5Ai平台,可以免费使用目前所有的大模型 地址:R5Ai.com 语法更正 用途:文章…

改进LiteOS中物理内存分配算法(详细实验步骤+相关源码解读)

一、实验要求 优化TLSF算法,将Best-fit策略优化为Good-fit策略,进一步降低时间复杂度至O(1)。 优化思路: 1.初始化时预先为每个索引中的内存块挂上若干空闲块,在实际分配时避免分割(split)操作&#xff…

[原创]C++98升级到C++20的复习旅途-从汇编及逆向角度去分析“constexpr“关键字

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XXQQ: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi…

AtCoder Beginner Contest 331 题解 A-E

目录 A - TomorrowB - Buy One Carton of MilkC - Sum of Numbers Greater Than MeD - Tile PatternE - Set Meal A - Tomorrow 原题链接 题目描述 已知一年有M个月D天,求出第y年m月d天的后一天是哪一天。 思路:分类讨论 分别讨论m和d的是否是最后一个月…

基于SpringBoot的旅游信息网【源码好优多】

简介 旅游信息网是一款介绍旅游相关内容的网站,分为前台和后台部分,其中前台用户注册以后可以浏览景点、景点详情、预订景点、酒店、车票、保险、以及浏览旅游攻略、个人信息修改、在线留言等,管理员在后台对景点、攻略、订单信息、酒店信息、…

oj赛氪练习题

数组调整 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();int k scanner.nextInt();int[] arr new int[n];for (int i 0; i < n; i) {arr[i] scanner.nextIn…

java源码-类与对象

1、面向对象与面向过程 在了解类和对象之前我们先了解一下什么是面向过程和面向对象。 1&#xff09;面向过程编程&#xff1a; C语言就是面向过程编程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 2&#xff09;面向对…

Redis 发布订阅机制深入探索

Redis 的发布订阅&#xff08;pub/sub&#xff09;机制是一种消息传递模式&#xff0c;允许消息的发送者&#xff08;发布者&#xff09;和消息的接收者&#xff08;订阅者&#xff09;通过一个中介层&#xff08;频道&#xff09;进行通信&#xff0c;而无需彼此直接交互。以下…

半导体工艺发展概述

集成电路发展到今天&#xff0c;经历从1940年的PN结发现&#xff0c;到1950年BJT三极管发明&#xff0c;再到1963年CMOS电路发明。从单纯基于Si的半导体电路&#xff0c;再到GaAs, GaN&#xff0c;SiGe, InP等化合物半导体集成电路。不断的通过化学材料配比&#xff0c;基本单元…

TinyVue 组件库助力赛意信息获得工业软件种子奖

首先恭喜广州赛意信息科技股份有限公司荣获工业软件种子奖&#xff01;在本次大赛中&#xff0c;凭借“数据驱动智造&#xff0c;基于 iDME 的赛意新一代 SMOM 赋能电子行业制造运营管理解决方案”这一作品脱颖而出~ 大赛简介 10月30日至10月31日&#xff0c;由广东省工业和信…

圆通速递查询入口,以表格的形式导出单号的每一条物流信息

批量查询圆通速递单号的物流信息&#xff0c;以表格的形式导出单号的每一条物流信息。 所需工具&#xff1a; 一个【快递批量查询高手】软件 圆通速递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;并登录 步骤2&#xff1a;点击…

Hadoop——分布式计算MapReduce和资源调度Yarn

分布式计算 MapReduce YARN架构 YARN集群部署 一、Hadoop安装目录下/etc/hadoop修改mapred-env配置文件&#xff0c;mapred-site.xml文件 二、etc/hadoop文件内&#xff0c;修改yarn-env.sh&#xff0c;yarn-site.xml 三、将配置好的文件分发到其他服务节点 start-dfs.…