作者 | 其道大光 编辑 | 自动驾驶Daily
点击下方卡片,关注“自动驾驶之心”公众号
戳我-> 领取自动驾驶近15个方向学习路线
本文只做学术分享,如有侵权,联系删文
prologue总结
来蹭一下小米汽车智能驾驶的热度,昨晚听了雷总小米汽车的发布,心潮澎湃寻思下单一辆奈何现实不允许hhh。
言归正传吧, 本来是想主要听一下小米智驾的但雷总并没有透露太多。这次对于智驾方面的介绍其实和上次技术发布会上展出的内容差不多。听完之后我自己对于小米自动驾驶的技术点有一些疑问和猜测,写一写大家可以瞅一瞅交流一下。
(下面所有关于小米智能驾驶的图片均来自小米汽车官网,侵图立马删)

旗舰硬件平台之高算力芯片

首先没毛病,小米智能驾驶高配用的芯片是英伟达双Orin-X,综合算力508TOPS。低配版使用的是Orin-N,单芯片算力84TOPS。这里就解决了大家为什么会疑问84 X 2 是508。
这个算力已经可以算是在量产车上用的最高算力配置了,毕竟上了激光雷达,图像加激光来做模型对算力要求还是挺高的。orin芯片由于是英伟达产品这意味着在进行深度学习推理时候cuda支持的操作都可以使用,这对于车端部署神经网络模型非常友好。如果是其他芯片则会有多多少少的特定算子不支持的问题,增加工程量。以地平线J5开发平台为例,不支持的操作都得改代码,还存在其他限制。

另外大算力芯片带来的好处还有网络模型可以做的大一些,可以使用新的模型结构。如果你想在地平线J5平台上使用transformer,那基本就不要想着上车了,网络也就跑个几帧十几帧。所以小米造车使用orin还是很合理的,大算力宣传性价比,开发难度也小很多。旗舰硬件平台没啥毛病。
困惑之自监督数据引擎
接下来就是有困惑的地方,自监督数据引擎?这个自监督是如何定义的,如果按深度学习的定义自监督就是说我的训练数据是无标签的,那这个为什么还需要真值标注?如果你不是数据自监督是引擎自监督,那应该是整个数据处理的pipline是不需要人工来做全部自动化了,这我属实难以相信。车还没卖出去,影子模式还没回传数据,也就测试车自己采集点跑通整个流程,国内也没有一家敢斩钉截铁的说自己4d真值标注完全不靠人工,超算训练自动化不是不可以,但肯定也还是需要手动处理一些bug和调参。
也可能是我的问题,我只负责模型部分对前面的真值标注部分不熟悉,所以“自监督数据引擎”几个字凑在一起真的是很令人困惑啊!!!
重点具身智能引擎
下一个重点具身智能引擎,这个是说得通的,挺火的概念。环境感知,行为预测,交互博弈,时空联合,决策这些确实也都是模型可以做到的,把智能装在身体上可以和外界交互,具身智能就成了。
第一个点是变焦bev。
官网给了三个场景解释,分别是泊车,城区和高速。我们一般人困惑的第一个点就是为什么这个bev可变?按ppt的说法我理解是说在泊车场景的时候网络的划分会更细,分辨率会更高。我们都知道一般bev网络的输出分辨率是需要作为config在训练的时候给定的,怎么训的跑的时候就怎么跑,这个分辨率是给定的不能变。如果说你可以变,那config文件变了就意味着最起码神经网络后面的输出也要改变,网络是需要学习参数的。所以我猜测难道在是训的时候就有不同分辨率,只是根据场景切换了输出模型。(更容易一点也可能是好几个模型来回切,但应该不至于这么搞)至于有什么其他更妙的设计或许也有可能吧。如果这么来看那变焦bev似乎也没有很神秘,至于如何看的更宽更远我觉得也差不多同理,bev远范围的感知也有一些文章,一两百米的bev也能搞。当然最开始和同事讨论的时候我们也想过,难道是相机是可变焦距的?要是这样那还挺牛的。
不过这世界还是挺有趣的,很多事情的谜底往往就在谜面上。

猜来猜去猜了那么久,人家写的很清楚调用不用算法动态调整bev网格特征的细粒度和感知范围。那就是几个模型切换了。看来作为坚定的唯物主义者也需要对科技进行祛魅(disenchantment)。
至于自适应应该说的是算法可以根据场景切换。这三个场景简单点就是手动切,高级点是自动切。手动切就是说用户自己使用了什么功能,后台根据功能来切换模型;自动切是用网络去自己判断场景或者根据感知出来的结果来写一些规则,根据这个建筑车辆周围环境的特征去判断场景来切换,但无论如何也是我们大概可以猜到的,能猜到逻辑上能说通,那就是我们也可以去实现的功能。

第二个点是超分辨率占用网络技术。
对不熟悉这个方向的同学来说,一看看过去感觉挺高级的。但隔行如隔山,这个恰好我之前有了解过一些,不清楚小米是不是真的这样做的,但我猜测大概是这样八九不离十?给大家放几篇篇相关文章可以看一下,这个模拟连续曲面的立体物到底是什么情况。

按顺序来的话,第一篇先放SIREN:Implicit Neural Representations with Periodic Activation Functions
arxiv.org/pdf/2006.09661.pdf
正弦表示网络(sinusoidal representation network:SIREN),用周期性的激活函数来作为隐式神经表达,用他来解决特定的Eikonal方程的边值问题,简单来说就是用来在点云上拟合隐式神经表达参数化的符号距离函数就可以产生下面的效果

这里稍稍科普一下SDF,此外还有TSDF

另一篇是LODE: Locally Conditioned Eikonal Implicit Scene Completion from Sparse LiDAR
arxiv.org/pdf/2302.14052.pdf

SIREN提出一种从点云到3D mesh补全方法,LODE提出了利用GT来监督SDF。
SurroundSDF: Implicit 3D Scene Understanding Based on Signed Distance Field

arxiv.org/pdf/2403.14366.pdf
这篇文章第一单位是xiaomi ev。后来居上的文章效果一般都不错,为什么会不错呢?具体来说,引入了一种基于查询的方法,并利用Eikonal公式约束的SDF来准确描述障碍物的表面。此外,考虑到缺乏精确的SDF基本事实,提出了一种新的SDF弱监督范式,称为Sandwich-Eikonal公式,它强调在表面两侧应用正确和密集的约束,从而提高表面的感知精度。实验表明,该方法在nu-Scenes数据集上实现了占用预测和3D场景重建任务的SOTA。这篇文章没有开源,但其实根据paper和上面两篇文章想要复现也不难,但我目前还是在做bev模型的检测分割所以暂时不会搞。

a.在提供SDF GT的情况下,对SDF进行理想的监督。b.SIREN监督,使用LIDAR点对表面进行监督。c.基于占用GT的LODE监管。d.我们的监管范式结合了LiDAR GT和占用GT,更接近理想的监管
这类任务都还是需要用激光做的真值。

然后就是识别异性障碍物种类无上限,我们做目标检测一般都给定类别,对于没见过的东西可能就胡乱给结果了,所以对于各种各样的异性障碍物训练集里面不会都有,那就需要给一个other类。又或者一些开集的检测把视觉语言一起训,用语言监督视觉也可以做到超类别的检测,这个文章就很多很多了。
第三个雨雪天自动降噪。

这个我就想的很简单,对输入的数据先过降噪算法再进网络。这类的算法就太多太多了,大家应该随处都可以找到。例如去arxiv网站上搜索rainy 或者snowy可以看到非常多的相关算法。
降噪可以单做,也可以嵌入网络,至于小米的智驾是如何做到的不是很清楚。难点在于降噪部分与后续环节的连接与耗时。

第四个小米道路大模型。
关于路网这部分这个我就不是很懂了,这部分目前是有其他同事在做。但也给大家一些我收藏的文章吧。下面链接里的文章不算全但也足够大家来理清脉络了,主要是新工作出来的太快了,像昊哥他们做的P-Mapnet之类。用神经网络去做道路结构的拓扑这部分我确实没搞过,但毕竟还是有大量文章可以参考!大家可以仔细研究一下
文章推荐地址如下:https://zhuanlan.zhihu.com/p/685111496

第五个端到端感知决策大模型。
这个我其实很感兴趣,把感知和决策一起做了,但目前还是只搞感知,老板不允许啊。我也不想说服他搞(已经放弃老板了)。好在小公司氛围比较轻松可以自己看看论文(已经看了快两年论文了,当然活也没落下该干的我都干了)。对于端到端的文章其实也不算少了,下面就简单给两篇文章参考吧
第一篇非常著名的cvpr的端到端:Planning-oriented Autonomous Driving
arxiv.org/pdf/2212.10156.pdf


统一自动驾驶(Uni AD)管道。它是按照以规划为导向的理念精心设计的。与简单的任务堆栈不同,我们研究了每个模块在感知和预测方面的效果,利用了从前面节点到最终驾驶场景规划的联合优化的好处。所有感知和预测模块都采用变压器解码器结构设计,任务查询作为连接各个节点的接口。最后利用一个简单的基于注意力的规划器,结合所提取的知识来预测自驾车未来的路径点
大家看pipline也能看出来这个端到端其实是有很多组件构成,每个环节都通过任务查询来连接,前面的流程都是为了最后的规划而服务。
第二篇鉴智的端到端:GraphAD: Interaction Scene Graph for End-to-end Autonomous Driving
arxiv.org/pdf/2403.19098.pdf

(这个看起来就很酷)

GraphAD的特点是驾驶环境中结构化实例之间基于图的交互,包括动态交通代理和静态地图元素。Graph AD首先在鸟瞰图上构建时空场景特征,作为下游任务的统一表示。然后,Graph AD通过Track Former和Map Former提取结构化实例。以这些实例为图节点,graph AD提出了交互场景图,通过考虑代理间和代理映射的交互,迭代细化动态节点的特征。最后,将处理后的节点特征用于运动预测和端到端规划。
GraphAD 的github可以看到Our code is based on UniAD and DGCNN,还是借鉴了UniAD的工作,用图的形式来做交互上的优化无疑是更好的。但代码目前还没有开源,大家可以mark一下。
先把端到端模型部署上车,再把这套东西装到机器人身上,这个才是我想做的,也是未来五到十年的人生目标吧。
给完文章再来看小米这个端到端感知决策大模型,感觉还是稳扎稳打的,先在泊车场景下验证端到端,后面在放到行车上。单从文章来看感知部分大家应该都很熟悉,但是决策部分给定的都比较简单,具体要量产控车,简单的左转右转直行停下肯定还是不够的,但老样子有文章的话就管中窥豹可见一斑。

全场景功能
全场景功能就交给广大网友和up主去测评了。
总结
不吹不黑,个人感觉小米的智驾水平还是可以的,有钱有人但还是需要时间来积淀。
目前发布出来的技术也不能说是多么遥不可及,我们都是技术的跟随者不是创新者,就上面这些东西只要有人做过我相信大家搭demo大家都可以做到,从0到60,但是真的能把任何一个技术从80做到90,甚至99都太难了,demo后面的每一步都难如登天。特斯拉已经把路给走通了,剩下的就看大家怎么搞了。加油!为了自动驾驶!冲!
上面全是个人不成熟的猜测,如有问题可以交流讨论,上面的各种说法仅供参考,不保真不负任何法律责任HHH!
投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!
① 全网独家视频课程
BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、大模型与自动驾驶、Nerf、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
② 国内首个自动驾驶学习社区
国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!
自动驾驶感知:目标检测、语义分割、BEV感知、毫米波雷达视觉融合、激光视觉融合、车道线检测、目标跟踪、Occupancy、深度估计、transformer、大模型、在线地图、点云处理、模型部署、CUDA加速等技术交流群;
多传感器标定:相机在线/离线标定、Lidar-Camera标定、Camera-Radar标定、Camera-IMU标定、多传感器时空同步等技术交流群;
多传感器融合:多传感器后融合技术交流群;
规划控制与预测:规划控制、轨迹预测、避障等技术交流群;
定位建图:视觉SLAM、激光SLAM、多传感器融合SLAM等技术交流群;
三维视觉:三维重建、NeRF、3D Gaussian Splatting技术交流群;
自动驾驶仿真:Carla仿真、Autoware仿真等技术交流群;
自动驾驶开发:自动驾驶开发、ROS等技术交流群;
其它方向:自动标注与数据闭环、产品经理、硬件选型、求职面试、自动驾驶测试等技术交流群;
扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】平台矩阵,欢迎联系我们!