摘要:华为最新的论文《VisionPAD: A Vision-Centric Pre-training Paradigm for Autonomous Driving》,10位作者中有5位来自华为诺亚方舟实验室,其余基本都是香港中文大学,且这其中还有3个人是在华为诺
华为最新的论文《VisionPAD: A Vision-Centric Pre-training Paradigm for Autonomous Driving》,10位作者中有5位来自华为诺亚方舟实验室,其余基本都是香港中文大学,且这其中还有3个人是在华为诺亚方舟实验室实习,可以说有8个人来自华为诺亚方舟实验室。VisionPAD提出了一种比较新颖的预训练方法来提升OCC性能,将OCC性能关键指标mIoU推高到45%,达到业内第一,学术界一般研究超前课题,但华为依然研究BEV+OCC,显示出传统算法还有很强的生命力。
图片来源:论文《A Survey on Occupancy Perception for Autonomous Driving: The Information Fusion Perspective》
BEV+3D语义分割栅格占有法是目前性能最强的感知算法,栅格占有法一般缩写成OCC。虽然模块式端到端没有显性输出,但论到感知性能,传统算法是可以碾压端到端的,而端到端在决策规划、轨迹预测方面比传统算法潜力要深很多。
近年来主要的3D OCC研究论文荟萃(截至2024年6月)
表来源:论文《A Survey on Occupancy Perception for Autonomous Driving: The Information Fusion Perspective》
Modality: C - Camera; L - LiDAR; R - Radar; T – Text。Feature Format: Vol - Volumetric Feature; BEV - Bird’s-Eye View Feature; PV - Perspective View Feature; TPV - Tri-Perspective View Feature; Point - Point Feature。Lightweight Design: TPV Rp - Tri-Perspective View Representation; Sparse Rp - Sparse Representation; TRDR - Tensor Residual Decomposition and Recovery。
Head: MLP+T - Multi-Layer Perceptron followed by Thresholding.
Task: P - Prediction; F - Forecasting; OP - Open-Vocabulary Prediction; PO - Panoptic Occupancy。Loss: [Geometric] BCE - Binary Cross Entropy, SIL - Scale-Invariant Logarithmic, SI - Soft-IoU; [Semantic] CE - Cross Entropy, PA - Position Awareness, FP - Frustum Proportion, LS -Lovasz-Softmax, Foc - Focal; [Semantic and Geometric] Aff - Scene-Class Affnity, MC - Mask Classifcation; [Consistency] SC - Spatial Consistency, MA - Modality Alignment, Pho -Photometric Consistency; [Distillation] KD - Knowledge Distillation。
3D OCC主要缺陷是数据集成本过高,绝大部分3D OCC算法都是使用强监督数据集,而3D OCC的数据集打造成本高昂,基本上无法使用机器标注,只能人工标注,费时费力费钱传统算法就是如此,而全局型端到端最大的优点就是可以使用完全非监督(自监督)数据,即数据集成本可以是零,而使用多模态大模型做全局型端到端更是大幅度节约成本,基本不需要算法工程师了,自动驾驶团队裁员95%都能正常运转。
Self-Supervised Learning(自监督学习)是一种无监督表示学习方法,其核心在于通过设计辅助任务(也称为“预训练任务”或“前置任务”)来挖掘数据自身的表征特征作为监督信号,从而提升模型的特征提取能力。为了自监督Self-Supervised Learning,业内有两条思路,一是对比学习,具体可以看论文《BEVContrast: Self-Supervision in BEV Space for Automotive Lidar Point Clouds》作者基本都来自宝马自动驾驶主要供应商法雷奥。二是MAE(Masked Autoencoders,即掩码自编码器)是一种在计算机视觉领域广泛应用的自监督学习方法。MAE通过在输入的图像或文本中随机遮盖部分数据(如图像中的patches或文本中的单词),然后让模型去预测被遮盖的部分,并将预测结果与真实的部分进行比较,计算误差作为损失。这种方法使模型能够直接重构被遮盖的数据,从而实现自监督学习。
Self-Supervised Learning vs Supervised Learning
对比学习和MAE这两种粗略coarse监督,无法捕捉到3D几何信息、语义信息和基于时间序列的动态元素,浙江大学提出了《UniPAD: A Universal Pre-training Paradigm for Autonomous Driving》,上海AI实验室提出了《Visual Point Cloud Forecasting enables Scalable Autonomous Driving》即ViDAR。UniPAD从体素特征重建多视角深度地图和图像来实现预训练,使用可微分函数体渲染(体渲染是一种基于逆光线传输方程的3D重建方法)重建一个完整的几何表示。ViDAR则是将transformer预测的下一帧和未来Lidar帧监督渲染的深度图结合。这两种方法都严重依赖Lidar深度信息的强监督来学习3D几何信息,而目前自动驾驶领域是以摄像头为核心,特别是BEV领域。顺便说一句,纯激光雷达感知性能远比纯视觉要好,两者融合,性能只有非常轻微的提升,几乎可以忽略不计。
华为在UniPAD上加以改进,下图是两者的对比
UniPAD vs. VisionPAD
图片来源:论文《VisionPAD: A Vision-Centric Pre-training Paradigm for Autonomous Driving》
华为不使用激光雷达友好的体渲染方程,改用基于锚点的3D Gaussian Splatting(简写为3D GS)技术,其实3D GS(https://github.com/graphdeco-inria/gaussian-splatting)和MVS,SFM,NeRF这类体渲染技术类似,不过在高分辨率图片上由于需要使用强监督神经网络,导致训练和渲染都需要十分昂贵的代价。3D 高斯泼溅的核心是一种光栅化技术,类似于计算机图形学中的三角形光栅化,它可以实时渲染。首先,将多个视点的图像转换为点云,然后将点云转换为带参数的高斯分布,最后使用机器学习来学习参数。它允许实时渲染从小图像样本中学习到的逼真场景。最近风头很盛,大有超过NeRF的态势。
此外为了只从图像中学习运动线索,移动线索(motion cues)由像素位移和背景位移的差值来定义。华为提出一种自监督体素速度估计算法。华为使用一个辅助神经网络任务头和基于时间戳的近似体素流来预测每个体素的速度。随后,华为封装(wrap)当前帧的体素到相邻帧,并用相应的图像监督 3D-GS 重建。这种速度预测使模型能够解耦动态和静态体素,便于下游任务中的运动感知。此外,华为采用多帧光度一致性损失函数进行三维几何预训练,这是一种自监督学习获得深度估计值的方法,具体可以看论文《Digging Into Self-Supervised Monocular Depth Estimation》,这是2018年的论文了。
VisionPAD整体架构
以一个视觉感知模型为主体,VisionPAD 利用多帧、多视角图像作为输入,生成显式的体素表示。之后,一个 3DGS解码器从体素特征中重建多视角图像。随后,应用速度引导的体素变形,将当前帧的体素特征变形到相邻帧,从而利用相邻帧图像作为监督,通过 3D-GS 解码器实现自监督重建。最后,通过相对位姿进行重投影所知的光度一致性损失,强制 3D 几何约束。
在上图中,牵涉非常多的几何和光传播方程,如今绝大多数程序员和自动驾驶研发人员都无法深度理解这种复杂的几何算法和光传播算法。
自监督速度估计
目前的体素特征被扭曲到相邻帧。随后,使用 3DGS 解码器渲染多视图图像,并通过在该帧中捕获的图像进行监督。
在nuScenes数据集上的得分表现如上,因为是自监督的,距离强监督的感知算法自然有不小差距。目前nuScenes上NDS得分最高是北航和图森的MV2Dfusion-e,高达78.8,mAP是0.779,排除地图和外接数据,nuScenes上NDS得分最高是上汽的BEVFusion4D-e,也有77.2,顺便说一下这是2023年3月的记录,至今无人能打破,传统算法的缺点就是进展缓慢。
不过VisionPAD的专长是OCC,感知性能不强是正常的。
几种OCC算法对比
上图是几种OCC算法对比,很明显,VisionPAD压倒性的第一,不过测试数据集是OPUS,不是常见的Occ3D-nuScenes。
目前Occ3D-nuScenes上的排名
这是目前Occ3D-nuScenes上的排名,华为大幅提高了自监督学习OCC算法的性能。不过和强监督的最顶级算法COTR比应该还是有差距。顺便说一句,COTR是华东师范大学提出的,一个师范大学的OCC算法轻松碾压清华和一众海外名校。
强监督自有强监督的好处,提升非常明显。
对学术界来说,基本不考虑成本,产业界要在成本和性能之间找到平衡点,不过绝大部分企业更倾向于压低成本,端到端大幅度降低研发成本,但部署硬件成本暴增,传统算法研发成本居高不下(不过数据集的成本正在显著下降,自监督越来越多),但部署成本远低于端到端,对于出货量小的企业而言,分摊到每辆车上的研发成本可能比硬件成本还高,端到端几乎是唯一选择,而对出货量大的企业来说,两者皆可选,大部分厂家还是选择传统算法。
免责说明:本文观点和数据仅供参考,和实际情况可能存在偏差。本文不构成投资建议,文中所有观点、数据仅代表笔者立场,不具有任何指导、投资和决策意见。
来源:佐思汽车研究