一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自监督深度网络的训练方法、图像深度的获取方法和装置与流程

2022-02-19 14:59:17 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,尤其涉及一种自监督深度网络的训练方法、图像深度的获取方法和装置。


背景技术:

2.图像的深度估计能够通过二维图像获取到三维图像,目前广泛应用在自动驾驶、机器人视觉、无人机、三维场景重建、虚拟现实(virtual reality,简称vr)或者增强现实(augmented reality,简称ar)等应用场景中。
3.单目图像深度估计是指从单目相机捕捉的二维图像中获取每个像素的深度信息,为了提高深度估计的准确性,可以通过单目相机捕捉的多张连续图像联合进行深度估计。目前单目图像深度估计主要采用有监督和自监督(也称为无监督)两种方法,二者的区别在于网络训练采用的图像是否需要进行深度标记,采用有监督方法训练网络时图像需要进行深度标记,采用自监督方法训练网络时图像不需要进行深度标记。现有的自监督学习方法通过利用连续帧之间的跨视图一致性预测图像深度,通常由两个网络分别预测深度(depth)和相机姿态(pose),然后共同利用它们将源帧(source frame)扭曲为参考帧(reference frame),从而将深度估计问题转换为光度误差最小化过程。
4.基于自监督的图像深度估计已经证明了连续帧之间光度一致性损失的有效性,一方面光度一致性很容易受到光照变化、反射表面和无纹理区域的破坏,另一方面,自然场景中总会有一些移动物体从而产生遮挡区域,也影响了光度一致性的成功,从而导致基于光度一致性损失进行的图像深度估计方法的鲁棒性低。


技术实现要素:

5.本发明提供一种自监督深度网络的训练方法、图像深度的获取方法和装置,提高了基于光度一致性损失进行的图像深度估计方法的鲁棒性。
6.第一方面,本发明提供一种自监督深度网络的训练方法,包括:
7.将训练图像对输入到位姿网络中,得到所述训练图像对的位姿偏移,所述训练图像对包括图像t和图像t m;
8.将所述训练图像对输入到偏移网络中,得到所述训练图像对的特征对齐偏移和所述图像t m的对齐特征;
9.将所述训练图像对输入到深度网络中,得到所述图像t的深度图和所述图像t m的深度图;
10.获取所述图像t和所述图像t m的光度一致性损失、时空一致性损失和平滑损失;
11.根据所述图像t m的对齐特征重建所述图像t对应的重建图像,计算所述重建图像和所述图像t的重建损失;
12.根据所述训练图像对的特征对齐偏移和所述图像t m的深度特征,计算得到所述图像t m的对齐深度特征,根据图像t m的对齐深度特征和所述图像t的深度特征,计算得到
深度特征损失;
13.将所述深度特征损失和所述重建损失之和确定为深度特征对齐损失;
14.计算所述图像t和所述图像t m的体素密度对齐损失;
15.根据所述光度一致性损失、所述时空一致性损失、所述平滑损失、所述深度特征对齐损失和所述体素密度对齐损失确定总损失;
16.对所述总损失进行优化得到所述位姿网络、偏移网络和所述深度网络的参数。
17.可选的,所述计算所述图像t和所述图像t m的体素密度对齐损失,包括:
18.根据所述图像t m的深度图得到所述图像t m对应的点云,根据所述图像t的深度图得到所述图像t对应的点云;
19.根据所述图像t m对应的点云以及所述位姿偏移,得到所述图像t m转换后的点云;
20.根据所述图像t对应的点云计算得到所述图像t的体素密度,根据所述图像t m转换后的点云计算得到所述图像t m的转换体素密度;
21.根据所述图像t的体素密度和所述图像t m的转换体素密度计算体素密度对齐损失,所述体素密度对齐损失要求所述图像t和所述图像t m中相同位置处的体素中的三维点的数量相同。
22.第二方面,本发明提供一种图像深度的获取方法,包括:
23.将待确定图像输入至深度网络中,得到所述待确定图像的深度数据,所述深度网络是通过本发明第一方面所述方法训练得到的深度网络。
24.第三方面,本发明提供一种自监督深度网络的训练装置,包括:
25.位姿偏移训练模块,用于将训练图像对输入到位姿网络中,得到所述训练图像对的位姿偏移,所述训练图像对包括图像t和图像t m;
26.特征偏移训练模块,用于将所述训练图像对输入到偏移网络中,得到所述训练图像对的特征对齐偏移和所述图像t m的对齐特征;
27.深度网络训练模块,用于将所述训练图像对输入到深度网络中,得到所述图像t的深度图和所述图像t m的深度图;
28.损失计算模块,用于获取所述图像t和所述图像t m的光度一致性损失、时空一致性损失和平滑损失;
29.所述损失计算模块,还用于:
30.根据所述图像t m的对齐特征重建所述图像t对应的重建图像,计算所述重建图像和所述图像t的重建损失;
31.根据所述训练图像对的特征对齐偏移和所述图像t m的深度特征,计算得到所述图像t m的对齐深度特征,根据图像t m的对齐深度特征和所述图像t的深度特征,计算得到深度特征损失;
32.将所述深度特征损失和所述重建损失之和确定为深度特征对齐损失;
33.计算所述图像t和所述图像t m的体素密度对齐损失;
34.根据所述光度一致性损失、所述时空一致性损失、所述平滑损失、所述深度特征对齐损失和所述体素密度对齐损失确定总损失;
35.优化模块,用于对所述总损失进行优化得到所述位姿网络、偏移网络和所述深度
网络的参数。
36.可选的,所述损失计算模块具体用于:
37.根据所述图像t m的深度图得到所述图像t m对应的点云,根据所述图像t的深度图得到所述图像t对应的点云;
38.根据所述图像t m对应的点云以及所述位姿偏移,得到所述图像t m转换后的点云;
39.根据所述图像t对应的点云计算得到所述图像t的体素密度,根据所述图像t m转换后的点云计算得到所述图像t m的体素密度;
40.根据所述图像t的体素密度和所述图像t m的体素密度计算体素密度对齐损失,所述体素密度对齐损失要求所述图像t和所述图像t m中相同位置处的体素中的三维点的数量相同。
41.第四方面,本发明提供一种电子设备,包括:至少一个处理器和存储器;
42.所述存储器存储计算机执行指令;
43.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如本发明第一方面或第二方面所述的方法。
44.第五方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如本发明第一方面或第二方面所述的方法。
45.第六方面,本发明提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如本发明第一方面或第二方面所述的方法。
46.本发明提供的自监督深度网络的训练方法、图像深度的获取方法和装置,在基于自监督的深度网络的训练过程中,引入了深度特征对齐损失和体素密度对齐损失,深度特征对齐损失能够提高光照变化区域、反射表面和无纹理区域等场景下网络模型的光度一致性的鲁棒性,体素密度对齐损失能够提高移动物体场景下网络模型的光度一致性的鲁棒性,并通过光度一致性损失、时空一致性损失、平滑损失、深度特征对齐损失和体素密度对齐损失确定总损失,使用该总损失作为网络训练的监督信号,从而能够更加鲁棒地约束跨图一致性,学习到更鲁棒的深度网络。
附图说明
47.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
48.图1为本发明提供的自监督深度网络的训练方法的训练过程的一种示意图;
49.图2为本发明实施例一提供的自监督深度网络的训练方法的流程图;
50.图3为本发明实施例二提供的体素密度对齐损失的计算方法的流程图;
51.图4为本发明实施例六提供的自监督深度网络的训练装置的结构示意图;
52.图5为本发明实施例七提供的电子设备的一种结构示意图。
53.通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
54.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
55.现有的自监督图像深度估计方法证明了连续图像之间光度一致性的有效性,光度一致性是基于这样的假设:即从同一3d点投影到不同图像中的像素亮度是恒定的,但是这个假设很容易受到光照变化、反射表面和无纹理区域的破坏,另外,自然场景中总会存在一些移动物体从而产生遮挡区域,也会影响光度一致性。
56.为了解决这个问题,一些方法引入了三维几何特征来约束网络的学习,如使用3d点云对齐来约束时序上的跨视图一致性。然而,点云对齐要求连续帧间对应的3d点对齐,是一种非常严格的约束,这种约束对3d点的位置非常敏感,这在具有移动物体和由此产生的遮挡区域的场景中很脆弱。
57.为了解决现有的问题,本发明提供一种自监督的单目图像深度估计方法,能够提升自监督图像深度估计方法的鲁棒性,具有更健壮的跨视图一致性,以减轻无纹理区域以及移动物体等因素对于跨视图光度一致性的不良影响。本发明首先提出了深度特征对齐损失(dfa loss),它通过可变形对齐网络从源帧重建参考帧来学习连续帧之间的特征偏移,然后将这些特征偏移用于对齐深度特征。深度特征对齐损失(dfa loss),通过特征级表示(feature

level representation)相邻帧之间的一致性,这比像素亮度(intensity)更具代表性和判别性。同时,为了使模型对移动物体和由此产生的遮挡区域更加鲁棒,提出了体素密度(voxel density)作为新的三维表示,并定义体素密度对齐损失(vda loss)以规范跨视图一致性。体素密度对齐损失将点云视为一个整体的空间分布,它仅要求相邻帧的相应体素内的点的数目保持一致,而对点的具体空间位置不敏感,因此对于小的空间扰动比较鲁棒。
58.图1为本发明提供的自监督深度网络的训练方法的训练过程的一种示意图,如图1所示,该训练过程需要设计三个网络:位姿网络(posenet)、偏移网络(offsetnet)和深度网络(depthnet)。其中,位姿网络用于估计连续图像的位姿偏移,偏移网络用于估计连续图像的特征对齐偏移,深度网络用于估计图像的深度。
59.示例性的,该偏移网络包括特征提取网络,特征提取网络用于对图像进行特征提取得到图像的特征图(也可以称为特征),以输入的帧序列中的两个图像为例,图像t和图像t m,m的取值通常为1

3。特征提取网络对图像t和图像t m进行特征提取,得到图像t的特征图和图像t m的特征图,图像t的特征图和图像t m的特征图经过连接以及卷积运算得到初始特征对齐偏移,将该初始特征对齐偏移、图像t的特征图和图像t m的特征图作为可变形卷积网络的输入,通过训练得到图像t和图像t m的特征对齐偏移。可变形卷积网络通过该特征对齐偏移可以得到图像t m的对齐特征。该偏移网络的重建层对图像t m的对齐特征进行重建,得到图像t m的重建图像,根据图像t m的重建图像和图像t得到重建损失。
60.该深度网络包括特征编码器、第一特征解码器、第二特征解码器,图像t m经过该特征编码器和第一特征解码器处理后得到图像t m的特征,图像t经过该特征编码器和第二特征解码器处理后得到图像t的特征,这里图像t和图像t m的特征是2d图像的特征,也可以
称为图像的rgb特征。可变形卷积网络用于对图像t m的特征和特征偏移网络学习到的特征对齐进行可变形卷积运算,可变形卷积网络的输出经过第一卷积网络运算后得到图像t m的深度图。第二特征解码器输出的图像t的特征经过第二卷积网络运算后得到图像t的深度图。图像t的深度图和图像t m的深度图中包括多个像素点的深度数据。根据图像t的深度图和图像t m的深度图可以得到深度特征损失。将深度特征损失和重建损失之和确定为深度特征对齐损失。
61.位姿网络包括一个特征编码器和一个特征解码器,图像t和图像t m经过该特征编码器和该特征解码器处理后得到图像t的位姿特征和图像t m的位姿特征,根据图像t的位姿特征和图像t m的位姿特征得到图像t和图像t m之间的位姿偏移。
62.本发明中不仅引入了深度特征对齐损失,还引入了体素密度对齐损失。体素是体积元素(volume pixel)的简称,是3d空间分割上的最小单位,体素用于三维成像、科学数据与医学影像等领域。概念上类似2d空间的最小单位——像素,像素用在二维计算机图像的影像数据上。
63.每帧2d图像对应的3d空间可以被划分为多个体素,图像t的体素密度可以理解为图像t对应的点云落在某个体素内的3d点的个数与点云中3d点的总个数的比值。例如,图像t对应的点云内共有n个3d点,其中,落在体素1内的3d点的个数为n1,则体素1的体素密度为n1/n,落在体素2内的3d点的个数为n2,则体素2的体素密度为n2/n。
64.在得到图像t和t m的深度图后,根据图像t m的深度图可以得到图像t m对应的点云,根据图像t的深度图得到图像t对应的点云,点云中的点是3d点。根据位姿网络得到的位姿偏移对图像t m对应的点云进行转换,得到图像t m转换后的点云。根据图像t对应的点云计算得到图像t的体素密度,根据图像t m转换后的点云计算得到图像t m的体素密度。
65.进一步地,根据图像t的体素密度和图像t m的转换体素密度计算体素密度对齐损失,不同于现有技术,本发明中体素密度对齐损失要求图像t和图像t m中相同位置处的体素中的三维点的数量相同。现有技术中,采用点云对齐,点云对齐要求相邻图像间对应位置处的3d点对齐,是一种非常严格的约束。
66.本发明在训练深度网络时,不仅考虑了传统的光度一致性损失、时空一致性损失和平滑损失,还考虑了上述涉及的深度特征对齐损失和体素密度对齐损失,引入深度特征对齐损失能够提高光照变化区域、反射表面和无纹理区域等场景下的光度一致性的鲁棒性,引入上述体素密度对齐损失能够提高移动物体和由此产生的遮挡区域的场景中光度一致性的鲁棒性。以下对本发明的具体实现方式进行说明。
67.图2为本发明实施例一提供的自监督深度网络的训练方法的流程图,参照图1和图2,本发明实施例一的方法包括如下步骤。
68.s101、将训练图像对输入到位姿网络中,得到训练图像对的位姿偏移,训练图像对包括图像t和图像t m。
69.通过大量的训练图像对训练得到深度网络,每个训练图像对由两个关联的图像组成,其中,m的取值可以为1

3,当m的取值为1时,图像t和图像t m是在时间上连续的两个图像。
70.可以通过图1中的位姿网络得到图像t和图像t m的位姿变换。
71.s102、将训练图像对输入到偏移网络中,得到训练图像对的特征对齐偏移和图像t
m的对齐特征。
72.可以采用图1所示的训练过程训练得到的偏移网络,将图像t和图像t m输入该偏移网络后输出特征对齐偏移和图像t m的对齐特征。
73.示例性的,提取图像t和图像t m的特征,可以通过特征提取器提取两个图像的特征,将图像t和图像t m的特征输入到可变形卷积网络中:
[0074][0075]
其中,f
dc
表示可变形卷积网络,f
t m
表示图像t m的特征,θ
t m

t
表示训练图像对的特征对齐偏移,表示图像t m的对齐特征。
[0076]
其中,f
dc
的计算过程表示为:
[0077][0078]
p
k
是一个核大小为n
×
n的标准卷积的第k个采样偏移,p p
k
δp
k
是可变形卷积在某个位置p处学到的第k个偏移。举例来说,当n=3时,则有p
k
∈r,r={(

1,

1),(

1,0),...,(1,1)},因此,p p
k
δp
k
是可变形卷积在某个位置p处学到的第k个偏移。
[0079]
通过该变形卷积网络的学习得到该特征对齐偏移和图像t m的对齐特征,其中,可变形卷积网络学习到的特征对齐偏移θ
t m

t
可以表示为θ
t m

t
={δp
k
|n=1,...,|r|}。
[0080]
s103、将训练图像对输入到深度网络中,得到图像t的深度图和图像t m的深度图。
[0081]
可以采用图1所示的训练过程训练得到图像t的深度图和图像t m的深度图。
[0082]
s104、获取图像t和图像t m的光度一致性损失、时空一致性损失和平滑损失。
[0083]
其中,光度一致性损失、时空一致性损失和平滑损失可以采用已有的方式计算得到,下述实施例中举例说明。
[0084]
s105、根据图像t m的对齐特征重建图像t对应的重建图像,计算重建图像和图像t的重建损失。
[0085]
在获取到图像t m的对齐特征就可以由其重建参考帧(即重建图像):
[0086][0087]
其中,re表示重建算法,可以采用已有的图像重建算法重建参考帧,这里不再赘述。
[0088]
使用重建损失reconloss l
re
来约束特征偏移的学习,重建损失可以表示为:
[0089][0090]
其中,表示所述重建图像,i
t
表示所述图像t,l
re
表示所述重建损失
[0091]
s106、根据训练图像对的特征对齐偏移和图像t m的深度特征,计算得到图像t m的对齐深度特征,根据图像t m的对齐深度特征和图像t的深度特征,计算得到深度特征损失。
[0092]
使用学习到的特征对齐偏移进行深度特征的对齐,可以通过如下公式计算图像t m的对齐深度特征:
[0093]
[0094]
其中,表示图像t m的深度特征,θ
t m

t
表示训练图像对的特征对齐偏移,f
dc
表示可变形卷积网络,表示图像t m的对齐深度特征。
[0095]
本步骤特征对齐是指两个图像的深度特征进行对齐,在步骤s102中进行特征对齐是rgb特征的对齐,本步骤中使用的特征对齐偏移是步骤s102中学习得到的,可选的,本步骤中使用的可变形卷积网络与步骤s102中用到的可变形卷积网络相同,从而能够利用特征对齐一致性的先验。
[0096]
对齐的深度特征被要求与估计的深度特征一致,由深度特征损失dfloss进行限制,通过如下公式计算所述深度特征损失:
[0097][0098]
其中,l
df
表示深度特征损失,表示图像t的深度特征,表示图像t m的对齐深度特征。
[0099]
s107、将深度特征损失和重建损失之和确定为深度特征对齐损失。
[0100]
最终的深度特征对齐损失l
dfa
由重建损失l_re和深度特征损失l_df组成:
[0101]
l
dfa
=l
re
l
df
[0102]
深度特征对齐损失使用从特征中学习的时序一致性而不是2d光度一致性来规范深度估计,这有利于克服光照变化等具有挑战性的情况下光度损失的脆弱性。因为与像素级光度对齐相比,特征级对齐可以非局部地对时序运动信息进行建模。
[0103]
s108、计算图像t和图像t m的体素密度对齐损失。
[0104]
图像t和图像t m对应的3d空间均采用相同的方式划分为多个体素,体素密度对齐损失要求两帧图像的对应体素内的3d点的数量相同,相比于现有的点云对齐方式,点云对齐要求相邻图像间对应位置处的3d点对齐,是一种非常严格的约束,提高了移动物体场景下网络模型的光度一致性的鲁棒性。
[0105]
s109、根据光度一致性损失、时空一致性损失、平滑损失、深度特征对齐损失和体素密度对齐损失确定总损失。
[0106]
本实施例在现有广泛使用的光度损失、时空损失和平滑损失的基础上提出采用深度特征对齐损失和体素密度对齐损失以更加鲁棒地约束跨视图一致性。因此,总损失可以表示为:
[0107]
l=αl
ph
δl
st
βl
sm
ζl
dfa
ηl
vda
[0108]
其中,α,δ,β,ζ和η是超参数用于平衡不同的损失项,示例性的,α,δ,β,ζ和η分别取1,1,0.01,0.05和0.05。
[0109]
s110、对总损失进行优化得到位姿网络、偏移网络和深度网络的参数。
[0110]
通过上述训练过程中得到的深度网络包括两个子网络,第一子网络由第一特征编码器和第一特征解码器组成,第二子网络由第一特征编码器和第二特征解码器组成,在测试和使用过程中可以仅使用第一子网络或者第二子网络作为深度网络。将待确定图像输入至第一子网络或者第二子网络,得到待确定图像的深度数据。
[0111]
本实施例中,在基于自监督的深度网络的训练过程中,引入了深度特征对齐损失和体素密度对齐损失,深度特征对齐损失能够提高光照变化区域、反射表面和无纹理区域
等场景下网络模型的光度一致性的鲁棒性,体素密度对齐损失能够提高移动物体场景下网络模型的光度一致性的鲁棒性,通过光度一致性损失、时空一致性损失、平滑损失、深度特征对齐损失和体素密度对齐损失确定总损失,使用该总损失作为网络训练的监督信号,从而能够更加鲁棒地约束跨图一致性,学习到更鲁棒的深度网络。
[0112]
在实施例一的基础上,本发明实施例二提供一种体素密度对齐损失的计算方法,对实施例一中步骤s108进行详细说明,图3为本发明实施例二提供的体素密度对齐损失的计算方法的流程图,如图3所示,本实施例提供的方法包括以下步骤。
[0113]
s1081、根据图像t m的深度图得到图像t m对应的点云,根据图像t的深度图得到图像t对应的点云。
[0114]
图像t m的深度图和图像t的深度图是实施例一中步骤s103中得到的结果,图像t中有多个像素点,每个像素点具有深度数据,图像t的各个像素点的深度组成了图像t的深度图,所以,根据图像t和图像t的深度图可以得到图像t对应的点云,图像t对应的点云中的点是3d点,图像t中的点是2d点。同样,可以得到图像t m对应的点云。
[0115]
s1082、根据图像t m对应的点云以及位姿偏移,得到图像t m转换后的点云。
[0116]
该位姿偏移即实施例一中步骤s101中得到的结果,该位姿偏移可以通过一个矩阵表示,图像t m对应的点云通过矩阵变换,得到图像t m转换后的点云。
[0117]
s1083、根据图像t对应的点云计算得到图像t的体素密度,根据图像t m转换后的点云计算得到图像t m的体素密度。
[0118]
示例性的,将图像t对应的3d空间以及图像t m对应的3d空间划分为相同数量的体素,统计图像t对应的点云在各个体素中的数量,以及统计图像t m对应的点云在各个体素中的数量,将图像t对应的点云在各个体素中的数量与图像t对应的点云的总数量的比值确定为图像t的体素密度,将图像t m对应的点云在各个体素中的数量与图像t m对应的点云的总数量的比值确定为图像t m的体素密度。
[0119]
为了计算体素密度,首先将3d空间划分为n=n
x
×
n
y
×
n
z
个体素,n
x
,n
y
,n
z
是沿着x,y,z轴上体素的个数。点云pc可以表示为点云pc中的点(表示点云中的点为3d点)会落到体素v
j
中,点云中点的取值范围可以表示为:x
i
∈[a
j
,a
j
δa),y
i
∈[b
j
,b
j
δb),z
i
∈[c
j
,c
j
δc),那么,体素密度vd可以计算为:
[0120][0121]
其中,[...]是iverson括号,[v]如果v为真,则定义为1,如果为假,则定义为0,n是点云中3d点的总数。这是体素密度损失的简单实现,很容易理解,但由于计数操作而不可微。因此,开发了另一种计算方法,以可微且更有效的方式实现这一想法。
[0122]
首先,根据点云中点的位置计算每个点的体素索引v(p):
[0123][0124]
其中,n
x
,n
y
,n
z
是x,y,z轴上体素的个数,和是体素的形状参数,x
max
表示点云中点在x轴的最大值,x
min
表示点云中点在x
轴的最小值,y
max
表示点云中点在y轴的最大值,y
min
表示点云中点在y轴的最小值,z
max
表示点云中点在y轴的最大值,z
min
表示点云中点在y轴的最小值。
[0125]
所以,可以将点云表达为一个n维向量v,n为点云的总数量,然后将向量v映射到一个计数向量通过设计一个函数来将向量v映射到计数向量则c
i
可以表示为:
[0126]
c
i
=g
i
(v)=n

||sign(|v

i|)||1[0127]
其中,sign表示符号函数,函数g用于将向量v映射到计数向量c。
[0128]
这样,点云就可以表示为一个体素密度向量:ρ=c/n,则图像t或者图像t m的体素密度为:
[0129][0130]
其中,pc
t
表示图像t对应的点云或者图像t m转换后的点云,v(pc
t
)表示图像t对应的点云或者图像t m转换后的点云的体素索引。
[0131]
可以参考直通估计器来微分地实现符号函数,即,它在前向传递中由sign(r)计算,同时在反向传递期间由htanh(r)=clip(r,

1,1)=max(

1,min(1,r))计算,其中,r=(x

1/2)
×
2。
[0132]
s1084、根据图像t的体素密度和图像t m的体素密度计算体素密度对齐损失,该体素密度对齐损失要求图像t和图像t m中相同位置处的体素中的三维点的数量相同。
[0133]
为了利用体素空间的时序相关性,体素密度损失可以采用kl散度来衡量从相邻帧计算的体素密度向量的差异,可以采用如下公式计算体素密度对齐损失l
vd

[0134][0135]
其中,d
kl
表示kl散度,ρ
t
表示图像t的体素密度,ρ
t m

t
表示图像t m的体素密度。
[0136]
通过使用体素密度损失来对齐3d点云的分布,可以将先前工作中的“点对点”对齐范式转变为“区域到区域”对齐范式以约跨视图的一致性,这将对于移动物体和遮挡等具有挑战性的情况更加鲁棒。
[0137]
在实施例一和实施例二的基础上,本发明实施例三提供一种光度一致性损失的计算方法。
[0138]
首先以针孔相机模型来描述3d空间中的点映射到2d图像平面的过程,3d点p=(x,y,z)与其对应的2d点p=(u,v)的映射可以描述为:
[0139][0140]
其中,矩阵k是相机内参矩阵,d(p)是点p处的深度值,即深度估计任务的学习目标。因此,当点p和它的深度值d(p)已知时,我们可以将它反投影到它对应的3d点p:
[0141]
p=d(p)k
‑1p
[0142]
基于光度一致性假设,即3d点p投影在i
t
帧和i
t m
帧中的亮度是不变的(此处的m可
为正负自然数),可得:
[0143]
i
t
(p
t
)=i
t m
(p
t m
)
[0144]
所以,3d点p在帧i
t m
中的投影点p
t m
可以根据帧i
t
中的p
t
、其深度d(p
t
)以及估计的位姿变换t
t m

t
通过可微扭曲函数ω计算得出:
[0145]
p
t m
=ω(kt
t m

t
d(p
t
)k
‑1p
t
)
[0146]
其中,t
t m

t
为训练图像对的位姿偏移,p
t
为图像t(即帧i
t
)中的点,d(p
t
)为图像t中的点的深度,ω为可微扭曲函数,k为相机内参矩阵。
[0147]
根据图像t m(即i
t m
帧)重建当前帧
[0148][0149]
其中,i
t m
表示图像t m。
[0150]
相应的,光度一致性损失l
ph
可以表示为:
[0151][0152]
其中,i
t
(p)表示图像t的点。
[0153]
光度一致性损失最小化的过程可以同时优化深度和位姿的估计。
[0154]
在实施例一和实施例二的基础上,本发明实施例四提供一种时空一致性损失的计算方法。
[0155]
由于2d图像空间中的亮度不变假设非常容易受到光照变化等因素的影响,所以本发明中采用了时空一致性损失来衡量经过扭曲的源帧(图像t的重建图像)与参考帧(即图像t)的差异以约束网络的学习。时空一致性损失(spatial

temporal loss)是内容损失(content loss)、风格损失(style loss)和整体变化正则化器(a total variation regularizer)的加权和:
[0156][0157]
其中l表示vgg

19中的特征提取层。k、ξ、是平衡各个损失的参数,示例性的k、ξ、分别取1,10,104。vgg

19是一种深度卷积神经网络,用于提取图像特征,常用的深度卷积神经网络还有vgg

16,vgg整个网络由卷积层和全连接层叠加而成,vgg中使用的都是小尺寸的卷积核(3
×
3)。
[0158]
在第l层定义的内容损失是参考帧i
t
的特征图与扭曲的源帧之间的均方误差:
[0159][0160]
其中表示第l级的特征图,c
l
×
h
l
×
w
l
是第l级特征图的维度。这种内容损失的动机是观察到卷积神经网络(convolutional neural networks,简称cnn)学习的高级特征代表抽象内容,因此可以用内容损失来衡量扭曲后的源帧与参考帧的差异。因此,通过将l设置为高层,内容损失确保扭曲后的源帧与参考帧的抽象信息尽可能相似。在本发明中,
可以使用高层relu4_2来计算内容损失。
[0161]
除了保留原始参考帧的高级抽象,还可以根据帧之间的风格信息进行衡量。gram矩阵g
l
能够衡量哪些通道倾向于一起被激活,这被证明了可以用来捕捉风格信息。因此风格损失被定义为扭曲后的源帧与参考帧的gram矩阵之间的均方误差:
[0162][0163]
其中,在第l层的gram矩阵定义为:
[0164][0165]
这里,是gram矩阵g
l
的第(i,j)个元素,它等于第l层通道i和j的矢量化特征图之间的归一化内积。
[0166]
为了充分捕捉不同尺度的风格信息,使用损失网络不同层的一组gram矩阵来计算整体风格损失。例如,选择relu1_2、relu2_2、relu3_2、relu4_2作为计算风格损失的层。
[0167]
此外,为了鼓励空间平滑并抑制程式化输出帧中的棋盘伪影,还添加了一个整体变化正则化器:
[0168][0169]
这里的表示扭曲后的源帧在位置(i,j)处的像素值,η一般设为1。
[0170]
在实施例一和实施例二的基础上,本发明实施例五提供一种平滑损失的计算方法。
[0171]
平滑损失是为了克服深度不连续性,结合平滑项在深度图上添加正则化,可以通过如下公式计算平滑损失l
sm

[0172][0173]
其中,和分别是水平和垂直方向的梯度,i
t
表示图像t,表示逆深度。
[0174]
平滑损失会在图像连续的区域对深度的不连续性进行很大的惩罚,而在图像的不连续区域则对深度不连续性的惩罚较小。
[0175]
图4为本发明实施例六提供的自监督深度网络的训练装置的结构示意图,如图4所示,本实施例的装置100包括以下模块。
[0176]
位姿偏移训练模块11,用于将训练图像对输入到位姿网络中,得到所述训练图像对的位姿偏移,所述训练图像对包括图像t和图像t m;
[0177]
特征偏移训练模块12,用于将所述训练图像对输入到偏移网络中,得到所述训练图像对的特征对齐偏移和所述图像t m的对齐特征;
[0178]
深度网络训练模块13,用于将所述训练图像对输入到深度网络中,得到所述图像t的深度图和所述图像t m的深度图;
[0179]
损失计算模块14,用于获取所述图像t和所述图像t m的光度一致性损失、时空一
致性损失和平滑损失;
[0180]
所述损失计算模块14,还用于:
[0181]
根据所述图像t m的对齐特征重建所述图像t对应的重建图像,计算所述重建图像和所述图像t的重建损失;
[0182]
根据所述训练图像对的特征对齐偏移和所述图像t m的深度特征,计算得到所述图像t m的对齐深度特征,根据图像t m的对齐深度特征和所述图像t的深度特征,计算得到深度特征损失;
[0183]
将所述深度特征损失和所述重建损失之和确定为深度特征对齐损失;
[0184]
计算所述图像t和所述图像t m的体素密度对齐损失;
[0185]
根据所述光度一致性损失、所述时空一致性损失、所述平滑损失、所述深度特征对齐损失和所述体素密度对齐损失确定总损失;
[0186]
优化模块15,用于对所述总损失进行优化得到所述位姿网络、偏移网络和所述深度网络的参数。
[0187]
可选的,特征偏移训练模块12具体用于:
[0188]
提取所述图像t和所述图像t m的特征;
[0189]
将所述图像t和所述图像t m的特征输入到可变形卷积网络中:
[0190][0191]
其中,f
dc
表示所述可变形卷积网络,f
t m
表示所述图像t m的特征,θ
t m

t
表示所述训练图像对的特征对齐偏移,表示所述图像t m的对齐特征;
[0192]
其中,f
dc
的计算过程表示为:
[0193][0194]
p
k
是一个核大小为n
×
n的标准卷积的第k个采样偏移,p p
k
δp
k
是可变形卷积在某个位置p处学到的第k个偏移;
[0195]
通过所述变形卷积网络的学习得到所述特征对齐偏移和所述图像t m的对齐特征。
[0196]
可选的,所述损失计算模块14具体用于:
[0197]
通过如下公式计算所述重建损失:
[0198][0199]
其中,表示所述重建图像,i
t
表示所述图像t,l
re
表示所述重建损失。
[0200]
可选的,所述损失计算模块14具体用于:
[0201]
通过如下公式计算所述图像t m的对齐深度特征:
[0202][0203]
其中,表示所述图像t m的深度特征,θ
t m

t
表示所述训练图像对的特征对齐偏移,f
dc
表示所述可变形卷积网络,表示所述图像t m的对齐深度特征;
[0204]
通过如下公式计算所述深度特征损失:
[0205][0206]
其中,l
df
表示所述深度特征损失,表示所述图像t的深度特征。
[0207]
可选的,所述损失计算模块14具体用于:
[0208]
根据所述图像t m的深度图得到所述图像t m对应的点云,根据所述图像t的深度图得到所述图像t对应的点云;
[0209]
根据所述图像t m对应的点云以及所述位姿偏移,得到所述图像t m转换后的点云;
[0210]
根据所述图像t对应的点云计算得到所述图像t的体素密度,根据所述图像t m转换后的点云计算得到所述图像t m的体素密度;
[0211]
根据所述图像t的体素密度和所述图像t m的体素密度计算体素密度对齐损失,所述体素密度对齐损失要求所述图像t和所述图像t m中相同位置处的体素中的三维点的数量相同。
[0212]
可选的,所述损失计算模块14具体用于:
[0213]
根据点云中点的位置计算每个点的体素索引ν(p):
[0214][0215]
其中,n
x
,n
y
,n
z
是x,y,z轴上体素的个数,和是体素的形状参数;
[0216]
将点云表达为一个n维向量v,n为点云的总数量;
[0217]
将向量v映射到一个计数向量其中,c
i
通过如下公式计算:
[0218]
c
i
=g
i
(v)=n

||sign(|v

i|)||1[0219]
其中,sign表示符号函数,函数g用于将向量v映射到计数向量c;
[0220]
则所述图像t或者所述图像t m的体素密度为:
[0221][0222]
其中,pc
t
表示所述图像t对应的点云或者所述图像t m转换后的点云,υ(pc
t
)表示所述图像t对应的点云或者所述图像t m转换后的点云的体素索引。
[0223]
可选的,所述损失计算模块14具体用于:
[0224]
采用如下公式计算所述体素密度对齐损失l
vd

[0225][0226]
其中,d
kl
表示kl散度,ρ
t
表示所述图像t的体素密度,ρ
t m

t
表示所述图像t m的体素密度。
[0227]
可选的,所述损失计算模块14具体用于:
[0228]
通过如下公式计算3d点p在图像t m中的投影点p
t m
:
[0229]
p
t m
=ω(kt
t m

t
d(p
t
)k
‑1p
t
)
[0230]
其中,t
t m

t
为所述训练图像对的位姿偏移,p
t
为所述图像t中的点,d(p
t
)为所述图像t中的点的深度值,ω为可微扭曲函数,k为相机内参矩阵;
[0231]
根据所述图像t m重建当前帧
[0232][0233]
其中,i
t m
表示所述图像t m;
[0234]
所述光度一致性损失l
ph
表示为:
[0235][0236]
其中,i
t
(p)表示所述图像t的点。
[0237]
可选的,所述时空一致性损失是内容损失、风格损失和整体变化正则化器的加权和。
[0238]
可选的,所述损失计算模块14具体用于:
[0239]
通过如下公式计算所述平滑损失l
sm

[0240][0241]
其中,和分别是水平和垂直方向的梯度,i
t
表示所述图像t,表示逆深度。
[0242]
本实施例的装置,可用于执行实施例一至实施例五中任意一个实施例所述的方法,具体实现方式参照方法实施例的描述,这里不再赘述。
[0243]
图5为本发明实施例七提供的电子设备的一种结构示意图,如图5所示,该电子设备200包括:处理器21、存储器22和收发器23,所述存储器22用于存储指令,所述收发器23用于和其他设备通信,所述处理器21用于执行所述存储器中存储的指令,以使所述电子设备200执行如上述实施例一至实施例五中任意一个实施例所述的方法,具体实现方式和技术效果类似,这里不再赘述。
[0244]
本发明实施例八提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述实施例一至实施例五中任意一个实施例所述的方法,具体实现方式和技术效果类似,这里不再赘述。
[0245]
本发明实施例九提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上述实施例一至实施例五中任意一个实施例所述的方法,具体实现方式和技术效果类似,这里不再赘述。
[0246]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
[0247]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献