一种基于深度学习的无监督单目图像深度估计方法



1.本发明属于单目深度估计领域,具体涉及一种基于深度学习的无监督单目图像深度估计算法。


背景技术:



2.深度估计作为计算机视觉领域一个非常经典且重要的任务,其长期以来,应用于许多实际的场景中。例如,在3d重建、虚拟视点、增强现实(ar)、自动驾驶等应用领域具有十分重要的作用。所谓深度估计是指能从一张rgb图中估计出深度图,深度图的值是指对于给定单张rgb图的每个像素,其对应的深度图上都有一个对应的深度值,该值代表rgb图中该点的像素对应的场景到摄像机平面的距离,因此深度图使得一张平面图像拥有了三维空间的信息,这具有重要的意义和价值。
3.传统的深度估计一般通过几何关系和视觉线索来估计深度图,例如,通过双目摄像机,获取左右视图进行立体匹配以得到视差图,因为相机焦距和相机之间的基线已知,最后通过公式得到有尺度信息的深度图。但是此方法使用条件苛刻,并且需要图像对。近年来随着深度学习的快速发展,基于深度学习的单目深度估计取得了显著的成果。对于基于有监督的深度学习的单目深度估计方法,利用深度相机等仪器获得的真实深度图作为监督标签,从整体上来讲此类的单目深度估计通常被视为是一类回归任务,虽然该方法能获得更好的精度,但是由于受到监督标签训练集的限制,这些训练集难以获取且成本高昂。而无监督的单目深度估计方法,可以使用单目图像序列进行训练,从目标视图中预测视差图,再让源视图利用生成的视差图合成目标视图,并使用相机姿态网络估计相对参数用于矫正合成的目标视图,最后计算生成的目标视图与原本的目标视图之间的重投影损失,用于几何约束训练。但是,现有的光度损失往往产生过平滑的结果,跨越不同物体边界,从而造成不同物体之间边界模糊的问题,而且不能明确地处理遮挡,这对图像深度图的估计精度会造成很大的影响。


技术实现要素:



4.针对上述问题,本发明提出了一种基于深度学习的无监督单目图像深度估计方法,利用拉普拉斯金字塔提取的边界特征和多种上采样算法,并使用特征再结合模块增强编码器的输出,同时利用拉普拉斯金字塔提取的高维信息引入了一种新的边界损失,改进了深度边界模糊问题,提高了网络对边界处深度的预测精度。
5.本发明包含以下具体步骤
6.步骤1,使用图像数据集对其进行预处理,并划分作为训练集、验证集和测试集。
7.步骤2,使用hrformer编码器实现局部特征信息和全局特征信息的融合,并在所有不同阶段生成的,具有相同尺度的特征进行特征融合,构建出多尺度特征模块。
8.步骤3,在解码器中引入拉普拉斯金字塔,其主要用于提取输入图像的边界特征并加入模型中,来强化网络学习边界信息。
9.步骤4,在解码器中使用特征再结合模块,以进一步丰富输出的深度特征。
10.步骤5,使用不同的上采样算法恢复不同区域的深度信息。
11.步骤6,利用拉普拉斯金字塔提取的高频信息,在训练中加入新的边界损失。
12.步骤7,对模型进行训练,并使用已经训练完成的模型对测试集进行预测得到最终的深度图。
13.具体来说,其中步骤1使用图像数据集对其进行预处理,并划分作为本方法的训练集、验证集和测试集,具体按以下步骤实施:
14.步骤1.1,使用图像数据集划分作为本发明的训练集、验证集和测试集,并对其进行数据预处理。
15.其中步骤2的使用hrformer编码器实现局部特征信息和全局特征信息的融合,并在所有不同阶段生成的,具有相同尺度的特征进行特征融合,构建出多尺度特征模块,具体按以下步骤实施:
16.步骤2.1,对输入的图像,进行两次3x3卷积、归一化和relu激活函数的操作,得到第一阶段通道数为64的特征图,然后传入残差块中,得到通道数为256的特征图并进行分流操作,生成两个通道数分别为18和36的新特征图,分辨率分别为输入图像的1/4和1/8。
17.步骤2.2,将步骤2.1所得的两个通道数为18和36的新特征图作为输入,使用local-window自注意力机制对每个多分辨率特征图进行更新,即把输入的特征图x∈rn×d划分成一组不重叠的窗口,x

{x1,x2,...,x
p
},其中d表示通道数,n表示输入分辨率,r表示特征权重的集合,每个窗口的边长为k,大小为k
×
k;然后在每个窗口内独立执行多头自注意力(mhsa),在每个窗口中聚合信息,得到多个不同分辨率的特征图。其中第p个窗口x
p
上的多头自注意力(mhsa)的公式如下:
[0018][0019][0020][0021]
其中,wo∈rd×d是自注意力输出的权重矩阵,是自注意力中查询矩阵的权重矩阵,自注意力中键矩阵的权重矩阵,自注意力中键矩阵的权重矩阵,是自注意力中值矩阵的权重,h∈{1,2,...,h},h表示head数,表示mhsa的输出表示。
[0022]
步骤2.3,对于步骤2.2得到的多个不同分辨率特征图通过卷积多尺度融合模块反复交换,并进行相互拼接来丰富特征信息,且生成新的多分辨率特征图,此为第二阶段。之后将第二阶段的输出作为步骤2.2的输入,并重复步骤2.3的操作,得到第三阶段的多分辨率特征图。再次将第三阶段的输出作为步骤2.2的输入,重复步骤2.3的操作,得到第四阶段的多分辨率特征图。在各个阶段都能得到一组多分辨率特征图。
[0023]
步骤2.4,将各个阶段所生成的多分辨率特征图,按照分辨率大小在通道维度上进行拼接组合,作为编码器的输出。
[0024]
其中步骤3,在解码器中引入拉普拉斯金字塔,用于提取输入图像的边界特征并加
入模型中,来强化网络学习边界信息,具体步骤按以下实施:
[0025]
步骤3.1,在解码器中引入拉普拉斯金字塔去提取输入图像中的边界信息,用于强化网络对图像边界信息的学习,即取步骤2.1的输入图像进行多次下采样操作,得到5个被缩小的图像分别为输入图像大小的1/2、1/4、1/8、1/16和1/32倍,然后将1/32倍的图像进行多次上采样操作,也得到5个被放大的图像分别为输入图像大小的1/16、1/8、1/4、1/2和1倍(对应原本的输入图像大小),将上述由下采样得到1/16、1/8、1/4、1/2的图像和原本输入图像,与上采样得到5个图像进行相减得到5个拉普拉斯金字塔残差块,即边界特征。
[0026]
步骤3.2,在解码器中对步骤2.4所得的输出进行处理,将编码器输出的多分辨率特征图中通道数最大的特征图嵌入空洞空间金字塔池化模块,获得更大特征图感受野,充分提取特征,然后执行1x1卷积来添加非线性特性。
[0027]
步骤3.3,将步骤3.2得到的多分辨率特征图进行上采样操作,得到与上一层相同分辨率大小的特征图,然后将得到的特征图、上一层特征图和相同分辨率大小的边界特征图在通道维度上进行拼接,然后通过通道注意力模块、3x3卷积,得到增强后的特征图,其通道维度变为预先设置的256,然后将得到增强后的特征图,再次作为此步骤3.3的输入,重复此过程,最终得到5个增强后的特征图其通道维度分别是16、32、64、128、256。
[0028]
其中步骤4,在解码器中使用特征再结合模块,以进一步丰富输出的深度特征,具体步骤按以下实施:
[0029]
步骤4.1,对步骤3.3中得到的5个增强后的特征图,再次进行特征图间通道维度上的拼接并且加入分辨率一致的边界特征图,即对步骤3.3中通道数为256的特征图先进行上采样使分辨率与通道数为128的特征图相同,同时让这两个特征图与分辨率与其一致的边界特征图在通道维度上进行拼接,然后通过一个1x1卷积得到新的通道数为128的特征图,之后再让新得到的通道数为128的特征图作为此步骤4.1的输入,重复这个过程最终得到4个深度增强后的特征图其通道维度分别是16、32、64、128。
[0030]
其中步骤5,使用不同的上采样算法恢复不同区域的深度信息,具体步骤按以下实施:
[0031]
步骤5.1,对步骤4.1中得到的4个深度增强后的特征图和步骤3.3中通道数为256的特征图,分别通过一个3x3卷积将通道维度变为1维;加入步骤3.1得到边界特征图令其在通道维度执行平均化得到1维的边界特征图;把上述通道数通过3x3卷积变为1维的特征图通过反卷积使特征图的分辨率变为原来的两倍;把上述在分辨率上相同的三种1维特征图进行相加,通过sigmoid激活函数激活得到4个不同分辨率的视差图。
[0032]
其中步骤6,在训练中使用新的边界损失和以进一步约束物体之间的边界,具体步骤按以下实施:
[0033]
步骤6.1,此步骤用于获得二进制掩码来区分哪些像素属于高频信息,并用于模型的训练阶段。即在解码器中,使用步骤3.1中获得的拉普拉斯金字塔残差块即边界特征。首先将这些残差块的分辨率缩放到模型输入图像的分辨率大小,然后在通道维度上选择像素值最大的像素点作为新的残差块。然后对它进行平均得到一个平均值,并使用鉴别器在进一步选择大于平均值的像素值作为高频信息即边界信息。
[0034]
步骤6.2,对步骤6.1进行处理后,将高频信息像素点标记为1其余为0,得到一个二进制掩码m,m∈[0,1],以挑选出具有高频信息的像素点,使用berhu损失来进一步进行边界
信息的训练,得到一个边界损失函数其公式如下:
[0035][0036]
其中,m是高频频率信息的二进制掩码,i
t
是目标帧,i

t
是合成帧,c是一批视图之间最大的绝对差值的20%。结合了新的边界损失的总损失如下所示:
[0037]
l=μ[min(l
phot
(i
t
,i

t
)+λlb)]+λ2l
sm
[0038]
其中,μ[
·
]是过滤不恰当像素的自动掩蔽,min(
·
)是取最小重投影损失,l
sm
是边缘感知平滑损失函数,l
phot
是光度损失函数,λ是边界损失项的权重,λ2是平滑正则化项的权重。
[0039]
其中步骤7,对模型进行训练,并使用已经训练完成的模型对测试集进行预测得到最终的深度图,具体步骤按以下实施:
[0040]
步骤7.1,对模型使用步骤1.1中划分出的训练集、验证集和步骤6.2中总的损失函数,并利用adam优化器进行训练。
[0041]
步骤7.2,将已经训练完成的模型对步骤1.1中划分出的测试集进行估计其图像的深度。首先模型输出这些测试图像的视差图即深度的倒数,通过取视差图的倒数,得到一个被缩放的深度图,然后通过测试图的深度图的像素值中位数与本发明得到的深度图的像素值中位数进行相除得到一个缩放因子,然后将此缩放因子乘于本发明得到的深度图,得到最终可用的深度图。
[0042]
本发明的有益效果:
[0043]
本发明针对之前无监督单目深度估计方法中使用的光度损失产生过平滑效果而导致的边界模糊问题,提出了使用拉普拉斯金字塔提取的边界特征,来约束网络对物体边界的学习,不仅保证提高了预测深度图的准确性,且不需要引入多余网络去学习识别边界信息,同时也改善了光度损失所产生的边界问题。在解码器中使用了特征再结合模块,进一步丰富了输出的深度特征,同时使用不同的上采样方法来恢复低频信息即图像平坦区域和高频信息即图像边界区域,本发明还通过拉普拉斯金字塔提取的高维特征引入了一个新的边界损失函数。本发明能更进一步去约束网络对图像中物体边界信息的学习,从而获得更好的深度估计效果。
附图说明
[0044]
图1是本发明的网络结构示意图;
[0045]
图2是本发明的hrformer编码器结构示意图;
[0046]
图3是本发明的基于拉普拉斯金字塔的解码器示意图;
[0047]
图4是本发明的基于拉普拉斯金字塔所提取的简单的高频信息;
[0048]
图5是本发明的视差预测效果对比图。
具体实施方式
[0049]
下面结合附图和具体实施方式对本发明进行详细说明。
[0050]
本发明的一种基于深度学习的无监督单目图像深度估计方法具体按以下步骤实
施:
[0051]
步骤1,使用kitti数据集对其进行预处理,并划分作为本方法的训练集、验证集和测试集,分别为39810张、4424张和697张。
[0052]
步骤2,hrformer编码器采用特征多分辨率并行设计,相比于resnet编码器其结合了卷积和自注意力模块的优点,并且减少了网络参数的数量。
[0053]
通过使用卷积获取局部特征信息图,并引入local-window自注意力机制对每个不同的分辨率特征图进行更新,以得到全局特征信息。实现了局部特征信息和全局特征信息的融合。
[0054]
步骤2.1,hrformer编码器如图2所示,可分为四个阶段,首先对输入图像进行两次3x3卷积,得到64通道的特征图f11其分辨率为输入图像的1/4,为第一阶段的特征图。然后传入残差块中得到256通道的特征图并进行分流操作,生成两个通道数分别为18和36的新特征图,分辨率分别为输入图像的1/4和1/8。
[0055]
步骤2.2,对步骤2.1所得的两个通道数为18和36的新特征图作为输入,使用local-window自注意力机制对每个多分辨率特征图进行更新,即把输入特征图x∈rn×d划分成一组不重叠的窗口,x

{x1,x2,...,x
p
},其中d表示通道数,n表示输入分辨率,r表示特征权重的集合,每个窗口的边长为k,大小为k
×
k,然后在每个窗口内独立执行多头自注意力(mhsa),在每个窗口中聚合信息。其中第p个窗口x
p
上的多头自注意力(mhsa)的公式如下:
[0056][0057][0058][0059]
其中,wo∈rd×d是自注意力输出的权重矩阵,是自注意力中查询矩阵的权重矩阵,自注意力中键矩阵的权重矩阵,自注意力中键矩阵的权重矩阵,是自注意力中值矩阵的权重,h∈{1,2,...,h},h表示head数,表示mhsa的输出表示;
[0060]
步骤2.3,经过上述步骤2.1得到的第一阶段的特征图后,第二阶段利用步骤2.1中生成的通道数分别为18和36的两个新特征图,开始使用步骤2.2中自注意力机制对每个不同的分辨率特征图进行独立更新,并让跨分辨率的信息通过卷积多尺度融合模块反复交换,进行相互拼接来丰富特征信息,再次生成新的通道数为18和36的特征图,如图2中的特征图f12和f21,此为第二阶段,此外通过通道数为36的新特征图,还生成一个通道数72的特征图其分辨率为输入图像的1/16;第三阶段重复第二阶段的操作分别生成通过数为18、36和72的新特征图,如图2所示分别为特征图f13、f22和f31,然后通过通道数为72的新特征图,还生成一个通道数144的特征图其分辨率为输入图像的1/32;第四阶段也重复第二阶段的操作,分别生成通过数为18、36、72和144的新特征图,如图2所示分别为特征图f14、f23、f32和f41。
[0061]
步骤2.4,对各个阶段所得到的特征图,在分辨率相同的层次上进行通道维度间的拼接组合,此外将步骤2.1中进行了一次3x3卷积的特征图也进行组合其分辨率为输入图像
的1/2,则各个组合的特征图分辨率详细为96x320、48x160,24x80、12x40、6x20,得到一组多尺度分辨率输出特征模块,作为hrformer编码器的输出,如图1(a)部分和图2编码器所示,为x0、x1、x2、x3和x4。
[0062]
步骤3,在解码器中引入拉普拉斯金字塔,其提取图像边界的特征并加入模型中,如图3所示。其目的在于约束模型对物体边界的学习,使其深度估计效果更好,这可以从下列表1的指标数值和图5展现的例子所表现出来。
[0063]
具体地,在步骤3.1中对输入图像先进行下采样操作,从原本192x640的分辨率缩小2倍,并执行5次此操作,得到96x320至6x20的下采样图像。然后再通过上采样操作,将得到6x20上采样图像也执行5次,得到12x40至192x640的图像。将上述由下采样得到12x40、24x80、48x160、96x320的图像和原本输入图像(192x640),与上采样得到5个图像进行相减得到5个图像边界的特征,如图3所示边界特征分辨率从大到小分别l1、l2、l3、l4和l5,其公式如下所示:
[0064][0065]
l
k+1
表示第k+1个图像边界的特征,i
k+1
表示对第k+1个图像进行下采样得到的图像,up(
·
)表示上采样函数,i表示输入图像。
[0066]
之后在步骤3.2中,对之前步骤2.4得到多尺度分辨率输出特征模块进行处理,共有5层特征图模块。首先对最后一层尺度为144x6x20的特征图嵌入空洞空间金字塔池化模块,即图3中的aspp模块,获得更大特征图感受野,充分提取特征,然后执行1x1卷积来添加非线性特性。
[0067]
步骤3.3中,将步骤3.2得到的新的多分辨率特征图执行上采样操作,放大得到分辨率为144x12x40特征图,然后让该144x12x40特征图、其上一层分辨率为72x12x40的特征图和分辨率为3x12x40的边界特征图(图3中的l5)一起送入注意力模块中(图3所示),该注意力模块首先对分辨率为72x12x40的特征图执行1x1卷积添加非线性特性,然后将分辨率分别为144x12x40、72x12x40和3x12x40的特征图在通道维度上进行拼接后,使用通道注意力模块进行增强,送入一个3x3卷积中,其维度将变为256x12x40,如图3的f5所示。将上述得到增强后的特征图与相应的边界特征图和上一层特征图,再作为下一个注意力模块的输入,之后不断重复此过程,最终得到5个增强后的特征图其维度分别是16x192x640、32x96x320、64x48x160、128x24x80和256x12x40,即图3中对应的f1、f2、f3、f4和f5。
[0068]
步骤4中,解码器中使用特征再结合模块,以进一步丰富输出的深度特征。
[0069]
具体而言在步骤4.1中,对步骤3.3中得到的5个增强后的特征图,再次进行特征图间通道维度上的拼接并且加入分辨率一致的边界特征图,即对步骤3.3中通道数为256的特征图f5、通道数为128的特征图f4和边界特征l4,一起送入特征再结合模块中即图3所示,首先对高维特征图f5进行上采样得到分辨率与f4相同的特征图,然后将三者在通道维度上进行拼接,然后通过一个1x1卷积得到新的通道数为128的特征图128x24x80,之后再让新得到的通道数为128的特征图作为此步骤4.1的输入,重复这个过程最终得到4个深度增强后的特征图其通道维度分别是16x192x640、32x96x320、64x48x160和128x24x80,即图3中对应的p1、p2、p3和p4。
[0070]
步骤5中,使用不同的上采样算法恢复不同区域的深度信息。
[0071]
具体而言在步骤5.1中,对步骤3.1得到边界特征图令其在通道维度执行均值化,得到通道数为1维的边界特征图即图3中l
1(mean)
、l
2(mean)
、l
3(mean)
和l
4(mean)
分辨率分别为1x192x640、1x96x320、1x48x160和1x24x80。将步骤4.1中得到的4个增强后的特征图作为p1、p2、p3和p4,步骤3.3中得到的特征图f5作为p5。将p4、p5和l
4(mean)
作为图3所示反卷积模块的输入,其内部步骤为首先将p4和p5分别通过一个3x3卷积将其通道维度变为1维,然后将p5通过反卷积放大到原来分辨率的两倍,得到的特征图其分辨率与p4相同为1x24x80,此反卷积主要去恢复图像的高频信息即边缘区域信息,普通的上采样函数已在步骤3.3中使用来恢复图像的低频信息即平坦区域信息,然后把p4、反卷积后的p5和l
4(mean)
进行相加,通过sigmoid激活函数激活得到1个分辨率为1x24x80的视差图disp1。之后不断重复此过程,即将p3、p4和l
3(mean)
通过反卷积模块生成1个分辨率为1x48x160的视差图disp2,p2、p3和l
2(mean)
通过反卷积模块生成1个分辨率为1x96x320的视差图disp3,p1、p2和l
1(mean)
通过反卷积模块生成1个分辨率为1x192x640的视差图disp4,如图3所示。
[0072]
步骤6中,利用拉普拉斯金字塔提取的高维信息在训练中加入新的边界损失,以进一步约束物体之间的边界。
[0073]
步骤6.1,此步骤用于获得二进制掩码来区分哪些像素属于高频信息,并用于模型的训练阶段,即在解码器中,使用步骤3.1中获得的拉普拉斯金字塔残差块即边界特征。首先将这些残差块的分辨率缩放到模型输入图像的分辨率大小,然后在通道维度上选择像素值最大的像素点作为新的残差块,即4个新的残差块其分辨率都为1x192x640。然后对它进行平均,并使用鉴别器进一步选择大于平均值的像素值作为高频信息,即边界信息,如图4所示白的像素点是得到的高维像素点。
[0074]
步骤6.2,对步骤6.1进行处理后,将高频信息像素点标记为1其余为0,得到一个二进制掩码m,m∈[0,1],以挑选出具有高频信息的像素点,使用berhu损失来使用该掩码进一步对边界信息进行训练,得到一个边界损失函数其公式如下:
[0075][0076]
其中,m是高频频率信息的二进制掩码,i
t
是目标帧,i

t
是合成帧,c是一批视图之间最大的绝对差值的20%。结合了新的边界损失的总损失如下所示:
[0077]
l=μ[min(l
phot
(i
t
,i

t
)+λlb)]+λ2l
sm
[0078]
其中,μ[
·
]是过滤不恰当像素的自动掩蔽,min(
·
)是取最小重投影损失,l
sm
是边缘感知平滑损失函数,l
phot
是光度损失函数,λ是边界损失项的权重,λ2是平滑正则化项的权重。
[0079]
步骤7中,对模型进行训练,并使用已经训练完成的模型对kitti的测试集进行预测得到最终的深度图。
[0080]
步骤7.1,对模型使用步骤1.1中kitti数据集划分出的训练集、验证集和步骤6.2中总的损失函数进行训练,并利用adam优化器进行训练。具体而言,与大多数的自监督单眼深度估计方法相似,将i
t
作为目标帧,并将源帧设置为is,s∈(t-1,t+1)。为了计算总的损失函数,通过同时训练深度网络和姿态网络对is进行重投影重建为i

t
,即合成帧。本发明的模型以i
t
为输入图像,预测深度图d(i
t
),并通过图1(b)中的姿态网络,输入目标帧i
t
与源帧is的图像来进行相对姿态预测,得到具有6自由度的相对姿态矩阵t
t-》s
。利用得到的深度图d(i
t
),相对姿态矩阵t
t-》s
使用双线性插值对源图像is进行采样得到合成帧i

t
。使用目标帧i
t
和合成帧i

t
计算步骤6.2中的总损失即图1中光度损失和本发明提出的边界损失,并利用adam优化器来训练网络20个周期。
[0081]
步骤7.2,将步骤7.1中已经训练完成的模型对步骤1.1中kitti数据集划分出的测试集进行估计其图像的深度。首先模型输出这些测试图像的视差图即深度的倒数,于是通过取视差图的倒数得到一个被缩放的深度图,然后通过测试图的深度图的像素值中位数与本发明得到的深度图的像素值中位数进行相除得到一个缩放因子,将此缩放因子乘于本发明得到的深度图,得到最终可用的深度图。
[0082]
本发明使用kitti数据集中的数据对提出的基于深度学习的单目深度估计方法进行实验,kitti数据集是计算机视觉子任务中最大和最常用的数据集,包含农村、城市户外的图像,也是无监督和半监督单目深度估计中最常见的基准和主要训练数据集,由车载相机和雷达进行采集。
[0083]
本发明通过各个单目深度估计所常用得指标,例如absrel绝对相对误差、sqrel平方相对误差、rmse均方根误差、rmselog对数均方根误差、精确度指标来评估本发明提出得网络与其他基于深度学习的单目算法的性能。其中精确度指标包含三个阈值分别为1.25、1.252和1.253。
[0084]
表1统计了本发明的方法与最近的其它方法在kitti数据集下上述各个指标的比较情况。从表1中可以看出,本发明的方法在大多数指标上都取得了优秀的结果,且对深度图估计的精度有一定的提升。本发明的方法与近年最好的方法相比,在绝大多数指标上取得了最好的成绩。尤其体现在精确度阈值为1.25的指标上比fsre-depth提升了1.2%,获得了绝对的优势。这可以看出本发明具有明显的优势。
[0085]
表1
[0086][0087]
图5表示的是本发明与基线方法在视差图预测上的结果对比图,图5中的第1行是输入图像,第2行是本发明预测的视差图,第3行是基线模型预测的视差图。从图5中可以看出本发明的方法,不仅在视差图的预测方面更加得准确,而且物体边缘信息,也如本发明所想要得效果一样,显得更加清晰且分明,如图5中白方框区域所示。
[0088]
综上,本发明提出的一种基于深度学习的单目深度估计方法,有效的改善了光度损失产生过平滑效果而导致的边界模糊问题。本发明使用了具有局部特征信息和全局特征信息的融合的编码器结构,用于获得更丰富的图像上下文信息。为了最大化使用这些特征,
将编码器中各个阶段提取出来的特征图,在相同的分辨率下进行通道维度上拼接作为编码器的最终输出;在解码器中使用拉普拉斯金字塔用于提取的边缘特征,融入特征图中用于约束网络对边界的学习,此外加入特征再结合模块来丰富最终的深度特征图,在最终输出上使用不同的上采样方法用于恢复不同频率的信息区域,该方法还利用拉普拉斯金字塔提取的高维特征,提出了新的边界损失函数用于进一步对物体之间的边界信息进行约束学习。并在kitti数据集上的实验表明,本发明在各评价指标上与其他最先进的方法进行性能比较,本发明在绝大多数指标上取得了最好的效果。

技术特征:


1.一种基于深度学习的无监督单目图像深度估计方法,其特征在于包括以下步骤:步骤1,对图像数据集进行预处理,并划分为训练集、验证集和测试集;步骤2,使用hrformer编码器,在所有不同阶段生成的,具有相同尺度的特征进行特征融合,构建出多尺度特征模块;步骤3,在解码器中引入拉普拉斯金字塔,强化网络学习边界信息;步骤3.1,在解码器中引入拉普拉斯金字塔,取步骤2的输入图像进行多次下采样操作,得到五个图像,其大小分别为输入图像大小的1/2倍、1/4倍、1/8倍、1/16倍和1/32倍;然后将1/32倍的图像进行多次上采样操作,得到五个图像,其大小分别为输入图像大小的1/16倍、1/8倍、1/4倍、1/2倍和1倍;将上述由下采样得到1/16倍、1/8倍、1/4倍、1/2倍的图像和输入图像,与上采样得到五个图像进行相减,得到五个拉普拉斯金字塔残差块,即边界特征;步骤3.2,将步骤2编码器输出的多分辨率特征图中通道数最大的特征图,嵌入空洞空间金字塔池化模块,再执行1x1卷积;步骤3.3,将步骤3.2得到的多分辨率特征图进行上采样操作,然后与上一层特征图、相同分辨率大小的边界特征,在通道维度上进行拼接,并通过通道注意力模块和卷积操作,得到增强后的特征图;将增强后的特征图,再次作为步骤3.3的输入,重复此过程,得到五个增强后的特征图;步骤4,在解码器中使用特征再结合模块;即对步骤3.3中得到的五个增强后的特征图,进行特征图间通道维度上的拼接,并且加入分辨率一致的边界特征,重复这个过程得到四个深度增强后的特征图;步骤5,使用不同的上采样算法恢复不同区域的深度信息;步骤5.1,对步骤4中得到的四个深度增强后的特征图和步骤3.3中得到的通道数最大的特征图,分别通过一个3x3卷积将通道维度变为一维;将步骤3.1得到边界特征在通道维度执行平均化,得到一维边界特征;把上述通道数通过3x3卷积变为一维的特征图通过反卷积,使特征图的分辨率变为原来的两倍;将上述在分辨率上相同的三种一维特征图进行相加,通过sigmoid激活函数激活得到四个不同分辨率的视差图;步骤6,利用拉普拉斯金字塔提取的高频信息,在训练中加入新的边界损失;步骤6.1,在解码器中,使用步骤3.1中获得的拉普拉斯金字塔残差块;首先将这些残差块的分辨率缩放到模型输入图像的分辨率大小,其次在通道维度上选择像素值最大的像素点作为新的残差块;最后对它进行平均得到一个平均值,并使用鉴别器再进一步选择大于平均值的像素值作为高频信息即边界信息;步骤6.2,将高频信息像素点标记为1其余为0,得到一个二进制掩码映射m,m∈[0,1];使用berhu损失进行边界信息的训练,得到一个边界损失函数,其公式如下:其中,m是高频信息的二进制掩码,i
t
是目标帧,i
t

是合成帧,c是一批视图之间最大的绝对差值的20%;结合了新的边界损失的总损失如下所示:
l=μ[min(l
phot
(i
t
,i
t

)+λl
b
)]+λ2l
sm
其中,μ[
·
]是过滤不恰当像素的自动掩蔽,min(
·
)是取最小重投影损失,l
sm
是边缘感知平滑损失函数,l
phot
是光度损失函数,λ是边界损失项的权重,λ2是平滑正则化项的权重;步骤7,对模型进行训练,并使用已经训练完成的模型对测试集进行预测,得到深度图。2.根据权利要求1所述的一种基于深度学习的无监督单目图像深度估计方法,其特征在于:步骤2具体过程如下:步骤2.1,对输入图像,进行两次卷积、归一化和relu激活函数的操作得到第一阶段的多分辨率特征图,然后传入残差块中,再进行分流操作,生成两个新特征图,分辨率分别为输入图像的1/4和1/8;步骤2.2,将步骤2.1所得的两个新特征图作为输入x,划分成一组不重叠的窗口,x

{x1,x2,...,x
p
},每个窗口的边长为k,大小为k
×
k;在每个窗口内独立执行多头自注意力,聚合信息,得到多个不同分辨率的特征图;步骤2.3,将步骤2.2得到的多个不同分辨率的特征图通过卷积多尺度融合模块反复交换,并进行相互拼接,得到第二阶段的多分辨率特征图;之后将第二阶段的输出作为步骤2.2的输入,重复步骤2.3的操作,得到第三阶段的多分辨率特征图;再次将第三阶段的输出作为步骤2.2的输入,重复步骤2.3的操作,得到第四阶段的多分辨率特征图;步骤2.4,将各阶段所生成的多分辨率特征图,按照分辨率大小在通道维度上进行拼接组合,作为编码器的输出。3.根据权利要求2所述的一种基于深度学习的无监督单目图像深度估计方法,其特征在于:步骤2.4中的输出还包括步骤2.1中进行了一次卷积的特征图,其分辨率为输入图像的1/2。4.根据权利要求1所述的一种基于深度学习的无监督单目图像深度估计方法,其特征在于:步骤7具体过程如下:步骤7.1,对模型使用训练集、验证集和步骤6.2中总损失函数,并利用adam优化器进行训练;步骤7.2,对已经训练完成的模型,使用测试集估计其图像的深度;首先模型输出测试图像的视差图,即深度的倒数,通过取视差图的倒数,得到一个被缩放的深度图;其次通过测试图像的深度图的像素值中位数,与模型预测得到的深度图的像素值中位数进行相除,得到一个缩放因子;将缩放因子乘于模型预测得到的深度图,得到最终可用的深度图。

技术总结


本发明公开了一种基于深度学习的无监督单目图像深度估计方法,首先使用编码器实现局部特征信息和全局特征信息的融合,并在所有不同阶段生成的具有相同尺度的特征进行特征融合。其次在解码器中引入拉普拉斯金字塔,用于提取输入图像的边界特征并加入模型中;并在解码器中使用特征再结合模块,丰富输出的深度特征。然后使用不同的上采样算法恢复不同区域的深度信息,并在训练中加入新的边界损失。最后对模型进行训练,并使用已经训练完成的模型对测试集进行预测得到最终的深度图。本发明有效的改善了光度损失产生过平滑效果而导致的边界模糊问题,并且提高了预测深度图的准确性。并且提高了预测深度图的准确性。并且提高了预测深度图的准确性。


技术研发人员:

杨柏林 陈庆杰 宋超

受保护的技术使用者:

浙江工商大学

技术研发日:

2022.09.14

技术公布日:

2022/12/29

本文发布于:2024-09-24 02:33:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/49299.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:特征   步骤   深度   边界
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议