无人驾驶网格占用算法比赛,浪潮第一,上汽第三华为第四小米第八

虽然端到端很火,但远未达到实用阶段,传统的人工定义规则,分段感知,占用网格Occupancy才是目前业内比较感兴趣的。在全球权威的CVPR2024自动驾驶国际挑战赛(AutonomousGrandChallenge)中,Occupancy算法(下称Occ)比赛吸引了97个团队参加比赛,其中包括众多业内团队,第一名是浪潮信息,第二名是卡车自动驾驶领域内的嬴彻科技,第三名是上汽,第四名是华为诺亚方舟实验室和深圳香港中文大学联合团队,第七名是小米机器人,第八名是小米(论文里说是独立研究者),第九名是长安汽车与地平线合资公司长线智能。

图片来源:CVPR2024自动驾驶国际挑战赛

浪潮领先程度明显,嬴彻、上汽和华为基本属于第二梯队,小米和长安属于第三梯队。比赛规则是用六张环视图片预测BEV视角下的3DOccupancy,接近实战,非常有意义。

浪潮Occ算法框架

图片来源:浪潮信息

浪潮Occ算法框架如上图,包含四个部分,首先是基于图像的编码,然后是前向的transformer模块,接着是3D特征编码,最后是预测头输出。

BEVDepth框架

浪潮Occ前半部分参考了2022年中科院提出的BEVDepth(上图为BEVDepth框架),用激光雷达点云深度图做监督,来训练视觉的深度值预测,当然直接用激光雷达的深度值会更好,不过成本就高了点。除了引入比较新颖的深度预测,其他还是英伟达的LSS算法,将图像特征投影到统一3D空间,预测每个像素的深度值。投影特征VOXEL化变为3DVolume特征,再送入3D特征编码器,最后预测网格占用并语义分割。

浪潮信息的看起来缺乏新意,但效果就是不错,其2D骨干网用的是FlashInternImage-L,这是一种针对视频形式开发的2D图像骨干网。

几种2D图像骨干网性能对比

图片来源:网络

FlashInternImage有多个版本,T版本参数仅3000万,S版本有5000万,B版本有9700万,L版本有2.23亿,T\S\B三个版本性能差别不大,L版本则有显著提升,这再次验证了大模型的威力,模型越大越好,压缩模型只会导致性能下降,压缩模型都是不得已的妥协,可人命关天的事情能妥协么?

预测头方面,浪潮追随英伟达的FB-OCC,利用Focalloss、AffinityLoss、Lovasz-SoftmaxLoss。

第二名嬴彻科技与澳门大学合作团队,嬴彻科技(InceptioTechnology)成立于2018年9月,是一家专注于自动驾驶卡车网络运营的公司。嬴彻科技由物联网科技公司G7联合普洛斯和蔚来资本共同出资创建,已获5轮近7亿美元的融资。

嬴彻科技Occ框架

图片来源:嬴彻科技

嬴彻科技Occ框架,与浪潮信息Occ差不多,实际目前Occ算法基本定型,BEVOcc大部分都是英伟达LSS算法的延伸,拼的主要是工程化和图像骨干网。

嬴彻科技的Flow算法

Occ离不开Flow或者说追踪,嬴彻科技的Flow算法如上图,最后一帧的特征由序列预测得到,无需额外运算。Voxel特征是下一帧坐标Wrap得来,下一帧坐标则是用未来监督预测流得知。

嬴彻科技的Occ选择Swin-B做骨干网,参数只有8800万,性能自然不如浪潮信息的FlashInternImage-L。

上汽排名第三,但未有公开论文,Occ领域论文创新已经比较困难,BEVOcc可发挥的空间有限,华为排名第四,也未公布论文,大概率还是华为去年的RadOcc。稀疏Occ目前性能不佳,但消耗算力低,有效距离远,改进空间或许很大,华为和上海交大提出了一种稀疏Occ,称为SparseOcc,论文名字RethinkingSparseLatentRepresentationforVision-BasedSemanticOccupancyPrediction,稀疏Occ相对典型的稠密Occ,浮点运算可以大幅减少74.9%,这是其最大优势。稠密Occ的研究绝大部分都是基于英伟达8张A100显卡,这在车载领域显然不可能,所以研究稀疏Occ很有必要。

目前绝大多数是BEV表示,有明显的压缩,会有信息损失。

自动驾驶的基于视觉的感知需要对3D空间进行显式建模,其中映射2D潜在表示并应用于后续的3D操作。然而,在密集的潜在空间上操作会带来立方时间和空间的复杂性,这限制了感知范围(有效距离有限,一般都在10-30米内)或空间分辨率(分辨率高会大量占用存储)方面的可扩展性。现有方法使用鸟瞰图(BEV)或三视角视图(TPV)等投影来压缩密集表示。尽管这些投影很有效,但会导致信息丢失,尤其是对于语义占用预测等任务。

SparseOcc是一个受稀疏点云处理启发的高效占用网络。它利用无损稀疏潜在表示和三个关键创新。首先,三维稀疏diffuser用空间分解的三维稀疏卷积核进行潜在补全;其次,特征金字塔和稀疏插值利用来自他人的信息增强了尺度;最后,transformerhead被重新设计为稀疏变体。它还提高了准确性,从12.8%到14.1%mIOU,不过这与稠密BEVOcc相比还是有差距。

SparseOcc框架

上图是SparseOcc框架,模型的初始阶段,仍遵循英伟达提出的Lift-Splat-Shoot(LSS)框架。图像首先通过图像编码器,如ResNet骨干网,用FPN增强,该编码器在2D透视平面上生成潜在特征。随后,使用预测的深度图将二维潜在特征提升到三维空间。这其中VOXEL中的80%是空的,这种稀疏性是由于LSS的性质而产生的,其中2D特征通过光线投射在远处区域变得更稀疏。

SparseOcc选择spconv即SpatialSparseConvolution库来实现3D稀疏卷积,然后构建稀疏完成块。稀疏卷积在至少一个非空体素驻留的局部窗口中执行计算,从而允许将特征从非空体素扩散到它们的相邻Voxel。扩散范围可以通过堆叠多层稀疏卷积来扩展。为了保持空间稀疏性,在稀疏完成块中只使用一个3D卷积层。再此之后引入ContextualAggregationBlock上下文聚合块,以有效利用来自本地上下文的几何和语义特征。为了构造这个块,特意选择sparsesubmanifoldconvolution而不是常规稀疏卷积。子流形卷积确保输出位置仅在相应的输入位置处于活动状态时处于活动状态,从而即使在堆叠多层时也能保持稀疏性。

驾驶场景中的前景对象和背景元素通常表现出特定的形状分布。例如,道路和人行道通常具有位于3D体积底部的薄而平坦的形状,这使得它们可以通过水平方向的卷积来完成。相反,建筑物或类似汽车的物体等结构具有矩形形状,因此需要在垂直方向上扩散特征。为了充分利用这些不同的形状分布,我们将传统的k×k×k核分解为正交核。具体来说,对于稀疏完成块,用三个连续的层替换稀疏卷积,分别有k×k×1、k×1×k和1×k×k核。对于上下文聚合遵循Cylinder3D,用分解层的两个平行但不对称的分支替换k×k×k子流形卷积。

采用nuScenes-Occupancy改造的OpenOccupancy验证集上的语义占用预测得分

上图中,为了进行准确性评估,无人驾驶网格占用算法比赛,浪潮第一,上汽第三华为第四小米第八报告了每个语义类的几何度量IoU、语义度量mIoU和IoU。为了进行效率评估,还报告了FLOP、训练GPU内存和3D/整体推理延迟。C表示相机,粗体数字表示最佳效果。纯视觉效果不错,但这是一个非常冷门小众的验证集,很难全面对比。稠密BEV占用网络一旦加入激光雷达,性能会远胜纯视觉,即便不加入激光雷达,改为加入深度值,效果也比稀疏网络要好不少。

SemanticKITTI上的语义分割验证集得分对比

上图是SemanticKITTI上的语义分割验证集得分对比,这个得分基本上最高了,语义分割这个任务和稠密BEVOcc基本相差无几。

网格占用将是未来自动驾驶的主流算法,端到端短期不会是主流,网格占用算法也很可能是稀疏算法,而非目前研究最多的稠密BEV。学术圈领先产业界至少3年,自动驾驶的迭代速度实际很慢。

免责说明:本文观点和数据仅供参考,和实际情况可能存在偏差。本文不构成投资建议,文中所有观点、数据仅代表笔者立场,不具有任何指导、投资和决策意见。

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文

评论

最近发表