一种单目深度估计方法、装置、终端和存储介质与流程

文档序号:16393674发布日期:2018-12-25 19:34阅读:163来源:国知局
一种单目深度估计方法、装置、终端和存储介质与流程

本发明实施例涉及图像处理技术,尤其涉及一种单目深度估计方法、装置、终端和存储介质。

背景技术

深度估计在自动驾驶、机器人避障、增强现实等领域中具有重要的研究意义。深度估计方法可以用于估计图像中各像素点的深度信息,以获得该图像的深度图。现有技术中可以通过多个传感器如激光雷达、深度相机来直接获取深度信息,但由于这些传感器具有一定的体积以及较高的成本,从而限制了深度估计的应用范围。可见,若仅采用一台相机进行深度估计,则可以大大简化应用场景。

目前,利用单目相机进行深度估计的方法存在两种。第一种是基于卷积神经网络(convolutionalneuralnetwork,cnn),对单张图像进行单目深度估计的方法,即利用单目图像对卷积神经网络的进行训练,使得卷积神经网络可以理解场景中的几何关系,进而预测出单目图像对应的深度图。第二种是基于即时定位与地图重建(simultaneouslocalizationandmapping,slam)算法,实时估计相机位姿并重建相机所处的环境地图。

然而,对于第一种估计方法,虽然可以预测出稠密的深度图,但由于神经网络仅局限于语义理解,不存在几何的测量信息,从而导致利用该神经网络预测出的深度图精度较差,缺乏可信度并且网络的泛化能力也较低。对于第二种估计方法,通过多视图几何的解算可以得到较为准确的深度值,但无论是基于特征点法的slam系统如orb(orientedfastandrotatedbrief)-slam算法,还是基于直接法的slam系统如大范围单目lsd(large-scaledirect)-slam算法,只能得到少量的特征点或者高梯度点的深度信息,从而无法得到稠密的深度图,只能得到稀疏或者半稠密的深度图。可见,利用现有的单目深度估计方法无法得到稠密且精度较高的深度图。



技术实现要素:

本发明实施例提供了一种单目深度估计方法、装置、终端和存储介质,以获取稠密且精度高的深度图。

第一方面,本发明实施例提供了一种单目深度估计方法,包括:

获取单目视频;

根据预设重建算法确定所述单目视频中关键图像帧对应的半稠密深度图;

将所述关键图像帧与所述半稠密深度图作为预设神经网络模型的输入,根据所述预设神经网络模型的输出确定所述关键图像帧对应的稠密深度图。

第二方面,本发明实施例还提供了一种单目深度估计装置,包括:

单目视频获取模块,用于获取单目视频;

半稠密深度图确定模块,用于根据预设重建算法确定所述单目视频中关键图像帧对应的半稠密深度图;

稠密深度图确定模块,用于将所述关键图像帧与所述半稠密深度图作为预设神经网络模型的输入,根据所述预设神经网络模型的输出确定所述关键图像帧对应的稠密深度图。

第三方面,本发明实施例还提供了一种终端,所述终端包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

输入装置,用于采集单目视频;

输出装置,用于显示稠密深度图;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的单目深度估计方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的单目深度估计方法。

本发明实施例将预设重建算法和预设神经网络模型进行了有效结合,通过根据预设重建算法确定单目视频中关键图像帧对应的半稠密深度图,并将关键图像帧与半稠密深度图同时输入至预设神经网络模型中,以使预设神经网络模型可以根据多视图几何计算得到的半稠密深度图来输出精度高的稠密深度图,从而解决了现有的单目深度神经网络存在的精度差以及泛化能力低的问题,并且在获得稠密深度图的基础上提高了预测精度以及预测可信度。

附图说明

图1是本发明实施例一提供的一种单目深度估计方法的流程图;

图2是本发明实施例一提供的一种预设网络模型的结构示意图;

图3是本发明实施例二提供的一种单目深度估计装置的结构示意图;

图4是本发明实施例三提供的一种终端的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种单目深度估计方法的流程图,本实施例可适用于获取单目视频中关键图像帧对应的高精度稠密深度图的情况,尤其是可以用于智能手机、无人机、机器人、自动驾驶技术或增强现实技术中对关键图像帧进行深度估计的场景。该方法可以由单目深度估计装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于需要进行估计深度的终端中,比如无人机、机器人、智能手机等。该方法具体包括以下步骤:

s110、获取单目视频。

其中,单目视频可以是指利用一台普通相机拍摄的一系列图像帧。示例性的,单目视频可以是利用rgb(redgreenblue)相机拍摄的一系列rgb彩色图像帧。单目视频对应的图像帧序列可以按照拍摄顺序进行排列。单目视频可以是实时拍摄的视频,也可以是预先拍摄完成的视频。

s120、根据预设重建算法确定单目视频中关键图像帧对应的半稠密深度图。

其中,预设重建算法可以是指根据单目视频对应的图像帧序列对环境进行地图构建,以获取半稠密深度图的算法。预设重建算法可以包括但不限于基于直接法的大范围单目lsd-slam算法、基于特征点法的orb-slam算法和dso(directsparseodometry)算法。预设重建算法可以是现有的任意一个用于获取半稠密深度图的算法。本实施例中对预设重建算法不做具体限定。关键图像帧可以是根据预设挑选规则从单目视频对应的图像帧序列中选取的某个图像帧。通常,单目视频中可以存在多个关键图像帧。示例性的,预设挑选规则可以定义为:将单目视频对应的图像帧序列中的第一个图像确定为第一个关键图像帧,并且当某一图像帧与距离该图像帧最近的关键图像帧之间旋转和平移超过预设阈值,则将该图像帧确定为一个新的关键图像帧。本实施例可以根据预设重建算法,通过多视图几何计算得到单目视频中的每个关键图像帧对应的半稠密深度图。

可选的,预设重建算法包括:基于直接法的大范围单目即时定位与地图构建算法lsd-slam;相应的,根据预设重建算法确定单目视频中关键图像帧对应的半稠密深度图,包括:根据单目视频中关键图像帧的第一深度图将光度误差进行最小化,确定单目视频中的当前图像帧与关键图像帧之间的当前相机位姿;根据当前相机位姿对当前图像帧和关键图像帧中的高梯度像素点进行三角测量,确定关键图像帧的第二深度图;将第一深度图和第二深度图进行高斯融合,更新关键图像帧的第一深度图;若当前图像帧的后一图像帧与关键图像帧之间的后一相机位姿超过预设相机位姿,则将更新后的第一深度图确定为关键图像帧的半稠密深度图。

其中,关键图像帧的第一深度图可以是通过初始化关键图像帧中高梯度点的深度值得到的服从于高斯分布的半稠密深度图,也可以是将该关键图像帧的前一关键图像帧的深度值根据相机位姿进行投影后的半稠密深度图。示例性的,若待深度估计的关键图像帧为图像帧序列中的第一个关键帧,则该关键图像帧的第一深度图为通过初始化得到的半稠密深度图;若待深度估计的关键图像帧为图像帧序列中除第一个关键帧之外的其他关键帧,则该关键图像帧的第一深度图为将前一关键图像帧的深度值进行投影后的半稠密深度图。光度误差是指投影图像帧中的高梯度点与当前图像帧中对应的高梯度点之间的亮度差,其中,投影图像帧是按照单目视频中的当前图像帧与关键图像帧之间的初始相机位姿,将关键图像帧中的高梯度点投影至当前图像帧后得到的图像帧。当前相机位姿包括当前图像帧与关键图像帧之间的旋转和平移。关键图像帧的第二深度图是指根据单目视频中的当前图像帧与关键图像帧之间的当前相机位姿进行三角测量得到的新的半稠密深度图;当前图像帧的后一图像帧是指在图像帧序列中与当前图像帧相邻的后一图像帧。后一相机位姿包括后一图像帧与关键图像帧之间的旋转和平移。预设相机位姿用于表征关键图像帧对应的相机位姿的最大阈值,可以根据实际情况和需求预先确定。

具体的,通过根据关键图像帧的第一深度图对光度误差进行最小化,更新并优化当前图像帧与关键图像帧之间的初始相机位姿,并将优化后的初始相机位姿确定为单目视频中的当前图像帧与关键图像帧之间的当前相机位姿。根据当前相机位姿对当前图像帧和关键图像帧中的高梯度像素点进行三角测量,得到关键图像帧的第二深度图,同时也会得到关键图像帧的不确定度。将关键图像帧的第一深度图和第二深度图进行高斯融合,并将关键图像帧的第一深度图更新为高斯融合后得到的深度图。然后根据更新后的第一深度图再次将光度误差进行最小化,确定当前图像帧的后一图像帧与关键图像帧之间的后一相机位姿,并检测后一相机位姿是否超过预设相机位姿;若是,则表明关键图像帧的深度优化完成,此时将更新后的第一深度图确定为关键图像帧最终的半稠密深度图,并且将当前图像帧的后一图像帧确定为一个新的关键图像帧,并基于相同的优化迭代过程,确定新的关键图像帧的半稠密深度图。若后一相机位姿未超过预设相机位姿,则需要利用后一图像帧对关键图像帧进行深度优化,也就是将当前图像帧的后一图像帧更新为当前图像帧,并重新根据当相机位姿进行三角测量,将关键图像帧的第二深度图更新为三角测量后的深度图,通过对更新后的第一深度图和第二深度图进行高斯融合,再次更新关键图像帧的第一深度图,直至当前图像帧的后一图像帧与关键图像帧之间的后一相机位姿超过预设相机位姿时,停止第一深度图的更新,并将此时的第一深度图确定为关键图像帧的半稠密深度图。

示例性的,若关键图像帧为图像帧序列中的第一个图像帧,即第一个关键图像帧,则该关键图像帧的半稠密深度图的确定过程如下:根据该关键图像帧的第一深度图(通过初始化得到的半稠密深度图)将光度误差进行最小化,确定第二个图像帧与该关键图像帧之间的第二相机位姿,并根据第二相机位姿进行三角测量确定该关键图像帧的第二深度图,将关键图像帧的第一深度图和第二深度图进行高斯融合,并将关键图像帧的第一深度图更新为高斯融合后的深度图;此时计算第三个图像帧与该关键图像帧之间的第三相机位姿,若第三相机位姿超过预设相机位姿,则将更新后的第一深度图确定为该关键图像帧的半稠密深度图,并将第三个图像帧确定为一个新的关键图像帧;若第三相机位姿未超过预设相机位姿,则根据第三个图像帧与该关键图像帧之第三相机位姿重新进行光度误差最小化和三角测量,优化关键图像帧的第一深度图,从而可以得到更加准确的半稠密深度图。

s130、将关键图像帧与半稠密深度图作为预设神经网络模型的输入,根据预设神经网络模型的输出确定关键图像帧对应的稠密深度图。

其中,稠密深度图是指包括大量特征点对应的深度值的图像,或者既包括高梯度点也包括低梯度点对应的深度值的图像。预设神经网络模型可以是预设的一种有监督学习的cnn模型。预设神经网络模型是指根据训练样本数据训练完成的用于进行单目深度估计的模型。预设神经网络模型的输入是由关键图像帧与对应的半稠密深度图组成的图像对,输出是该关键图像帧对应的稠密深度图。本实施例将根据预设重建算法得到的精度较高的半稠密深度图输入至预设神经网络模型中,从而可以利用半稠密深度图指导预设神经网络模型来输出精度更高的稠密深度图。由于同时将关键图像帧与对应的半稠密深度图同时输入至预设神经网络模型中,使得预设神经网络模型可以根据更多的环境信息来确定稠密深度图,从而也提高了网络模型的泛化能力以及预测可信度。

示例性的,将利用lsd-slam算法确定的关键图像帧的半稠密深度图输入至预设神经网络模型中作为先验知识,预设神经网络模型仅需要根据输入的半稠密深度图来补全低梯度点的深度值。由于半稠密深度图的精度较高,而且低梯度点的深度往往依赖高梯度点的深度并且变化平缓,从而便于预设神经网络模型的学习,大大提高了预设神经网络模型的输出稠密深度图的精度。

可选的,在s130之前,还包括:

获取训练样本数据,其中,训练样本数据包括:多个图像样本、与图像样本对应的半稠密深度图、以及与图像样本对应的实际稠密深度图;创建预设网络模型;根据训练样本数据以及网络误差函数,对预设网络模型进行训练;当网络误差函数收敛时,预设网络模型训练完成,并将训练完成的预设网络模型确定为预设神经网络模型。

其中,图像样本是指用于模型训练的单目视频中的关键图像帧。与图像样本对应的半稠密深度图是根据预设重建算法预先确定的半稠密深度图像。与图像样本对应的实际稠密深度图是指图像样本对应的真实的稠密深度图像。预设网络模型是指创建的未经训练的cnn模型。预设网络模型可以只包括一个输入端,也可以包括两个独立的输入端。当预设网络模型只包括一个输入端时,可以将图像样本和对应的半稠密深度图组合成一个多通道的图像后输入至预设网络模型。示例性的,若某个图像样本的分辨率为240×320且通道数为3,该图像样本对应的半稠密深度图的分辨率为240×320且通道数为1,则可以将240×320×3的图像样本与240×320×1的半稠密深度图组合成一个4通道图像240×320×4直接输入至预设网络模型的输入端中。可选的,预设网络模型可以包括两个独立的输入端,即预设网络模型包括第一输入端以及第二输入端;其中,第一输入端用于输入图像样本;第二输入端用于输入与图像样本对应的半稠密深度图。示例性的,将240×320×3的图像样本与240×320×1的半稠密深度图分别独立输入至预设网络模型的第一输入端和第二输入端中。本实施例将图像样本与对应的半稠密深度图进行独立输入,可以有效提高预设网络模型的输出效果和输出精度。

具体的,本实施例可以通过最小化网络误差函数,对预设网络模型进行训练,直到网络误差函数收敛时,即网络误差函数不再减小保持稳定时,表明预设网络模型训练完成,此时将训练完成的预设网络模型确定为预设神经网络模型。

可选的,预设网络模型包括第一卷积分支、第二卷积分支和并联卷积模块;其中,第一卷积分支用于对第一输入端输入的图像样本进行卷积;第二卷积分支用于对第二输入端输入的半稠密深度图进行卷积;并联卷积模块用于将第一卷积分支的第一卷积结果与第二卷积分支的第二卷积结果进行并联,并对并联后的特征图进行卷积。

其中,当预设网络模型包括两个独立的输入端,即第一输入端和第二输入端时,相应的,预设网络模型也包括两个卷积分支,即第一卷积分支和第二卷积分支,分别用于对输入的图像样本和半稠密深度图进行卷积,而不是仅对输入样本和半稠密深度图组成的图像进行卷积,从而提高了预设网络模型的输出精度。

具体的,图2给出了一种预设网络模型的结构示意图。如图2所示,预设网络模型可以包括编码器和解码器两部分。编码器可以由多个卷积层和跟随的激活层以及池化层组成。解码器可以由上采样模块和多个卷积层组成。第一深度生成模型的工作流程是:首先编码器通过第一卷积分支和第二卷积分支分别对输入的图像样本和半稠密深度图不断的提取特征,利用池化层下采样,使得图像的分辨率不断降低,然后解码器通过反卷积层对图像进行上采样,使得图像分辨率不断增加,最终输出与输入图像分辨率大小相同的深度图。图2中将googlenet网络结构的卷积层作为预设网络模型的编码器,其中inceptionv4模块和inceptionv5模块均是googlenet网络结构中由多个卷积层并联的并联卷积模块。图2中在原有的googlenet网络上,将原有的一个单独输入图像的特征预处理层扩展为两个分支,用于分别输入图像样本和半稠密深度图,从而可以通过两个不同的卷积分支得到独立的特征图,并将这两个特征图在通道维度上进行并联,得到通道数为原始网络两倍的特征图,进而输出精度更高的稠密深度图。示例性的,图2中输入的图像样本为一个分辨率为240×320且通道数为3的rgb彩色图像240×320×3以及一个分辨率为240×320且通道数为1的半稠密深度图240×320×1,图像样本240×320×3经过第一卷积分支后得到36×48×256的特征图,半稠密深度图240×320×1经过第二卷积分支后也得到36×48×256的特征图,将经第一卷积分支后得到的36×48×256的特征图与经第二卷积分支后得到的36×48×256的特征图进行并联,得到36×48×480的特征图,然后36×48×480的特征图经过inception模块后,得到9×12×1024的特征图,再将9×12×1024的特征图通过五次反卷积进行上采样,得到一个分辨率为288×384且通道数为64的特征图,最后经过两个卷积层,输出一个分辨率为240×320的稠密深度图。

可选的,将编码器经过卷积输出的特征图与解码器中分辨率相同的特征图进行并联,从而构成跨越连接,使得预设网络模型为一个“u形”网络。如图2所示,将编码器中的144×192×64的特征图、72×96×192的特征图、36×48×480的特征图和18×24×832的特征图,分别与解码器中144×192×64的特征图、72×96×128的特征图、36×48×256的特征图和18×24×512的特征图进行跨越连接。由于编码器在进行下采样时分辨率不断降低,导致丢失很多细节信息,从而解码器在进行上采样时,可以通过跨越连接获取对应的下采样层的细节信息,进而增加了网络的输出细节,进一步提高了输出深度图的精度。示例性的,将编码器中的144×192×64的特征图与解码器中144×192×64的特征图进行跨越连接后,解码器在进行第5次反卷积时,可以通过该跨越连接获取编码器中的144×192×64的特征图,从而可以同时根据编码器中的144×192×64的特征图与解码器中144×192×64的特征图并联得到144×192×128的特征图,并根据144×192×128的特征图作为第5次反卷积的输入生成288×384×64的特征图,以避免丢失细节信息,使得上采样生成的特征图更加精确。

可选的,根据训练样本数据以及网络误差函数,对预设网络模型进行训练,包括:将图像样本以及与图像样本对应的半稠密深度图作为预设网络模型的输入,并根据预设网络模型的输出确定与图像样本对应的输出深度图;根据与图像样本对应的输出深度图、与图像样本对应的实际稠密深度图、以及网络误差函数,计算网络误差值;根据网络误差值通过预设最优化算法更新预设网络模型。

其中,网络误差函数可以是但不限于均方误差函数。预设最优化算法用于根据平均误差对预设网络模型进行优化,以获取最优的网络参数。预设最优化算法可以包括但不限于梯度下降法、牛顿法和拟牛顿法、共轭梯度法。

具体的,在训练预设网络模型时,通过改变预设网络模型中的网络参数来最小化网络误差函数。通过预设网络模型确定图像样本对应的输出深度图,并将图像样本对应的输出深度图和实际稠密深度图代入到网络误差函数中,计算该图像样本的网络误差值。通过最优化算法根据网络误差值更新预设网络模型中的网络参数,从而第一次训练完成。之后,利用不同的图像样本对网络误差函数进行最小化,直至网络误差函数收敛时,表示该预设网络模型训练完成。

可选的,网络误差函数为:

其中,i是任意一张图像样本;w和h分别为图像样本i的宽和高;t(i)x,y是图像样本i对应的实际稠密深度图中像素点(x,y)处的实际深度值;θg是预设网络模型中的生成参数;dsd是与图像样本i对应的半稠密深度图;是与图像样本i对应的输出深度图中像素点(x,y)处的输出深度值。

本实施例的技术方案,将预设重建算法和预设神经网络模型进行了有效结合,通过根据预设重建算法确定单目视频中关键图像帧对应的半稠密深度图,并将关键图像帧与半稠密深度图同时输入至预设神经网络模型中,以使预设神经网络模型可以根据多视图几何计算得到的半稠密深度图来输出精度高的稠密深度图,从而解决了现有的单目深度神经网络存在的精度差以及泛化能力低的问题,并且在获得稠密深度图的基础上提高了预测精度以及预测可信度。

以下是本发明实施例提供的单目深度估计装置的实施例,该装置与上述实施例的单目深度估计方法属于同一个发明构思,在单目深度估计装置的实施例中未详尽描述的细节内容,可以参考上述单目深度估计方法的实施例。

实施例二

图3为本发明实施例二提供的一种单目深度估计方法的流程图,本实施例可适用于获取单目视频中关键图像帧对应的高精度稠密深度图的情况,该装置包括:单目视频获取模块210、半稠密深度图确定模块220和稠密深度图确定模块230。

其中,单目视频获取模块210,用于获取单目视频;半稠密深度图确定模块220,用于根据预设重建算法确定单目视频中关键图像帧对应的半稠密深度图;稠密深度图确定模块230,用于将关键图像帧与半稠密深度图作为预设神经网络模型的输入,根据预设神经网络模型的输出确定关键图像帧对应的稠密深度图。

可选的,预设重建算法包括:基于直接法的大范围单目即时定位与地图构建算法lsd-slam;相应的,半稠密深度图确定模块220,具体用于:

根据单目视频中关键图像帧的第一深度图将光度误差进行最小化,确定单目视频中的当前图像帧与关键图像帧之间的当前相机位姿;根据当前相机位姿对当前图像帧和关键图像帧中的高梯度像素点进行三角测量,确定关键图像帧的第二深度图;将第一深度图和第二深度图进行高斯融合,更新关键图像帧的第一深度图;若当前图像帧的后一图像帧与关键图像帧之间的后一相机位姿超过预设相机位姿,则将更新后的第一深度图确定为关键图像帧的半稠密深度图。

可选的,该装置还包括:

训练样本数据模块,用于在将关键图像帧与半稠密深度图作为预设神经网络模型的输入,根据预设神经网络模型的输出确定关键图像帧对应的稠密深度图之前,获取训练样本数据,其中,训练样本数据包括:多个图像样本、与图像样本对应的半稠密深度图、以及与图像样本对应的实际稠密深度图;

预设网络模型创建模块,用于创建预设网络模型;

预设网络模型训练模块,用于根据训练样本数据以及网络误差函数,对预设网络模型进行训练;

预设神经网络模型确定模块,用于当网络误差函数收敛时,预设网络模型训练完成,并将训练完成的预设网络模型确定为预设神经网络模型。

可选的,预设网络模型包括第一输入端以及第二输入端;其中,第一输入端用于输入图像样本;第二输入端用于输入与图像样本对应的半稠密深度图。

可选的,预设网络模型包括第一卷积分支、第二卷积分支和并联卷积模块;其中,

第一卷积分支用于对第一输入端输入的图像样本进行卷积;

第二卷积分支用于对第二输入端输入的半稠密深度图进行卷积;

并联卷积模块用于将第一卷积分支的第一卷积结果与第二卷积分支的第二卷积结果进行并联,并对并联后的特征图进行卷积。

可选的,预设网络模型训练模块,具体用于:

将图像样本以及与图像样本对应的半稠密深度图作为预设网络模型的输入,并根据预设网络模型的输出确定与图像样本对应的输出深度图;根据与图像样本对应的输出深度图、与图像样本对应的实际稠密深度图、以及网络误差函数,计算网络误差值;根据网络误差值通过预设最优化算法更新预设网络模型。

可选的,网络误差函数为:

其中,i是任意一张图像样本;w和h分别为图像样本i的宽和高;t(i)x,y是图像样本i对应的实际稠密深度图中像素点(x,y)处的实际深度值;θg是预设网络模型中的生成参数;dsd是与图像样本i对应的半稠密深度图;是与图像样本i对应的输出深度图中像素点(x,y)处的输出深度值。

上述单目深度估计装置可执行本发明任意实施例所提供的单目深度估计方法,具备执行单目深度估计方法相应的功能模块和有益效果。

值得注意的是,上述单目深度估计装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

实施例三

图4是本发明实施例三提供的一种终端的结构示意图。参见图4,该终端包括:

一个或多个处理器310;

存储器320,用于存储一个或多个程序;

输入装置330,用于采集单目视频;

输出装置340,用于显示稠密深度图;

当一个或多个程序被一个或多个处理器310执行,使得一个或多个处理器310实现本发明实施例提供的单目深度估计方法,包括:

获取单目视频;

根据预设重建算法确定所述单目视频中关键图像帧对应的半稠密深度图;

将所述关键图像帧与所述半稠密深度图作为预设神经网络模型的输入,根据所述预设神经网络模型的输出确定所述关键图像帧对应的稠密深度图。

图4显示的终端300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

图4中以一个处理器310为例;终端中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的单目深度估计方法对应的程序指令/模块(例如,单目深度估计装置中的单目视频获取模块210、半稠密深度图确定模块220和稠密深度图确定模块230)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的单目深度估计方法。

存储器320主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据;以及目标生成对抗网络确定的目标深度图等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置330可包括摄像头等采集设备,用于采集的待深度估计的单目视频,并将采集的单目视频输入到处理器310进行数据处理。

输出装置340可包括显示屏等显示设备,用于显示关键图像帧对应的稠密深度图。

本实施例提出的终端与上述实施例提出的单目深度估计方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行单目深度估计方法相同的有益效果。

实施例四

本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的单目深度估计方法,该方法包括:

获取单目视频;

根据预设重建算法确定所述单目视频中关键图像帧对应的半稠密深度图;

将所述关键图像帧与所述半稠密深度图作为预设神经网络模型的输入,根据所述预设神经网络模型的输出确定所述关键图像帧对应的稠密深度图。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

上述实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间的相同或相似的部分互相参见即可。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1