《武汉工程大学学报》  2024年01期 85-90   出版日期:2024-03-12   ISSN:1674-2869   CN:42-1779/TQ
基于多尺度深度图自适应融合的单目深度估计


单目深度估计是在单一视角下采集的彩色图像上估计图像中每个像素点相对于拍摄源的距离[1],是计算机视觉中的一个重要课题,广泛应用于机器人导航、三维重建、自动驾驶等领域。近年来,基于深度学习的单目深度估计已经取得了很大的进步。最早是Eigen等[2]通过实验证明可以利用卷积神经网络获得图像的相对深度。此外,He等[3]提出使用不同速率的卷积同时提取特征图,然后通过通道将所有特征连接起来,得到一个融合的特征图。Wu等[4]将空间金字塔池应用于深度估计任务,使用不同大小的空洞卷积核来获取不同尺度的特征信息,取得了很好的估计效果。Wu等[5]提出了多级上下文和多模态融合网络融合多尺度多级上下文特征图,并从深度信息中学习对象边缘。尽管大多数基于深度学习的单目深度估计都表现出了很好的性能,但仍存在着一些挑战。
大多数深度估计模型都是基于深度神经网络提取图像的特征。然而,经过多次卷积和池化操作后会导致信息的丢失,特别是小物体的深度信息和结构细节。虽然减少卷积层可以保留较多的对象信息,但却无法获得高层次语义信息。为了解决这些问题,文献[6-7]引入了跳跃连接,为解码器模块添加低尺度特征,但大多数情况下,跳跃连接只包括单一尺度的特征图。此外,很多前期工作参考U-NET[8]架构来设计网络,然而逐步解码的方式使得U-NET在多尺度特征融合任务中表现不佳。
针对以上问题,本文在编码阶段引入注意力机制[9],使用压缩与激励残差网络(squeeze-and-excitation 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.1.1 MSFFN 在特征提取过程中,低尺度层特征图提供了大量的细节信息,但存在背景噪声。高尺度层特征图具有丰富的语义信息和抽象特征,但丢失了许多对象信息,导致深度预测的结果不够准确。针对这一问题,本文利用MSFFN将不同尺度的特征图与拉普拉斯残差特征图融合,丰富了特征图的语义信息和几何特征。
首先,利用公式(1)计算输入彩色图像S的拉普拉斯残差特征图[Li]。
[Li=Si-USi+1i=1, 2, 3, 4] (1)
其中,i表示拉普拉斯金字塔中的层级索引,[Si]是通过原始输入图像下采样到[12i-1]尺度来获得,[Si]的大小为[S2i-1],[U(?)]表示采样倍数为2的上采样函数,在该方法中所有缩放过程都采用双线性插值。
然后,利用公式(2)将卷积得到的特征图[xi]、残差特征图[Li]和从第i+1层的深度图上采样的结果级联,将级联的特征输入堆叠的卷积块[Bi]中,并将输出结果与[Li]逐像素相加,得到第i层深度图[Ri]。其中,[R5]经过空洞空间卷积池化金字塔(atrous spatial pyramid pooling,ASPP)处理得到。
[Ri=BiLi,xi,URi+1+Lii=1, 2, 3, 4] (2)
通过这种策略,可以准确还原各个尺度下的局部特征细节。
1.1.2 MADFN 传统的深度图融合大多采用逐级相加的方式,在多尺度深度融合中表现较差[10]。受文献[11]的启发,本文提出了一种MADFN模块,通过上采样将多尺度的深度图调整到相同大小,并为每个深度图[dk]设置一个可学习的权重[wk]。自适应融合后的深度图[Df]可以表示为式(3):
[Df=k∈lwk?dk] (3)
其中,k表示尺度层级,[l=1, 2, 3, 4, 5]。图像中坐标[i, j]位置的深度[Yi, j]可以表示为式(4):
[Yi, j=αi, jy1i, j+βi, jy2i, j+γi, jy3i, j+εi, jy4i, j+δi, jy5i, j] (4)
其中,[yki,j]为深度图[dk]中坐标[i, j]位置的深度值,[αi, j, βi, j, γi, j, εi, j, δi, j]分别为[yki, j]的权重。此外,本文对权重设置了[αi, j, βi, j, γi, j, εi, j, δi, j?0,1]和[αi, j+βi, j+γi, j+εi, j+δi, j=1]两个归一化约束,通过将权重归一化增强网络模型的泛化能力,并且加速神经网络的训练收敛,减少训练时间和资源消耗。同时,归一化约束将权重限制在一定的范围内,减少了权重值的波动,避免了梯度爆炸或消失的问题,保证了训练的稳定性。
首先,输入彩色图像,如图2(a)所示。然后,经过MSFFN处理后得到不同尺度下的深度图,如图2(b-f)所示。最后,经过MADFN融合后得到的深度图如图2(g)所示。
从图2中可以看出,经过MADFN处理使融合后得到的深度图能够预测出较多的物体,且物体结构信息清晰。
1.1.3 损失函数 为了缓解数据集中近距离深度数据密集和远距离深度数据稀疏产生的不平衡问题,对文献[2]中使用的损失函数求平方根,得到损失函数的计算公式如下:
[L(y, y*)=1ni=1nd2i-λn2i=1ndi2] (5)
其中,[di=logyi-logy*i],[yi]和[y*i]分别为第i个像素点的预测深度值和真实深度值,[n]为有效像素的总数。平衡因子[λ]为超参数,用于权衡损失函数中误差方差和误差加权平方均值的重要性。本文将平衡因子[λ]设置为0.85,即平衡了误差方差和误差加权平方均值,同时也强调减小误差方差的重要性,以实现更加稳定和高质量的深度估计训练。
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)绝对相对误差:
[EA=1ni=1ny*i-yiyi] (6)
(2)均方根误差:
[ER=1ni=1ny*i-yi?2] (7)
(3)对数均方根误差:
[EL=1ni=1nlogy*i-logyi2] (8)
(4)精确度:
[A=iyin, yi??s.t.max(y*iyi?, yi?y*i)=δ<T] (9)
其中,公式(9)表示,取[yiy*i, y*iyi]的最大值[δ],统计所有当[δ]小于精确度阈值[T]时的像素点[yi]数量占总像素点数量n的百分比。其中,T分别取1.25,1.252和1.253。精确度表示预测深度值和真实深度值的比值在一定阈值内的像素个数百分比,越接近1表示深度估计的效果越好。
2 结果与讨论
在NYU Depth V2数据集上将本文方法与其他单目深度估计方法进行对比实验,实验结果如表1所示。其中,误差指标数值越小,表示深度估计误差越小;精确度指标数值越接近1,表示深度估计越准确。
表1 NYU Depth V2数据集上的评价指标表
Tab. 1 Evaluation indicators on NYU Depth V2
dataset
[方法 误差 精确度 [EA] [ER] [EL] [δ<1.25] [δ<1.252] [δ<1.253] 文献[2] 0.215 0.907 0.285 0.611 0.887 0.971 文献[14] 0.213 0.759 0.087 0.604 0.885 0.973 文献[15] 0.209 0.749 0.091 0.701 0.921 0.973 文献[16] 0.118 0.527 0.058 0.858 0.971 0.989 文献[17] 0.121 0.581 0.057 0.863 0.970 0.991 文献[18] 0.115 0.509 0.051 0.828 0.965 0.992 本文方法 0.115 0.525 0.056 0.864 0.972 0.993 ]
从表1中可以看出,本文方法的[EA]为0.115,[ER]为0.525,精确度最高为0.993,与大部分算法相比,具有更小的误差,以及更高的精确度。其中,文献[18]中采用序数回归的损失函数训练网络,得到了更小的误差值,但导致了计算量比本文方法要大,占用内存资源更多与耗时更久。
NYU Depth V2数据集上深度图可视化结果对比图如图3所示,从图3中可以看出,在室内数据集的表现上,本文方法预测的场景深度更连续,并且场景中物体的边缘轮廓也更加清晰。
为了进一步分析网络中各模块的作用,在NYU Depth V2数据集上进行了消融实验,以传统的编码-解码网络为基准(Baseline),主要分析多尺度特征融合模块和多尺度自适应深度融合模块的效果。实验结果如表2所示。
由表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模块后,预测的深度图质量有明显提升。例如:第一个场景中两个相邻座椅之间的空隙也能精确地预测;第二个场景中书桌上的罐子与座椅上的扶手等细节地方轮廓也十分清晰。
3 结 论
本文提出了一种多尺度深度图自适应融合的单目深度估计方法。通过在编码过程中引入注意力机制,提取到了更多特征细节。同时利用多尺度特征融合网络,融合不同尺度的特征图,得到具有丰富几何特征和语义信息的特征图。最后,利用多尺度自适应深度融合网络,自适应地融合不同尺度的深度图,增加了预测深度图中的目标信息,解决了预测深度时丢失物体信息和边缘深度估计不准确的问题。在NYU Depth V2数据集上测试的大量实验结果证明,本文提出的模型预测的深度图与其他方法相比具有更多的对象信息、更低的误差和更为准确的深度精度。后续研究中,考虑增加网络的泛化能力,提高在不同场景下预测深度的准确性。