有图和无图自动驾驶的历史渊源与未来

点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达

「3D视觉从入门到精通」知识星球(点开有惊喜) !星球内新增20多门3D视觉系统课程、入门环境配置教程、多场顶会直播、顶会论文最新解读、3D视觉算法源码、求职招聘等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入

作者:Haosen

编辑:智猩猩PhyAI

地址:

https://zhuanlan.zhihu.com/p/1988812422035809725

经授权发布,如需转载请联系原作者

还记得2021年疫情期间,我和室友当时第一次看到特斯拉的FSD Beta方案时,第一时间就断定:这才是未来!当时我还在忙NIO 2.0平台Falcon激光雷达交付;室友还没去英伟达,忙着交付沃尔沃泊车系统的开发;特斯拉FSD Beta也还没有推广,只是内部测试。但大胆的方案和我们俩当时掌握的知识储备完全不同。而这一切都要从自动驾驶这20年的发展历史说起。

自动驾驶的20年 (2005-2025)

2004年,美国军方受伊拉克和阿富汗战争的影响,提出了无人驾驶车辆DARPA挑战赛项目,向社会公开招标,奖金为100万美金。那一年,参赛者众多,但是全军覆没。

2005年,有一辆车赢了:斯坦福大学的Stanley。该车装配了5个SICK单线激光雷达,5个雷达角度不同,形成了最早的5线扫描式激光雷达:

斯坦福大学2005年获胜车辆Stanley

2004年和2005年都参赛的有一个人叫David Hall,他看到这个趋势之后,2006年开始研制新的3D激光雷达,这就是后来的Velodyne。2007年,卡耐基梅隆大学使用该激光雷达并取得了冠军:

2007卡耐基梅隆大学获胜车辆,车顶的大花盆就是Velodyne的旋转式激光雷达

之后2009年,谷歌成立了Google X无人车项目,对无人驾驶方向开始做持续投入。谷歌对无人驾驶做出了一些列的深入研究。由于谷歌有谷歌地图和谷歌街景,谷歌无人驾驶技术非常大的程度上使用了已有的技术框架。其将整个行动区域建图,然后利用SLAM的方法对车辆进行定位和控制:

2015年Google 无人车项目TED演讲内容

然后就是无人驾驶沉寂的6年。但这六年里科技圈有别的更重要的事情:2010年的iPhone 4,以及崭新的移动互联网浪潮正在全面冲刷了全世界。但谁也没想到,这个看似和无人驾驶毫无相关的浪潮正在积蓄力量,从另一个维度反过头来再次引爆了无人驾驶。而这个纽带就是移动互联网的新秀:Uber。

Uber无人驾驶方案

2015年,Uber一夜之间挖光了卡耐基梅隆的所有自动驾驶人才,忙碌了很多年的Google才受到启发:原来无人驾驶技术的商业化方案在这里。Uber从自身的营收结构分析,如果能够实现无人驾驶的出租车,那么运营效率和成本控制将立刻上升几个数量级。Google在2016年也立刻将自动驾驶业务独立了出去,成立了Waymo。

2015-2018年期间,自动驾驶真正的第一波浪潮汹涌而来,代表的公司有Waymo,Uber,百度。当时所有的自动驾驶方案都是从Waymo这里分支出来。如果自动驾驶技术像Git一样有分支的概念的话,我们可以以Waymo作为这条线的主干。

与此同时,特斯拉基于乘用车对于车辆运动控制和乘用车的理解,开始对自动驾驶从头自研。首先是2017年停止了和Mobileye的合作,在Autopilot2.0上重写了自己的逻辑,其次引入硅谷2012-2017最新的神经网络思想开始对算法重构,从此开创了另一条崭新的自动驾驶路线。这条路线后来继续发展,形成了2020年的FSD雏形,也就是现在我们熟知的“无图自动驾驶”。

特斯拉FSD的计算中间态

谷歌无人驾驶路线从谷歌地图团队中成长出来,所以拥有充分的定位资源和数据。


特斯拉驾驶团队从CV和机器学习团队中成长出来,在缺乏地图的条件下,引入了类人的操作,将机器拟人化,学习人类在陌生环境中做出的反应。且特斯拉是OEM,整车设备制造商,要承担法律责任和地区服务,本质上和苹果一样是制造业,对供应链、毛利率、现金流有强需求,所以其能用的资源一直受限,但恰恰是受限的资源才会让研发从另一个角度来思考问题:

1. 谷歌地图API调用资源很昂贵,我们怎么减少调用

2. 整车上网带宽有限,我们怎么减少数据带宽

3. 整车成本敏感,怎么减少传感器,怎么节省计算单元的成本

4. 特斯拉车辆会销售到任何一个地区,技术上怎么做到自适应

5. 售出产品后如何迭代产品以满足以后的售后需求

可以说,特斯拉自动驾驶技术的成功是商业化成功的典型案例,“经营”本身对于任何一家公司来说才是商业本质,如何选择合适的技术路线以实现创始人的愿景在特斯拉技术发展的过程中表现得淋漓尽致。

特点

Waymo

Tesla

诞生初衷

自动驾驶出租车

辅助驾驶用户体验

地图资源

谷歌地图数据源

谷歌地图API

控制约束

限定地区测试运行

开放道路

以上三个因素导致技术架构发生分歧

机器人SLAM为主的控制算法

开放空间中自适应匹配算法

成本因素

谷歌硬件产品力较低,对运营成本敏感度低且控制力差

制造业强相关,对毛利率和现金流敏感

上面表格是我对于两家技术分歧原因的总结,不同的产品定位和企业基因导致了完全不同的技术选择。Waymo沿用了是机器人学科一贯熟悉的SLAM技术,SLAM的全称是实时建图与定位,需要实现构建一个表征空间特征的地图,然后用当前观测到的环境信息和先前的地图做匹配,计算出当前的位置,然后进行运动规划。

机器人在实时创建的地图中机动

那么FSD出现后的这种新颖的方式出现后,人们为了区别这种新的方法和以Waymo为代表的旧的方法,简称以SLAM高精地图的方法为“有图自动驾驶”,称FSD的自动驾驶方法为“无图自动驾驶”。

2020年,当我们第一次看到这种技术概念的时候,大家都是很兴奋的。因为传统的SLAM方法在使用过程中非常蹩脚,其原因有以下几个:

1. 存储的地图细节过多。以视觉里程计或激光雷达点云阵列为例,其存储的特征大部分并没有价值,地图数据量太大且需要不停调用。

2. 当环境发生变化的时候,即地图本身发生变化的时候,大型地图应该怎么修复。

3. 对于环境中的移动物体是否真的需要区分,比如有辆车一直停在一个地方,它算是地图本身吗?如何分割感知和规划的边界。

当时我们虽然在制造和销售激光雷达,但是我们对于自动驾驶客户以SLAM方式使用我们的激光雷达也同样困惑。早期旋转式360°激光雷达可以很方便的做SLAM因为这种360°的数据本身就是“雷达”,但当“前向激光雷达”诞生后(比如我们2017年设计的Falcon型激光雷达,以及Luminar和Innoviz当时推出的面向乘用车的激光雷达),这种高密度点云的激光雷达已经不再适用于传统的SLAM方案,而更像图像的处理方式。在那个时间节点之后,激光雷达最重要的作用是提供深度信息供感知和决策系统做出判断,而不是把点云做成地图去实时匹配。如果按照SLAM这个方式使用激光雷达,不知自动驾驶要何年何月了。我当时和硅谷的很多自动驾驶公司交流的时候,都会问对方,你们对特斯拉的无图方案怎么看,得到的回答都是不在意或者diss一下,我当时还挺惊讶的。

传统的以Velodyne为代表的360°旋转式激光雷达的点云结果(更接近所谓的“雷达”)

图达通图像级激光雷达Falcon的输出结果(更像是“图像”)

说到这里,大家可能会有一个误会:无图就是不需要地图吗?不是的,特斯拉的驾驶方案同样需要使用地图,但是不是传统意义的高精地图。

地图是空间知识的提炼,是一种高度有效的信息抽象。可以想象一下你自己开车的时候,如果没有地图就只能通过道路标的物进行定位了。但如果汽车屏幕上开导航,还是会让你驾驶的更安全更放心。SLAM技术的需求端是没有错的,人们需要地图,人们需要实时构建地图,问题的核心是这个地图长什么样。

在这个点上,特斯拉通过不断的创新给出了我们一个很好的回答:

特斯拉自研的语义级拓扑地图

上图是网友当时在FSD还没有特别成熟的时候破解了特斯拉的后台,从开发视角观测的FSD内部的技术过程。

FSD首先构建了一个街道、路口、自由空间等元素组成的网络拓扑地图,每一个元素和接下来的节点相连组成网络。车辆根据自己的定位结果适配到该网络中,然后通过决策机制判断下一步向哪个节点跳跃。

这时候车辆仍有定位和建图的过程,但是已经和之前的高精地图的SLAM定位方式完全不同:定位分成了全局定位和局部定位两个部分。全局定位根据之前说的网络拓扑地图快速输出,这个和目前的车道级导航几乎一致;局部定位则利用全局定位的精简信息和实时感知的环境信息迅速组件一个200m左右的动态地图。在这个局部的动态地图中车辆根据快变化的环境信息,迅速感知,迅速决策。

其实SLAM技术在2020年前后的时候也已经有了这种萌芽,那就是“词袋模型”。通过将局部原始数据进行抽象、精简,从而减少匹配的计算量。

除此之外,包括目前最流行的序列型神经网络结构中出现的Encoder-Decoder设计也是包含了这种理念,从而促进了如Transformer,Diffusion等模型的快速发展。

那么今年国内大家比较流行的所谓VLA等,也是将编码合入了网络,从而在系统的可观测性上进行了大幅改良。

这里我想说一下,encoder和语言编码还不完全等同,有些网络encoder是学习出来的,而将自然语言作为text encoder是设计出来的。我个人的判断是,自然语言作为编码是一个正确的方向,因为语言本质上就是人类对于信息的提炼和精简,这样的神经网络本身就在人类意识和逻辑的基础之上对接,具有人类可以理解的可观测性。

扩散模型(来源:https://lilianweng.github.io/posts/2021-07-11-diffusion-models/ )

讲到这里,应该算是说清楚了无图和有图的关系。那么什么是未来呢?聪明如你肯定也根据第一张图片看了出来。这两种方案并不对立,各自都有自己的合理性,只是说在什么层面上去做地图和定位的问题。谷歌当然迅速意识到无图的价值,那么在最新的waymo上已经引入了这种新的思路和设计。同时FSD也进一步完善了地图的设计,构建了一副信息更丰富的地图。

在新型高清前向阵激光雷达加持的中国智能汽车上,一支强大的东方神秘分支正在茁壮成长。

本文仅做学术分享,如有侵权,请联系删文。

3D视觉方向论文辅导来啦!可辅导SCI期刊、CCF会议、本硕博毕设、核心期刊等

3D视觉硬件

3D视觉学习圈子

「3D视觉从入门到精通」知识星球(点开有惊喜)!星球内新增20多门3D视觉系统课程、入门环境配置教程、多场顶会直播、顶会论文最新解读、3D视觉算法源码、求职招聘等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入

3D视觉全栈学习课程:www.3dcver.com

3D视觉交流群成立啦

添加微信:cv3d001,备注:姓名+方向+单位,邀请入群

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

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

相关文章

新手必看:Keil找不到头文件的根源分析

Keil 找不到头文件?别慌,这才是根本解法 你有没有遇到过这样的场景:刚打开 Keil 准备编译代码,一点击“Build”,结果弹出满屏红字: fatal error: stm32f4xx_hal.h: No such file or directory或者更常见的…

Figma中文插件实战:提升中文UI设计效率的5个案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个展示Figma中文插件实际应用的案例集合,包含以下场景:1. 中文长文本自动换行处理;2. 中文字体层级关系可视化;3. 中文设计规…

企业级代码质量管理:SonarQube全流程实施指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个完整的SonarQube企业部署方案,包含:1) Docker化部署脚本 2) 常见语言分析配置模板(Java/Python/JS等) 3) Jenkins/GitLab CI集成示例 4) 自定义规则…

【好写作AI】轻松驾驭职场:用AI快速撰写专业邮件、报告与策划案

当别人还在为一封邮件措辞半小时,你已经用AI优雅地处理完所有书面任务,深藏功与名。从校园到职场,第一道坎常常是“书面沟通”。精心准备的汇报被说“重点不明”,一封简单的协作邮件反复修改仍像“学生作业”。这些看似细微的挑战…

ABAP 开发进入 Agentic AI 新纪元:从 GenAI Hub 到 VS Code 的全栈式生产力跃迁

在 SAP TechEd 2025 的语境里,ABAP 的变化不再是某个语法点的演进,而是开发范式的整体迁移:AI 从辅助工具变成可协作的执行者,模型从通用大语言模型转向面向 ABAP 的专用模型,开发入口从单一 IDE 走向更开放的工具链,能力也开始以更灵活的方式覆盖到更早版本的 SAP S/4HA…

MCP云原生认证值得考吗?:3个关键理由告诉你为何它正成为开发者新刚需

第一章:MCP云原生开发认证概述MCP云原生开发认证(Microsoft Certified Professional in Cloud-Native Development)是面向现代软件工程师的一项专业技术资格,旨在验证开发者在云原生技术栈下的综合能力。该认证聚焦于使用微软Azur…

STM32 USART外设实现RS485测试的标准流程

如何用STM32 USART轻松搞定RS485通信测试?实战全解析在工业现场,你是否也遇到过这样的场景:设备之间要远距离传数据,干扰又大,普通UART一跑就出错?这时候,RS485就成了救星。它抗干扰强、能拉120…

CAOPORM在金融科技中的实际应用案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 在快马平台上生成一个金融科技项目,实现基于CAOPORM的风险评估模型。需求:使用Python和TensorFlow构建一个简单的信用评分模型,前端展示评分结果…

【限时干货】MCP专家亲授:Azure Stack HCI 一键部署自动化脚本大公开

第一章:Azure Stack HCI 一键部署自动化脚本概述 在现代混合云架构中,Azure Stack HCI 的部署复杂性对运维团队提出了较高要求。为简化配置流程、提升部署一致性,一键部署自动化脚本应运而生。该类脚本通过整合PowerShell、Ansible或Terrafor…

全面启航:从零起步畅享高效SEO优化技巧

本文将为你提供一份全面的SEO优化指南,适合从零起步的初学者。首先,您将理解SEO的基本概念,以及关键字在优化过程中的核心作用。接下来,我们将探讨如何通过优化网站结构来提升搜索引擎友好度和用户体验,同时强调高质量…

软件分发进度监控:如何告别“黑箱”操作?

在企业IT管理中,软件分发是一项常规却至关重要的任务。然而,许多管理员都熟悉这样的困境:点击“分发”按钮后,整个流程便如同进入了一个“黑箱”——软件安装成功了吗?有多少设备失败了?失败的原因是什么&a…

图形化训练配置工具:可视化设置超参数与训练流程

图形化训练配置工具:可视化设置超参数与训练流程 在大模型落地进入“工业化”阶段的今天,一个现实问题摆在开发者面前:如何让复杂的模型训练不再依赖少数几位“调参专家”,而是变成团队中每个人都能参与的标准流程?尤其…

git 切换分支

cd existing_repo git remote add origin ****.git git branch -M main git push -uf origin main

Azure Stack HCI 成功率提升80%的秘密:MCP认证部署最佳实践全披露

第一章:MCP Azure Stack HCI 部署概述Azure Stack HCI 是微软推出的超融合基础架构解决方案,旨在将本地数据中心与云原生能力深度融合。该平台基于 Windows Server 和 Hyper-V 虚拟化技术,结合软件定义的存储与网络功能,支持在物理…

用JAVA注解快速构建REST API原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 快速生成一个REST API原型项目,要求:1. 使用Spring Boot;2. 包含RestController、RequestMapping、RequestBody等注解;3. 实现GET/P…

STM32 CubeMX配置ADC模块:系统学习教程

从零开始掌握STM32 ADC采集:CubeMX配置实战与避坑指南你有没有遇到过这样的场景?接了一个NTC温度传感器,代码跑起来后串口打印的电压值跳来跳去,像是在“抽搐”;或者想同时读几个模拟通道,结果数据顺序错乱…

深度剖析ST7789V驱动中的MADCTL寄存器设置

深度剖析ST7789V驱动中的MADCTL寄存器设置在嵌入式显示开发中,你是否曾遇到过这样的尴尬:明明代码逻辑清晰、绘图函数正常调用,可屏幕上的图像却上下颠倒、左右镜像,甚至颜色发紫?更离谱的是,旋转90度后画面…

3分钟搞定LabelMe:容器化安装方案对比

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个比较传统安装和容器化安装LabelMe的效率测试工具。功能包括:1.自动计时两种安装方式耗时 2.记录资源占用情况 3.生成对比图表 4.提供性能优化建议 5.支持一键切…

AI如何简化网络诊断:NSLOOKUP的智能应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个AI辅助的NSLOOKUP工具,能够自动解析输入的域名,提供详细的DNS记录(A、MX、CNAME等),并分析潜在的网络问题。工具…

快速验证创意:用FRP+快马1小时搭建IoT原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个IoT设备远程控制原型系统,包含:1.FRP穿透树莓派SSH 2.Web控制界面模拟开关/传感器 3.MQTT消息中转服务 4.设备状态可视化仪表盘 5.模拟告警推送功能…