目录
一、引言
二、Point-based方案
三、Range-View方案
四、Sparse Voxel方案
五、后记
首页 科技周边 人工智能 Warning!远距离LiDAR感知

Warning!远距离LiDAR感知

Feb 02, 2024 am 11:33 AM
自动驾驶 感知 排列

一、引言

去年举办了图森AI Day后,一直有个念头,想以文字形式概述一下我们在远距离感知方面的工作。最近正好有时间,于是决定写一篇文章,记录一下这几年的研究历程。本文所涉及的内容都可以在图森AI Day的视频[0]和我们公开发表的论文中找到,但并不包含具体的工程细节或技术秘密。

众所周知,图森专注于卡车自动驾驶技术。与轿车相比,卡车的刹车距离和变道时间更长。因此,图森在与其他自动驾驶公司的竞争中拥有独特的优势。作为图森的一员,我负责LiDAR感知技术,现在我将详细介绍使用LiDAR进行远距离感知的相关内容。

在公司刚加入时,主流的LiDAR感知方案通常是BEV(Bird's Eye View)方案。然而,这里的BEV并不是大家所熟知的电动车(Battery Electric Vehicle)的缩写,而是指将LiDAR点云投影到BEV空间下,并结合2D卷积和2D检测头进行目标检测的方案。我个人认为,特斯拉所采用的LiDAR感知技术应该被称为“多视角相机在BEV空间下的融合技术”。 据我所查,最早关于BEV方案的记录是百度在CVPR17会议上发表的论文《MV3D》[1]。随后的许多研究工作,包括我所了解的许多公司实际使用的方案,都采用将LiDAR点云投影到BEV空间进行目标检测的方法,并可归类为BEV方案。这种方案在实际应用中被广泛采用。 总结一下,刚加入公司时,主流的LiDAR感知方案通常是将LiDAR点云投影到BEV空间下,然后结合2D卷积和2D检测头进行目标检测。特斯拉所采用的LiDAR感知技术可以称为“多视角相机在BEV空间下的融合技术”。百度在CVPR17会议上发表的论文《MV3D》是关于BEV方案的早期记录,随后许多公司也采用了类似的方案进行目标检测。

Warning!远距离LiDAR感知MV3D[1]使用的BEV视角特征

BEV方案的一大好处是可以直接套用成熟的2D检测器,但也有一个很致命的缺点:它限制住了感知范围。从上图可以看到,因为要套2D检测器,它必须形成一个2D的feature map,此时就必须给它设置一个距离阈值,而在上图范围之外其实也还是有LiDAR点的,只是被这个截断操作给丢弃了。那可不可以把这个距离阈值拉大,直到包住所有点呢?硬要这么做也不是不行,只是LiDAR在扫描模式、反射强度(随距离呈4次方衰减)、遮挡等问题作用下,远处的点云是非常少的,这么做很不划算。

学术界对于BEV方案的这个问题并没有引起太多关注,主要原因是数据集的限制。目前主流数据集的标注范围通常只有不到80米(如nuScenes的50米、KITTI的70米和Waymo的80米),在这个距离范围内,BEV特征图的尺寸并不需要很大。然而,在工业界,使用的中距离LiDAR普遍能够达到200米的扫描范围,而近年来也有一些远距离LiDAR问世,它们能够实现500米的扫描范围。需要注意的是,特征图的面积和计算量随着距离的增加呈二次方增长。在BEV方案下,处理200米范围的计算量已经相当巨大,更不用说处理500米范围的情况了。因此,这个问题需要在工业界中得到更多的关注和解决。

Warning!远距离LiDAR感知

公开数据集中激光雷达的扫描范围。KITTI(红点, 70m) vs. Argoverse 2 (蓝点, 200m)

在认识到BEV方案的局限之后,我们经过多年的研究,最终找到了一种可行的替代方案。研究过程并非一帆风顺,我们经历了许多次挫折。一般情况下,论文和报告只会强调成功而不提及失败,但失败的经验同样是非常宝贵的。因此,我们决定通过博客来分享我们的研究历程。接下来,我将按时间线逐步叙述。

二、Point-based方案

在CVPR19上,港中文发表了一项名为PointRCNN[2]的点云检测器。与传统方法不同,PointRCNN直接在点云数据上进行计算,而不需要转换为BEV(鸟瞰图)形式。因此,这种基于点云的方案理论上可以实现远距离感知。

Warning!远距离LiDAR感知

但我们试下来发现了一个问题,KITTI一帧的点云数量可以降采样到1.6万个点来检测而不怎么掉点,但我们的LiDAR组合一帧有10多万个点,如果降采样10倍显然检测精度会大幅度受影响。而如果不降采样的话,在PointRCNN的backbone中甚至有O(n^2)的操作,导致它虽然不拍bev,但计算量仍然无法承受。这些比较耗时的op主要是因为点云本身的无序性,导致不论是降采样还是检索邻域,都必须遍历所有的点。由于涉及到的op较多且都是没有经过优化的标准op,短期内感觉也没有能优化到实时的希望,所以这条路线就放弃了。

不过这段研究也并没有浪费,虽然backbone计算量过大,但它的二阶段因为只在前景上进行,所以计算量还是比较小的。把PointRCNN的二阶段直接套用在BEV方案的一阶段检测器之后,检测框的准确度会有一个比较大的提升。在应用过程中我们也发现了它的一个小问题,解决之后总结发表成了一篇文章[3]发表在了CVPR21上,大家也可以到这篇博客上看看:

王峰:LiDAR R-CNN:一种快速、通用的二阶段3D检测器

三、Range-View方案

在Point-based方案尝试失败之后,我们将目光转向了Range View,当年的LiDAR都是机械旋转式的,比如64线激光雷达就会扫描出64行具有不同俯仰角的点云,比如每行都扫描到2048个点的话,就可以形成一张64*2048的range image。

Warning!远距离LiDAR感知RV、BEV、PV的对比

在Range View下,点云不再是稀疏的形式而是致密地排列在一起,远距离的目标在range image上只是比较小,但并不会被丢掉,所以理论上也是能检测到的。

可能是因为与图像更相似,对于RV的研究其实比BEV还早,我能找到的最早记录也是来自于百度的论文[4],百度真的是自动驾驶的黄埔军校啊,不论是RV还是BEV的最早应用都来自于百度。

于是当时我就随手试了一把,结果跟BEV方法相比,RV的AP狂掉30-40个点...我发现其实在2d的range image上检测得还可以,但输出出来的3d框效果就非常差了。当时分析RV的特性,感觉它具备图像的所有劣势:物体尺度不统一、前背景特征混杂、远距离目标特征不明显,但又不具备图像语义特征丰富的优势,所以当时对这个方案比较悲观。

因为正式员工毕竟还是要做落地的工作,对于这种探索性问题还是交给实习生比较好。后来招了两名实习生一起来研究这个问题,在公开数据集上一试,果然也是掉了30个点...还好两位实习生比较给力,通过一系列的努力,还有参考其他论文修正了一些细节之后,将点数刷到了跟主流BEV方法差不多的水平,最终论文发表在了ICCV21上[5]。

虽然点数刷上来了,但问题并没有被彻底解决,当时lidar需要多帧融合来提高信噪比的做法已经成为共识,远距离目标因为点数少,更加需要叠帧来增加信息量。在BEV方案里,多帧融合非常简单,直接在输入点云上加上一个时间戳然后多帧叠加起来,整个网路都不用改动就可以涨点,但在RV下变换了很多花样都没有得到类似的效果。

并且在这个时候,LiDAR从硬件的技术方案上也从机械旋转式走向了固态/半固态的方式,大部分固态/半固态的LiDAR不再能够形成range image,强行构造range image会损失信息,所以这条路径最终也是被放弃了。

四、Sparse Voxel方案

之前说过Point-based方案的问题在于点云不规整的排列使得降采样和邻域检索等问题需要遍历所有点云导致计算量过高,而BEV方案下数据规整了但又有太多空白区域导致计算量过高。这两者结合一下,在有点的地方进行voxelization使其变得规整,而没点的地方不进行表达来防止无效计算似乎也是一条可行的路径,这也就是sparse voxel方案。

因为SECOND[6]的作者闫岩加入了图森,所以我们在早期就曾经尝试过sparse conv的backbone,但因为spconv并不是一个标准的op,自己实现出来的spconv仍然过慢,不足以实时进行检测,有时甚至慢于dense conv,所以就暂时搁置了。

后来第一款能扫描500m的LiDAR:Livox Tele15到货,远距离LiDAR感知算法迫在眉睫,尝试了一下BEV的方案实在是代价太高,就又把spconv的方案拿出来试了一下,因为Tele15的fov比较窄,而且在远处的点云也非常稀疏,所以spconv勉强是可以做到实时的。

但不拍bev的话,检测头这块就不能用2D检测中比较成熟的anchor或者center assign了,这主要是因为lidar扫描的是物体的表面,中心位置并不一定有点(如下图所示),没有点自然也无法assign上前景目标。其实我们在内部尝试了很多种assign方式,这里就不细讲公司实际使用的方式了,实习生在之后也尝试了一种assign方案发表在了NIPS2022上[7],可以看看他写的解读:

明月不谙离苦:全稀疏的3D物体检测器

Warning!远距离LiDAR感知

但如果要把这个算法应用在向前500m,向后和左右各150m的LiDAR组合下,还是力有不逮。恰好实习生之前追热度曾经也借鉴Swin Transformer的思想做过一篇Sparse Transformer的文章[8],也是费了好大的功夫从掉20多个点一点点刷起来(感谢实习生带飞,tql),当时觉得Transformer的方法还是很适合不规整的点云数据的,所以在公司数据集上也试了一下。

可惜的是,这个方法在公司数据集上一直刷不过BEV类方法,差了接近5个点的样子,现在回想起来可能还是有一些trick或者训练技巧没有掌握,按理说Transformer的表达能力是不弱于conv的,但后来也并没有再继续尝试。不过这个时候已经对assign方式进行了优化降低了很多计算量,所以就想再尝试一把spconv,结果令人惊喜的是,直接把Transformer替换为spconv就可以做到近距离与BEV类方法的精度相当,同时还能检测远距离目标的效果了。

也是在这个时候,闫岩同学做出了第二版spconv[9],速度有了大幅度提升,所以计算延迟不再是瓶颈,终于远距离的LiDAR感知扫清了所有障碍,能够在车上实时地跑起来了。

后来我们更新了LiDAR排列方式,将扫描范围提升到了向前500m,向后300m,向左向右各150m,这套算法也运行良好,相信随着未来算力的不断提升,计算延迟会越来越不成问题。

下面展示一下最终的远距离检测效果,大家也可以看看图森ai day的视频的01:08:30左右的位置看一下动态的检测效果:

Warning!远距离LiDAR感知

虽然是最终的融合结果,但因为这天起雾图像能见度很低,所以结果基本上都来自于LiDAR感知。

五、后记

从point-based方法,到range image方法,再到基于sparse voxel的Transformer和sparse conv方法,对于远距离感知的探索不能说是一帆风顺,简直就是满路荆棘。最后其实也是随着算力的不断提升加上很多同事的不断努力才做到了今天这一步。在此感谢图森首席科学家王乃岩和图森的各位同事、实习生们,这里面大部分的idea和工程实现都不是我做出来的,很惭愧,更多地是起到了承上启下的作用。

很长时间不写这么长的文章了,写得跟个流水账似的而没有形成一个动听的故事。近年来,坚持做L4的同行越来越少,L2的同行们也逐渐转向纯视觉的研究,LiDAR感知肉眼可见地逐步被边缘化,虽然我仍然坚信多一种直接测距的传感器是更好的选择,但业内人士似乎越来越不这么认为。看着新鲜血液们的简历上越来越多的BEV、Occupancy,不知道LiDAR感知还能再坚持多久,我又能坚持多久,写这么一篇文章也是起到一个纪念作用吧。

深夜涕零,不知所云,见谅。

以上是Warning!远距离LiDAR感知的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

自动驾驶场景中的长尾问题怎么解决? 自动驾驶场景中的长尾问题怎么解决? Jun 02, 2024 pm 02:44 PM

昨天面试被问到了是否做过长尾相关的问题,所以就想着简单总结一下。自动驾驶长尾问题是指自动驾驶汽车中的边缘情况,即发生概率较低的可能场景。感知的长尾问题是当前限制单车智能自动驾驶车辆运行设计域的主要原因之一。自动驾驶的底层架构和大部分技术问题已经被解决,剩下的5%的长尾问题,逐渐成了制约自动驾驶发展的关键。这些问题包括各种零碎的场景、极端的情况和无法预测的人类行为。自动驾驶中的边缘场景"长尾"是指自动驾驶汽车(AV)中的边缘情况,边缘情况是发生概率较低的可能场景。这些罕见的事件

苹果手机怎么查看流量 苹果手机怎么查看流量 May 09, 2024 pm 06:00 PM

苹果怎么查流量使用情况1、苹果手机查看流量使用情况的具体操作步骤如下:打开手机的设置。点击蜂窝网络按钮。在蜂窝移动网络页面中往下滑,可以看到每个应用的具体流量使用情况。点击应用还可以设置允许使用的网络。2、打开手机,在手机桌面上找到设置选项,点击进入。在设置界面中,找到下方任务栏中的“蜂窝网络”点击进入。在蜂窝网络界面中,找到页面中的“用量”选项,点击进入。3、还有一种办法是通过手机自行查询流量,不过手机只能看到使用总量,并不会显示剩余流量:打开iPhone手机,找到“设置”选项并打开。选择“蜂

Windows 11怎么禁用快照布局_ win11不使用快照布局的技巧 Windows 11怎么禁用快照布局_ win11不使用快照布局的技巧 May 08, 2024 pm 06:46 PM

win11系统宣布了新的【快照布局】,通过【最大化】按钮为用户提供各种窗口布局选项,以便用户可以从多个布局模板中进行选择,以在屏幕上显示两个、三个或四个打开的应用程序。与将多个窗口拖动到屏幕两侧,然后手动调整所有内容相比,这是一种改进。【SnapGroups】将保存用户正在使用的应用程序集合及其布局,让用户在不得不停下来处理其他事情时轻松返回到该设置。如果有人正在使用用户必须拔掉的显示器,当重新对接时,之前使用的快照布局也会恢复。快照布局的使用方法我们可以使用键盘快捷键WindowsKey+Z启

自动驾驶第一性之纯视觉静态重建 自动驾驶第一性之纯视觉静态重建 Jun 02, 2024 pm 03:24 PM

纯视觉的标注方案,主要是利用视觉加上一些GPS、IMU和轮速传感器的数据进行动态标注。当然面向量产场景的话,不一定非要是纯视觉,有一些量产的车辆里面,会有像固态雷达(AT128)这样的传感器。如果从量产的角度做数据闭环,把这些传感器都用上,可以有效地解决动态物体的标注问题。但是我们的方案里面,是没有固态雷达的。所以,我们就介绍这种最通用的量产标注方案。纯视觉的标注方案的核心在于高精度的pose重建。我们采用StructurefromMotion(SFM)的pose重建方案,来保证重建精度。但是传

vscode怎么将列表页字母排序 vscode将列表页字母排序的方法 vscode怎么将列表页字母排序 vscode将列表页字母排序的方法 May 09, 2024 am 09:40 AM

1.首先,打开vscode界面后,点击页面左下角的设置图标按钮2.然后,在下拉页栏目中点击Settings选项3.接着,在跳转的窗口中找到Explorer选项4.最后,在页面右侧点击OpenEditorsnaming选项,从下拉页中选择alphabetical按钮并保存设置就可以完成字母排序了

ai怎么设置环形文字-ai设置环形文字的具体方法 ai怎么设置环形文字-ai设置环形文字的具体方法 May 06, 2024 pm 05:58 PM

1.首先,打开界面后,点击椭圆工具绘制一个正圆2.点击左侧的路径文字工具按钮,沿着圆形外框输入文字3.鼠标选中字母,打开字符面板,将字体大小设置为20.7pt4.选中圆形,点击效果菜单中的3D选项,选择旋转按钮5.在打开的3D旋转选项设置中,将位置选项设置为自定旋转效果,修改参数后点击确定保存6.最后,为环形文字添加红色填充效果即可

组装电脑可以插无线上网卡吗? 组装电脑可以插无线上网卡吗? May 08, 2024 am 09:13 AM

组装电脑可以插无线上网卡吗?首先,你这里所说的无线网卡应该是2G/3G/4G无线网卡、即无线上网卡吧?我的答案是可以。不过,你还需要一个支持USB无线上网卡的AP,比如:(仅为举栗使用,并非推荐产品)组装台式电脑能用无线网卡上网吗?网卡对于现代计算机来说可谓必不可少,没有网卡就不能上网,不管是板载网卡,独立网卡,还是无线网卡。组装电脑时,一般不会再装独立的网卡,因为现在的主板都集成了网卡,所以不需要另外再买,不过现在组装的电脑不能像笔记本一样进行无线上网,因为没有装载无线网卡,玩家可以自己根据需

一览Occ与自动驾驶的前世今生!首篇综述全面汇总特征增强/量产部署/高效标注三大主题 一览Occ与自动驾驶的前世今生!首篇综述全面汇总特征增强/量产部署/高效标注三大主题 May 08, 2024 am 11:40 AM

写在前面&笔者的个人理解近年来,自动驾驶因其在减轻驾驶员负担和提高驾驶安全方面的潜力而越来越受到关注。基于视觉的三维占用预测是一种新兴的感知任务,适用于具有成本效益且对自动驾驶安全全面调查的任务。尽管许多研究已经证明,与基于物体为中心的感知任务相比,3D占用预测工具具有更大的优势,但仍存在专门针对这一快速发展领域的综述。本文首先介绍了基于视觉的3D占用预测的背景,并讨论了这一任务中遇到的挑战。接下来,我们从特征增强、部署友好性和标签效率三个方面全面探讨了当前3D占用预测方法的现状和发展趋势。最后

See all articles