BEV感知实时构建路口拓扑 觉非科技基于MapTR的优化与实践
近期,觉非科技通过在车端与路端的大规模数据积累,基于MapTR(Map TRansformer)方法提出了创新与优化:①对车道信息的表达方式进行优化,并简化了模型结构;②在MapTR的基础上加入了地图先验信息,有效提升模型输出地图元素的准确度与召回率;③加入车道中心线以及道路拓扑等要素的建模,系统化提升单车实时建图效率,易于自动驾驶规控使用。
2022年,华中科技大学Vision Lab与地平线合作,共同提出了矢量高精地图在线实时构建方法MapTR。其对地图要素进行结构化建模,将地图元素表征为一组等效排列的点集,消除表示上的歧义性,降低模型的学习难度。同时,采用分层查询向量来编码地图结构化信息,可对点信息和实例级信息进行灵活编码。
实验表明,MapTR在nuScenes数据集上取得了较好的建图质量和实时运行速度,且在多样而复杂的驾驶场景中也能保持稳定的建图性能。MapTR展现了在线建图方案的潜力和前景,具有很高的应用价值。
觉非科技的优化方向:更适合自动驾驶下游任务使用
实时建图能力是实现自动驾驶实时环境感知的前提。目前,地图矢量化方法已成为实时建图的热点方向,其使用有序点集来表征各个地图元素,直接回归出每个地图元素的点集,实现了更准确的结果和更快的运行速度。
然而,在实际应用中,此类方法也出现了亟待提升之处。例如,检测多道路信息时,模型结构冗余,导致计算效率下降;对于遮挡与远处目标,无法提取有效特征。同时,该方法不能直接输出车道级的拓扑结构,导致下游规控模块难以使用。
针对以上问题,觉非科技通过大量的车端与路端数据积累,对MapTR方法进行实用性优化,通过这些优化更准确的捕捉地图细节和结构,从建图层面进一步丰富了地图要素的输出,使其更适合自动驾驶各种下游任务使用。
觉非科技实时感知矢量地图能力展示
视频:觉非科技实时感知矢量地图能力展示
觉非科技的实践
1.更完善的车道属性表达方式
在MapTR的基础上,觉非科技增加了车道中心线的表达与输出,这样的方式可以更加清晰的反映出车道的连接关系。与此同时,觉非还增加了车道方向学习的能力,通过车道中心线的方向信息与对向车道的方向加以区分。不仅如此,模型还可以回归车道宽度信息以及车道边界线属性信息,这样的表达方式更加符合下游规控模块的真实需求,极大提升了自车对于地图理解的性能。
2.加入地图先验信息
通过大量的路测数据积累,觉非科技在MapTR中增加了地图先验信息,特别是在“路口”或存在遮挡关系的场景下,该方法可以更加稳定的输出拓扑连接关系,极大提升了准确度和召回率,进而提高自车在经过复杂路口等场景时的安全性。
3.对于道路拓扑表达形式的优化
MapTR检测的车道对象通常会被拓扑分歧点打断,觉非科技的方案可以把被分歧点打断的车道重新挂接,无需后续手动处理车道挂接。这样的方式虽然会导致检出车道的部分重复,但可以使每个车道更加独立,车道形状更加连续与平滑,特别是在车道分叉频繁的场景下,可以为模型提供更明确的监督信号,提升整体模型在实际场景中使用的稳定性。
目前,觉非科技正在将基于MapTR的多重改进加入到多任务联合训练中,结合对障碍物3D检测、道路分割等能力,持续迭代感知大模型,赋予车辆在陌生场景下更好的自动驾驶能力。觉非科技希望通过这样的方式能够为实时建图的进一步创新提供基础,最终提升自动驾驶技术向更加安全可靠的方向发展。
论文原文链接:https://arxiv.org/abs/2208.14437
代码链接:https://github.com/hustvl/MapTR
相关文章:
BEV感知实时构建路口拓扑 觉非科技基于MapTR的优化与实践
近期,觉非科技通过在车端与路端的大规模数据积累,基于MapTR(Map TRansformer)方法提出了创新与优化:①对车道信息的表达方式进行优化,并简化了模型结构;②在MapTR的基础上加入了地图先验信息&am…...
如何在TikTok“点火”?用时下最流行的工具解码赚钱
抖音电商飞速发展到今天,训练出一帮极具紧张感、高效性,和“数据特征”凸显的电商从业者。 注意,这里的"数据特征"不单单是数据分析、数据导向那么简单,而是被竟对、平台、市场的现实教育出来的“数据工具意识”。 “…...
set NOCOUNT on
SET NOCOUNT ON 是一条 SQL 语句,用于禁止在执行查询时返回受影响的行数消息。通常,当执行 INSERT、UPDATE、DELETE 等操作时,数据库会返回一个消息,表示受影响的行数。但在某些情况下,你可能希望禁用这些消息…...
垃圾回收机制
什么是内存泄漏? 内存泄漏是指程序中已经不再使用的内存却没有被正确释放或回收的情况。在编程中,当对象或数据不再被程序使用,但其所占用的内存空间没有被垃圾回收机制回收,就会导致内存泄漏。 内存泄漏可能会导致程序的内存消…...
Golang 程序性能优化利器 PGO 详解(一):简单介绍及使用
在软件开发过程中,性能优化是不可或缺的一部分。无论是在Web服务、数据处理系统还是实时通信中,良好的性能都是至关重要的。Golang 从1.20版版本开始引入的 Profile Guided Optimization(PGO)机制能够帮助更好地优化 Go 程序的性能…...
redis key操作的相关命令
目录 1、del key 2、dump key 3、exists key 4、expire key seconds 5、expireat key timestamp 6、pexpire key milliseconds 7、pexpireat key milliseconds-timestamp 8、keys pattern 9、move key db …...
WebRTC | 网络传输协议RTP与RTCP
目录 一、UDP与TCP 1. TCP 2. UDP 二、RTP 1. RTP协议头 (1)V(Version)字段 (2)P(Padding)字段 (3)X(eXtension)字段 &#x…...
160. 相交链表
题目描述 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交**:** 题目数据 保证 整个链式结构中不存在环。 注意,函…...
【MFC】12.双缓冲序列化机制-笔记
双缓冲 双缓冲在之前写字符雨的时候,已经简单介绍过,今天我们来写一个简单的程序来体会双缓冲机制 我们实现一个在屏幕上画直线的功能: 在类中添加变量,保存起点坐标和终点坐标: //定义一个容器,保存每…...
Linux 终端会话中,启动任务并放到后台运行
一、需求 linux要执行一个脚本,耗时很长,想要脚本在后台运行,用户注销或终端软件关闭时也可以继续运行。 二、实现 1、nohup命令 脚本在后台运行 nohup 是在 Linux 和类 Unix 系统中使用的一个命令,用于在后台运行程序&#x…...
软考笔记——10.项目管理
进度管理 进度管理就是采用科学的方法,确定进度目标,编制进度计划和资源供应计划,进行进度控制,在与质量、成本目标协调的基础上,实现工期目标。 具体来说,包括以下过程: (1) 活动定义&#…...
算法与数据结构(二十四)最优子结构原理和 dp 数组遍历方向
注:此文只在个人总结 labuladong 动态规划框架,仅限于学习交流,版权归原作者所有; 本文是两年前发的 动态规划答疑篇open in new window 的修订版,根据我的不断学习总结以及读者的评论反馈,我给扩展了更多…...
Java Vue Uniapp MES生产执行管理系统
本MES系统是一款B/S结构、通用的生产执行管理系统,功能强大! 系统基于多年离散智造行业的业务经验组建,主要目的是为国内离散制造业的中小企业提供一个专业化、通用性、低成本的MES系统解决方案。 联系作者获取...
深入探究Socks5代理与IP代理在网络安全与爬虫中的应用
1. Socks5代理:打开网络隧道的多功能工具 Socks5代理是一种流行的代理协议,它在传输层为数据包提供了隧道。相较于之前的版本,Socks5不仅支持TCP连接,还可以处理UDP流量,使其在需要实时数据传输的应用中表现出色。在网…...
Vue使用jspdf和html2canvas组件库结合导出PDF文件
效果图: 1、安装依赖: npm install html2canvas --save npm install jspdf --save 或 yarn add html2canvas --save yarn add jspdf --save 2、封装全局调用方法:this.$exportPDF(#id,文件名) 新建js文件:/utils/html2Pdf.js&am…...
7. 实现 API 自动生成
目录 1. pom.xml中引用依赖 2. 引入相关的依赖 3. 编写配置类 4. application.yml 中添加配置 5. API 常用注解 6. 访问 API 列表 7. API 导入 Postman 使用 Springfox Swagger生成 API,并导入 Postman,完成API单元测试。 Swagger 简介:Swag…...
使用Druid解析SQL,获取SQL中所有使用的表
一、sqlParse组成 Druid SQL Parser分三个模块: - Parser - AST - Visitor 1.1 Parser parser是将输入文本转换为ast(抽象语法树),parser有包括两个部分,Parser和Lexer,其中Lexer实现词法分析&#x…...
公司内部测试团队可以替代专业的软件检测机构吗,性能测试怎么收费?
第三方软件测试 尽管软件测试是伴随着软件开发的发展而产生的,但是在信息技术日新月异的今天,软件测试逐渐走出开发附庸的定位。 一方面,很多大型企业都在内部设置了专门的测试团队以承接软件系统的测试工作,为产品质量把关。另…...
Three.js之相机、渲染器、光源、动画、性能监测
参考资料 第一个3D案例—透视投影相机第一个3D案例—渲染器…Canvas画布布局和全屏 知识点 透视投影相机PerspectiveCameraWebGL渲染器WebGLRenderer辅助观察坐标系AxesHelper漫反射网格材质MeshLambertMaterial点光源PointLight点光源辅助观察PointLightHelper环境光Ambien…...
Seaborn图表使用指南!
目录 介绍线图散点图直方图概率密度函数 (PDF)箱线图小提琴剧情配对图热图关节图地毯图 一、介绍 数据科学已成为一个突出的领域,近年来呈爆炸性增长。对精通从数据中获取见解并应用这些见解来解决现实世界问题的数据科学家的需求从未增加。…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
