专栏名称: 智能车情报局
聚焦智能汽车关键技术与创新产品
目录
相关文章推荐
最英国  ·  唐顿移民问答| ... ·  昨天  
英国大家谈  ·  英国政府放大招?伦敦手机有救了 ·  昨天  
最英国  ·  瘆人! ... ·  2 天前  
英国大家谈  ·  英国eVisa可一键过关?手把手教你操作 ·  3 天前  
51好读  ›  专栏  ›  智能车情报局

新晋无人驾驶算法第一名与第二名分析

智能车情报局  · 公众号  ·  · 2024-04-12 20:45

正文


4月18-19日 ,由智猩猩与智东西共同主办的 2024中国生成式AI大会 将在北京JW万豪酒店举行。大会完整议程出炉,55位嘉宾出席!免费票申请通道即将关闭,大会通票(499元标准票)余票有限。扫码抢票。


无人驾驶算法目前基本上都是依赖安波福旗下nuScenes数据集来验证的,这基本上是唯一可量化对比算法优劣的方法。业界大部分厂家对nuScenes数据集得分排行榜并不在意,因为nuScenes数据集主要在学术圈流行,产业界的技术水平远远落后于学术界,即便在nuScenes数据集打榜得到高分,对品牌宣传或者销售都没什么加分,而一旦得到低分,毫无疑问会被竞争对手抓住加以攻击,因此产业界极少去nuScenes数据集打榜。也有少数对自己技术能力非常自信的产业界成员去nuScenes数据集打榜,如零跑汽车的EA-LSS算法曾经占据排行榜第一名大半年,地平线的稀疏4D目前还是纯视觉第一名和第二名,毫末智行的纯视觉则排名第三。nuScenes数据集得分排行榜可以视作算法技术的前瞻发展趋势,每隔一年榜单的前三名基本都会变化。

最新nuScenes数据集3D目标检测任务得分排行榜
图片来源:NuScenes

上表中,零跑汽车的EA-LSS跌至第三名,第一名是北航的MV2DFusion-e,不过使用外接扩展数据。第二名是商汤科技的SpareLIF-e。从NDS得分看,第一名是0.788,但使用了外接扩展数据。第二名是0.777,仅比第三名高了0.001,无人驾驶的进展已经极其缓慢,增加0.001都需要大半年时间。华为2021年10月打榜,排名第六十,NDS得分0.717,与第一名差距也不算太大。特斯拉自然不会参与打榜,个人估计如果特斯拉也来打榜,其排名要在一百名以后了。

有人说学术界和产业界相差很远,实际也未必,如今流行的端到端、大模型、Transformer都是学术界在2020年就已经熟稔的技术。学术界领先产业界大概5-8年。

端到端、大模型、Transformer都源自2020年的DETR。2020年以前的目标检测主要是靠锚框anchor box来确定位置,2020年META与巴黎第九大学联合提出DETR(End-to-End Object Detection with Transformers)用Transformers做端到端目标检测,这篇论文被引用多达1万多次,它彻底改变目标检测算法,相较于之前稠密地在grid上预测目标的anchor-based和anchor-free的方式,DETR直接初始化目标框(query),通过transformer的decode模块迭代地获得优化的query;随后,使用bipartite matching进行预测框和真值框的匹配并计算set loss,对set loss进行优化。迭代优化后的query约等于检测结果,最后一层query要再经过FFN后回归目标框的位置,以及经过softmax来获得类别的标签。一系列基于此范式扩展而来的3D目标检测如雨后春笋般喷薄而出。直接在图像域处理后生成3D结果的方法(未显式使用BEV的方法),要么从3D框投影回到图像域来收集特征进而refine 3D结果,要么把3D position embedding给到图像feature来直接预测3D结果。

目前所有的高级智能驾驶目标检测算法基本都离不开DETR那篇论文,包括特斯拉。

DETR框架
图片来源:DETR(End-to-End Object Detection with Transformers)论文

DETR后来又延伸出DETR3D(2021,DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries),图像域直接预测3D框,多摄,单帧。Sparse4D (2023, Sparse4D: Multi-view 3D Object Detection with Sparse Spatial-Temporal Fusion),图像域直接预测3D框,多摄,时序。MV2D(2023,Object as Query: Lifting any 2D Object Detector to 3D Detection),图像域直接预测3D框,多摄,单帧。PETR(2022,PETR: Position Embedding Transformation for Multi-View 3D Object Detection),图像域直接预测3D框,多摄,单帧。

目标检测和语义分割算法一般分三部分,即骨干、脖颈和头。其中,Backbone, 译作骨干网络,主要指用于特征提取的,已在大型数据集(例如ImageNet|COCO等)上完成预训练,拥有预训练参数的卷积神经网络,例如:ResNet-50、Darknet53等;Head,译作检测头,主要用于预测目标的种类和位置(bounding boxes),在Backone和Head之间,会添加一些用于收集不同阶段中特征图的网络层,通常称为Neck。脖颈(Neck)可以用也可以不用,如果是单一摄像头,单一分辨率或尺寸,脖颈的意义不大,但车载领域目前一般是7或8颗摄像头,且分辨率各不相同,互相之间还可能有重叠,因此能融合多种特征的脖颈就成为必须。

特斯拉和绝大部分厂家只是在head部分用了Transformer,也以此打造BEV,不过基础的特征提取还是CNN的,成本、算力和存储限制,不可能在特征提取部分就使用Transformer。特斯拉的骨干网是Meta也就是Facebook的RegNet。

骨干网有多种,大多有近十年的历史,精度模型的代表比如说 ResNet 系列,DenseNet 系列,这些属于精度优先的;效率模型的代表比如说 MobileNet 系列,ShuffleNet 系列,这些属于效率优先的。2019年的 VOVNet是最新的,它兼顾了精度和效率,由韩国电子通信研究院ETRI提出。

nuScenes得分榜上排名比较靠前的模型使用的骨干网分布
图片来源::DETR(End-to-End Object Detection with Transformers)论文

见上表,NDS得分为综合成绩,越高越好,V2-99就是VOVNet多个版本中的一个,SwinT就是微软研究院提出的Swin Transformer,VOVNetV2-99的模型参数量大约为9690万。

图片来源::DETR(End-to-End Object Detection with Transformers)论文

SwinT二代参数量最大是30亿,ResNet50的参数量是2564万,SwinT相对而言可算是大模型,不过大模型的性能并未提升多少,大模型还需付出至少多出两三倍的存储和算力。当然VOVNetV2-99的模型参数量相对于早期几百万参数的ResNet,也可以说是大模型。大模型在参数从几百万提升到1亿左右,性能提升明显,但继续向上,性能提升并不明显。

BEV的出现实际依赖Transformer,简单的说,视觉BEV感知包含两个部分:一个是视图转换,也就是从透视图(Perspective View, PV)到鸟瞰视图(Bird's Eye View, BEV)的转换;另一个是多传感器的特征层融合。这两个部分统一起来看,可以认为是从单摄像头的PV视图到统一的BEV视图的转换,也可以认为是两个域(Domain)之间的转换。既然是不同域之间的转换,那么交叉注意力就可以在这里派上用场了。在Transformer的编码-解码结构中,解码器就采用了交叉注意力:query来自解码器,是当前要解码的词经过多头注意力模块处理后的特征,而key和value来自编码器的输出。这与自注意力中key/value/query来源于同一个输入是有明显区别的。正因为交叉注意力中query和key/value的来源不同,它经常被用于不同域(Domain)之间的数据转换。正是Transformer的出现,才使得BEV感知的出现。

透视视图到BEV视图的转换,其思路主要有两种。一种是采用几何信息,利用场景的高度或者深度信息将图像转换到BEV视图;另一种是采用交叉注意力直接进行视图转换,不需要任何的假设,也无需中间步骤来估计高度或者深度。前者典型代表是英伟达的LSS(Lift,Splat,Shoot),它是端到端学习的基于深度分布估计的方法,核心是深度估计,这个难度不低,需要强大的几何学理论。后者则正在成为主流,因为它是傻瓜式的,只需要数据,不需要复杂的几何学计算,不估计深度,一切都交给交叉注意力,这也是特斯拉的做法,特斯拉的做法基本近似于BEVFormer。

BEVformer架构
图片来源:网络

在BEVFormer中,多幅图像首先经过主干网络进行特征提取,然后输入空间交叉注意力模块(Spatial Cross-Attention)转换为BEV特征。为了降低计算量,BEVFormer中采用了可变形注意力(Deformable Attention)来实现交叉注意力的计算。在一般的自注意力计算中,我们需要定义query,key和value。假设元素个数为N,那么query,key和value的个数都是N。在可变形注意力中,key和value只在与query临近的位置选取,因此其个数远小于N。如果将可变形注意力用于视图转换(比如图像到BEV),那么query来自于BEV视图,而key和value则来自于图像视图。为了完成视图转换,我们首先需要一个BEV视图下的query。如果没有时序融合模块,那么这个query就是可学习的BEV网格特征,大小为HxWxC,其中H和W是BEV网格的个数,C是特征维度。如果包含时序融合模块,那么query就是融合后的BEV特征。

LSS首先通过深度估计将图像点转换为三维点云,点特征直接来自于对应的图像特征;而BEVFormer首先定义三维网格,也就是三维点云,点特征同样来自于图像特征,但并不是直接对应,而是通过可变形注意力在对应图像点的邻近区域计算获得。因此,LSS和BEVFormer的视图转换都是通过二维图像到三维点云的对应来实现的,但主要区别在于三维点云(位置和特征)的获取方式不同。

BEV通常是稠密的,消耗算力和存储很高,如果要做到每秒30帧以上的流畅度,需要英伟达A100这样昂贵的运算资源,即便如此,也只能支持5-6个200万像素摄像头;如果是800万像素,需要多个H100这样的极其昂贵的资源,汽车行业永远也无法使用这样昂贵的芯片。还有就是相对摄像头,激光雷达是典型的稀疏特征传感器。我们这个世界也是稀疏特征的,稀疏化有利于传感器克服噪音,增加鲁棒性。此外,随着距离的增加,网格必然稀疏化,稠密网络通常只能维持在大约50米以内。因此学术界自2021年就开始转向稀疏目标级而非稠密网格型算法。稀疏目标级算法经过长期努力,目前性能已与稠密网格相差无几。

商汤科技的算法SparseLIF框架
图片来源:商汤科技

排名第二的商汤科技的算法SparseLIF框架,论文全称SparseLIF: High-Performance Sparse LiDAR-Camera Fusion for 3D Object Detection,看名字便知这是稀疏型算法。主要创意有三点,一是PAQG,Perspective-Aware Query Generation,二是RoI-Aware Sampling (RIAS),三是Uncertainty-Aware Fusion (UAF)。

图片来源:商汤科技

PAQG模块,3D检测器对于远处的目标或较小的目标非常困难,2D检测器则表现优秀,PAQG将2D和3D结合,在透视损失监督学习下预测稠密框架,选取高分框架处理高质量query,通过较差注意力模块与摄像头特征交互。

RIAS主要对抗传感器噪音。图片来源:商汤科技

排名第一的算法MV2Dfusion-e引入了外部数据,对其他算法来说可能不够公平,MV2Dfusion-e也未有明确的论文支持,不过MV2D的论文倒是很容易查到,论文全称Object as Query: Lifting any 2D Object Detector to 3D Detection,主要作者来自北航和图森。

MV2D框架
图片来源:北航

MV2D框架如上图,给定输入的多视图图像,分别使用图像特征提取器提取图像特征、2D检测器获取每个视图的2D检测结果;动态查询生成器将图像特征、2D检测框和相机参数作为输入来初始化1组目标查询;其中,RoI-Align应用于目标区域以获得查询生成器的固定长度目标特征。落在对象区域中的所有特征都用 3D PE(3D 位置嵌入)进行装饰,然后将对象查询和对象特征输入到解码器以更新查询特征。与Vallina Transformer解码器相比,MV2D中的解码器采用稀疏交叉注意力,其中每个对象查询仅与其相关特征交互。最后,将预测头应用于更新的对象查询以生成 3D 检测结果。纯粹的MV2D在nuScenes上得分并不高,只有0.561。

借助有效的2D对象检测器,可以很好地证明对象的存在,并将对象位置限制在某些图像区域内,从而为在3D空间中定位对象提供有价值的先验信息,大大提高性能。但也有缺点,由于MV2D从2D检测生成对象查询,因此如果2D检测器未能在所有摄像头视图中检测到某个对象,则可能会丢失该对象。

2024中国生成式AI大会预告







请到「今天看啥」查看全文