基于多尺度深度图自适应融合的单目深度估计
2024-03-05杨紫文
郑 游,王 磊,杨紫文
武汉工程大学电气信息学院,湖北 武汉 430205
单目深度估计是在单一视角下采集的彩色图像上估计图像中每个像素点相对于拍摄源的距离[1],是计算机视觉中的一个重要课题,广泛应用于机器人导航、三维重建、自动驾驶等领域。近年来,基于深度学习的单目深度估计已经取得了很大的进步。最早是Eigen 等[2]通过实验证明可以利用卷积神经网络获得图像的相对深度。此外,He 等[3]提出使用不同速率的卷积同时提取特征图,然后通过通道将所有特征连接起来,得到一个融合的特征图。Wu 等[4]将空间金字塔池应用于深度估计任务,使用不同大小的空洞卷积核来获取不同尺度的特征信息,取得了很好的估计效果。Wu 等[5]提出了多级上下文和多模态融合网络融合多尺度多级上下文特征图,并从深度信息中学习对象边缘。尽管大多数基于深度学习的单目深度估计都表现出了很好的性能,但仍存在着一些挑战。
大多数深度估计模型都是基于深度神经网络提取图像的特征。然而,经过多次卷积和池化操作后会导致信息的丢失,特别是小物体的深度信息和结构细节。虽然减少卷积层可以保留较多的对象信息,但却无法获得高层次语义信息。为了解决这些问题,文献[6-7]引入了跳跃连接,为解码器模块添加低尺度特征,但大多数情况下,跳跃连接只包括单一尺度的特征图。此外,很多前期工作参考U-NET[8]架构来设计网络,然而逐步解码的方式使得U-NET 在多尺度特征融合任务中表现不佳。
针对以上问题,本文在编码阶段引入注意力机制[9],使用压缩与激励残差网络(squeeze-andexcitation residual network,SE-ResNet)进行编码,提取不同尺度的特征图,并增加了特征之间关联度。通过多尺度特征融合网络(mlti-scale feature fusion network,MSFFN)对不同尺度的特征图进行融合,以获得信息丰富的特征图。通过多尺度自适应深度图融合网络(multi-scale adaptive depth map fusion network,MADFN)对特征图进行解码,并通过可学习的权重对不同尺度的深度图进行加权融合,得到包含丰富场景信息的深度图。
1 网络结构设计
1.1 总体框架
整体网络结构如图1 所示,主要由MSFFN 和MADFN 两个模块组成,网络整体采用编码器-解码器的结构。
图1 网络总体结构Fig.1 Overall network structure
1.1.1 MSFFN 在特征提取过程中,低尺度层特征图提供了大量的细节信息,但存在背景噪声。高尺度层特征图具有丰富的语义信息和抽象特征,但丢失了许多对象信息,导致深度预测的结果不够准确。针对这一问题,本文利用MSFFN 将不同尺度的特征图与拉普拉斯残差特征图融合,丰富了特征图的语义信息和几何特征。
首先,利用公式(1)计算输入彩色图像S的拉普拉斯残差特征图Li。
其中,i表示拉普拉斯金字塔中的层级索引,Si是通过原始输入图像下采样到1 2i-1尺度来获得,Si的大小为S2i-1,U(⋅)表示采样倍数为2 的上采样函数,在该方法中所有缩放过程都采用双线性插值。
然后,利用公式(2)将卷积得到的特征图xi、残差特征图Li和从第i+1 层的深度图上采样的结果级联,将级联的特征输入堆叠的卷积块Bi中,并将输出结果与Li逐像素相加,得到第i层深度图Ri。其中,R5经过空洞空间卷积池化金字塔(atrous spatial pyramid pooling,ASPP)处理得到。
通过这种策略,可以准确还原各个尺度下的局部特征细节。
1.1.2 MADFN 传统的深度图融合大多采用逐级相加的方式,在多尺度深度融合中表现较差[10]。受文献[11]的启发,本文提出了一种MADFN 模块,通过上采样将多尺度的深度图调整到相同大小,并为每个深度图dk设置一个可学习的权重wk。自适应融合后的深度图Df可以表示为式(3):
其中,k表示尺度层级,l= 1,2,3,4,5。图像中坐标(i,j)位置的深度Yi,j可以表示为式(4):
首先,输入彩色图像,如图2(a)所示。然后,经过MSFFN 处理后得到不同尺度下的深度图,如图2(b-f)所示。最后,经过MADFN 融合后得到的深度图如图2(g)所示。
图2 不同尺度深度图与自适应深度融合结果:(a)输入图像,(b)第5 尺度得到的深度图,(c)第4 尺度得到的深度图,(d)第3 尺度得到的深度图,(e)第2 尺度得到的深度图,(f)第1 尺度得到的深度图,(g)自适应融合得到的深度图Fig.2 Depth maps at different scales and adaptive depth fusion results:(a)input image,(b)depth map obtained at the 5th scale,(c)depth map obtained at the 4th scale,(d)depth map obtainedthe at 3rd scale,(e)depth map obtained at the 2nd scale,(f)depth map obtained at the 1st scale,(g)depth map obtained by adaptive fusion
从图2 中可以看出,经过MADFN 处理使融合后得到的深度图能够预测出较多的物体,且物体结构信息清晰。
1.1.3 损失函数 为了缓解数据集中近距离深度数据密集和远距离深度数据稀疏产生的不平衡问题,对文献[2]中使用的损失函数求平方根,得到损失函数的计算公式如下:
1.2 实 验
1.2.1 实验设置 本文所设计的网络结构使用Pytorch 框架实现。硬件配置为16 GiB 内存的i7-11800H 处理器和12 GiB 显存的NVIDIA GeForce RTX3060显卡。在训练阶段,批处理大小设置为8,初始学习率设置为0.000 1,权重衰减率为0.000 5,网络参数采用动量为0.9 的AdamW[12]优化器进行优化。
1.2.2 数据集 本文使用的深度估计数据集NYU Depth V2[13],包含249 个训练场景以及215个测试场景的RGB 图像和深度图像。通过对训练场景中的原始图片做左右翻转和尺度变换等预处理,选择了36 253 个样本进行训练,并从测试场景中选择654 个样本进行测试。
1.2.3 评价指标 为了评价不同方法的深度估计效果,通常采用以下4 个度量指标[2]:
(1)绝对相对误差:
(2)均方根误差:
(3)对数均方根误差:
(4)精确度:
2 结果与讨论
在NYU Depth V2 数据集上将本文方法与其他单目深度估计方法进行对比实验,实验结果如表1 所示。其中,误差指标数值越小,表示深度估计误差越小;精确度指标数值越接近1,表示深度估计越准确。
表1 NYU Depth V2 数据集上的评价指标表Tab.1 Evaluation indicators on NYU Depth V2 dataset
从表1 中可以看出,本文方法的EA为0.115,ER为0.525,精确度最高为0.993,与大部分算法相比,具有更小的误差,以及更高的精确度。其中,文献[18]中采用序数回归的损失函数训练网络,得到了更小的误差值,但导致了计算量比本文方法要大,占用内存资源更多与耗时更久。
NYU Depth V2 数据集上深度图可视化结果对比图如图3 所示,从图3 中可以看出,在室内数据集的表现上,本文方法预测的场景深度更连续,并且场景中物体的边缘轮廓也更加清晰。
图3 NYU Depth V2 数据集上深度图可视化结果对比图:(a、b)输入的2 幅图像,(c、d)真值深度图,(e、f)文献[18]预测的深度图,(g、h)文献[19]预测的深度图,(i、j)文献[20]预测的深度图,(k、l)本文方法预测的深度图Fig.3 Comparison of depth map visualization results on NYU Depth V2 dataset:(a,b)two input images,(c,d)ground truth depth map,(e,f)depth map predicted by reference[18],(g,h)depth map predicted by reference[19],(i,j)depth mappredicted by reference[20],(k,l)depth map predicted by the proposed method in this paper
为了进一步分析网络中各模块的作用,在NYU Depth V2 数据集上进行了消融实验,以传统的编码-解码网络为基准(Baseline),主要分析多尺度特征融合模块和多尺度自适应深度融合模块的效果。实验结果如表2 所示。
表2 各模块性能分析Tab.2 Performance analysis of each module
由表2 可以看出,单独加入MSFFN 模块,EA、ER和EL分别减少了约9.9%、5.0%和10.7%;阈值分别取1.25,1.252和1.253时,精确度分别提高了约3.2%、0.4%和0.2%。单独加入MADFN 模块,EA、ER和EL分别减少了约8.4%、5.3%和8.9%;精确度分别提高了约2.3%、0.5%和0.4%。2 个模块都添加后,EA、ER和EL分别减少了约12.2%、7.8%和10.7%;精确度分别提高了约4%、0.5%和0.6%。由此可见本文提出的2个网络模块起到了显著作用。
消融实验的可视化结果如图4 所示。从图4中可以看出,加入了MSFFN 和MADFN 模块后,预测的深度图质量有明显提升。例如:第一个场景中两个相邻座椅之间的空隙也能精确地预测;第二个场景中书桌上的罐子与座椅上的扶手等细节地方轮廓也十分清晰。
图4 消融实验结果图:(a、b)输入的2 幅图像,(c、d)Baseline 预测的深度图,(e、f)添加MSFFN 模块预测的深度图,(g、h)添加MADFN 模块预测的深度图,(i、j)添加MSFFN 和MADFN 模块预测的深度图Fig.4 Images of ablation experiment results:(a,b)two input images,(c,d)depth map predicted by Baseline,(e,f)depth map predicted by adding the MSFFN module,(g,h)depth map predicted by adding the MADFN module,(i,j)depth map predicted by adding the MSFFN and MADFN modules
3 结 论
本文提出了一种多尺度深度图自适应融合的单目深度估计方法。通过在编码过程中引入注意力机制,提取到了更多特征细节。同时利用多尺度特征融合网络,融合不同尺度的特征图,得到具有丰富几何特征和语义信息的特征图。最后,利用多尺度自适应深度融合网络,自适应地融合不同尺度的深度图,增加了预测深度图中的目标信息,解决了预测深度时丢失物体信息和边缘深度估计不准确的问题。在NYU Depth V2 数据集上测试的大量实验结果证明,本文提出的模型预测的深度图与其他方法相比具有更多的对象信息、更低的误差和更为准确的深度精度。后续研究中,考虑增加网络的泛化能力,提高在不同场景下预测深度的准确性。