FlashOcc是一个它只需2D卷积就能实现“占用预测模型”,具有快速、节约内存、易部署的特点,偏工程方向的工作。
它首先采用2D卷积提取图形信息,生成BEV特征。然后通过通道到高度变换,将BEV特征提升到3D空间特征。
对于常规的占用预测模型,将3D卷积改为2D卷积,将三维体素特征改为BEV特征。而且不用Transformer注意力算子。
论文地址:FlashOcc: Fast and Memory-Efficient Occupancy Prediction via Channel-to-Height Plugin
代码地址:https://github.com/Yzichen/FlashOCC
体素特征表示,需要大量内存和计算资源,而且通常会使用一些复杂算子,比如:3D卷积、Deformable Attention、Transformer。
FlashOcc认为理想的框架,应该对不同的芯片进行部署友好,同时保持高精度。
采用了一种即插即用的范式,使用2D卷积层来提取特征,并通过一个通道到高度的转换来,提升BEV层的输出到3D空间。
FlashOcc的模型框架如下图所示,核心步骤分为7步:
其中,通道到高度变换,是指将BEV特征(BxCxWxH),转为3D空间特征(BxC'xZxWxH)。
这里的B是指batch size,C是指BEV的特征通道数量,C'是指3D空间特征通道(类别数量);C =?C' x?Z,对应通道到高度变换思想。
W,H,Z分别对应三维空间中x,y,z的维度。
它由5个关键模型组成:
?1、占用模型改进对比
细节展开,下图是常规的占用预测模型,使用3D体素特征表示,并用到3D卷积和Transformer等算子。
下图是FlashOcc模型,使用BEV特征表示,只用到2D卷积算子。
通过BEVDetOcc和UniOcc中组建替换为FlashOcc后,进行实验对比。
替换为FlashOcc后在速度、内存消耗和训练时间方面,都是更优的。
2、Efficient Sub-pixel Paradigm
子像素卷积技术: 这种技术首先在图像超分辨率中被提出,然后通道重排代替上采样来提高低分辨率数据的分辨率,与去卷积层相比,成本更低
基于这种方法,提出了通道到高度转换作为一种高效的占用预测方法,直接从平坦的BEV级特征通过通道到高度变换重塑占用空间特征。
在传统的图像超分辨率方法中,一个低分辨率图像会被上采样(即插值)到一个更高的分辨率。然而,这种插值通常是一种线性过程,可能会导致细节的丢失或模糊。子像素卷积采用一种不同的方法来解决这个问题。
在子像素卷积中,网络被训练来学习如何重新排列在低分辨率特征图中的信息,以生成高分辨率的输出。这是通过以下步骤完成的:
卷积层: 首先,使用卷积层来提取低分辨率图像的特征。
特征映射扩展: 接着,使用多个卷积滤波器来增加特征映射的数量。例如,如果目标是将图像的分辨率提高2倍,那么就会使用4倍(2x2)的特征映射数量。
像素重排: 然后,通过一个特殊的重排操作(也称为“像素洗牌”),将这些额外的特征映射转换为高分辨率图像的形式。这个过程实际上是在一个更细粒度的层面上重新排列特征映射,以形成高分辨率输出。
这种方法的优势在于其避免了传统上采样方法可能引入的模糊,同时允许网络学习更加复杂的上采样模式。
在自动驾驶系统中,子像素卷积技术可以用于提高感知模型的分辨率,从而允许车辆更准确地理解其周围的环境,包括路面状况、周围车辆和行人等。
子像素卷积技术被提议用于通过通道到高度变换来实现高效的占用预测,这是一种在BEV级别上工作的技术。
这种方法允许直接从BEV特征中推断出3D结构的高度信息,避免了计算上昂贵的3D卷积操作,从而提高了计算效率并减少了内存消耗。
?3、View Transforme
View Transformer 将摄像头收集的2D图像数据,转换为BEV鸟瞰视图表示。
论文中默认使用LSS方案,它全称是Lift-Splat-Shoot,它先从车辆周围的多个摄像头拍摄到的图像进行特征提取,在特征图中估计出每个点的深度,然后把这些点“提升”到3D空间中。
接着,这些3D信息被放置到一个网格上,最后将这些信息“拍扁”到一个平面视图上,形成BEV特征图。?
?详细信息,看我这篇博客:【BEV感知 LSS方案】Lift-Splat-Shoot 论文精读与代码实现-CSDN博客
4、训练参数
数据情况?
训练细节
下面表格展示了训练细节信息:
?
这不是不是重点,放在后面。占用预测,能解决3D感知中的三个问题:复杂形状缺失、长尾缺陷、无限类别。
占用预测: 判断周围空间中哪些部分被物体占据,哪些是空的。
为了进行占用预测,一种常见的方法是使用三维体素来表示物体和环境。这种方法可以提供非常详细的三维信息,但问题在于它需要大量的内存和计算资源。
因为体素是以三维网格的形式存在的,所以当细节级别增加时,所需处理的数据量会呈指数级增长。
同时当前大多占用预测模型使用Transformer注意力等复杂算子,阻碍了占用预测部署。
在Occ3D-nuScenes评估数据集上,进行的3D占用预测性能测试。使用ResNet-101和Swin Transformer-Base两种不同的基础网络进行了评估。
在训练和部署期间,资源消耗分析。FPS是在单个RTX3090上通过tensorrt以fp16精度测试的。
模型预测效果,如下图所示,展示了其精确捕捉复杂形状的能力。
特别是在对行人的体素描述上,比如突出在胸部的体素可以表示行人手持的移动设备,或行李箱部分。
分享完成~