一文聊聊远距离LiDAR感知技术

智驾最前沿 2024-04-13 09:18
--关注星标「智驾最前沿」,回复“40429”--

↓↓免费领取:《汽车驾驶自动化分级》(GB/T 40429-2021)↓↓

原文链接:https://zhuanlan.zhihu.com/p/680707145


引言

去年开了图森ai day之后,一直想以文字形式总结一下这几年在远距离感知方面所做的工作,正好最近有时间了,就想写一篇文章记录一下这几年的研究历程。本文所提到的内容都在图森ai day视频[1]和公开发表的论文中,不涉及具体的工程细节等技术秘密。
众所周知,图森是做卡车自动驾驶的,而卡车不论是刹车距离还是变道时间都远比轿车要长,所以如果说图森有什么与其他自动驾驶公司不同的独门技术,远距离感知必然是其中之一。我在图森负责LiDAR感知这一块,就专门聊一聊使用LiDAR进行远距离感知的相关内容。
刚加入公司时,主流的LiDAR感知一般是BEV方案。不过此BEV不是大家熟悉的那个BEV,特斯拉的那个BEV感知我个人认为应该叫作“多视角相机在BEV空间下的融合技术”,而这里的LiDAR BEV是指将LiDAR点云投影到BEV空间下,然后接2D卷积+2D检测头进行目标检测的方案。我能查到最早关于BEV方案的记录是在百度发表在CVPR17的论文MV3D[2],后续的大部分工作,包括我所了解的大部分公司实际使用的方案,最后都要投影到BEV空间进行检测,大致也都可以归在BEV方案之中。

MV3D[2]使用的BEV视角特征

BEV方案的一大好处是可以直接套用成熟的2D检测器,但也有一个很致命的缺点:它限制住了感知范围。从上图可以看到,因为要套2D检测器,它必须形成一个2D的feature map,此时就必须给它设置一个距离阈值,而在上图范围之外其实也还是有LiDAR点的,只是被这个截断操作给丢弃了。那可不可以把这个距离阈值拉大,直到包住所有点呢?硬要这么做也不是不行,只是LiDAR在扫描模式、反射强度(随距离呈4次方衰减)、遮挡等问题作用下,远处的点云是非常少的,这么做很不划算。
BEV方案的这个问题在学术界并没有引起关注,这主要是数据集的问题,主流数据集的标注范围通常只有不到80m(nuScenes 50m、KITTI 70m,Waymo 80m),在这个距离下BEV feature map并不需要很大。但工业界使用的中距离LiDAR普遍已经可以做到200m的扫描范围,而近几年也有几款远距离LiDAR问世,它们可以做到500m的扫描范围。注意到feature map的面积和计算量是随距离呈二次方增长的,在BEV方案下,200m的计算量几乎都无法承受,更不用说500m了。

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

在认识到BEV方案的局限之后,我们进行了多年的研究,最终才找到了可行的替代方案。研究过程并非一帆风顺,经历了很多次挫折,论文和报告中一般都只会讲成功而不会说失败,但失败的经验也是弥足珍贵的,所以博客反而成了更好的媒介,下面就按时间线依次讲述一下。


Point-based方案

CVPR19上,港中文发表了一篇Point-based检测器PointRCNN[3],它是直接在点云上进行计算的,点云扫到哪它算到哪,没有拍BEV的过程,所以这类point-based方案理论上是可以做到远距离感知的。

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


Range-View方案

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

RV、BEV、PV的对比

在Range View下,点云不再是稀疏的形式而是致密地排列在一起,远距离的目标在range image上只是比较小,但并不会被丢掉,所以理论上也是能检测到的。
可能是因为与图像更相似,对于RV的研究其实比BEV还早,我能找到的最早记录也是来自于百度的论文[5],百度真的是自动驾驶的黄埔军校啊,不论是RV还是BEV的最早应用都来自于百度。
于是当时我就随手试了一把,结果跟BEV方法相比,RV的AP狂掉30-40个点...我发现其实在2d的range image上检测得还可以,但输出出来的3d框效果就非常差了。当时分析RV的特性,感觉它具备图像的所有劣势:物体尺度不统一、前背景特征混杂、远距离目标特征不明显,但又不具备图像语义特征丰富的优势,所以当时对这个方案比较悲观。
因为正式员工毕竟还是要做落地的工作,对于这种探索性问题还是交给实习生比较好。后来招了两名实习生一起来研究这个问题,在公开数据集上一试,果然也是掉了30个点...还好两位实习生比较给力,通过一系列的努力,还有参考其他论文修正了一些细节之后,将点数刷到了跟主流BEV方法差不多的水平,最终论文发表在了ICCV21上[6]。
虽然点数刷上来了,但问题并没有被彻底解决,当时lidar需要多帧融合来提高信噪比的做法已经成为共识,远距离目标因为点数少,更加需要叠帧来增加信息量。在BEV方案里,多帧融合非常简单,直接在输入点云上加上一个时间戳然后多帧叠加起来,整个网路都不用改动就可以涨点,但在RV下变换了很多花样都没有得到类似的效果。
并且在这个时候,LiDAR从硬件的技术方案上也从机械旋转式走向了固态/半固态的方式,大部分固态/半固态的LiDAR不再能够形成range image,强行构造range image会损失信息,所以这条路径最终也是被放弃了。


Sparse Voxel方案

之前说过Point-based方案的问题在于点云不规整的排列使得降采样和邻域检索等问题需要遍历所有点云导致计算量过高,而BEV方案下数据规整了但又有太多空白区域导致计算量过高。这两者结合一下,在有点的地方进行voxelization使其变得规整,而没点的地方不进行表达来防止无效计算似乎也是一条可行的路径,这也就是sparse voxel方案。
因为SECOND[7]的作者闫岩加入了图森,所以我们在早期就曾经尝试过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上[8]。

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

可惜的是,这个方法在公司数据集上一直刷不过BEV类方法,差了接近5个点的样子,现在回想起来可能还是有一些trick或者训练技巧没有掌握,按理说Transformer的表达能力是不弱于conv的,但后来也并没有再继续尝试。不过这个时候已经对assign方式进行了优化降低了很多计算量,所以就想再尝试一把spconv,结果令人惊喜的是,直接把Transformer替换为spconv就可以做到近距离与BEV类方法的精度相当,同时还能检测远距离目标的效果了。
也是在这个时候,闫岩同学做出了第二版spconv[10],速度有了大幅度提升,所以计算延迟不再是瓶颈,终于远距离的LiDAR感知扫清了所有障碍,能够在车上实时地跑起来了。
后来我们更新了LiDAR排列方式,将扫描范围提升到了向前500m,向后300m,向左向右各150m,这套算法也运行良好,相信随着未来算力的不断提升,计算延迟会越来越不成问题。
下面展示一下最终的远距离检测效果,大家也可以看看图森ai day的视频的01:08:30左右的位置看一下动态的检测效果:

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


后记

从point-based方法,到range image方法,再到基于sparse voxel的Transformer和sparse conv方法,对于远距离感知的探索不能说是一帆风顺,简直就是满路荆棘。最后其实也是随着算力的不断提升加上很多同事的不断努力才做到了今天这一步。在此感谢图森首席科学家王乃岩和图森的各位同事、实习生们,这里面大部分的idea和工程实现都不是我做出来的,很惭愧,更多地是起到了承上启下的作用。
很长时间不写这么长的文章了,写得跟个流水账似的而没有形成一个动听的故事。近年来,坚持做L4的同行越来越少,L2的同行们也逐渐转向纯视觉的研究,LiDAR感知肉眼可见地逐步被边缘化,虽然我仍然坚信多一种直接测距的传感器是更好的选择,但业内人士似乎越来越不这么认为。看着新鲜血液们的简历上越来越多的BEV、Occupancy,不知道LiDAR感知还能再坚持多久,我又能坚持多久,写这么一篇文章也是起到一个纪念作用吧。

参考资料与文献

【1】图森ai day视频:乘大势,驭未来——图森未来首届AI Day完整回放_哔哩哔哩_bilibili

【2】 Multi-View 3D Object Detection Network for Autonomous Driving

【3】PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud

【4】LiDAR R-CNN: An Efficient and Universal 3D Object Detector 

【5】Vehicle Detection from 3D Lidar Using Fully Convolutional Network

【6】RangeDet:In Defense of Range View for LiDAR-based 3D Object Detection

【7】SECOND: Sparsely Embedded Convolutional Detection

【8】Fully Sparse 3D Object Detection

【9】Embracing Single Stride 3D Object Detector with Sparse Transformer

【10】GitHub - traveller59/spconv: Spatial Sparse Convolution Library

-- END --

声明:内容源自知乎@王峰,文中观点仅供分享交流,不代表本公众号立场,如涉及版权等问题,请您告知,将及时处理!如您认可本文内容,分享在看点赞留言支持一波!系小编加入社群,还可结识更多智驾好友!

智驾最前沿 「智驾最前沿」深耕自动驾驶领域技术、资讯等信息,解读行业现状、紧盯行业发展、挖掘行业前沿,致力于助力自动驾驶发展与落地!公众号:智驾最前沿
评论 (0)
  • Matter协议是一个由Amazon Alexa、Apple HomeKit、Google Home和Samsung SmartThings等全球科技巨头与CSA联盟共同制定的开放性标准,它就像一份“共生契约”,能让原本相互独立的家居生态在应用层上握手共存,同时它并非另起炉灶,而是以IP(互联网协议)为基础框架,将不同通信协议下的家居设备统一到同一套“语义规则”之下。作为应用层上的互通标准,Matter协议正在重新定义智能家居行业的运行逻辑,它不仅能向下屏蔽家居设备制造商的生态和系统,让设备、平
    华普微HOPERF 2025-05-08 11:40 102浏览
  • 2024年初,OpenAI公布的Sora AI视频生成模型,震撼了国产大模型行业。随后国产厂商集体发力视频大模型,快手发布视频生成大模型可灵,字节跳动发布豆包视频生成模型,正式打响了国内AI视频生成领域第一枪。众多企业匆忙入局,只为在这片新兴市场中抢占先机,却往往忽视了技术成熟度与应用规范的打磨。以社交平台上泛滥的 AI 伪造视频为例,全红婵家人被恶意仿冒博流量卖货,明星们也纷纷中招,刘晓庆、张馨予等均曾反馈有人在视频号上通过AI生成视频假冒她。这些伪造视频不仅严重侵犯他人权
    用户1742991715177 2025-05-05 23:08 89浏览
  • 多功能电锅长什么样子,主视图如下图所示。侧视图如下图所示。型号JZ-18A,额定功率600W,额定电压220V,产自潮州市潮安区彩塘镇精致电子配件厂,铭牌如下图所示。有两颗螺丝固定底盖,找到合适的工具,拆开底盖如下图所示。可见和大部分市场的加热锅一样的工作原理,手绘原理图,根据原理图进一步理解和分析。F1为保险,250V/10A,185℃,CPGXLD 250V10A TF185℃ RY 是一款温度保险丝,额定电压是250V,额定电流是10A,动作温度是185℃。CPGXLD是温度保险丝电器元件
    liweicheng 2025-05-05 18:36 278浏览
  • 随着智能驾驶时代到来,汽车正转变为移动计算平台。车载AI技术对存储器提出新挑战:既要高性能,又需低功耗和车规级可靠性。贞光科技代理的紫光国芯车规级LPDDR4存储器,以其卓越性能成为国产芯片产业链中的关键一环,为智能汽车提供坚实的"记忆力"支持。作为官方授权代理商,贞光科技通过专业技术团队和完善供应链,让这款国产存储器更好地服务国内汽车厂商。本文将探讨车载AI算力需求现状及贞光科技如何通过紫光国芯LPDDR4产品满足市场需求。 车载AI算力需求激增的背景与挑战智能驾驶推动算力需求爆发式
    贞光科技 2025-05-07 16:54 150浏览
  • ‌一、高斯计的正确选择‌1、‌明确测量需求‌‌磁场类型‌:区分直流或交流磁场,选择对应仪器(如交流高斯计需支持交变磁场测量)。‌量程范围‌:根据被测磁场强度选择覆盖范围,例如地球磁场(0.3–0.5 G)或工业磁体(数百至数千高斯)。‌精度与分辨率‌:高精度场景(如科研)需选择误差低于1%的仪器,分辨率需匹配微小磁场变化检测需求。2、‌仪器类型选择‌‌手持式‌:便携性强,适合现场快速检测;‌台式‌:精度更高,适用于实验室或工业环境。‌探头类型‌:‌横向/轴向探头‌:根据磁场方向选择,轴向探头适合
    锦正茂科技 2025-05-06 11:36 398浏览
  • 文/郭楚妤编辑/cc孙聪颖‍相较于一众措辞谨慎、毫无掌舵者个人风格的上市公司财报,利亚德的财报显得尤为另类。利亚德光电集团成立于1995年,是一家以LED显示、液晶显示产品设计、生产、销售及服务为主业的高新技术企业。自2016年年报起,无论业绩优劣,董事长李军每年都会在财报末尾附上一首七言打油诗,抒发其对公司当年业绩的感悟。从“三年翻番顺大势”“智能显示我第一”“披荆斩棘幸从容”等词句中,不难窥见李军的雄心壮志。2012年,利亚德(300296.SZ)在深交所创业板上市。成立以来,该公司在细分领
    华尔街科技眼 2025-05-07 19:25 183浏览
  • 后摄像头是长这个样子,如下图。5孔(D-,D+,5V,12V,GND),说的是连接线的个数,如下图。4LED,+12V驱动4颗LED灯珠,给摄像头补光用的,如下图。打开后盖,发现里面有透明白胶(防水)和白色硬胶(固定),用合适的工具,清理其中的胶状物。BOT层,AN3860,Panasonic Semiconductor (松下电器)制造的,Cylinder Motor Driver IC for Video Camera,如下图。TOP层,感光芯片和广角聚焦镜头组合,如下图。感光芯片,看着是玻
    liweicheng 2025-05-07 23:55 110浏览
  • 这款无线入耳式蓝牙耳机是长这个样子的,如下图。侧面特写,如下图。充电接口来个特写,用的是卡座卡在PCB板子上的,上下夹紧PCB的正负极,如下图。撬开耳机喇叭盖子,如下图。精致的喇叭(HY),如下图。喇叭是由电学产生声学的,具体结构如下图。电池包(AFS 451012  21 12),用黄色耐高温胶带进行包裹(安规需求),加强隔离绝缘的,如下图。451012是电池包的型号,聚合物锂电池+3.7V 35mAh,详细如下图。电路板是怎么拿出来的呢,剪断喇叭和电池包的连接线,底部抽出PCB板子
    liweicheng 2025-05-06 22:58 368浏览
  • UNISOC Miracle Gaming奇迹手游引擎亮点:• 高帧稳帧:支持《王者荣耀》等主流手游90帧高画质模式,连续丢帧率最高降低85%;• 丝滑操控:游戏冷启动速度提升50%,《和平精英》开镜开枪操作延迟降低80%;• 极速网络:专属游戏网络引擎,使《王者荣耀》平均延迟降低80%;• 智感语音:与腾讯GVoice联合,弱网环境仍能保持清晰通话;• 超高画质:游戏画质增强、超级HDR画质、游戏超分技术,优化游戏视效。全球手游市场规模日益壮大,游戏玩家对极致体验的追求愈发苛刻。紫光展锐全新U
    紫光展锐 2025-05-07 17:07 201浏览
  • 二位半 5线数码管的驱动方法这个2位半的7段数码管只用5个管脚驱动。如果用常规的7段+共阳/阴则需要用10个管脚。如果把每个段看成独立的灯。5个管脚来点亮,任选其中一个作为COM端时,另外4条线可以单独各控制一个灯。所以实际上最多能驱动5*4 = 20个段。但是这里会有一个小问题。如果想点亮B1,可以让第3条线(P3)置高,P4 置低,其它阳极连P3的灯对应阴极P2 P1都应置高,此时会发现C1也会点亮。实际操作时,可以把COM端线P3设置为PP输出,其它线为OD输出。就可以单独控制了。实际的驱
    southcreek 2025-05-07 15:06 245浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦