华中科大提出CENet | 在解决深度补全问题的同时,准确性与效率也取得完美平衡

技术

ADAS Laboratory

picture.image

点击上方蓝字关注 智驾实验室

picture.image

picture.image

深度补全是自动驾驶中的关键任务,旨在将稀疏深度图转换为密集的深度预测。由于RGB图像可能含有丰富的语义信息,因此通常将其融合以增强补全效果。图像引导的深度补全涉及三个关键挑战:

  1. 如何有效地融合这两种模态?

  2. 如何更好地恢复深度信息?

  3. 如何实现实际自动驾驶所需的实时预测?

为了解决上述问题,作者提出了一种简洁而有效的网络,名为CENet,该网络具有简单优雅的结构,可以实现高性能深度补全。首先,作者使用快速引导模块融合两种传感器特征,利用从颜色空间提取的丰富辅助特征。与其他常用的复杂引导模块不同,CENet直观且成本低。此外,作者发现了观测位置与未观测位置的优化不一致问题,并提出了一种解耦的深度预测头以减轻该问题。所提出的解耦头可以更好地输出有效和无效位置的深度,且几乎不增加额外的推理时间。

基于双编码器与单解码器的简单结构,CENet在准确性与效率之间取得了优越的平衡。在KITTI深度补全基准测试中,CENet与现有最先进的方法相比,获得了具有竞争力的性能和推理速度。为了验证CENet的泛化能力,作者还对室内NYUv2数据集进行了评估,CENet依然取得了令人印象深刻的结果。

代码:https://github.com/lmoy/CENet

  1. INTRODUCTION

感知深度对于自动驾驶汽车和移动机器人至关重要,但由于硬件限制,捕捉密集深度图是具有挑战性的。激光雷达(LiDAR)可以在三维空间生成点云,并通过校准矩阵获得相应的深度图。然而,所得到的深度图极为稀疏,远非实用,如图1所示。仅依赖稀疏深度图本身来填充空白像素位置是不可靠的,因为没有其他参考线索。

picture.image

研究行人已经认识到,来自RGB相机的彩色图像可以与深度图像进行交互[3][4][5],包括由于其丰富的语义信息而改善深度完成。为了利用这两种模态的特征,提出了大量方法来实现深度完成。由于深度和颜色信息之间的领域差距,现有获得优越结果的方法通常比较复杂,甚至是多阶段的[6][7]。为了分别提取不同模态特征,在[7][8]中使用了双编码器-解码器结构。

与仅有的双编码器网络相比,增加解码器数量可以改善特定领域的特征,但同时也引入了更多参数。多模态融合在深度完成领域也是一个研究焦点。受到引导机制的启发,许多最先进的方法设计了有效但资源消耗的模块,通过RGB图像引导恢复深度值。即使在[7]中,也必须设计CUDA算子来解决巨大的GPU内存消耗挑战。

此外,卷积空间传播网络(CSPN)常用于各种高级视觉任务中,包括深度完成,这可以被看作是基于局部亲和性的迭代细化获得预测的后处理策略。这种策略可以提高预测准确性,但同样效率低下且耗时。还有一些方法引入了3D几何线索,如表面法线或3D位置,以提取更精确的特征。然而,它们也需要涉及和处理先验信息,或者增加新的学习目标,这并不是那么直接明了。

在本文中,作者希望设计一个无需任何预处理和后处理的简约网络,并在效率和性能之间实现卓越的平衡。作者提出了一种简洁但有效的网络,名为CENet,与现有先进方法在速度和准确度上的比较如图2所示。

picture.image

CENet的总体结构是双编码器单一解码器,结合了特定领域特征提取和架构简化。受[7][15]启发,作者认为来自RGB图像的语义特征可以帮助更好地恢复稀疏深度图的缺失像素。例如,颜色和纹理特征相似的区域更有可能属于同一物体,因此它们的深度值更可能接近甚至相同。作者没有使用高成本的引导模块或沉重的分割网络,而是提出了一个快速的引导模块。通过利用通道智智能并整合跨通道语义信息,作者实现了满意的引导效果。

此外,作者发现观察位置和未观察位置存在优化不一致的问题。据作者所知,作者是首次分析深度补全任务的这一特点,并设计了一个解耦的预测头以缓解此问题。由于作者精妙的网络设计,CENet在保持优越效率的同时实现了满意的表现。

这项工作主要贡献可以概括为:

  1. 设计了一个快速的引导模块,以有效且高效地融合稀疏深度图和RGB图像,同时语义信息增强深度学习。
  2. 作者发现并分析了优化不一致性问题,并进一步设计了解耦的预测头以更好地恢复深度信息。
  3. 提出了一种简洁但有效的深度补全网络,基于简单的结构。
  4. 在KITTI基准测试和NYUv2数据集中,结果显示CENet与现有最先进的方法相比,可以高效率地准确预测密集深度图。

2 Method

为了实现高效有效的深度补全,作者基于双编码器与单解码器的结构设计了作者的网络。此外,作者提出了一种快速的引导模块,该模块能够产生丰富的子空间和全局表示。它用于通过低成本操作来改进深度预测。另外,作者还针对观测位置与未观测位置的优化不一致性问题进行了探讨。相应地,提出了一种解决方案并加以实施,以减轻这一问题。

The Overall Structure of CENet

CENet结构如图3所示,其简洁而简单。CENet由两个针对不同模态的编码器和一个解码器组成。原始的RGB图像和稀疏深度图通过独立的分支进行编码。

  • 首先,它们通过一个卷积块进行处理,该卷积块包含一个55卷积、批量归一化层和ReLU层。进一步使用残差块来提取更高维度的信息并对特征图进行下采样。在每一个阶段,作者的快速引导模块被插入以增强深度特征,并且其输出将被传递到下一个残差块中。
  • 最后,特征通过几个反卷积块进行解码并恢复到原始分辨率。一个解耦的预测头与解码器相连,它分别为观察到的和未观察到的位置预测深度值。

picture.image

Fast Guidance Module

为了介绍作者的快速引导模块,作者首先回顾一下[10]中的引导理论。给定一个输入图像和一个引导图像,引导过程可以定义为:

while 是增强后的输出图像, 是一个卷积核, 和 表示不同像素的索引。在[10]中,它明确使用了窗口 中的统计信息来定义卷积核,该窗口的大小为 ,而 和 分别是在 中的均值和方差。

受到[32]的启发,作者认为彩色图像中的语义信息可以有助于局部区域内的深度学习。本文提出了一种快速的引导模块,而不是引入额外的分割网络或设计耗时的模块。

picture.image

如图4所示,作者将和分别表示在第阶段来自图像和稀疏深度流的特征图。

  • 首先,作者在上应用一个卷积,以整合图像特征的局部信息作为引导特征,然后通过一个卷积扩展通道维度以获得。由于不同的通道反映了场景的各种语义信息,作者使用维度扩展来生成更多的特征子空间。
  • 然后,作者沿着通道维度将分成部分,并获得子空间。用于与进行逐通道乘法,
  • 最后作者通过简单的加法操作整合每个子空间。

此外,作者汇总跨通道特征并压缩数据,其目标是探索整个特征空间的全球表征。作者还利用全球表征进一步引导和精化作者的深度生成。作者的快速引导模块可以表述为:

其中 是跨通道聚合操作,本文中使用平均计算方法。 运算符表示逐通道乘法。由于没有注意力机制或局部操作,作者的引导模块可以非常高效,其运行时将在第IV-D节中讨论。

与[10]不同,作者使用隐式特征提取来获得引导图,而扩展和聚合操作充分发掘了引导权重的潜力。与作者的快速引导模块最相似的方法可能是[7],但它们之间存在许多差异。

  • 首先,[7]使用图像和激光雷达特征来生成引导权重,而作者仅使用图像特征。
  • 其次,[7]有两个通过不同层次获得的权重,分别用于通道方向和跨通道引导。作者的模块也有两个引导阶段,但第二个引导权重是从第一阶段聚合而来的。它们之间最大的区别在于引导策略,[7]主要通过为每个像素生成不同的引导核来实现引导。

因此,存在大量的局部操作,因此需要实现CUDA操作符以加速。CENet的引导元素是整个特征图,只需要简单的通道乘法就可以得到结果。作者在第4.5节比较了作者的快速引导模块与[7]的效率和有效性,这证明了CENet的优势。作者提供了以PyTorch风格编写的快速引导模块的简单伪代码,如算法1所示。

picture.image

Decoupled Prediction Head

对于深度补全任务的输入图像,作者可以根据稀疏深度图的 Mask 将像素位置分为观测和未观测位置。作者将所有位置表示为,观测位置表示为,未观测位置表示为,而,,分别是相应的数量。

picture.image

因此,,且。对于一般的深度补全网络,和共享相同的参数,如图5(a)所示。在训练阶段,它们也被同等优化。然而,作者发现这样的操作存在优化不一致的问题,如图5(b)所示。作者将整个模型表示为函数,观测和未观测位置的映射分别是和。对于常见的网络,由于参数共享,。

但是,在特征空间中,与之间的距离比与之间的距离近得多,而和分别是相应的真实深度。通常,且,而。(需要注意的是,在稀疏深度图中观测位置的深度值并不完全等于相应位置在 GT 值中的数值。因为 GT 值通常是通过累积几帧得到的,这更为精确。)因此,对这两个位置的训练优化会相互影响,导致次优的预测性能。

为了缓解这个问题,作者尝试为和分配不同的参数,并实现了两个不同的映射和,如图5(c)所示。在多种优化策略下,这两个位置可以通过迭代更好地更新,接近真实值。

具体来说,作者设计了一个解耦的预测头,并预测了两张深度图和。这两张深度图具有全分辨率,但作者设置了一个 Mask 来阻止它们的一些像素参与反向传播, Mask 可以表示为:

在这里, 表示稀疏深度图的输入, 和 指的是特定像素位置的索引。

最后,解耦的预测输出可以表示为如下形式:

在公式中, 和 分别用于基于未观测位置和观测位置来优化网络。在解耦预测头的设置下,作者为观测位置和未观测位置提供了不同的转换空间。它们可以摆脱平衡优化,并追求独立优化。

Loss Function

为了计算预测值与真实值 之间的差异,作者使用了 损失函数。在损失计算之前,作者将解耦的输出整合起来,以获得完整的预测 ,如下所示:

由于真实值是半密集的,作者只在有效位置上计算和之间的像素差异,作者网络的损失函数可以写成:

4 Experiments

在本节中,作者首先介绍数据集、评估指标和实现细节。然后,作者将展示与其他最先进方法的定量和定性比较。此外,作者还进行消融研究来验证所提出网络的的设计。

Datasets

KITTI深度补全数据集包含了对齐的稀疏深度图和高分辨率彩色图像。它包括86,898帧用于训练,7,000帧用于验证,以及另外1,000帧用于测试。作者使用官方选择的1,000帧进行验证。该数据集为评估提供了一个公开的排行榜,真值深度图是通过聚合来自11个连续帧的激光雷达扫描获得的。

为了验证作者CENet的泛化能力,作者还将在室内NYUv2深度数据集上测试作者的模型。NYUv2数据集由464个室内场景构建而成,并通过Microsoft Kinect拥有RGB和深度图像。作者遵循[29]中的设置,输入图像从640x480调整到320x240,然后再中心裁剪到304x228。作者在5万张图像上训练作者的模型,并从官方标记的测试集中选取654张图像进行测试。因为NYUv2中的深度图是密集的,作者随机采样500个像素点来生成稀疏深度图。

Evaluation Metrics

作者遵循KITTI深度完成数据集的标准的评估指标,包括均方根误差(RMSE)、平均绝对误差(MAE)、倒数深度均方根误差(iRMSE)以及倒数深度平均绝对误差(iMAE)。RMSE和MAE直接测量深度准确性,而iRMSE和iMAE计算倒数深度的平均误差。在KITTI排行榜上对提交作品进行排名的主导指标是RMSE。请注意,这四个评估指标的价值越小,模型的性能越好。

此外,还报告了推理的运行时间,以便进行性能比较,以展示CENet的效率。对于NYUv2数据集,作者也使用RMSE作为指标。此外,作者引入了平均绝对相对误差(REL)以及。

Implementation Details

在作者的实现中,作者使用了Adam优化器,初始学习率为0.001,权重衰减为1x10,以及动量参数 = 0.9, = 0.99。作者以批量大小为8训练模型25个周期,并采用分阶段的 学习率计划,即在第10、15和20个周期分别将学习率降低0.5、0.1和0.01倍。关于推理速度,作者使用CUDA在CPU和GPU上的异步执行以获得精确的测量,测试平台是单个3060 GPU。

在本文中,作者提出了两种具有不同参数的模型,例如CENet-S和CENet-L。前者是一个更轻量级的版本,而CENet-L追求更高的性能。编码器中的卷积块和前三个残差块阶段将输入维度增加一倍,同时也将分辨率降低一倍。最后的残差模块保持特征图维度,但仍然进行下采样。对于CENet-S,第一个卷积块将两个输入的维度增加到32,而对于CENet-L,则增加到64。

CENet-S相比它们具有更高的准确度。作为更大版本,CENet-L仍然比大多数顶级方法更快,并实现了更优秀的预测准确度。在KITTI基准测试上的结果表明了作者网络的的有效性和可用性。

picture.image

为了验证作者快速引导模块的效率,作者随机生成了一个大小为(2, 128, 80, 304)的张量。这个张量分别输入到作者的快速引导模块和文献[7]中的引导模块,运行时间比较如表3所示。需要注意的是,文献[7]中的模块已经通过CUDA算子进行了优化,但提出的快速引导模块速度仍然快了两倍以上。作者还比较了输入稀疏深度图在不同密度比下的性能,如图6所示。测试模型在原始训练数据集上进行训练,作者以密度比0.2、0.4、0.6和0.8对验证数据集进行采样。

picture.image

随着有效深度的数量减少,所有方法的RMSE大幅下降。然而,CENet-S仍然优于其他模型,这可以证明CENet对激光雷达密度的变化更加鲁棒。为了定性比较CENet与其他模型的预测细节,作者从KITTI深度完成排行榜中选择了典型例子,如图7所示。CENet-L在许多场景中能够恢复更精细的边界和更平滑的细节,并且噪声更少。

picture.image

作者还将在NYUv2室内数据集上测试CENet,比较结果如表2所示。与KITTI基准相比,NYUv2数据集的规模较小,因此在现有先进方法之间、和的值相似。

picture.image

CENet在RMSE上取得了最佳结果,在REL上略逊于GuideNet。尽管NYUv2来自室内场景,但这些结果仍然能够反映出作者网络的深度完成性能,可视化预测结果展示在图8中。

picture.image

Ablation Studies

在本节中,作者展示了进行消融研究的成果,以分析各种组件对作者所提出模型的性能影响。需要注意的是,作者将CENet-S作为基准模型。

picture.image

首先,作者尝试改变稀疏深度分支与图像分支的融合策略,比较结果如表4所示。简单的求和与连接是粗糙的,并获得更差的准确度。作者还与文献[7]中的引导模块进行了比较,CENet取得了更好的结果。基于表3和表4,作者可以得出结论,在有效性和效率方面,作者的引导模块优于GuideNet中的模块。

picture.image

作者还分析了作者快速引导模块的扩展比例的影响。如表5所示,作者针对三种不同的扩展比例,即1、2和3,评估了模型的性能。从结果中可以看出,当扩展比例为3时,模型达到最佳的预测效果。这表明增加扩展比例将提高模型的有效性。作者将这归因于更多子空间生成的语义丰富性。出于训练速度的考虑,并没有进一步增加扩展比例,但结果表明,仍有进一步改进的潜力。

picture.image

最后,作者研究了预测 Head 的不同结构,如表7所示,该表展示了通过耦合和解耦 Head 结构得到的结果。在观测位置和非观测位置的均方根误差(RMSE)方面,解耦 Head 结构优于耦合 Head 结构。这证明了作者对优化不一致性问题的分析是正确的,并表明作者的解耦 Head 可以缓解这一问题。非观测位置的改进幅度小于观测位置。作者认为这是因为有效像素点的数量较少,使得在耦合 Head 情况下非观测位置的优化更有利。

picture.image

为了计算解耦 Head 的额外成本,作者比较了预测 Head 的浮点运算(FLOPs)和参数(Params)以及整个网络的推理时间,如表8所示。基于表7和表8,作者可以得出结论,解耦 Head 仅增加了8毫秒的运行时间,同时使RMSE提高了8.3个百分点。

The Effectiveness of Fast Guidance Module

为了更直观地展示作者快速引导模块的功能,作者定性地展示了模块处理前后特征图的变化,如图9所示。当中间特征输入到作者的快速引导模块时,在与应当具有相似深度值的同一区域内,可以得到更精确的输出。

picture.image

为了分析图像引导的原理,作者在第一个引导模块前后分别对激光雷达分支的特征图应用快速傅里叶变换(FFT),如图10所示。作者选择十个通道进行对比,可以轻易发现,在引导操作之后低频信号得到了增强。这反映出表示不同区域的语义信息被注入到深度特征中,这有助于模型感知物体和场景的布局。

picture.image

5 Conclusions

在本文中,作者提出了一种简洁但有效的深度完成网络,名为CENet。设计了两个不同版本:CENet-S和CENet-L,前者更高效,后者更有效。基于简洁的结构和精心设计的模块,CENet在两个不同的数据集上与其它最先进的方法相比,获得了更快的预测速度和更高的准确度。

具体而言,所提出的快速引导模块在局部窗口内引入了丰富的语义特征以细化深度编码,并且解耦的预测头可以为观察到的和未观察到的位置分配独立的映射。

参考

[1].A Concise but Effective Network for Image Guided Depth Completion in Autonomous Driving.

扫描下方二维码,添加 AI驾驶员

获取更多的 大模型 多模态 等信息

picture.image

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
拥抱云原生,下一代边缘云云基础设施 | 第 11 期边缘云主题Meetup
《拥抱云原生,下一代边缘云云基础设施》郭少巍|火山引擎边缘云边缘计算架构师
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论