点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
Monocular BEV Perception of Road Scenes via Front-to-Top View Projection
题目:通过前视至顶视图投影的单目道路场景BEV感知
作者:Wenxi Liu; Qi Li; Weixiang Yang; Jiaxin Cai; Yuanlong Yu; Yuexin Ma; Shengfeng He; Jia Pan
源码: https://github.com/avishkarsaha/translating-imagesinto-maps
摘要
高精地图重建对于自动驾驶至关重要。基于激光雷达的方法由于昂贵的传感器和耗时的计算而受到限制。基于相机的方法通常需要分别执行道路分割和视图转换,这经常导致失真和内容缺失。为了推动技术的发展,我们提出了一个新颖的框架,仅使用前视单目图像重建由道路布局和车辆占用组成的局部地图在鸟瞰图中。我们提出了一个前视到顶视图投影(FTVP)模块,它考虑了视图间循环一致性的约束,并充分利用它们的相关性来加强视图转换和场景理解。此外,我们应用多尺度FTVP模块来传播低级特征的丰富空间信息,以减少预测对象位置的空间偏差。在公共基准测试上的实验表明,我们的方法在道路布局估计、车辆占用估计和多类语义估计等各项任务上达到了与最先进技术相当的性能水平,同时保持了优越的效率。
关键词
BEV感知
自动驾驶
分割
I. 引言
随着自动驾驶技术的快速发展,最近在相关研究课题上有很多努力,例如场景布局估计[1]、[2]、[3]、[4]、[5]、[6]、[7]、3D目标检测[8]、[9]、[10]、[11]、[12]、[13]、车辆行为预测[14]、[15]、[16]、[17]和车道检测[18]、[19]、[20]。
在这些任务中,高精地图(HD map)的重建对于自动驾驶的感知、预测和规划是基础且关键的。其主要问题涉及到局部地图的估计,包括道路布局以及3D世界中附近车辆的占用情况。现有的技术依赖于昂贵的传感器,如激光雷达,并需要对点云数据进行耗时的计算。此外,基于相机的技术通常需要分别执行道路分割和视图转换,这会导致失真和内容的缺失。
为了推动技术的发展,我们的工作旨在解决从单个单目前视图像估计顶视图或鸟瞰图(BEV)中道路布局和车辆占用的实际而具有挑战性的问题(见图1)。然而,由于视图之间的巨大差异和严重的视图变形,从前视图像理解并估计顶视图场景布局是一个极其困难的问题,即使对于人类观察者也是如此。同一场景在鸟瞰图和前视图的图像中具有显著不同的外观。因此,解析并将前视图的道路场景投影到顶视图需要充分利用前视图图像的信息以及对未见区域的内在推理。
传统方法(例如,[21]、[22])侧重于通过估计相机参数和执行图像坐标变换来研究透视变换,但由于几何变形导致的BEV特征图中的空白导致结果不佳。最近的基于深度卷积神经网络(CNN)的方法[23]、[24]主要依赖于深度CNN的幻觉能力来推断视图之间的未见区域。总的来说,这些方法没有对视图之间的相关性进行建模,而是直接利用CNN以监督的方式学习视图投影模型。这些模型需要深层网络结构来传播和转换前视图的特征,通过多层空间对齐到顶视图布局。然而,由于卷积层的局部受限的感受野,很难拟合视图投影模型并识别小尺度的车辆。
为了解决这些问题,我们推导出一个新颖的框架,从单个单目前视图像中估计道路布局和车辆占用情况。为了处理视图之间的巨大差异,我们在网络中提出了一个前视到顶视图投影(FTVP)模块,由两个子模块组成:循环视图投影(CVP)模块在其各自的域中桥接视图特征,交叉视图变换器(CVT)相关联视图,如图1所示。具体来说,CVP使用多层感知器(MLP)投影视图,它取代了通过卷积层传递的标准信息流,并涉及循环一致性的约束,以保留对视图投影相关的特征。换句话说,将前视图转换为顶视图需要对视觉特征进行全局空间变换。然而,标准的CNN层只允许对特征图进行局部计算,并且需要几层才能获得足够大的感受野。另一方面,全连接层可以更好地促进前视到顶视图的投影。CVT明确地关联了CVP获得的视图前后投影的特征,这可以显著增强视图投影后的特征。我们在CVT中涉及了一个特征选择方案,利用两种视图的关联来提取最相关的信息。
然而,在我们网络模型的核心,低分辨率编码的顶视图特征可能导致预测对象位置的空间偏差,因为严重压缩的特征信息丢失。为了缓解这个问题,需要利用低级视觉特征来细化上采样的特征。为了桥接前视图的低级视觉特征和上采样特征,我们提出了应用多尺度FTVP模块来投影和传播低级特征。具体来说,前视图特征从下采样流中首先通过FTVP模块投影和转换为顶视图特征。然后,所有投影的特征与上采样流中相应的顶视图特征连接。此外,为了进一步增强来自不同尺度的顶视图特征的表示,我们采用了深度监督来监督分割头。
在全面实验中,我们证明了我们的前视到顶视图投影模块可以有效地提高道路布局和车辆占用估计的性能。对于这两项任务,我们在公共基准测试上将我们的模型与最先进方法进行了比较,并证明了我们的模型优于所有其他方法。值得注意的是,在估计车辆占用方面,我们的模型在KITTI 3D对象数据集上比竞争方法至少提高了34.8%,在Argoverse数据集上至少提高了46.4%。此外,我们还在Argoverse和NuScenes数据集上预测了七个以上的类别的语义分割结果。我们展示了我们的方法超过了最新的现成方法,这反映了我们提出的模型的通用性和合理性。最后,我们展示了我们的框架能够在单个Titan XP GPU上以25 FPS处理1024×1024图像,并且适用于全景高清地图的实时重建。
总的来说,我们论文的贡献是:
在这项工作中,我们提出了一个新颖的前视到顶视图投影模块,称为FTVP,它由循环视图投影结构和交叉视图变换器组成。具体来说,FTVP利用前视图和鸟瞰图之间的循环一致性建立它们之间的相关性并加强视图投影。
我们还采用了多尺度FTVP模块,将不同尺度的前视图特征投影和传播到顶视图特征,为更精确的物体位置估计提供多尺度细节。
在公共基准测试上,我们证明了我们的模型在道路布局、车辆占用和多类语义估计等任务上达到了与最先进方法相当的性能水平,同时保持了优越的效率。
注意,这项工作的初步版本在[25]中提出。这篇文章扩展了[25]的方法和实验,具体如下。首先,我们通过调整前视到顶视图投影模块的结构来更新我们的模型,我们利用原始前视图特征来补充视觉信息,从而改进投影特征,提高了最终顶视图特征的表现力并增强了模块结构的鲁棒性(第III-B节)。其次,我们之前的模型[25]倾向于在车辆占用预测和道路布局估计中引起空间偏差,这是由于将低分辨率特征上采样到更高分辨率。为了解决这个问题,我们通过直接从下采样流通过多尺度FTVP模块投影多尺度特征来重新设计框架,以加强使用跳跃连接的上采样过程(第III-C节)。通过上述改进,我们提出的模型在所有数据集上的表现都优于初步版本。特别是在KITTI 3D对象数据集上,我们的方法在mIOU和mAP方面分别提高了4.9%和17.5%。第三,我们将我们的模型扩展到处理多于七个类别的多类分割问题,这表明我们的模型能够处理不仅限于车辆和道路的场景解析(第IV-C节)。最后,我们评估并讨论了我们提出的框架的有效性,并进行了额外的实验,包括使用不同的主干与多类BEV分割的最新方法进行比较,用于Argverse和NuScenes数据集(第IV-C节和IV-D节)。我们还分析了我们模型识别和定位小型或远距离物体的性能(第IV-E节)。此外,我们展示了我们提出的网络在效率上优于先前的工作,并且能够在单个Titan XP GPU上实现实时性能。 在本文的其余部分,我们首先在第II节中回顾相关工作。然后,我们将在第III节中描述整体框架并介绍前视到顶视图投影模块。在第IV节中,我们将展示和讨论实验结果。最后,我们在第V节中总结我们的工作。
III. 我们提出的方法
A. 网络概述
我们工作的目的是估计给定单目前视图像的鸟瞰图中的道路场景布局和车辆占用情况,以语义掩模的形式。
我们的网络架构如图2所示。前视图图像I首先通过基于ResNet[70]的编码器作为主干网络传递,以提取多尺度视觉特征。之后,我们提出的前视到顶视图投影模块将不同尺度的编码特征投影并传播到解码器,以产生顶视图语义掩模。在以下小节中,我们将详细说明我们的前视到顶视图投影模块及其在不同尺度上的多尺度部署。
B. 前视到顶视图投影模块
由于前视图和顶视图之间的大差距,视图投影过程中可能会丢失大部分图像内容,因此传统的视图投影技术导致结果不完整。为此,已经利用基于CNN的方法的幻觉能力来解决这个问题,但由于深度网络内部的视图间相关性并不容易被建模,我们引入了一个前视到顶视图投影模块来加强视图间的相关性,并利用深度网络的能力。我们提出的FTVP模块的结构如图2所示,由两部分组成:循环视图投影和交叉视图变换器。
循环视图投影(CVP):由于前视图的特征在空间上与顶视图的特征不对齐,我们遵循[43]的方法,部署了一个由两个全连接层组成的MLP结构来将前视图的特征投影到顶视图,这可以取代通过堆叠卷积层的标准信息流。如图2所示, 和 分别代表视图投影前后的特征图。因此,视图投影可以通过以下方式实现:,其中 指的是从ResNet主干中提取的特征。
然而,这样一个简单的视图投影结构不能保证前视图的信息被有效传递。在这里,我们引入了一个循环自监督方案来巩固视图投影,它通过相同的MLP结构将顶视图特征投影回前视图域。如图2所示, 通过循环回到前视图域计算得到,即 。
为了保证 和 之间的域一致性,我们引入了一个循环损失,即 ,如下所示:
循环结构的好处是双重的。首先,类似于基于循环一致性的方法[71]、[72],循环损失可以天然地提高特征的代表性,因为将顶视图特征循环回前视图域会加强两种视图之间的连接。其次,当 和 之间的差异不能再进一步缩小时,它代表了不需要用于BEV分割的丢失像素,因此 保留了视图投影的关键线索。在图3中,我们通过可视化前视图和顶视图的特征来展示两个例子。具体来说,我们通过选择特征图的代表性通道(即图3的两个例子的第7和第92个通道)并将它们与输入图像对齐来可视化它们。如观察到,X和 相似,但由于域的差异,与 有很大的不同。我们还可以观察到,通过骑自行车, 更多地集中在道路和车辆上。X、 和 将被输入横视图变压器。
交叉视图变换器(CVT):CVT的主要目的是关联视图投影前后的特征(即 和 ),以加强后者。由于 包含了前视图用于视图投影的大量信息,它也可以用来进一步增强特征。如图4所示,CVT大致可以分为两个方案:交叉视图相关性方案,它明确地关联视图的特征以获得注意力图以加强,以及特征选择方案,它从中提取最相关的信息。
具体来说,、 和 分别作为CVT的键()、查询()和值()。在我们的模型中,、 和 的维度被设置为相同。 和 都被展平为块,每个块表示为 和 ,其中 表示 的宽度乘以其高度。因此,可以估计 中的每个块 和 中的每个块 之间的相关性矩阵 ,即对于 中的每个块 和 中的 ,它们的相关性 通过归一化的内积来测量:
有了相关性矩阵 ,我们基于 的每一行的最大值和对应的索引,创建两个向量 ()和 ():
每个 中的元素意味着 中的每个块与所有 块之间的相关性程度,可以作为注意力图。每个 中的元素指示与 中的每个块最相关的 中块的索引。
为此,我们引入了一个特征选择方案 。有了 和 , 可以通过根据相关性矩阵 中最大值的索引从 中检索最相关和紧凑的特征来产生新的特征图 ():
其中 根据索引 从 中检索特征向量 。
总的来说,我们CVT设计的动机在于利用前视图来增强BEV特征。在典型的transformer设计中, 本应被用作值 。然而,训练期间的视图投影是不完美的,导致 不准确。因此,我们选择使用 来接近 的角色,但 也不完美。回想一下, 和 都代表前视图特征,只是 包含了完整但多余的信息,而 和 仅保留了视图投影的线索。因此,如图4所示,我们允许 与 连接以相互补充。之后,连接的特征将通过注意力图 加权,最后通过残差结构与 聚合。总之,该过程可以正式表示为:
其中 表示逐元素乘法, 指的是具有 核大小的卷积层。 是CVT的最终输出,然后将被传递到解码器网络以产生顶视图的分割掩模。
C. 多尺度FTVP模块
如上所述,我们提出的FTVP模块可以获得增强的顶视图特征 以生成精细的分割结果。然而, 的分辨率太低,无法完全保留视觉细节信息,这可能导致从顶视图估计对象位置时的空间偏差。
为了弥补这一缺陷,我们引入了多尺度FTVP模块来桥接解码器中的低级特征和上采样的顶视图特征。如图2所示,提取的前视图特征 在第 尺度上通过FTVP模块进行视图投影,以获得相应的顶视图特征 。在实践中,我们使用编码器中的三个最内层特征进行投影,以避免不必要的计算负担。接下来,投影的特征 与上采样流中的顶视图特征 连接,即 ,以便投影的特征 能够向解码器传递丰富的低级信息。最后,如图2所示,我们采用深度监督方案,通过不同尺度的顶视图特征 上的额外分割头计算多尺度分割损失。
我们可视化了由不同尺度的顶视图特征生成的分割掩模,如图5所示。随着特征分辨率的增加,估计车辆位置的假阴性(即红色区域)和假阳性(即绿色区域)逐渐减少,因为涉及低级信息。此外,对于第3、4和5尺度的特征(即编码器中的三个最高分辨率的中间特征图),它们产生的结果几乎相同,因此只使用三个FTVP模块就足够了。
D. 损失函数
总体而言,我们框架的损失函数定义为:
其中 是用于监督第 尺度特征产生的分割结果的交叉熵损失。网络的主要目标是缩小预测的语义掩模和真实掩模之间的差距。然而,在现实世界的场景中通常包含小型物体,如车辆和行人,这导致类别不平衡问题。因此,在实践中,我们使用类别频率的逆平方根来加权小类别的不平衡损失。此外, 是循环损失的平衡权重,设置为0.001。
IV. 实验结果
为了评估我们提出的模型,我们在各种具有挑战性的场景中进行了几项实验,并将我们的结果与公共基准上的最先进方法进行了比较。我们还进行了广泛的消融实验,以深入了解我们的网络结构。
A. 实施细节
我们使用Pytorch在装有单个NVIDIA Titan XP GPU卡的工作站上实现我们的框架。在大多数实验中,输入图像通过双线性插值标准化为1024×1024,输出大小为256×256。我们采用预训练的ResNet-18或ResNet-50[70]作为我们的编码器主干,不包括瓶颈层。具体来说,在编码器之后,我们使用两个最大池化层和3×3卷积层来减少FTVP模块的计算开销。因此,对于1024×1024分辨率的输入图像,编码器输出的最小特征图尺寸为8×8。在实践中,我们使用尺寸为8×8、16×16和32×32的特征来馈送多尺度FTVP模块。在CVP中,MLP包含两个全连接层和ReLU激活,CVT的每个输入使用1×1卷积层。MLP的通道数设置为ResNet-18为128,ResNet-50为256。解码器由五个卷积块和上采样层组成,空间分辨率增加2倍。在解码器中,来自FTVP模块的投影特征与上采样流中的顶视图特征沿通道维度连接,以生成具有16×16和32×32的新顶视图特征,输出尺寸为256×256。最后,深度监督损失在每个尺度的分割头上计算,这是一个3×3卷积层。
网络参数是随机初始化的,我们采用Adam优化器[73],使用迷你批量大小为6。初始学习率设置为1×10^-4,并在每次迭代后通过多项式学习率策略衰减,其中初始学习率乘以(1 − iter/total_iter)^0.9。
在实践中,我们的模型需要50个周期才能收敛,并且我们的模型可以在我们单个GPU平台上实时运行(25 FPS)。
B. 数据集
我们评估了三个数据集:KITTI[74]、Argoverse[75]和Nuscenes[76]。为了性能评估,我们采用平均交并比(mIOU)和平均精度(mAP)作为评估指标。
KITTI:由于KITTI没有为我们的任务提供足够的道路布局或车辆的注释,我们通常遵循[42]的做法,其中结果被归类在以下数据集中。为了与最先进的3D车辆检测方法进行比较,我们在Chen等人[8]的KITTI 3D对象检测(KITTI 3D Object)分割上评估性能,即3712个训练图像和3769个验证图像。KITTI Odometry数据集用于评估道路布局,其注释来自Semantic KITTI数据集[77]。除了前两个数据集,我们还在[6]中使用的KITTI Raw分割上评估性能,即10156个训练图像和5074个验证图像。由于其真值是通过注册Lidar扫描的深度和语义分割产生的,这些真值不够密集,我们应用图像膨胀和腐蚀以产生更好的真值注释。
Argoverse:此外,我们还在Argoverse(版本1.1)数据集上比较了方法,遵循[3]的设置,该数据集提供了高分辨率的语义占用网格和车辆检测的顶视图,用于评估道路和车辆的空间布局,有6723个训练图像和2418个验证图像。对于多个语义类别,我们遵循[3]的评估协议,选择了1个静态类别(即可行驶区域)和7个动态对象类别(即可车辆、行人、大型车辆、自行车、公共汽车、拖车和摩托车)进行比较实验。
Nuscenes:Nuscenes数据集由在波士顿和新加坡收集的1000个20秒视频剪辑组成。它为23个对象类别提供了3D边界框注释,包括人行道、汽车、拖车等。在我们的实验中,我们遵循[3]的协议。我们选择了4个静态类别(即可行驶区域、人行横道、人行道和停车场)和10个动态对象类别(即可车辆、卡车、公共汽车、拖车、施工车辆、行人、摩托车、自行车、交通锥和障碍物)进行评估。此外,我们还使用了他们的训练和验证分割,即28058个训练图像和5981个验证图像。
C. 比较方法和性能评估
比较方法:为了评估,我们将我们的模型与一些最先进的道路布局估计和车辆占用估计方法进行了比较,包括VED[37]、MonoLayout[42]、VPN[43]、Mono3D[8]、OFT[10]和PYVA[25]。在这些方法中,Mono3D[8]和OFT[10]专门用于检测顶视图中的车辆。对于定量结果,我们遵循[42]中报告的结果。对于MonoLayout[42],我们与他们最新在线报告的结果进行比较,这些结果通常优于原始论文中报告的结果。VPN[43]最初采用了不同摄像机的多个视图来生成顶视图表示。我们调整他们的模型以适应单个视图输入,然后使用与我们任务相同的训练协议重新训练它。同样,VED[37]被重新训练用于道路布局估计的基准,我们获得了与[42]中报告的结果相当或更好的结果。PYVA[25]是我们的初步版本,它关联了视图前后的特征并执行特征选择。
此外,我们还将我们的模型与多类语义估计的最先进方法进行了比较。这些方法包括VED[37]、VPN[43]、PON[3]、OFT[10]、2DLift[53]、Stitch[39]、STA[38]和I2M[40]。这些工作大多专注于估计顶视图语义分割图,其余的则使用检测方法。我们遵循[53]、[39]和[40]为Argoverse和Nuscenes数据集报告的单帧定量结果。
道路布局估计:为了评估我们的模型在道路布局估计任务上的性能,我们将我们的模型与VED[37]、MonoLayout[42]、VPN[43]和PYVA[25]在KITTI Raw和KITTI Odometry数据集上进行了比较。注意,由于我们对KITTI Raw的真值注释进行了后处理,我们根据相同的训练协议重新训练了所有比较方法。比较结果在表I中展示。此外,我们还在Argoverse Road上比较了它们,如表II所示。如观察到的,在我们的三个基准测试中,我们的模型在mIOU和mAP方面都优于竞争对手。此外,与我们的初步版本(即PYVA[25])相比,性能也提高了约+1%,特别是在mAP方面,因为使用多尺度FTVP修正了空间偏差。示例如图6所示。请注意,真值可能包含噪声,因为它们是从Lidar测量转换而来的。即便如此,我们的方法仍然可以产生令人满意的结果。
车辆占用估计:与道路布局估计相比,估计车辆占用是一项更具挑战性的任务,因为车辆的尺寸变化,并且场景中存在相互遮挡。为了评估,我们在KITTI 3D Object和Argoverse Vehicle基准测试上与VED[37]、Mono3D[8]、OFT[10]、MonoLayout[42]、VPN[43]和PYVA[25]进行了比较实验。结果如表II和III所示。在表III中,我们的模型在几个比较方法中表现出色。由于KITTI 3D Object包含几个具有挑战性的场景,大多数比较方法几乎无法获得30%的mIOU和50%的mAP,而我们的模型分别获得了40.69%和59.07%,至少比先前方法提高了34.8%和28.7%。我们的模型在mIOU和mAP方面比PYVA至少提高了4.9%和17.5%,这得益于FTVP结构的改进以及多尺度FTVP模块的引入,增强了模型并纠正了空间偏差。对于Argoverse Vehicle在表II中的评估,我们的模型以很大优势超越了其他方法,即在mIOU和mAP方面至少比其他比较方法提高了46.4%和29.9%。图7的前三行展示了KITTI 3D Object上车辆占用估计的示例。对于具有多个停放在道路两侧的车辆的具有挑战性的案例,我们的模型仍然可以表现良好。图7的最后四行展示了在Argoverse上道路和车辆联合估计的示例,我们突出了我们结果的优势。
多类语义估计:我们将我们的模型扩展到处理Argoverse上的8类和Nuscenes上的14类多类语义分割问题。与道路布局估计和车辆占用估计相比,多类语义估计是一项更具挑战性的任务,因为它必须适应宽阔的道路和各种尺寸的车辆。具体来说,在道路布局和车辆占用的任务中,它产生了分辨率为256×256的BEV输出。对于多类语义估计,遵循先前的方法(例如PON[3]和I2M[40]),我们应用了相同的BEV格子,分辨率为0.25米,横向方向跨度为[-25,25]米,纵向方向跨度为[1,50]米。在这些任务中,所有比较模型都使用200×200的分辨率产生BEV图。我们对Argoverse数据集进行了与VED[37]、VPN[43]、PON[3]、Stitch[39]和I2M[40]的比较实验。对于Nuscenes,我们引入了更多的比较方法,包括OFT[10]、2D-Lift[53]和STA[38]。比较结果分别在表IV和V中描述。对于I2M,我们提供了在[40]中报告的原始结果,我们还复现了其结果,记为I2M。具体来说,I2M是基于其官方发布的训练代码进行训练的。批量大小设置为6,我们训练了40个周期。初始学习率设置为,并且在每个周期后通过多项式学习率策略衰减,其中初始学习率乘以。
复现的模型也将在我们的可视化和消融研究中使用。如观察到的,我们的模型在ResNet-18作为主干的模型中,通过至少2% mIOU的改进显著优于先前的方法,输入分辨率相似。在ResNet-50作为主干的模型中,我们的模型也优于使用较小分辨率输入图像的PON和Stitch。与I2M相比,我们的方法在mIOU上略低,但每个类别的性能差异显著。具体来说,我们的方法在静态类别上优于I2M,在动态类别上略逊一筹。这可能是因为I2M的模型容量比我们的大得多。对于施工车辆(C. V.)类别,我们的表现远不如I2M,这归因于训练样本数量有限,导致与卡车类别混淆。然而,当涉及到更小的对象,如摩托车、障碍物和行人时,两种方法在捕获这些较小目标方面表现出相当的性能。另一方面,我们的模型在Argoverse上的“拖车”类别上比最先进方法有显著改进。图8展示了Nuscenes上多类语义估计的示例。我们观察到,我们的方法在静态和动态类别的位置和形状估计方面比其他方法更好。
D. 消融研究
为了深入了解我们的网络结构,我们对前视到顶视图投影模块进行了几项消融实验。
前视到顶视图投影模块:回想一下,我们的前视到顶视图投影模块由CVP和CVT组成。具体来说,CVP可以细分为MLP和循环结构。CVT可以分解为跨视图相关性方案和特征选择方案。以下,我们将基于KITTI 3D Object数据集研究这些模块的必要性,如表VI所示。
首先,基线是使用与我们的模型相同的编码器和解码器的纯编码器-解码器网络。然后我们向基线中插入了MLP结构。如表VI所示,它明显提高了视图投影的有效性。接下来,我们向网络中添加了跨视图相关性方案,它测量了和之间的相关性,并将其作为注意力图应用于加强。如观察到的,随着跨视图相关性方案的引入,性能显著提高。然后我们引入了循环结构以及循环损失到网络中,在其中将被送入跨视图相关性方案。最后,我们插入了特征选择方案,它进一步增强了模型的性能。
在图9中,我们展示了FTVP模块消融研究的几个示例。这些示例是从KITTI 3D Object数据集的结果中选择的。随着FTVP模块中结构(例如,MLP、跨视图相关性、循环结构和特征选择)的添加,我们的模型能够有效地提取单个车辆的掩模,消除噪声并细化它们的形状。
跨视图变换器:我们验证了CVT的、、的不同输入组合。我们在表VII中展示了结果。对于所有测试案例,查询(即)被分配给视图投影后的特征。作为最微不足道的情况,我们使用作为CVT的和,它自相关所有非局部的块。由于可能在视图投影中丢失一些信息,CVT的表现并不好。因为和都被分配给或,它涉及到视图投影前的特征,但包含比更丰富的信息,这导致了更好的性能。此外,使用作为键对于生成精确的相关嵌入更好,而应用作为值鼓励涉及最相关的特征,从而获得最佳结果。
多尺度FTVP模块:基于具有单个FTVP模块的模型,我们通过整合多尺度FTVP模块来升级网络。如表VI所示,升级后的模型提高了mAP同时降低了mIOU。这可能是因为不同尺度的特征提供了丰富的细节信息,但它们的学习缺乏指导。为了解决这个问题,我们采用了深度监督方案。如所示,我们的模型实现了最佳性能(40.69% mIOU和59.07% mAP)。注意,为了参考,我们还为具有单个FTVP模块的模型添加了深度监督,其结果几乎不变(mIOU的39.48%与39.97%和mAP的54.78%与54.53%)。在单个FTVP的情况下,所有解码的特征都是从具有小分辨率的最深的顶视图特征上采样而来的,因此多尺度细节很难被传递到解码器,因此单独的深度监督无法加强模型。此外,我们展示了多尺度FTVP模块的代表性可视化结果如图10所示。可以观察到,空间偏差效应可以在FTVPs的存在下减少。
为了展示仅使用三个FTVPs的优势,我们将我们的模型与具有深度监督的其他变体进行了比较,包括具有一个或多于三个FTVPs的模型。在表VIII中展示了mIOU、mAP和FPS的比较结果。单个FTVP更高效但缺乏多尺度空间信息,而部署在浅层的FTVP模块缺乏语义信息,需要大量的参数和大量的计算资源来计算更高分辨率的特征。此外,基于三个FTVP模块,我们添加了两个具有12×12局部窗口的FTVP或两个朴素的3×3卷积层在第三和第四尺度上以增加空间信息,成本较低的计算消耗。它们都使用更高分辨率的前视图特征作为输入并输出顶视图特征。然而,局部窗口FTVP和卷积层都是局部操作,没有考虑全局信息。因此,这些变体都导致了次优性能,所以我们选择在我们的网络中使用三个FTVPs,实现实时推理。
E. 对小型或远距离目标的分析
为了评估识别和定位远距离或小型物体的能力,我们测量了Nuscenes中几个代表性类别(例如行人、摩托车和自行车)的mIOU以及不同距离范围内所有类别的整体性能,即[0,50)、[50,100)、[100,150)、[150,200]米,如表IX所示。如观察到的,我们的模型通常在近距离范围内优于I2M,在[150,200]范围内表现不佳。I2M的优势主要来自于其级联的变换器块,这些块提供了捕获远距离物体的非凡能力,但也带来了大量的参数。与没有FTVPs的模型(即[25])相比,识别远距离物体的能力可以明显提高。我们在图11中展示了示例。在第一行中,我们观察到,有了FTVPs的帮助,行人的位置得到了细化,从而减少了假阳性。然而,在过远的距离上,这些类别的定位失败,改进很小。我们已经观察到,在图11的第二行中,站在车辆旁边的远距离行人几乎无法被定位。即使有了FTVPs,它仍然会导致空间偏差和不满意的性能。
此外,为了深入了解我们模型的每个模块以及它们对小型或远距离目标的影响,我们在Nuscenes数据集上对模型结构进行了消融研究,如表X所示。首先,我们通过移除CVP、与的连接、特征选择、应用softmax运算符和FTVPs来消融我们的模型。如观察到的,CVP和FTVPs严重影响了小型物体的性能,因为CVP控制视图投影,FTVPs提供多尺度细节。以图12为例,有了CVP模块的帮助,可以检测到远距离的行人和车辆。Softmax运算符和去除特征选择也会导致次优结果由于引入了多余信息到中。此外,即使没有的连接(即仅使用),我们的模型仍然可以在小型对象如摩托车和自行车上表现良好,这意味着携带了重要信息。另外,我们尝试加入绝对位置嵌入(Abs. PE)[66]和条件位置嵌入(Con. PE)[78]。由于我们的CVT仅选择最相关信息,位置嵌入的作用较小。最后,我们还评估了使用dice损失的模型,该模型很好地识别了行人类别,但在其他类别上的性能不理想,因为行人的训练样本数量远多于摩托车和自行车。
此外,我们展示了定位远距离物体的成功和失败案例以及它们对应的注意力图,如图13所示。在第一和第二行中,当注意力图的激活区域覆盖目标对象及其周围时,我们的模型很可能会成功感知远处的行人或摩托车。在第三行中,只有小的中心区域(车辆)被激活,导致车辆后面的行人无法被识别。正如我们可以得出结论的,来自前视图特征的注意力图的强度与BEV分割结果对小型物体的相关性。
F. 全景高清地图生成
我们展示了在Argoverse数据集上应用我们模型生成全景高清地图的能力,通过拼接连续前视图图像中的道路布局估计。生成的高清地图如图14所示,突出了我们方法在生成全景高清地图方面的潜力。
G. 网络效率
我们使用不同的输入图像分辨率来测量与竞争方法(即VED [37]、VPN [43]、PON [3]、Stitch [39]和I2M [40])的FPS、参数数量和FLOPs,如表XI所示。所有方法都在同一个平台上使用单个NVIDIA Titan XP GPU进行测试。为了公平比较,我们为我们的模型提供了三种分辨率(即640×640、768×768和1024×1024)的结果。如观察到的,我们的模型在实时性能和参数数量上优于其他方法,使用ResNet-18。使用ResNet-50作为主干,我们的模型效率能够与其他在相似输入分辨率下的方法相媲美。因此,我们的模型效率与这些方法相当,没有使用任何模型压缩技术。
V. 结论
在本文中,我们提出了一个新颖的框架,用于估计给定单目前视图像的顶视图中的道路布局和车辆占用情况。我们提出了一个前视到顶视图投影模块,由循环视图投影结构和交叉视图变换器组成,其中视图前后的特征被显式地关联,并且充分利用了视图投影的最重要特征,以增强转换后的特征。此外,我们引入了多尺度FTVP模块来补偿编码特征中的信息丢失。我们还证明了我们提出的模型在性能上达到了最先进的水平,并且在单个GPU上以25 FPS运行,这是高效且适用于实时全景高清地图重建的。
然而,现实生活捕获的图像或视频对于视觉任务肯定会造成类别不平衡问题。特别是对于我们的任务,某些类别的样本比例达到了100到1000倍。因此,对于我们的模型来说,预测这些类别仍然是非常具有挑战性的,这导致了我们结果中某些类别的次优性能。此外,当车辆彼此非常接近、遇到遮挡或急转弯时,由于视图之间的大差距,可能会发生错误。对于我们的任务,主要问题在于类别不平衡和大视图差距。作为未来的工作,我们将考虑利用合成数据来补充小样本类别以实现数据平衡,以加强我们模型的性能。另一方面,我们将进一步利用前视图图像中的信息,并探索更有效的不同视图之间的转换方法。此外,我们提出的方法的另一个限制在于输入图像和相应的输出BEV掩模的纵横比必须相同,这是由于我们FTVP结构的设计。由于BEV掩模的纵横比通常是1:1,我们实际上必须使用双线性插值将输入图像标准化为相同的纵横比。因此,这可能会导致对象的不希望的变形,特别是对小型物体的性能产生显著影响。
声明
本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与我们联系,我们将在第一时间回复并处理。
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~