深度估计模型的训练方法、装置、电子设备及存储介质

文档序号:1832817 发布日期:2021-11-12 浏览:26次 >En<

阅读说明:本技术 深度估计模型的训练方法、装置、电子设备及存储介质 (Training method and device of depth estimation model, electronic equipment and storage medium ) 是由 安世杰 张渊 于 2020-04-27 设计创作,主要内容包括:本公开关于一种深度估计模型的训练方法、装置、电子设备及存储介质,以至少解决卷积神经网络对视频图像深度估计的稳定性不高的问题。该方法包括:将n个样本图像以及与n个样本图像一一对应的n个模拟图像分别输入预设深度估计模型,得到分别对应n个样本图像的深度预测结果和n个模拟图像的深度预测结果;n个样本图像和n个模拟图像标注有像素点深度值;根据每个样本图像的像素点深度值和每个样本图像的深度预测结果获得n个第一损失;根据每个样本图像的深度预测结果和与每个样本图像对应的模拟图像的深度预测结果获得n个第二损失;根据n个第一损失和n个第二损失,训练预设深度估计模型,得到第一目标深度估计模型。(The disclosure relates to a training method and device of a depth estimation model, an electronic device and a storage medium, which are used for at least solving the problem that the stability of a convolutional neural network on video image depth estimation is not high. The method comprises the following steps: respectively inputting the n sample images and the n simulated images which are in one-to-one correspondence with the n sample images into a preset depth estimation model to obtain depth prediction results respectively corresponding to the n sample images and depth prediction results of the n simulated images; the n sample images and the n analog images are marked with pixel point depth values; obtaining n first losses according to the pixel point depth value of each sample image and the depth prediction result of each sample image; obtaining n second losses according to the depth prediction result of each sample image and the depth prediction result of the simulated image corresponding to each sample image; and training a preset depth estimation model according to the n first losses and the n second losses to obtain a first target depth estimation model.)

深度估计模型的训练方法、装置、电子设备及存储介质

技术领域

本公开涉及计算机视觉技术领域,尤其涉及深度估计模型的训练方法、装置、电子设备及存储介质。

背景技术

在计算机视觉技术领域,对二维图像的深度信息进行估计是一项非常重要的技术。这项深度估计技术有益于获取二维图像中的物体尺寸、物体间的遮挡关系和形状等。深度估计技术可应用于2D电影转3D电影,智能机器人自主导航,机械臂抓取,增强现实等。

目前,业界通常使用卷积神经网络(即预设深度估计模型)对二维图像的深度信息进行估计,得到该二维图像的深度信息。当前,公开的样本图像的数据集主要分为两类,一类是室内场景,一类是室外场景。该样本图像的数据集中只有小部分为连续帧图像数据,大部分都是非连续帧图像数据,造成使用该公开的样本图像的数据集训练得到的卷积神经网络在对视频中的连续帧图像进行深度估计时,会出现相邻两帧图像差别很小,但是深度估计结果差别很大的情况,从而造成对视频图像深度估计的稳定性差的问题。

发明内容

本公开提供一种深度估计模型的训练方法及装置,以提高视频中的连续帧图像的深度估计的稳定性。

本公开的技术方案如下:

根据本公开实施例的第一方面,本公开实施例提供一种深度估计模型的训练方法,该方法包括:将n个样本图像以及与所述n个样本图像一一对应的n个模拟图像分别输入预设深度估计模型,得到分别对应所述n个样本图像的深度预测结果和所述n个模拟图像的深度预测结果;其中,n为正整数;每个模拟图像是由对应的样本图像进行增广处理得到的;所述n个样本图像和所述n个模拟图像标注有像素点深度值;根据每个样本图像的像素点深度值和所述每个样本图像的深度预测结果获得n个第一损失;根据每个样本图像的深度预测结果和与所述每个样本图像对应的模拟图像的深度预测结果获得n个第二损失;根据所述n个第一损失和所述n个第二损失,训练所述预设深度估计模型,得到第一目标深度估计模型。

在本公开的实施例中:第一损失可以体现出预设深度估计模型估计样本图像的深度信息的误差,第二损失可以体现出预设深度估计模型估计模拟图像的深度信息的误差。因此,“使用第一损失和第二损失训练预设深度估计模型,得到第一目标深度估计模型”,相当于,修正了预设深度估计模型对样本图像与该样本图像对应的模拟图像的深度信息估计的误差。如此,本公开的实施例使用第一损失和第二损失训练得到的第一目标深度估计模型,相比预设深度估计模型,使用第一目标深度估计模型对视频图像的深度信息进行估计,使得得到的视频中相邻帧图像的深度信息差异不至于过大,能够提高估计的视频图像的深度信息的稳定性。另外,使用第一目标深度估计模型获取图像的深度信息时,不需要在进行深度估计前或深度估计后对视频图像进行时间滤波或空间滤波,这样有助于减少计算机设备在对视频图像进行深度估计时的计算量。

可选的,上述“根据每个样本图像的深度预测结果和与所述每个样本图像对应的模拟图像的深度预测结果获得n个第二损失”,包括:根据所述每个样本图像的像素点深度值、所述每个样本图像的深度预测结果,和所述每个样本图像对应的模拟图像的深度预测结果获得n个第二损失。

可选的,上述深度估计模型的训练方法还包括:使用第一方法分别对所述每个样本图像进行增广处理,得到n个分别对应所述每个样本图像的模拟图像;所述第一方法包括:镜像、旋转或平移中的至少一种;所述根据每个样本图像的深度预测结果和与所述每个样本图像对应的模拟图像的深度预测结果获得n个第二损失,包括:使用所述第一方法的逆过程分别对每个模拟图像的深度预测结果进行处理,得到n个分别对应所述每个模拟图像的第一深度预测结果;获取每个第一深度预测结果和分别与所述每个第一深度预测结果对应的样本图像的深度预测结果的损失,得到n个第二损失。

如此,每个样本图像对应的模拟图像相当于模拟了样本图像的邻帧图像,并使用第一方法的逆过程对该模拟图像的深度预测结果进行处理,从源头上计算预设深度估计模型估计得到的模拟图像中的深度信息相对于估计得到的样本图像中的深度信息的差异,进一步提高了训练得到的第一目标深度估计模型在估计邻帧图像的深度信息时的稳定性。

可选的,当第一方法包括镜像、旋转或平移中的任意一种时,上述“使用第一方法分别对所述每个样本图像进行增广处理,得到n个分别对应所述每个样本图像的模拟图像”,包括:根据相机成像方程,分别将每个样本图像投影到三维空间,得到n个第一点云;使用预设的第一旋转矩阵和第一平移向量,分别对每个第一点云进行处理,得到n个第二点云;根据相机成像方程,分别对每个第二点云进行反投影。根据每个样本图像和分别与每个样本图像对应的进行反投影后的第二点云的坐标关系,得到n个分别对应每个样本图像的模拟图像。

可选的,上述“使用所述第一方法的逆过程分别对每个模拟图像的深度预测结果进行增广处理,得到n个分别对应所述每个模拟图像的第一深度预测结果”,包括:使用预设的第二旋转矩阵和第二平移向量,分别对每个模拟图像的深度预测结果进行处理,得到n个分别对应每个模拟图像的第一深度预测结果。第二旋转矩阵是第一旋转矩阵的逆矩阵。第一平移向量与第二平移向量之和为0。

可选的,上述方法还包括:使用所述第一方法分别对每个样本图像的深度预测结果进行增广处理,得到n个分别对应所述每个样本图像的投影深度预测结果;所述第一方法包括:镜像、旋转或平移中的至少一种;根据每个模拟图像的像素点深度值和所述每个模拟图像的深度预测结果,获得n个第三损失,以及根据每个投影深度预测结果和分别与所述每个投影深度预测结果对应的模拟图像的深度预测结果,获得n个第四损失;根据所述n个第三损失和所述n个第四损失,训练所述第一目标深度估计模型,得到第二目标深度估计模型。

这样,第三损失可以体现出预设深度估计模型估计模拟图像的深度信息的误差,第四损失可以体现出预设深度估计模型估计模拟图像的深度信息相对于样本图像的深度预测结果的误差。因此,使用第三损失和第四损失训练第一目标深度估计模型,得到第二目标深度估计模型,可以进一步提高得到的第二目标深度估计模型估计视频图像的深度信息的稳定性。

可选的,上述“使用第一方法分别对所述每个样本图像进行增广处理,得到n个分别对应所述每个样本图像的模拟图像”,包括:使用第一方法分别对所述每个样本图像进行增广处理;为经处理后的所述每个样本图像添加噪声,得到n个分别对应所述每个样本图像的模拟图像。

如此,使得训练得到的模型在估计包括噪声的连续帧图像的深度信息时,提高了估计的准确性。

根据本公开实施例的第二方面,提供一种深度估计方法,包括:获取待估计深度的图像,将待估计深度的图像输入如上述第一方面以及第一方面任一种可能的实现方式所示的深度估计模型的训练方法训练得到的深度估计模型,得到待估计深度的图像的深度预测结果。

根据本公开实施例的第三方面,提供一种深度估计模型的训练装置,该装置包括:预测模块、获取模块和训练模块;所述预测模块被配置为:将n个样本图像以及与所述n个样本图像一一对应的n个模拟图像分别输入预设深度估计模型,得到分别对应所述n个样本图像的深度预测结果和所述n个模拟图像的深度预测结果;其中,n为正整数;每个模拟图像是由对应的样本图像进行增广处理得到的;所述n个样本图像和所述n个模拟图像标注有像素点深度值;所述获取模块被配置为:根据每个样本图像的像素点深度值和所述每个样本图像的深度预测结果获得n个第一损失;根据每个样本图像的深度预测结果和与所述每个样本图像对应的模拟图像的深度预测结果获得n个第二损失;所述训练模块被配置为:根据所述n个第一损失和所述n个第二损失,训练所述预设深度估计模型,得到第一目标深度估计模型。

可选的,所述获取模块具体被配置为:根据所述每个样本图像的像素点深度值、所述每个样本图像的深度预测结果,和所述每个样本图像对应的模拟图像的深度预测结果获得n个第二损失。

可选的,所述获取模块还被配置为:使用第一方法分别对所述每个样本图像进行增广处理,得到n个分别对应所述每个样本图像的模拟图像;所述第一方法包括:镜像、旋转或平移中的至少一种;所述获取模块具体被配置为:使用所述第一方法的逆过程分别对每个模拟图像的深度预测结果进行处理,得到n个分别对应所述每个模拟图像的第一深度预测结果;获取每个第一深度预测结果和分别与所述每个第一深度预测结果对应的样本图像的深度预测结果的损失,得到n个第二损失。

可选的,当所述第一方法包括镜像、旋转或平移中的任意一种时,所述获取模块具体被配置为:根据相机成像方程,分别将所述每个样本图像投影到三维空间,得到n个第一点云;使用预设的第一旋转矩阵和第一平移向量,分别对每个第一点云进行处理,得到n个第二点云;根据相机成像方程,分别对每个第二点云进行反投影;根据所述每个样本图像和分别与所述每个样本图像对应的进行反投影后的第二点云的坐标关系,得到n个分别对应所述每个样本图像的模拟图像。

可选的,所述获取模块具体被配置为:使用预设的第二旋转矩阵和第二平移向量,分别对每个模拟图像的深度预测结果进行处理,得到n个分别对应所述每个模拟图像的第一深度预测结果;所述第二旋转矩阵是所述第一旋转矩阵的逆矩阵;所述第一平移向量与所述第二平移向量之和为0。

可选的,所述获取模块还被配置为:使用所述第一方法分别对每个样本图像的深度预测结果进行增广处理,得到n个分别对应所述每个样本图像的投影深度预测结果;所述第一方法包括:镜像、旋转或平移中的至少一种;根据每个模拟图像的像素点深度值和所述每个模拟图像的深度预测结果,获得n个第三损失,以及根据每个投影深度预测结果和分别与所述每个投影深度预测结果对应的模拟图像的深度预测结果,获得n个第四损失;所述训练模块还被配置为:根据所述n个第三损失和所述n个第四损失,训练所述第一目标深度估计模型,得到第二目标深度估计模型。

可选的,所述获取模块具体被配置为:使用第一方法分别对所述每个样本图像进行处理;为经处理后的所述每个样本图像添加噪声,得到所述每个样本图像的模拟图像。

根据本公开实施例的第四方面,提供一种深度估计装置,所述装置包括:获取模块,被配置为获取待估计深度的图像;预测模块,被配置为将所述待估计深度的图像输入如权利要求1-7任一项所述的方法训练得到的深度估计模型,得到所述待估计深度的图像的深度预测结果。

根据本公开实施例的第五方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器。其中,处理器被配置为执行所述指令,以实现上述第一方面以及第一方面的任一种可能的实现方式所示的深度估计模型的训练方法,或者实现上述第二方面的实现方式所示的深度估计方法。

根据本公开实施例的第六方面,提供一种计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所示的深度估计模型的训练方法,或者,执行如第二方面所示的深度估计方法。

根据本公开实施例的第七方面,提供一种计算机程序产品,可直接加载到电子设备的内部存储器中,并含有软件代码,该计算机程序经由电子设备载入并执行后能够实现第一方面所示的深度估计模型的训练方法,或者实现第二方面所示的深度估计方法。

上述提供的任一种深度估计模型的训练装置、深度估计装置、电子设备或计算机可读存储介质或计算机程序产品用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文提供的对应的方法中对应方案的有益效果,此处不再赘述。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种深度估计模型的训练方法的流程示意图;

图2是根据一示例性实施例示出的第一图像20、深度预测结果30和深度预测结果40;

图3是根据一示例性实施例示出的公开数据集Scannet上的连续两帧图像以及对该连续两帧图像的深度信息进行估计得到的深度预测结果;

图4是根据一示例性实施例示出的一种深度估计模型的训练装置框图;

图5是根据一示例性实施例示出的一种深度估计装置框图;

图6是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,在本公开的实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

以下,对本公开实施例中所涉及的部分术语和技术进行简单介绍:

1)、世界坐标系(world coordinate system)、相机坐标系(camera coordinatesystem)、图像坐标系

世界坐标系:也称为测量坐标系,是一个三维直角坐标系,以其为基准可以描述相机和待测物体的空间位置。一般使用相机初始位姿作为世界坐标系的位置。

相机坐标系:也是一个三维直角坐标系,原点位于相机的镜头光心处,x、y轴分别与图相平面的两边平行,z轴为镜头光轴,与图像平面垂直。

相机坐标系和世界坐标系之间的关系可用旋转矩阵R1与平移向量T1来描述。假设,空间中一点P在世界坐标系下的坐标为M1(如:(Xw,Yw,Zw)),该点P在相机坐标系下的坐标为M2(如:(Xc,Yc,Zc)),M1与M2的关系为:M1×R1+T1=M2,其中R1是3×3的旋转矩阵,T1是3×1的平移向量。

图像坐标系:是二维直角坐标系。镜头光轴与图像平面的交点,即为图像坐标系的原点。

M2(Xc,Yc,Zc)由通过投影中心的光线投影到图像平面上,相应的图像点为M3(x,y)。其中,M3为P在图像坐标系下的坐标。f为P的深度信息。根据相似三角形原理得到M2与M3的对应关系可以表示为如下公式:

2)、其他术语

在本公开实施例中,“至少一个”是指一个或多个。“多个”是指两个或两个以上。

在本公开实施例中,“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

在本公开实施例中,组合包括一个或多个对象。

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。

需要说明的是,本公开实施例提供的深度估计模型的训练方法可以应用于电子设备或服务器。其中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端等。服务器可以为一台服务器,或者,也可以为由多台服务器组成的服务器集群,本公开对此不做限定。

如图1所示,图1是根据一示例性实施例示出的一种深度估计模型的训练方法的流程示意图。图1所示的方法可以应用于电子设备或服务器。图1所示的方法可以包括以下步骤S100至步骤S103:

S100:将n个样本图像以及与n个样本图像一一对应的n个模拟图像分别输入预设深度估计模型,得到分别对应n个样本图像的深度预测结果和n个模拟图像的深度预测结果。其中,n为正整数。每个模拟图像是由对应的样本图像进行增广处理得到的。n个样本图像和n个模拟图像标注有像素点深度值。

其中,预设深度估计模型可以是基于卷积神经网络的数据模型CNN。

在一种可能的实现方式中,使用第一方法分别对每个样本图像进行增广处理,得到n个分别对应每个样本图像的模拟图像。其中,第一方法包括:镜像、转转或平移中的至少一种。

具体的,可以通过如下步骤使用第一方法分别对每个样本图像进行增广处理,得到每个样本图像对应的模拟图像:

步骤一:将第一样本图像转换为第一三维图像。其中,第一样本图像是n个样本图像中的任意一个。

在一种实现方式中,使用第一算法将图像坐标系中的第一样本图像转换为世界坐标系中的三维图像,并将该三维图像作为第一三维图像。其中,第一算法可以是透视投影算法或平行投影算法等。

步骤二:使用预设的第一旋转矩阵和第一平移向量对第一三维图像进行处理,得到第二三维图像。其中,第一旋转矩阵和第一平移向量可以是预设的绕世界坐标系的x轴、y轴、z轴的旋转矩阵R2和平移向量T2。

可以理解的是,可以通过限定R2与T2的大小来确保处理得到的模拟图像与对应的样本图像的相似度大于等于一个阈值。

示例性的,第一三维图像中的点V的坐标为V1,V1经过处理之后变为第二三维图像中的V2。V1*R2+T2=V2。其中,R2可以是绕x轴[-5,5]的旋转矩阵。T2可以是[-0.05,0.05]的y轴方向的平移量。平移量的单位与坐标的单位相同。

步骤三:使用第一算法的反算法将第二三维图像转换为第一样本图像对应的模拟图像。

可选的,为使用第一算法的反算法将第二三维图像转换得到的图像添加噪声,得到第一样本图像对应的模拟图像。这样,使得训练的得到的第一目标深度估计模型在估计包括噪声的连续帧图像的深度信息时,提高了估计深度信息的稳定性。

可选的,使用第一方法分别对每个样本图像的深度预测结果进行增广处理,得到n个分别对应每个样本图像的投影深度预测结果。

具体的,参考上述步骤一至步骤三中使用第一方法分别对每个样本图像进行处理,得到n个分别对应所述每个样本图像的模拟图像的方法。不再赘述。

S101:根据每个样本图像的像素点深度值和每个样本图像的深度预测结果获得n个第一损失。

具体的,使用损失函数计算每个样本图像的像素点深度值与该样本图像的深度预测结果的第一损失。第一损失可以通过样本图像的像素点深度值与该样本图像的深度预测结果的均方差或者平均差表征。损失函数可以是Reversed HuBer损失函数、均方差函数和交叉熵函数中的任意一种。

需要说明的是,在预设深度估计模型对样本图像的深度信息估计绝对准确的情况下,也就是说第一样本图像的像素点深度值与第一样本图像的深度预测结果相同的情况下,第一损失为0。因此,第一损失可以体现出预设深度估计模型对第一样本图像的深度信息估计的误差。

可选的,根据每个模拟图像的像素点深度值和每个模拟图像的深度预测结果,获得n个第三损失。

具体的,使用损失函数计算每个模拟图像的像素点深度值与该模拟图像的深度预测结果的第三损失。第三损失可以通过模拟图像的像素点深度值与该模拟图像的深度预测结果的均方差或者平均差表征。损失函数可以是Reversed HuBer损失函数、均方差函数和交叉熵函数中的任意一种。

需要说明的是,在预设深度估计模型对模拟图像的深度信息估计绝对准确的情况下,也就是说模拟图像的像素点深度值与该模拟图像的深度预测结果相同的情况下,第三损失为0。因此,第三损失可以体现出预设深度估计模型对模拟图像的深度信息估计的误差。

S102:根据每个样本图像的深度预测结果和与每个样本图像对应的模拟图像的深度预测结果获得n个第二损失。

在一种可能的实现方式中,可以通过如下步骤根据每个样本图像的深度预测结果和与每个样本图像对应的模拟图像的深度预测结果获得n个第二损失,以下为了方便说明使用第一样本图像为例进行说明获取一个第二损失的方法。以下将第一样本图像对应的模拟图像称为第一模拟图像:

步骤一:使用生成第一模拟图像的方法的逆过程对第一模拟图像的深度预测结果进行处理,得到对应第一模拟图像的第一深度预测结果。

具体的,使用第二旋转矩阵和第二平移向量,对第一模拟图像的深度预测结果进行处理。其中,第二旋转矩阵是上述第一旋转矩阵的逆矩阵,第一平移向量与第二平移向量之和为0。

步骤二:获取第一样本图像的深度预测结果与对应第一模拟图像的第一深度预测结果的损失,得到第二损失。

具体的,使用损失函数计算第一样本图像的深度预测结果与对应第一模拟图像的第一深度预测结果的损失,得到第二损失。第二损失可以通过第一样本图像的深度预测结果与第一深度预测结果的均方差或者平均差表征。损失函数可以是Reversed HuBer损失函数、均方差函数和交叉熵函数中的任意一种。

在另一种可能的实现方式中,根据每个样本图像的像素点深度值、每个样本图像的深度预测结果,和每个样本图像对应的模拟图像的深度预测结果获得n个第二损失。

除了上述可能的方式获取第一样本图像的深度预测结果与对应第一模拟图像的第一深度预测结果的损失之外,还获取第一样本图像的像素点深度值与对应第一模拟图像的第一深度预测结果的损失,并将获取的两个损失之和作为第二损失。

需要说明的是,在预设深度估计模型对样本图像的深度信息估计与该样本图像对应的模拟图像的深度信息估计稳定性好的情况下,也就是说第一样本图像的深度预测结果与第一模拟图像的深度预测结果的差异比较小,那么,“对应第一模拟图像的第一深度预测结果”与第一样本图像的深度预测结果的差异也就比较小。因此,第一样本图像的深度预测结果与“对应第一模拟图像的第一深度预测结果”的第二损失可以体现出预设深度估计模型估计的第一模拟图像的深度信息与第一模拟图像的深度预测结果的差异值。

可选的,根据每个投影深度预测结果和分别与该每个投影深度预测结果对应的模拟图像的深度预测结果,获得n个第四损失。

具体的,使用损失函数计算每个投影深度预测结果和分别与该每个投影深度预测结果对应的模拟图像的深度预测结果,获得n个第四损失。第四损失可以通过投影深度预测结果与“该每个投影深度预测结果对应的模拟图像的深度预测结果”的均方差或者平均差表征。损失函数可以是Reversed HuBer损失函数、均方差函数和交叉熵函数中的任意一种。

需要说明的是,本公开实施例对S101和S102的执行顺序不进行限定,示例性的,在执行了S102之后再执行S101。

S103:根据n个第一损失和n个第二损失,训练预设深度估计模型,得到第一目标深度估计模型。

在一种可能的实现方式中,首先,获取第m个第一损失与第m个第二损失之和得到一个第一总损失。其中,0≤m≤n。第m个第一损失是根据第m个样本图像的像素点深度值和第m个样本图像的深度预测结果获取的。第m个第二损失是根据第m个样本图像的深度预测结果和与该样本图像对应的模拟图像的深度预测结果获取的。通过该方法获取到n个第一总损失。然后,基于n个第一总损失使用梯度更新规则(stochastic gradient descent,SGD)优化算法训练预设深度估计模型,得到第一目标深度估计模型。

这样,训练预设深度估计模型时,不仅考虑到了预设深度估计模型估计得到的第m个样本图像对应的模拟图像的深度预测结果相对于第m个样本图像的深度预测结果的差异,还考虑到了第m个样本图像的像素点深度值相对于第m个样本图像的深度预测结果的差异,从而提高了训练得到的第一目标深度估计模型在估计视频图像的深度信息时的稳定性。

可选的,根据n个第三损失和n个第四损失,训练第一目标深度估计模型,得到第二目标深度估计模型。

在一种可能的实现方式中,首先,获取第m个第三损失与第m个第四损失之和得到一个第二总损失。其中,0≤m≤n。第m个第三损失是根据第m个模拟图像的像素点深度值和该模拟图像的深度预测结果获取的。第m个第四损失是根据第m个投影深度预测结果和与该投影深度预测结果对应的模拟图像的深度预测结果获取的。通过该方法获取到n个第二总损失。然后,基于n个第二总损失使用梯度更新规则(stochastic gradient descent,SGD)优化算法训练第一目标深度估计模型,得到第二目标深度估计模型。

这样,训练预设深度估计模型时,还考虑到了模拟图像的深度预测结果相对于投影深度预测结果的损失,还考虑到了模拟图像的像素点深度值相对于模拟图像的深度预测结果的损失,进一步提高了训练得到的第二目标深度估计模型在估计视频图像的深度信息时的稳定性。

需要说明的是,本公开实施例中的另一种实现方式中,还可以使用获取的n个第三损失和n个第四损失,训练预设深度估计模型得到第三目标深度估计模型,进一步的还可以使用获取的n个第一损失和n个第二损失,训练第三目标深度估计模型,得到第四目标深度估计模型。不管采用哪种实现方式训练得到的第一目标深度估计模型、第二目标深度估计模型、第三目标深度估计模型或第四目标深度估计模型中的任意一种目标深度估计模型相较于预设深度估计模型在估计视频图像的深度信息时,稳定性都比预设深度估计模型在估计视频图像的深度信息时的稳定性高。

以下,使用均方根误差亦称标准误差(Root Mean Squared Error,RMSE)作为评测指标,对本公开实施例得到的第一目标深度估计模型对一帧图像的深度信息进行估计的结果的准确性进行评判。对于样本图像Y的深度信息估计结果准确性可以通过如下公式体现:

其中,Yi代表该样本图像Y中像素点i的深度的真实值。Pi代表该样本图像像素点i深度的估计值,n为样本图像Y中像素点的数量。RMSE的值越小说明深度估计的准确性越高。

示例性的,如图2所示,图2是根据一示例性实施例示出的第一图像20、深度预测结果30和深度预测结果40。其中,深度预测结果30为使用预设深度估计模型估计第一图像的深度信息得到的深度预测结果,深度预测结果40为使用本公开实施例训练得到的第一目标深度估计模型估计第一图像的深度信息得到的深度预测结果。计算深度预测结果30的RMSE值为1.1035,深度预测结果40的RMSE值为0.2091。显然,深度预测结果40中深度信息的准确性更高。

以下,使用RMSE作为评测指标,对本公开实施例得到的第一目标深度估计模型对视频中连续两帧图像进行深度信息估计的结果的准确性进行评判。

第一样本图像Y1和第一样本图像Y2的RMSE值可以通过如下公式计算得到:

其中,Y1i代表像素点i处的深度估计值,Y2i代表位置i处Y2的深度估计值,n代表第一样本图像Y1中的像素点的数量。第一样本图像Y1和第一样本图像Y2中的像素点的数量相同。RMSE越小说明Y1与Y2的深度差异越小(又称Y1和Y2的抖动越小稳定性越高)。

示例性的,如图3所示,图3是根据一示例性实施例示出的公开数据集Scannet上的连续两帧图像以及对该连续两帧图像的深度信息进行估计得到的深度预测结果,图3中50为使用预设深度估计模型对该连续两帧图像的深度信息进行估计的结果。计算预设深度估计模型对该连续两帧图像的深度信息进行估计得到的两个深度预测结果的RMSE值为0.791。图3中60为使用本公开实施例所提供的方法训练得到的第一目标深度估计模型对该连续两帧图像的深度信息进行估计的结果。计算第一目标深度估计模型对该连续两帧图像的深度信息进行估计得到的两个深度预测结果的RMSE值为0.400,说明使用本公开实施例所提供的方法训练得到的第一目标深度估计模型对连续两帧图像的深度信息进行估计的结果更稳定,抖动小。

可以理解的是,对于一段视频,可以使用视频中所有连续两帧图像的RMSE值的平均值作为该段视频深度估计的稳定性指标。

在示例性实施例中,本公开实施例还提供了一种深度估计方法,该方法可以使用上述任一种可能的实现方式提供的深度估计模型的训练方法训练得到的深度估计模型估计待估计深度的图像的深度信息。

需要说明的是,本公开实施例提供的深度估计方法的有益效果参考深度估计模型的训练方法的有益效果,不再赘述。

上述主要从方法的角度对本公开实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的方法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。

本公开实施例可以根据上述方法示例对深度估计模型的训练装置或深度估计装置进行功能模块的划分,例如可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

图4是根据一示例性实施例示出的一种深度估计模型的训练装置框图。参照图4,该深度估计模型的训练装置200包括预测模块201、获取模块202和训练模块203。其中:预测模块201被配置为:将n个样本图像以及与n个样本图像一一对应的n个模拟图像分别输入预设深度估计模型,得到分别对应n个样本图像的深度预测结果和n个模拟图像的深度预测结果。其中,n为正整数。每个模拟图像是由对应的样本图像进行增广处理得到的。n个样本图像和n个模拟图像标注有像素点深度值。获取模块202被配置为:根据每个样本图像的像素点深度值和每个样本图像的深度预测结果获得n个第一损失;根据每个样本图像的深度预测结果和与每个样本图像对应的模拟图像的深度预测结果获得n个第二损失。或者,根据每个样本图像的像素点深度值、每个样本图像的深度预测结果,和每个样本图像对应的模拟图像的深度预测结果获得n个第二损失。训练模块203被配置为:根据n个第一损失和n个第二损失,训练预设深度估计模型,得到第一目标深度估计模型。例如,结合图1,预测模块201可以被配置为用于执行S100,获取模块202可以被配置为用于执行S101~S102。训练模块203可以被配置为用于执行S103。

可选的,获取模块202还被配置为:使用第一方法分别将每个样本图像进行增广处理,得到每个样本图像对应的模拟图像。第一方法包括:镜像、旋转或平移中的至少一种。获取模块202具体被配置为:使用第一方法的逆过程分别对每个模拟图像的深度预测结果进行增广处理,得到n个分别对应每个模拟图像的第一深度预测结果。获取每个第一深度预测结果和分别与每个第一深度预测结果对应的样本图像的深度预测结果的损失,得到n个第二损失。

可选的,当第一方法包括镜像、旋转或平移中的任意一种时,获取模块202具体被配置为:根据相机成像方程,分别将每个样本图像投影到三维空间,得到n个第一点云。使用预设的第一旋转矩阵和第一平移向量,分别对每个第一点云进行处理,得到n个第二点云。根据相机成像方程,分别对每个第二点云进行反投影。根据每个样本图像和分别与每个样本图像对应的进行反投影后的第二点云的坐标关系,得到n个分别对应每个样本图像的模拟图像。

可选的,获取模块202具体被配置为:使用预设的第二旋转矩阵和第二平移向量,分别对每个模拟图像的深度预测结果进行处理,得到n个分别对应每个模拟图像的第一深度预测结果。第二旋转矩阵是第一旋转矩阵的逆矩阵。第一平移向量与第二平移向量之和为0。

可选的,获取模块202还被配置为:使用第一方法分别对每个样本图像的深度预测结果进行增广处理,得到n个分别对应每个样本图像的投影深度预测结果。第一方法包括:镜像、旋转或平移中的至少一种。根据每个模拟图像的像素点深度值和每个模拟图像的深度预测结果,获得n个第三损失,以及根据每个投影深度预测结果和分别与每个投影深度预测结果对应的模拟图像的深度预测结果,获得n个第四损失。训练模块203还被配置为:根据n个第三损失和n个第四损失,训练第一目标深度估计模型,得到第二目标深度估计模型。

可选的,获取模块202具体被配置为:使用第一方法分别对每个样本图像进行增广处理;为经处理后的每个样本图像添加噪声,得到每个样本图像的模拟图像。

可选的,上述预设深度估计模型是基于卷积神经网络的数据模型CNN。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。此外,上述提供的任一种深度估计模型的训练装置200的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。

图5是根据一示例性实施例示出的一种深度估计装置框图。参照图5,该深度估计装置500包括获取模块501和预测模块502。其中,获取模块501,被配置为获取待估计深度的图像;预测模块502,被配置为将待估计深度的图像输入如上述方法训练得到的深度估计模型,得到待估计深度的图像的深度预测结果。

图6是根据一示例性实施例示出的一种电子设备的框图。如图6所示,电子设备40包括但不限于:处理器401、存储器402、显示器403、输入单元404、接口单元405和电源406等。

其中,上述的处理器401,用于存储上述处理器可执行指令的存储器。可以理解,上述处理器401被配置为执行上述图1所示实施例中任一步骤。即,上述电子设备40的框图可以作为上述深度估计模型的训练装置200的硬件结构图。

需要说明的是,本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图6所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

处理器401是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器401可包括一个或多个处理单元;可选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。

存储器402可用于存储软件程序以及各种数据。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能单元所需的应用程序(比如获取单元、收发单元或合并单元等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

显示器403用于显示由用户输入的信息或提供给用户的信息。显示器403可包括显示面板,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(OrganicLight-Emitting Diode,OLED)等形式来配置显示面板。

输入单元404可以包括图形处理器(Graphics Processing Unit,GPU),图形处理器对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示器403上。经图形处理器处理后的图像帧可以存储在存储器402(或其它存储介质)中。

接口单元405为外部装置与电子设备400连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元405可以用于接收来自外部装置的输入(例如,数据信息等)并且将接收到的输入传输到电子设备400内的一个或多个元件或者可以用于在电子设备400和外部装置之间传输数据。

电源406(比如电池)可以用于为各个部件供电,可选的,电源406可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

在示例性实施例中,本公开实施例还提供了一种包括指令的存储介质,例如包括指令的存储器402,上述指令可由电子设备400的处理器401执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在一个示例中,参见图5,上述获取模块501的接收功能可以由图6中的接口单元405实现。上述获取模块501的处理功能和预测模块502均可以由图6中的处理器401调用存储器402中存储的计算机程序实现。

在示例性实施例中,本公开实施例还提供了一种包括一条或多条指令的计算机程序产品,该一条或多条指令可以由电子设备400的处理器401执行以完成上述方法。

需要说明的是,上述存储介质中的指令或计算机程序产品中的一条或多条指令被处理器401执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:机器人获取天花板轮廓的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!