SCADC-

本期为大家分享一篇较新的文章:“Scene Completeness-Aware Lidar Depth Completion for Driving Scenario”。作者构建一个传感器融合网络,将基于双目视差得到的深度图和雷达形成的稀疏补全深度图融合,利用上层场景更结构化的立体匹配得到的深度,以及激光雷达完成的更高精度的深度,生成场景完备性感知和精确的深度图。

 

  • 研究背景

无人驾驶在室外深度传感方面具有较高的精度和实用性,通常采用激光雷达作为主要的深度采集传感器。然而,激光雷达扫描仅限于扫描空间线数量和空间分辨率,因此当与我们所看到的图像对齐时,它们是稀疏的。因此利用KITTI数据集将稀疏激光雷达深度完成成稠密地图的研究,很有价值。但之前得稀疏深度补全都只关注于车的前部中下部,未关注上部场景,但上部场景也有用,比如卡车或者限高等等都是需要用到上部的空间感知的,所以对于上部的空间补全很重要。重点补全的区域如下图虚线框:

图 1本文研究区域示意图

  • 网络结构

本文主要提出了SCADC:场景完整性感知深度补全。全部的网络图如下:立体匹配神经网络和雷达深度补全网络的输出图象,将上述两个图象作为SCADC的输入,其中SCADC是由提出注意点置信度(APC)来回归置信度图并利用加权融合多模态信息,然后将融合的图象输入到堆叠沙漏网络进行深度逐步细化估计,最后输出精细的深度补全图。

图 2 SCADA示意图

首先介绍立体匹配神经网络:PSMNet

PSMNet

立体匹配神经网络,他是将双目摄像机所形成的图象,经过视差计算得到深度图,这个过程是一个类似人眼测深度的一个过程。其中PSMNet结构图如下图:

图 3立体匹配PSMNet示意图

他的过程如上图,卷积,空间金字塔池化,卷积,融合计算视差的匹配代价卷(将两幅图的相关关系进行比较,比较两个特征图并将两个特征图的差异作为基础得到 cost volume。)然后将得到的图像输入进3DCNN后面再上采样回归计算深度得到预测图。在双目图像分别处理时,权值是共享的,因为左右目摄像头得到的图是几乎相同的,只是视差不停,因此可以权值共享,以达到一个减少计算量的效果。

这里重点介绍一下SPP(空间金字塔池化)和3DCNN过程。

SPP( 空间金字塔池化)

要用空间金字塔池化,就要明白其所解决的问题,SPP主要解决的问题就是CNN输入图像大小必须固定的问题,为什么CNN输入图像大小必须是固定呢,因为在CNN里的全连接层在经过权值训练后,输入的维度是固定的,因此会导致前面的卷积池化均为固定才可以,而空间金字塔池化便是中间的一个过度,可以解决这一问题。具体可以看下图:

图 4空间金字塔池化(例)

首先是输入层(input image),其大小可以是任意的,然后进行卷积,其大小也是任意的,到最后一个卷积层,输出得到该层的特征映射(feature maps)进入池化层,这里就是空间金字塔池化,他的输入层:一张任意大小的图片, 他的输出层:21个神经元。也就是我们输入一张任意大小的特征图的时候,我们希望提取出21个特征。空间金字塔特征提取的过程如下:图片尺度划分如上图所示,当我们输入一张图片的时候,我们利用不同大小的刻度,对一张图片进行了划分。上面示意图中,利用了三种不同大小的刻度,对一张输入的图片进行了划分,最后总共可以得到16+4+1=21个块,我们即将从这21个块中,每个块提取出一个特征,这样刚好就是我们要提取的21维特征向量。第一张图片,我们把一张完整的图片,分成了16个块,提取16个特征,256是通道数。同理第二张图片提取4个特征,最后一个特征,共21个,这里用的是最大池化的过程其实就是从这21个图片块中,分别计算每个块的最大值,从而得到一个输出神经元。最后把一张任意大小的图片转换成了一个固定大小的21维特征。空间金字塔池化模块通过结合不同级别的特征有助于立体匹配。

3D-CNN

为了在视差维度和空间维度上聚合特征信息,我们提出两种类型的3D CNN结构来调整匹配代价卷:基础结构和堆叠的沙漏结构。如下图。在基础结构中,网络由简单的残差块构成。基础结构包括12个3*3*3的卷积层。然后我们通过双线性插值的上采样将匹配代价卷的尺寸恢复到H*W*D。最终,利用回归的方式来计算尺寸为H*W的视差。

图 5 3D CNN示意图

而为了得到更多的环境信息,这里使用一个沙漏(编码解码)结构,由多个重复的带有中间层监督的由精到粗再由粗到精的过程构成。这个堆叠的沙漏结构有三个主要的沙漏网络,每个都会生成一个视差图。这样三个沙漏结构就会由三个输出和三个损失。训练过程中,总的损失是由三个损失值的加权求和得到的。在测试过程中,最终的视差图是由三个输出中的最后一个得到的。

下面详细介绍下这个堆叠的沙漏结构,因为后面还会用到。这个就是一个堆叠沙漏结构示意图。

图 6 堆叠的沙漏结构示意图

(1)右边就像左边的镜像一样,倒序的复制了一份(c4b-c1b),整体上看起来就是一个沙漏

(2)上面也复制了一份(c4a-c1a),而且每个方块还通过加号与右边对应位置的方块合并。

来分析下c4b这个网络层,它是由c7和c4a合并来的,这里有两块操作:

(1)c7层通过上采样将分辨率扩大一倍

(2)c4a层与c4层的大小保持一致,可以看作是c4层的“副本”,它的大小 是c7的两倍,刚好与被上采样后的c7大小一致,可以直接将数值相加,那么就得到了c4b

Stacked Hourglass Networks:Hourglass模块是对称结构,这种网络结构包含了许多pooling和upsampling的步骤,pooling用于提取特征减少冗余,upsampling可以结合多个分辨率的特征。其中降采样使用max pooling,升采样使用最近邻插值。

回到PSMNet结构,后面是上采样过程和回归计算深度过程。视察回归采用一种加权视差回归,采用softmax函数得到每个视察预测代价的概率,预测代价哪里来的就是之前匹配代价卷的来的)然后求和,得到视差。

损失函数采用平滑后的L1正则化。

PSMNet双目深度测量结果

图 7 PSMNet得到的深度图

这个结果可以看车窗部分,应该与车身深度一致,只有PSMNet效果最好,其他深度都不准。

然后介绍稀疏雷达深度补全:SSDC

SSDC(自监督稀疏深度到密集深度)

接下来介绍第二个基于激光雷达的稀疏深度补全,首先介绍下什么是稀疏深度补全,深度补全,一种从稀疏深度图到估计密集深度图的技术,在自动驾驶中由很大的应用。  从激光雷达测量中进行深度补全是有挑战性的,有以下几个原因:第一个,雷达测量结果在图像空间内是高度稀疏的和不规则分布的;第二点,提升预测的准确性是一个艰巨的任务来,因为深度图和彩色图是不同的传感模式;第三点,密集的深度真值是不存在的,像素级别的标注是需要大量人工的和不可扩展的。这里的网络,将深度补全问题构建为一个深度回归学习问题。网络图如下图。为了便于注释,我们用d作为稀疏深度输入(没有测量到深度的像素设置为0),RGB为彩色图(或灰度图),pred为预测的深度。

图 8 稀疏深度补全网络示意图

这里所提出的⽹络遵循编码器-解码器范式所⽰。跳跃连接⽤虚线表⽰,圆圈表⽰通道的串联。编码器由⼀系列卷积组成,滤波器组增加以对特征空间分辨率进行下采样。另⼀⽅⾯,解码器具有反转结构,带有转置卷积以对空间分辨率进行上采样。

输入的稀疏深度和彩色图,当存在时,是用它们的初始卷积分别处理的。卷积过的输出被拼接成一个单独量,作为残差模块ResNet的输入。各个编码层的输出,通过跳跃连接,传输给相应的解码层。一个最终的1x1卷积滤波器,输出一个预测图像,具有和网络输入图像相同的分辨率。在推断的过程中,低于用户定义的阈值m的预测会被裁剪为m。我们经验性地将m设置为0.9米,是雷达最小有效感应距离。

在没有彩色图像地情况下,我们简单移除RGB分支,采用了一组稍微不同的超级参数,滤波器的数目需要减去RGB分支。

这里的自监督主要是克服标签不足的缺点,因为现存的工作在深度补全上,依赖密集标注真值进行训练。然而,密集标注的真值一般不存在。甚至半密集标签的获得在技术上是一个挑战。这里提出了一个基于模型的自我监督框架来进行深度补全。这个框架仅需要一个同步序列,即从单目相机获得的彩色图和从激光雷达获得的稀疏深度图。因此,这个自我监督框架不需要依赖任何其他传感器,手工标记工作,或其他的基于学习的算法例如构建模块。而且,这个框架不依赖于任何一个特定的神经网络结构的选择。

自监督网络如下:

图 9 深度补全过程的自我监督框架

 这个自我监督框架正如上图所示。在训练期间,当前数据帧RGBd1和附近的数据帧RGB2均用于提供监视信号。然而,在推理时间,只有当前帧RGBd1需要需要作为输入来产生一个深度预测pred1。

稀疏深度监督. 稀疏深度d1本身可以被用作一个监督信号。具体来说,我们对已知稀疏深度的像素集上的网络的输入和输出之间的差异进行惩罚,以此来鼓励在这个像素集上有确定的映射。损失函数引领我们获得更高的准确性,提升稳定性,更快的收敛来进行训练。当前数据帧RGBd1和附近的数据帧RGB2经过一个多点透视成像,一个点对点的对比,然后形成姿态检测对比后面warped是一个借助之前的透视姿态进行矫正的预测得图像。(没有查到相关资料,并不是很明白)

接着回到本篇论文的SCADC 结构,将两个方法形成的深度图作为输入,利用APC进行多模态融合,这两幅图是一个互补得关系。下面介绍APC过程。APC网络图如下:

图 10 APC过程示意图

多模态融合阶段,利用了早期的融合策略。早期融合在编码阶段之前融合了多模态信息,具有保留更精细的局部结构和邻域关系的优点。相对于早期融合,后期融合通常被用于多模态学习中,利用来自不同领域的模态来获取更高层次的语义,例如融合图像信息和深度。这里的SCADC只在深度域上进行信息融合,为了保留局部特征和结构,因此早期融合更可取。

在APC中应用了SAConv引⼊了分割感知掩码,让卷积算⼦“关注”与分割掩码⼀致的信号。为了从可靠来源传播信息,这里使⽤稀疏掩码使卷积运算处理来⾃可靠位置的信号。这里的SAConv 和局部注意力掩码的不同之处在于 SAConv 不应⽤掩码归⼀化。我们避免使⽤掩码归⼀化,因为它会影响后来的计算的稳定性,因为它在数次归⼀化后产⽣的数值很⼩的提取特征。此外,在每个 SAConv 之后对掩码使⽤ maxpooling操作来跟踪可⻅性。如果卷积核⾄少有⼀个⾮零值可⻅,则最⼤池化会将位置处的值评估为 1。

图 11 叠层沙漏网络示意图

后面接了一个堆叠型沙漏结构,如上图,这个结构前面介绍过。第二阶段是深度回归。我们使用一个具有密集连接的叠层沙漏网络来回归深度。我们的叠层沙漏网络由3个级联编码器-解码器结构组成。与其他深度完成工程中多采用FCN型结构的单编码器解码器相比,具有逐级细化深度图的优点。叠层沙漏产生3级输出( S1、S2和S3 )。

这里进一步使用跳过连接和密集连接这些沙漏的每个对应层,并将回归深度反馈到每个后续阶段,以增强信息流。较细的深度在后期回归。在推理时,S3是最终的深度输出。

  • 损失函数

这里的损失函数是用均方差,真实深度与预测深度的均方差。

  • 预测补全结果

图片结果:

图 12 SCADC结果对比图

上图(左)立体匹配的定性结果( PSMNet),SSDC ( 直接激光雷达完成),以及SCADC关于KITTI深度完成验证集。这里展示了旁边的大型卡车和载重汽车的驾驶场景。车辆结构延伸到上层场景。SSDC不能回归上层结构。PSMNet的形状扭曲可以在亮点( a )自行车轮廓中看到。( b )桥梁结构渗入背景,造成不规则估计。(右)关于KITTI深度完成测试集的比较。其他作品的结果直接来源于KITTI网站。ADNN 显示上层为空,因为没有基本点。

视频结果

图 13 SCADC在KITTI数据集上的视频补全结果

  • 研究意义

该SCADC结合了立体匹配中场景完备性的优点,帮助激光雷达完成深度测量,获得了完整的场景和精确的深度图。通过APC,两种模式的信息融合得以成功地进行。用SCADC方法得到的深度图对于深度补全扩展到上层场景的实际场景具有良好的控制效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值