技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种无监督的单目深度和光流估计方法及装置与流程  >  正文

一种无监督的单目深度和光流估计方法及装置与流程

  • 国知局
  • 2024-08-22 14:37:07

本发明涉及智能驾驶领域,尤其涉及一种无监督的单目深度和光流估计方法及装置。

背景技术:

1、机器人或者自动驾驶场景中,环境的几何信息、物体运动和本体运动的获取是一切其他任务的基础,需要机器人或自动驾驶车辆对环境进行准确、稳定、低延迟、高计算效率的几何信息感知。这些任务可以通过对深度、位姿和光流估计来实现。深度估计用于重建环境的3d结构;位姿估计用于描述本体的位姿变化,光流则描述了画面像素级的运动。基于图像的深度学习模型能够通过普通相机的输入完成这些任务,从而无需专用传感器如激光雷达等。但是目前这些方法主要面临如下两个缺陷。

2、首先,目前大部分方法采用了监督式的学习方式。这导致了训练此类任务需要大量的稠密真值标签,但是对于光流和深度估计任务来说,稠密真值标签需要大量人工标注工作。因此一些方法使用虚拟数据集进行训练,但虚拟数据和真实数据存在的分布差异问题导致在真实世界泛化性较差。同时有监督的方式难以利用大规模数据进行训练以增强泛化性和减少长尾问题。

3、其次,目前大部分方法没有将三个任务在统一框架下进行处理。三个网络分别对输入图片进行计算,导致较低的计算效率和高延迟,以及对边缘端有限算力的占用和浪费;此外,因为没有考虑到三个任务的彼此之间的相关性,导致训练难度较大,收敛速度较慢。

技术实现思路

1、本发明提供一种无监督的单目深度和光流估计方法及装置,以解决现有环境感知模型中存在模型泛化性差、模型训练难度大、模型计算效率低以及模型计算延迟高等问题。

2、第一个方面,本发明提供了一种无监督的单目深度和光流估计方法,具体包括如下步骤:

3、步骤s1、构建dpfnet网络模型;

4、步骤s2、将相邻时刻的两张图片it和it+1输入所述dpfnet网络模型,输出深度、位姿和光流的预测值;

5、步骤s3、根据所述深度、位姿和光流的预测值,计算无监督损失函数值;

6、步骤s4、输入多组相邻时刻的图片,重复步骤s2-步骤s3,对所述dpfnet网络模型进行优化训练,并输出优化训练后的所述dpfnet网络模型。

7、其中,本技术中所述“多组”表示大于或等于2组。

8、优选地,步骤s1中,所述dpfnet网络模型包括:特征编码器、上下文特征编码器、相关性计算模块、相关性模块l和gru迭代模块。

9、优选地,所述相关性模块l和所述gru迭代模块均为n个。

10、其中,n为正整数。

11、优选地,所述n个相关性模块l之间串连。

12、优选地,所述n个gru迭代模块之间串连。

13、优选地,一个相关性模块l与一个gru迭代模块连接。

14、优选地,所述相关性计算模块与所述特征编码器连接。

15、优选地,gru迭代模块1与所述上下文特征编码器连接。

16、优选地,每个所述gru迭代模块均包括一个运动信息编码子模块、一个gru核心block子模块和一个预测头子模块。

17、优选地,所述相关性模块l连接所述运动信息编码子模块。

18、其中,每个所述预测头子模块包括三个分支头,分别用于输出深度、位姿和残差流。

19、优选地,所述运动信息编码子模块连接所述gru核心block子模块,所述gru核心block子模块连接所述预测头子模块。

20、优选地,步骤s2中,将相邻时刻的两张图片it和it+1输入所述dpfnet网络模型,输出深度、位姿和光流的预测值,具体包括如下步骤:

21、步骤s201、输入相邻时刻的两张图片it和it+1,通过输入相同的特征编码器和上下文特征编码器提取特征,形成维度为[b,c,h/8,w/8]的特征图;

22、步骤s202、根据提取的所述特征图,通过相关性计算模块计算相关性张量;

23、步骤s203、将所述特征图和所述相关性张量输入n个gru迭代模块和n个相关性模块l,输出经过n次迭代后深度、位姿和光流的预测值。

24、其中,b表示batch size,c表示特征图的通道数,h、w分别表示原始图像的高和宽,特征图相比原始图像在高宽维度上进行了1/8的下采样缩放。

25、优选地,步骤s201中,所述特征编码器和所述上下文特征编码器不共享权重参数。

26、优选地,步骤s201中,所述特征编码器共享权重参数。

27、优选地,步骤s201中,所述特征编码器和所述上下文特征编码器选自包括resnet、efficientnet、vit等常用的主干网络中的一种或多种中的一种或多种。

28、优选地,步骤s202中,所述相关性张量中每个元素的计算公式如下所示:

29、

30、其中,,。

31、优选地,步骤s203中,将所述特征图和所述相关性张量输入n个gru迭代模块和n个相关性模块l,输出经过n次迭代后深度、位姿和光流的预测值,具体包括如下步骤:

32、步骤s203a、将n-1次迭代后得到的深度、位姿和n-1次迭代后得到的光流分别输入第n个迭代模块和第n个相关性模块l,通过第n个迭代模块的三个分支头分别输出第n次迭代的深度、位姿和残差流;

33、步骤s203b、根据第n次迭代输出的深度、位姿和残差流,得到第n次迭代后的光流;

34、步骤s203c、通过n次迭代优化,输出迭代优化的深度、位姿和光流预测值。

35、优选地,步骤s203a中,将n-1次迭代后得到的深度、位姿和n-1次迭代后得到的光流分别输入第n个迭代模块和第n个相关性模块l,通过第n个迭代模块的三个分支头分别输出第n次迭代的深度、位姿和残差流,具体包括:

36、步骤s203a1、第n-1次迭代后得到的深度、位姿、光流和将上层特征输入运动信息编码子模块;

37、步骤s203a2、通过相关性模块l计算相关性向量;

38、步骤s203a3、将上层特征输入所述gru核心block子模块,经过所述gru核心block子模块后,将结果和中间层特征分别输入所述预测头子模块和下一个迭代模块。

39、优选地,步骤s203b、根据第n次迭代输出的深度、位姿和残差流,得到第n次迭代后的光流,具体包括如下步骤:

40、步骤s203b1、通过第n次迭代的深度和第n次迭代的位姿计算获得第n次迭代的刚性流;

41、步骤s203b2、通过第n次迭代的残差流和第n次迭代的刚性流叠加得到第n次迭代的光流。

42、优选地,步骤s203b1中,所述第n次迭代的刚性流的计算公式如下所示:

43、

44、其中,pt表示第t帧照片中的像素坐标,k表示相机内参矩阵,表示从第t帧照片到第t+1帧照片的变换矩阵,dt表示第t帧的深度图。

45、优选地,步骤s203b2中,所述第n次迭代的光流的计算公式如下所示:

46、

47、优选地,将n-1次迭代后得到的光流输入第n个相关性模块l中进行查询,得到相关性特征并输入下一个迭代模块。

48、优选地,步骤s3中,根据所述深度、位姿和光流的预测值,计算无监督损失函数值,具体包括如下步骤:

49、步骤s301、对输入的图像进行warping处理,生成新视角图像;

50、步骤s302、通过ssim和l1损失函数,计算光度损失函数值lphoto;

51、步骤s303、对输入的图像it和it+1进行数据增强处理,形成laug;

52、步骤s304、通过光度损失函数值和平滑损失函数值,计算总损失函数值l。

53、优选地,步骤s301中,对输入的图像进行warping处理,生成新视角图像,的计算公式如下所示:

54、

55、其中,sampling表示采样函数。

56、优选地,步骤s302中,通过ssim、l1损失函数,计算光度损失函数值,计算公式如下所示:

57、

58、其中,表示损失函数的权重超参数,,it(pt)表示输入的图像it在pt处的像素值,|| ||1表示l1范数损失函数,ssim表示structural similarity损失函数,具体计算公式如下所示:

59、

60、其中,x和y表示两个图像的局部窗口,和表示窗口x和窗口y的平均值,和表示窗口x和窗口y的方差,表示窗口x和窗口y之间的协方差,c1和c2是稳定分母的小常数,防止出现分母为0的情况。

61、优选地,步骤s303中,对输入的图像it和it+1进行数据增强处理,形成laug,具体包括如下步骤:

62、步骤s303a、对图像it和it+1进行前向推理,形成原深度dori和原光流fori;

63、步骤s303b、对图像it和it+1进行随机数据增广变换aug,计算得到变换后的光流faug和深度daug;

64、步骤s303c、将增广变换后的图像输入所述dpfnet网络模型,形成f_aug_pred和d_aug_pred;

65、步骤s303d、通过光流f_aug和深度d_aug对f_aug_pred和d_aug_pred进行监督,形成梯度,并将梯度反向传播输入所述dpfnet网络模型中。

66、其中,步骤s303a所述步骤,具体表示如下所示:

67、

68、其中,步骤s303b-步骤s303d所述步骤,具体表示如下所示:

69、

70、其中,aug(it,it+1)表示对输入图像(it,it+1)进行的数据增广变化。

71、优选地,所述数据增光变换包含光度变换(如对比度、亮度、加入随机噪声等,为的是增强网络的泛化能力和鲁棒性)和几何变换(包括旋转、平移、缩放、裁剪等)。

72、其中,augcorr(dori,fori)表示aug(it,it+1)在深度图和光流图所产生的对应变换。例如,aug(it,it+1)把图像进行了平移变换t,则对深度图和光流图均进行同样的平移变换t。

73、优选地,步骤s304中,通过光度损失函数值、laug值和边缘感知平滑损失函数值,计算总损失函数值l,计算公式如下所示:

74、

75、其中,lsmoth表示边缘感知平滑损失函数值,具体表达式为:

76、

77、其中,和均示对所有像素位置求和,表示超参数权重系数,和分别表示输入的图像it在ij处在x和y方向的一阶偏导,和分别表示pt处光流在x和y方向的k阶偏导。

78、优选地,k为1或2。

79、优选地,步骤s4中,通过最小化所述无监督损失函数值,对所述dpfnet网络模型进行优化训练。

80、第二个方面,本发明还提供了一种无监督的单目深度和光流估计装置,具体包括如下模块:

81、模型构建模块,用于构建dpfnet网络模型;

82、预测输出模块,与所述模型构建模块连接,用于将相邻时刻的两张图片it和it+1输入所述dpfnet网络模型,输出深度、位姿和光流的预测值;

83、损失函数计算模块,与所述预测输出模块连接,用于根据所述深度、位姿和光流的预测值,计算无监督损失函数值;

84、模型优化训练及输出模块,与所述损失函数计算模块,用于输入多组相邻时刻的图片,对所述dpfnet网络模型进行优化训练,并输出优化训练后的所述dpfnet网络模型。

85、其中,本技术中所述“多组”表示大于或等于2组。

86、优选地,模型构建模块中,所述dpfnet网络模型包括:特征编码器、上下文特征编码器、相关性计算模块、相关性模块l和gru迭代模块。

87、优选地,所述相关性模块l和所述gru迭代模块均为n个。

88、其中,n为正整数。

89、优选地,所述n个相关性模块l之间串连。

90、优选地,所述n个gru迭代模块之间串连。

91、优选地,一个相关性模块l与一个gru迭代模块连接。

92、优选地,所述相关性计算模块与所述特征编码器连接。

93、优选地,gru迭代模块1与所述上下文特征编码器连接。

94、优选地,每个所述gru迭代模块均包括一个运动信息编码子模块、一个gru核心block子模块和一个预测头子模块。

95、优选地,所述相关性模块l连接所述运动信息编码子模块。

96、其中,每个所述预测头子模块包括三个分支头,分别用于输出深度、位姿和残差流。

97、优选地,所述运动信息编码子模块连接所述gru核心block子模块,所述gru核心block子模块连接所述预测头子模块。

98、优选地,所述预测输出模块,具体包括如下子模块:

99、预测输出第一子模块,用于输入相邻时刻的两张图片it和it+1,通过输入相同的特征编码器和上下文特征编码器提取特征,形成维度为[b,c,h/8,w/8]的特征图;

100、预测输出第二子模块,与所述预测输出第一子模块连接,用于根据提取的所述特征图,通过相关性计算模块计算相关性张量;

101、预测输出第三子模块,与所述预测输出第二子模块连接,用于将所述特征图和所述相关性张量输入n个gru迭代模块和n个相关性模块l,输出经过n次迭代后深度、位姿和光流的预测值。

102、其中,b表示batch size,c表示特征图的通道数,h、w分别表示原始图像的高和宽,特征图相比原始图像在高宽维度上进行了1/8的下采样缩放。

103、优选地,预测输出第一子模块中,所述特征编码器和所述上下文特征编码器不共享权重参数。

104、优选地,预测输出第一子模块中,所述特征编码器共享权重参数。

105、优选地,预测输出第一子模块中,所述特征编码器和所述上下文特征编码器选自包括resnet、efficientnet、vit等常用的主干网络中的一种或多种。

106、优选地,预测输出第二子模块中,所述相关性张量中每个元素的计算公式如下所示:

107、

108、其中,,。

109、优选地,所述预测输出第三子模块中,具体包括如下孙模块:

110、预测输出第一孙模块,用于将n-1次迭代后得到的深度、位姿和n-1次迭代后得到的光流分别输入第n个迭代模块和第n个相关性模块l,通过第n个迭代模块的三个分支头分别输出第n次迭代的深度、位姿和残差流;

111、预测输出第二孙模块,与所述预测输出第一孙模块连接,用于根据第n次迭代输出的深度、位姿和残差流,得到第n次迭代后的光流;

112、预测输出第三孙模块,与所述预测输出第二孙模块连接,用于通过n次迭代优化,输出迭代优化的深度、位姿和光流预测值。

113、优选地,所述预测输出第一孙模块中,具体包括如下单元:

114、预测输出第一单元,用于将第n-1次迭代后得到的深度、位姿、光流和将上层特征输入运动信息编码子模块;

115、预测输出第二单元,与所述预测输出第一单元连接,用于通过相关性模块l计算相关性向量;

116、预测输出第三单元,与所述预测输出第二单元连接,用于将上层特征输入所述gru核心block子模块,经过所述gru核心block子模块后,将结果和中间层特征分别输入所述预测头子模块和下一个迭代模块。

117、优选地,所述预测输出第二孙模块,具体包括如下单元:

118、预测输出第四单元,用于通过第n次迭代的深度和第n次迭代的位姿计算获得第n次迭代的刚性流;

119、预测输出第五单元,与所述预测输出第四单元连接,用于通过第n次迭代的残差流和第n次迭代的刚性流叠加得到第n次迭代的光流。

120、优选地,预测输出第四单元中,所述第n次迭代的刚性流的计算公式如下所示:

121、

122、其中,pt表示第t帧照片中的像素坐标,k表示相机内参矩阵,表示从第t帧照片到第t+1帧照片的变换矩阵,dt表示第t帧的深度图。

123、优选地,预测输出第五单元中,所述第n次迭代的光流的计算公式如下所示:

124、

125、优选地,将n-1次迭代后得到的光流输入第n个相关性模块l中进行查询,得到相关性特征并输入下一个迭代模块。

126、优选地,所述损失函数计算模块,具体包括如下子模块:

127、损失函数计算第一子模块,用于对输入的图像进行warping处理,生成新视角图像;

128、损失函数计算第二子模块,与所述损失函数第一子模块连接,用于通过ssim和l1损失函数,计算光度损失函数值lphoto;

129、损失函数计算第三子模块,与所述损失函数第二子模块连接,用于对输入的图像it和it+1进行数据增强处理,形成laug;

130、损失函数计算第四子模块,与所述损失函数第三子模块连接,用于通过光度损失函数值和平滑损失函数值,计算总损失函数值l。

131、优选地,损失函数计算第一子模块中,对输入的图像进行warping处理,生成新视角图像,的计算公式如下所示:

132、

133、其中,sampling表示采样函数。

134、优选地,损失函数计算第二子模块中,通过ssim、l1损失函数,计算光度损失函数值,计算公式如下所示:

135、

136、其中,表示损失函数的权重超参数,,it(pt)表示输入的图像it在pt处的像素值,|| ||1表示l1范数损失函数,ssim表示structural similarity损失函数,具体计算公式如下所示:

137、

138、其中,x和y表示两个图像的局部窗口,和表示窗口x和窗口y的平均值,和表示窗口x和窗口y的方差,表示窗口x和窗口y之间的协方差,c1和c2是稳定分母的小常数,防止出现分母为0的情况。

139、优选地,所述损失函数计算第三子模块具体包括如下孙模块:

140、损失函数计算第一孙模块,用于对图像it和it+1进行前向推理,形成原深度dori和原光流fori;

141、损失函数计算第二孙模块,与所述损失函数计算第一孙模块连接,用于对图像it和it+1进行随机数据增广变换aug,计算得到变换后的光流faug和深度daug;

142、损失函数计算第三孙模块,与所述损失函数计算第二孙模块连接,用于将增广变换后的图像输入所述dpfnet网络模型,形成f_aug_pred和d_aug_pred;

143、损失函数计算第四孙模块,与所述损失函数计算第三孙模块连接,用于通过光流f_aug和深度d_aug对f_aug_pred和d_aug_pred进行监督,形成梯度,并将梯度反向传播输入所述dpfnet网络模型中。

144、其中,所述损失函数计算第一孙模块中,对图像it和it+1进行前向推理,形成原深度dori和原光流fori,具体表示如下所示:

145、

146、其中,所述损失函数计算第二孙模块、所述损失函数计算第三孙模块和所述损失函数计算第四孙模块的功能实现,具体表示如下所示:

147、

148、其中,aug(it,it+1)表示对输入图像(it,it+1)进行的数据增广变化。

149、优选地,所述数据增光变换包含光度变换(如对比度、亮度、加入随机噪声等,为的是增强网络的泛化能力和鲁棒性)和几何变换(包括旋转、平移、缩放、裁剪等)。

150、其中,augcorr(dori,fori)表示aug(it,it+1)在深度图和光流图所产生的对应变换。例如,aug(it,it+1)把图像进行了平移变换t,则对深度图和光流图均进行同样的平移变换t。

151、优选地,损失函数计算第四孙模块中,通过光度损失函数值、laug值和边缘感知平滑损失函数值,计算总损失函数值l,计算公式如下所示:

152、

153、其中,lsmoth表示边缘感知平滑损失函数值,具体表达式为:

154、

155、其中,和均示对所有像素位置求和,表示超参数权重系数,和分别表示输入的图像it在ij处在x和y方向的一阶偏导,和分别表示pt处光流在x和y方向的k阶偏导。

156、优选地,k为1或2。

157、优选地,模型优化训练及输出模块中,通过最小化所述无监督损失函数值,对所述dpfnet网络模型进行优化训练。

158、第三个方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本技术第一方面中任一项所述的一种无监督的单目深度和光流估计方法。

159、第四个方面,本发明还提供一种电子设备,所述电子设备包括:存储器,存储有一计算机程序:处理器,与所述存储器通信相连,调用所述计算机程序时执行本技术第一方面中任一项所述的一种无监督的单目深度和光流估计方法。

160、本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著优点:

161、本发明提供一种无监督的单目深度和光流估计方法及装置,解决了现有环境感知模型中存在模型泛化性差、模型训练难度大、模型计算效率低以及模型计算延迟高等问题。本发明采用了无监督、统一框架的方式,能够利用大量无标注数据集进行训练,同时,统一框架能够减少网络参数量,利用几何信息对三个任务进行一致性约束,得到更加准确、低延迟、高效地进行环境几何信息感知。在此基础上,本发明使用自监督和数据增强的方式,针对无监督光流和深度估计中的遮挡和视野边界质量模糊问题,提高了遮挡和边界区域的生成质量。

本文地址:https://www.jishuxx.com/zhuanli/20240822/279260.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。