深度图预测模型生成方法和装置、深度图预测方法和装置

文档序号:1339281 发布日期:2020-07-17 浏览:14次 >En<

阅读说明:本技术 深度图预测模型生成方法和装置、深度图预测方法和装置 (Depth map prediction model generation method and device and depth map prediction method and device ) 是由 顾晓东 王明远 杨永林 于 2020-03-25 设计创作,主要内容包括:本公开实施例公开了一种深度图预测模型生成方法和装置、深度图预测方法和装置,其中,该方法包括:获取预设数量个训练样本图像对集合;对于预设数量个训练样本图像对集合中的每个训练样本图像对集合,将该训练样本图像对集合中的训练样本图像对包括的全景图作为初始模型的输入,将与输入的全景图对应的深度图作为初始模型的期望输出,训练初始模型,得到该训练样本图像对集合对应的深度图预测模型。本公开实施例可以使用这些深度图预测模型对各种纬度跨度的全景图进行深度图预测,提高模型的泛化能力以及预测的准确性。(The embodiment of the disclosure discloses a depth map prediction model generation method and device and a depth map prediction method and device, wherein the method comprises the following steps: acquiring a preset number of training sample image pair sets; for each training sample image pair set in a preset number of training sample image pair sets, taking a panoramic image included in a training sample image pair in the training sample image pair set as the input of an initial model, taking a depth map corresponding to the input panoramic image as the expected output of the initial model, training the initial model, and obtaining a depth map prediction model corresponding to the training sample image pair set. The depth map prediction models can be used for depth map prediction of panoramic images with various latitude spans, and generalization capability and prediction accuracy of the models are improved.)

深度图预测模型生成方法和装置、深度图预测方法和装置

技术领域

本公开涉及计算机技术领域,尤其是一种深度图预测模型生成方法和装置、深度图预测方法和装置、计算机可读存储介质及电子设备。

背景技术

传统的三维数据的拼接过程中,需要用到图像的深度信息来做对齐。对齐是要将不同拍摄位置,不同设备采集的点云数据进行拼接,从而生成真实场景的三维模型。

由于在对齐的过程中需要使用到深度信息,因此需要图像采集设备具有深度摄像头,能够采集图像相对于采集设备的距离信息。为了降低拍摄成本,可以采用基于深度学习的方法训练模型,生成更多的全景图和深度图。通常,全景图是个2:1的极坐标图片,其水平方向对应于经度360°、垂直方向对应于纬度180°。以全景图为输入,模型直接估算全景图上各点对应的深度值。

发明内容

本公开的实施例提供了一种深度图预测模型生成方法和装置、深度图预测方法和装置、计算机可读存储介质及电子设备。

本公开的实施例提供了一种深度图预测模型生成方法,该方法包括:获取预设数量个训练样本图像对集合,其中,每个训练样本图像对集合中的训练样本图像对包括有效纬度跨度相同的全景图和对应的深度图,有效纬度跨度是全景图和深度图中的有效区域的纬度跨度;对于预设数量个训练样本图像对集合中的每个训练样本图像对集合,将该训练样本图像对集合中的训练样本图像对包括的全景图作为初始模型的输入,将与输入的全景图对应的深度图作为初始模型的期望输出,训练初始模型,得到该训练样本图像对集合对应的深度图预测模型。

在一些实施例中,初始模型用于对输入的全景图进行循环填充操作,得到填充后图像,对填充后图像进行卷积操作。

在一些实施例中,在获取预设数量个训练样本图像对集合之前,该方法还包括:获取初始图像对集合,其中,初始图像对集合中的初始图像对包括预设纬度跨度的全景图和对应的深度图;获取预设的纬度跨度集合;对于纬度跨度集合中的每个纬度跨度,基于该纬度跨度执行如下步骤:从初始图像对集合中的每个初始图像对包括的全景图和深度图中,截取该纬度跨度对应的子全景图和子深度图;对所截取的子全景图和子深度图进行像素补齐,得到预设比例的全景图和深度图作为训练样本图像对;将所得到的各个训练样本图像对确定为该纬度跨度对应的训练样本图像对集合。

在一些实施例中,从初始图像对集合中的每个初始图像对包括的全景图和深度图中,截取该纬度跨度对应的子全景图和子深度图,包括:从初始图像对集合中的每个初始图像对包括的全景图和深度图中,随机截取该纬度跨度对应的子全景图和子深度图。

根据本公开实施例的另一个方面,提供了一种深度图预测方法,该方法包括:获取待预测全景图;确定待预测全景图中的有效区域的纬度跨度;从预先训练的深度图预测模型集合中,选择与纬度跨度匹配的深度图预测模型,其中,深度图预测模型集合预先基于上述深度图预测模型生成方法训练得到;将待预测全景图输入所选择的深度图预测模型,得到预测深度图。

在一些实施例中,在获取待预测全景图之前,该方法还包括:获取初始全景图,其中,初始全景图包括图像区域;确定图像区域是否为矩形区域;如果是矩形区域,将矩形区域确定为有效区域;如果不是矩形区域,从图像区域截取最大的内接矩形区域作为有效区域;响应于确定有效区域的长宽比不是预设比例,对有效区域之外的区域进行像素补齐,得到预设比例的待预测全景图。

在一些实施例中,深度图预测模型还用于输出预测深度图中的每个像素点对应的置信度;以及该方法还包括:对于预测深度图中的每个像素点,确定该像素点对应的置信度是否大于或等于预设阈值;如果大于或等于预设阈值,保持该像素点对应的深度值不变;如果小于预设阈值,将该像素点对应的深度值修改为预设深度值。

根据本公开实施例的另一个方面,提供了一种深度图预测模型生成装置,该装置包括:第一获取模块,用于获取预设数量个训练样本图像对集合,其中,每个训练样本图像对集合中的训练样本图像对包括有效纬度跨度相同的全景图和对应的深度图,有效纬度跨度是全景图和深度图中的有效区域的纬度跨度;训练模块,用于对于预设数量个训练样本图像对集合中的每个训练样本图像对集合,将该训练样本图像对集合中的训练样本图像对包括的全景图作为初始模型的输入,将与输入的全景图对应的深度图作为初始模型的期望输出,训练初始模型,得到该训练样本图像对集合对应的深度图预测模型。

在一些实施例中,初始模型用于对输入的全景图进行循环填充操作,得到填充后图像,对填充后图像进行卷积操作。

在一些实施例中,该装置还包括:第二获取模块,用于获取初始图像对集合,其中,初始图像对集合中的初始图像对包括预设纬度跨度的全景图和对应的深度图;第三获取模块,用于获取预设的纬度跨度集合;生成模块,用于对于纬度跨度集合中的每个纬度跨度,基于该纬度跨度执行如下步骤:从初始图像对集合中的每个初始图像对包括的全景图和深度图中,截取该纬度跨度对应的子全景图和子深度图;对所截取的子全景图和子深度图进行像素补齐,得到预设比例的全景图和深度图作为训练样本图像对;将所得到的各个训练样本图像对确定为该纬度跨度对应的训练样本图像对集合。

在一些实施例中,生成模块进一步用于:从初始图像对集合中的每个初始图像对包括的全景图和深度图中,随机截取该纬度跨度对应的子全景图和子深度图。

根据本公开实施例的另一个方面,提供了一种深度图预测装置,该装置包括:第四获取模块,用于获取待预测全景图;第一确定模块,用于确定待预测全景图中的有效区域的纬度跨度;选择模块,用于从预先训练的深度图预测模型集合中,选择与纬度跨度匹配的深度图预测模型,其中,深度图预测模型集合预先基于上述深度图预测模型生成方法训练得到;预测模块,用于将待预测全景图输入所选择的深度图预测模型,得到预测深度图。

在一些实施例中,该装置还包括:第五获取模块,用于获取初始全景图,其中,初始全景图包括图像区域;第二确定模块,用于确定图像区域是否为矩形区域;第三确定模块,用于如果是矩形区域,将矩形区域确定为有效区域;第四确定模块,用于如果不是矩形区域,从图像区域截取最大的内接矩形区域作为有效区域;补齐模块,用于响应于确定有效区域的长宽比不是预设比例,对有效区域之外的区域进行像素补齐,得到预设比例的待预测全景图。

在一些实施例中,深度图预测模型还用于输出预测深度图中的每个像素点对应的置信度;以及装置还包括:修正模块,用于对于预测深度图中的每个像素点,确定该像素点对应的置信度是否大于或等于预设阈值;如果大于或等于预设阈值,保持该像素点对应的深度值不变;如果小于预设阈值,将该像素点对应的深度值修改为预设深度值。

根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序用于执行上述深度图预测模型生成方法或深度图预测装置方法。

根据本公开实施例的另一个方面,提供了一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述深度图预测模型生成方法或深度图预测装置方法。

基于本公开上述实施例提供的深度图预测模型生成方法和装置、深度图预测方法和装置、计算机可读存储介质及电子设备,通过设置多个训练样本图像对集合,每个训练样本图像对集合对应于一种纬度跨度,再分别利用各个训练样本图像对集合训练模型,得到每种纬度跨度对应的深度图预测模型,从而可以使用这些深度图预测模型对各种纬度跨度的全景图进行深度图预测,提高模型的泛化能力以及预测的准确性。

下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

附图说明

通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1是本公开所适用的系统图。

图2是本公开一示例性实施例提供的深度图预测模型生成方法的流程示意图。

图3是本公开的实施例的全景图中的有效区域的示例性示意图。

图4是本公开的实施例的全景图中的循环填充操作的示例性示意图。

图5是本公开另一示例性实施例提供的深度图预测模型生成方法的流程示意图。

图6是本公开一示例性实施例提供的深度图预测方法的流程示意图。

图7是本公开另一示例性实施例提供的深度图预测方法的流程示意图。

图8是本公开的实施例的全景图中的截取有效区域的示例性示意图。

图9是本公开一示例性实施例提供的深度图预测模型生成装置的结构示意图。

图10是本公开一示例性实施例提供的深度图预测装置的结构示意图。

图11是本公开一示例性实施例提供的电子设备的结构图。

具体实施方式

下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。

应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。

还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

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

还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

申请概述

目前,能够采集深度信息的设备,造价昂贵,在大规模的工业实用中,经济性很差。在室内外场景三维重建领域中,需要深度数据形成点云从而建模,并且同时根据点云的距离信息,把传感器得到的不同位置的点云拼接起来。但是三维重建的深度数据获取,通常需要结构光、基于时间飞行(Time Of Flight)原理的激光等等高成本专用深度传感器。

基于此,目前可以采用机器学习方法训练模型,从而实现利用全景图生成带深度信息的全景图,抛弃现有方案中对于深度信息的强依赖,大大降低了图像信息的获取成本。训练模型时,需要准备了一个足够大的数据库,其中的每一条数据是一个数据对(全景图,对应的深度图),然后用数据库训练模型。但是,在不同的全景图获取方式下,有时候不能获得完整的2:1的全景图,一般会尽可能保证经度360°完整,而在纬度方向,产品往往会做出一些权衡而放弃拍摄完整的纬度180°,而只是拍摄其中的一部分,使用这些全景图进行深度图预测,其预测的精度会下降。

示例性系统

图1示出了可以应用本公开的实施例的深度图预测模型生成方法和装置、深度图预测方法和装置的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101,网络102和服务器103。网络102用于在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如图像处理应用、三维设计应用等。

终端设备101可以是各种电子设备,包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。

服务器103可以是提供各种服务的服务器,例如对终端设备101上传的全景图等信息进行处理的后台信息处理服务器。后台信息处理服务器可以对接收到的全景图和深度图进程处理,得到处理结果(例如训练的深度图预测模型、预测得到的深度图等)。

需要说明的是,本公开的实施例所提供的深度图预测模型生成方法、深度图预测方法可以由服务器103执行,也可以由终端设备101执行,相应地,深度图预测模型生成装置、深度图预测装置可以设置于服务器103中,也可以设置于终端设备101中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在全景图、深度图不需要从远程获取的情况下,上述系统架构可以不包括网络,只包括服务器或终端设备。

示例性方法

图2是本公开一示例性实施例提供的深度图预测模型生成方法的流程示意图。本实施例可应用在电子设备(如图1所示的终端设备101或服务器103)上,如图2所示,该方法包括如下步骤:

步骤201,获取预设数量个训练样本图像对集合。

在本实施例中,电子设备可以从远程或从本地获取预设数量个训练样本图像对集合。其中,每个训练样本图像对集合中的训练样本图像对包括有效纬度跨度相同的全景图和对应的深度图,有效纬度跨度是全景图和深度图中的有效区域的纬度跨度。

其中,全景图可以是由全景图拍摄相机(例如手机的相机)拍摄直接得到的,也可以是对相机拍摄的全景图进行处理(例如裁剪、补齐等)得到的。深度图可以是在相同位置上由深度相机(例如双目立体相机、激光雷达等)拍摄直接得到的,也可以是按照与处理全景图相同的方式进程处理得到的。全景图和深度图中的像素点一一对应,深度图中的每个像素点具有对应的深度值(即被拍摄点与相机的距离)。

通常,第一全景图为球形投影(Equirectangular Projection)图像,因此,全景图中的每个点具有经度值和纬度值。其中,通常全景图的长宽比可以设置为2:1,若全景图由于垂直视角不足180°,则可以对全景图进行补充像素(例如补充RGB值为0的像素)。

上述有效区域是全景图和深度图中的矩形图像区域,相应的,有效区域以外的区域为不包含图像的区域(例如黑色或其他颜色区域)。有效区域对应的纬度跨度即有效区域的垂直视角。通常,整个全景图的纬度跨度为180°,则可以将有效区域的高度占整个图像的高度的比例乘以180°,得到有效区域的纬度跨度。如图3所示,全景图301中的矩形图像区域3011为有效区域,纬度跨度为90°;全景图302中的矩形图像区域3021为有效区域,纬度跨度为120°。

步骤202,对于预设数量个训练样本图像对集合中的每个训练样本图像对集合,将该训练样本图像对集合中的训练样本图像对包括的全景图作为初始模型的输入,将与输入的全景图对应的深度图作为初始模型的期望输出,训练初始模型,得到该训练样本图像对集合对应的深度图预测模型。

在本实施例中,对于预设数量个训练样本图像对集合中的每个训练样本图像对集合,电子设备利用机器学习方法,将该训练样本图像对集合中的训练样本图像对包括的全景图作为初始模型的输入,将与输入的全景图对应的深度图作为初始模型的期望输出,训练初始模型,得到该训练样本图像对集合对应的深度图预测模型。

其中,每个训练样本图像对集合对应于一个预设的初始模型,最终可以得到预设数量个深度图预测模型,每个深度图预测模型对应于一种纬度跨度。初始模型可以包括各种结构的神经网络,例如使用DenseNet169作为骨架网络的卷积神经网络。卷积神经网络可以包括卷积层、池化层、全连接层等。

模型的训练过程是一个最优解求解过程,其中,最优解通过数据标注的方式给出,模型向最优解拟合的过程主要是通过误差最小化的办法迭代进行。对于一张输入的全景图,设定一个损失函数,该函数可以计算模型的实际输出与期望输出之间的差值,并通过反向传播算法将该差值传导到神经网络中的每一个神经元之间的连接上,传导到每一个连接上的差值信号代表该连接对于整体误差的贡献率。然后利用梯度下降算法对原有权重进行更新修改即可。

电子设备可以利用机器学习方法,针对某个训练样本图像对集合,将该训练样本图像对集合中的训练样本图像对包括的全景图作为输入,将与输入的全景图对应的深度图作为期望输出,对初始模型(例如可以包括卷积神经网络,循环神经网络等)进行训练,针对每次训练输入的全景图,可以得到实际输出。其中,实际输出是初始模型实际输出的数据,用于表征各个像素点对应的深度。然后,电子设备可以采用梯度下降法和反向传播法,基于实际输出和期望输出,调整初始模型的参数,将每次调整参数后得到的模型作为下次训练的初始模型,并在满足预设的训练结束条件的情况下,结束训练,从而训练得到该训练样本图像对集合对应的深度图预测模型。

需要说明的是,这里预设的训练结束条件可以包括但不限于以下至少一项:训练时间超过预设时长;训练次数超过预设次数;利用预设的损失函数(例如交叉熵损失函数)计算所得的损失值小于预设损失值阈值。

在一些可选的实现方式中,初始模型用于对输入的全景图进行循环填充(padding)操作,得到填充后图像,对填充后图像进行卷积操作。具体地,由于全景图的经度跨度为360°,即最左侧的边与最右侧的边实际是连接在一起的。因此,循环填充操作是指,对于有效区域的两条竖直边,将该边的对边上的像素对应的特征值(例如RGB值等)填充到该边的外侧。

如图4所示,矩阵401中的每个元素(即特征值)对应于一个像素点,对于一条边4011,将其对边4012上的特征值填充到4011的左侧,同时,将4011上的特征值填充到4012的右侧。

本实现方式通过循环填充,可以在对全景图两条边线卷积时,使卷积核覆盖到对边,从而提高对图像进行处理的准确性。

在一些可选的实现方式中,如图5所示,在步骤201之前,电子设备还可以执行如下步骤:

步骤501,获取预设的纬度跨度集合。

作为示例,纬度跨度集合可以报如下纬度跨度:c0=180°,c1=126°,c2=90°,c3=80°。

步骤502,对于纬度跨度集合中的每个纬度跨度,基于该纬度跨度执行如下步骤:

步骤5021,从初始图像对集合中的每个初始图像对包括的全景图和深度图中,截取该纬度跨度对应的子全景图和子深度图。

具体地,电子设备可以按照各种方式截取。例如,根据预先设置的截取位置截取。

可选的,电子设备可以从初始图像对集合中的每个初始图像对包括的全景图和深度图中,随机截取该纬度跨度对应的子全景图和子深度图。随机截取的子全景图和子深度图,可以位于原全景图和深度图中的任意位置,从而可以使模型对任意位置截取的全景图和深度图进行学习,提高模型预测的准确性。

步骤5022,对所截取的子全景图和子深度图进行像素补齐,得到预设比例的全景图和深度图作为训练样本图像对。

其中,预设比例可以是2:1的长宽比,即经度跨度为360°,补齐后的纬度跨度为180°。补齐的像素可以设置为任意颜色,例如黑色。

步骤5023,将所得到的各个训练样本图像对确定为该纬度跨度对应的训练样本图像对集合。

通过执行上述步骤5021-步骤5023,可以得到各种纬度跨度,以及各种方位拍摄的全景图和深度图。从而可以利用这些图像训练模型,提高模型的泛化能力。

本公开的上述实施例提供的方法,通过设置多个训练样本图像对集合,每个训练样本图像对集合对应于一种纬度跨度,再分别利用各个训练样本图像对集合训练模型,得到每种纬度跨度对应的深度图预测模型,从而可以使用这些深度图预测模型对各种纬度跨度的全景图进行深度图预测,提高模型的泛化能力以及预测的准确性。

图6是本公开一示例性实施例提供的深度图预测方法的流程示意图。本实施例可应用在电子设备(如图1所示的终端设备101或服务器103)上,如图2所示,该方法包括如下步骤:

步骤601,获取待预测全景图。

在本实施例中,电子设备可以从本地或从远程获取待预测全景图。全景图可以为球形投影(Equirectangular Projection)图像,因此,全景图中的每个点具有经度值和纬度值。其中,全景图的上下边不要求视角齐备,其垂直视角(即维度范围)可以低至一半、甚至更低。通常全景图的长宽比可以设置为2:1,若全景图由于垂直视角不足180°,则可以对全景图进行补充像素(例如补充RGB值为0的像素)。

步骤602,确定待预测全景图中的有效区域的纬度跨度。

在本实施例中,电子设备可以确定待预测全景图中的有效区域的纬度跨度。作为示例,整个全景图的纬度跨度通常为180°,则可以将有效区域的高度占整个图像的高度的比例乘以180°,得到有效区域的纬度跨度。

步骤603,从预先训练的深度图预测模型集合中,选择与纬度跨度匹配的深度图预测模型。

在本实施例中,电子设备可以从预先训练的深度图预测模型集合中,选择与纬度跨度匹配的深度图预测模型。其中,深度图预测模型集合预先基于上述图2对应实施例描述的方法训练得到。

上述深度图预测模型集合中的每个深度图预测模型对应于一种纬度跨度,电子设备可以将步骤602中得到的纬度跨度c与各个深度图预测模型对应的纬度跨度匹配。作为示例,假设各个模型的序号为mi,模型对应的纬度跨度为ci,i=1,2,3。如果c等于180°,则选用模型m0;如果ci≤c<ci-1,则选用模型mi;如果c<c3,则选用模型m3

步骤604,将待预测全景图输入所选择的深度图预测模型,得到预测深度图。

在本实施例中,电子设备可以将待预测全景图输入所选择的深度图预测模型,得到预测深度图。预测深度图可以以各种方式输出,例如,将得到的各个像素点的深度值按照矩阵的形式存储到存储器中作为预测深度图。或者,将得到的深度数据转换为图像并显示在显示器上。

经过计算出来的深度图,可以用于协助进行高精度的三维模型对齐和拼接等操作;同时该深度图可以转化为单点的点云,以对室内外的场景整体进行后续三维重建工作,如三角面片化(meshing),纹理贴图(texture mapping)等。

在一些可选的实现方式中,如图7所示,在步骤601之前,电子设备还可以执行如下步骤:

步骤701,获取初始全景图。

其中,初始全景图包括图像区域。图像区域即在生成初始全景图时,相机实际拍摄的图像。如图8所示,初始全景图801中的区域8011,以及初始全景图802中的区域8021均是由多个矩形图像组成的,则区域8011和8021即为图像区域。

步骤702,确定图像区域是否为矩形区域。如果是,执行步骤703,否则执行步骤704。

步骤703,将矩形区域确定为有效区域。

例如图8中的8021为矩形区域,则8021为有效区域。

步骤704,从图像区域截取最大的内接矩形区域作为有效区域。

例如图8中的8012为图像区域中的最大内接矩形区域,则8012为有效区域。

步骤705,响应于确定有效区域的长宽比不是预设比例,对有效区域之外的区域进行像素补齐,得到预设比例的待预测全景图。

其中,预设比例通常是2:1,有效区域如果是原图中的一部分,则需要进行像素补齐,有效区域如果是原图的全部,则不需要进行像素补齐。

通过执行步骤701-步骤705,可以将全景图和深度图调整为预定规格的图像,降低图像区域的形状不规则对模型预测带来的影响,提高模型预测的准确性。

在一些可选的实现方式中,深度图预测模型还用于输出预测深度图中的每个像素点对应的置信度。其中,置信度用于表征对应的像素点的深度值是否正确的概率。

基于置信度,电子设备还可以执行如下步骤:

对于预测深度图中的每个像素点,确定该像素点对应的置信度是否大于或等于预设阈值;如果大于或等于预设阈值,表示深度值可信,保持该像素点对应的深度值不变;如果小于预设阈值,表示深度值不可信,将该像素点对应的深度值修改为预设深度值(例如0)。本实现方式通过对置信度的判断,确定深度值是否可信,从而可以得到高准确性的深度信息。

上述图6对应实施例提供的方法,通过从多个深度图预测模型中,选择与待预测全景图中的有效区域的纬度跨度相应的模型,可以利用各个模型具有针对某个纬度跨度范围内的全景图的预测准确性高的特点,提高得到深度信息的准确性,有助于提高后续的三维模型对齐、拼接等操作的准确性。

示例性装置

图9是本公开一示例性实施例提供的深度图预测模型生成装置的结构示意图。本实施例可应用在电子设备上,如图9所示,深度图预测模型生成装置包括:第一获取模块901,用于获取预设数量个训练样本图像对集合,其中,每个训练样本图像对集合中的训练样本图像对包括有效纬度跨度相同的全景图和对应的深度图,有效纬度跨度是全景图和深度图中的有效区域的纬度跨度;训练模块902,用于对于预设数量个训练样本图像对集合中的每个训练样本图像对集合,将该训练样本图像对集合中的训练样本图像对包括的全景图作为初始模型的输入,将与输入的全景图对应的深度图作为初始模型的期望输出,训练初始模型,得到该训练样本图像对集合对应的深度图预测模型。

在本实施例中,第一获取模块901可以从远程或从本地获取预设数量个训练样本图像对集合。其中,每个训练样本图像对集合中的训练样本图像对包括有效纬度跨度相同的全景图和对应的深度图,有效纬度跨度是全景图和深度图中的有效区域的纬度跨度。

其中,全景图可以是由全景图拍摄相机(例如手机的相机)拍摄直接得到的,也可以是对相机拍摄的全景图进行处理(例如裁剪、补齐等)得到的。深度图可以是在相同位置上由深度相机(例如双目立体相机、激光雷达等)拍摄直接得到的,也可以是按照与处理全景图相同的方式进程处理得到的。全景图和深度图中的像素点一一对应,深度图中的每个像素点具有对应的深度值(即被拍摄点与相机的距离)。

通常,第一全景图为球形投影(Equirectangular Projection)图像,因此,全景图中的每个点具有经度值和纬度值。其中,通常全景图的长宽比可以设置为2:1,若全景图由于垂直视角不足180°,则可以对全景图进行补充像素(例如补充RGB值为0的像素)。

上述有效区域是全景图和深度图中的矩形图像区域,相应的,有效区域以外的区域为不包含图像的区域(例如黑色或其他颜色区域)。有效区域对应的纬度跨度即有效区域的垂直视角。通常,整个全景图的纬度跨度为180°,则可以将有效区域的高度占整个图像的高度的比例乘以180°,得到有效区域的纬度跨度。

在本实施例中,对于预设数量个训练样本图像对集合中的每个训练样本图像对集合,训练模块902可以利用机器学习方法,将该训练样本图像对集合中的训练样本图像对包括的全景图作为初始模型的输入,将与输入的全景图对应的深度图作为初始模型的期望输出,训练初始模型,得到该训练样本图像对集合对应的深度图预测模型。

其中,每个训练样本图像对集合对应于一个预设的初始模型,最终可以得到预设数量个深度图预测模型,每个深度图预测模型对应于一种纬度跨度。初始模型可以包括各种结构的神经网络,例如使用DenseNet169作为骨架网络的卷积神经网络。卷积神经网络可以包括卷积层、池化层、全连接层等。

模型的训练过程是一个最优解求解过程,其中,最优解通过数据标注的方式给出,模型向最优解拟合的过程主要是通过误差最小化的办法迭代进行。对于一张输入的全景图,设定一个损失函数,该函数可以计算模型的实际输出与期望输出之间的差值,并通过反向传播算法将该差值传导到神经网络中的每一个神经元之间的连接上,传导到每一个连接上的差值信号代表该连接对于整体误差的贡献率。然后利用梯度下降算法对原有权重进行更新修改即可。

训练模块902可以利用机器学习方法,针对某个训练样本图像对集合,将该训练样本图像对集合中的训练样本图像对包括的全景图作为输入,将与输入的全景图对应的深度图作为期望输出,对初始模型(例如可以包括卷积神经网络,循环神经网络等)进行训练,针对每次训练输入的全景图,可以得到实际输出。其中,实际输出是初始模型实际输出的数据,用于表征各个像素点对应的深度。然后,训练模块902可以采用梯度下降法和反向传播法,基于实际输出和期望输出,调整初始模型的参数,将每次调整参数后得到的模型作为下次训练的初始模型,并在满足预设的训练结束条件的情况下,结束训练,从而训练得到该训练样本图像对集合对应的深度图预测模型。

需要说明的是,这里预设的训练结束条件可以包括但不限于以下至少一项:训练时间超过预设时长;训练次数超过预设次数;利用预设的损失函数(例如交叉熵损失函数)计算所得的损失值小于预设损失值阈值。

在一些可选的实现方式中,初始模型用于对输入的全景图进行循环填充操作,得到填充后图像,对填充后图像进行卷积操作。

在一些可选的实现方式中,该装置还包括:第二获取模块(图中未示出),用于获取初始图像对集合,其中,初始图像对集合中的初始图像对包括预设纬度跨度的全景图和对应的深度图;第三获取模块(图中未示出),用于获取预设的纬度跨度集合;生成模块(图中未示出),用于对于纬度跨度集合中的每个纬度跨度,基于该纬度跨度执行如下步骤:从初始图像对集合中的每个初始图像对包括的全景图和深度图中,截取该纬度跨度对应的子全景图和子深度图;对所截取的子全景图和子深度图进行像素补齐,得到预设比例的全景图和深度图作为训练样本图像对;将所得到的各个训练样本图像对确定为该纬度跨度对应的训练样本图像对集合。

在一些可选的实现方式中,生成模块进一步用于:从初始图像对集合中的每个初始图像对包括的全景图和深度图中,随机截取该纬度跨度对应的子全景图和子深度图。

本公开上述实施例提供的深度图预测模型生成装置,通过设置多个训练样本图像对集合,每个训练样本图像对集合对应于一种纬度跨度,再分别利用各个训练样本图像对集合训练模型,得到每种纬度跨度对应的深度图预测模型,从而可以使用这些深度图预测模型对各种纬度跨度的全景图进行深度图预测,提高模型的泛化能力以及预测的准确性。

图10是本公开一示例性实施例提供的深度图预测装置的结构示意图。本实施例可应用在电子设备上,如图10所示,深度图预测装置包括:第四获取模块1001,用于获取待预测全景图;第一确定模块1002,用于确定待预测全景图中的有效区域的纬度跨度;选择模块1003,用于从预先训练的深度图预测模型集合中,选择与纬度跨度匹配的深度图预测模型,其中,深度图预测模型集合预先基于上述深度图预测模型生成方法训练得到;预测模块1004,用于将待预测全景图输入所选择的深度图预测模型,得到预测深度图。

在本实施例中,第四获取模块1001可以从本地或从远程获取待预测全景图。全景图可以为球形投影(Equirectangular Projection)图像,因此,全景图中的每个点具有经度值和纬度值。其中,全景图的上下边不要求视角齐备,其垂直视角(即维度范围)可以低至一半、甚至更低。通常全景图的长宽比可以设置为2:1,若全景图由于垂直视角不足180°,则可以对全景图进行补充像素(例如补充RGB值为0的像素)。

在本实施例中,第一确定模块1002可以确定待预测全景图中的有效区域的纬度跨度。作为示例,整个全景图的纬度跨度通常为180°,则可以将有效区域的高度占整个图像的高度的比例乘以180°,得到有效区域的纬度跨度。

在本实施例中,选择模块1003可以从预先训练的深度图预测模型集合中,选择与纬度跨度匹配的深度图预测模型。其中,深度图预测模型集合预先基于上述图2对应实施例描述的方法训练得到。

上述深度图预测模型集合中的每个深度图预测模型对应于一种纬度跨度,选择模块1003可以将步骤602中得到的纬度跨度c与各个深度图预测模型对应的纬度跨度匹配。作为示例,假设各个模型的序号为mi,模型对应的纬度跨度为ci,i=1,2,3。如果c等于180°,则选用模型m0;如果ci≤c<ci-1,则选用模型mi;如果c<c3,则选用模型m3

在本实施例中,预测模块1004可以将待预测全景图输入所选择的深度图预测模型,得到预测深度图。预测深度图可以以各种方式输出,例如,将得到的各个像素点的深度值按照矩阵的形式存储到存储器中作为预测深度图。或者,将得到的深度数据转换为图像并显示在显示器上。

经过计算出来的深度图,可以用于协助进行高精度的三维模型对齐和拼接等操作;同时该深度图可以转化为单点的点云,以对室内外的场景整体进行后续三维重建工作,如三角面片化(meshing),纹理贴图(texture mapping)等。

在一些可选的实现方式中,该装置还包括:第五获取模块(图中未示出),用于获取初始全景图,其中,初始全景图包括图像区域;第二确定模块(图中未示出),用于确定图像区域是否为矩形区域;第三确定模块(图中未示出),用于如果是矩形区域,将矩形区域确定为有效区域;第四确定模块(图中未示出),用于如果不是矩形区域,从图像区域截取最大的内接矩形区域作为有效区域;补齐模块(图中未示出),用于响应于确定有效区域的长宽比不是预设比例,对有效区域之外的区域进行像素补齐,得到预设比例的待预测全景图。

在一些可选的实现方式中,深度图预测模型还用于输出预测深度图中的每个像素点对应的置信度;以及装置还包括:修正模块(图中未示出),用于对于预测深度图中的每个像素点,确定该像素点对应的置信度是否大于或等于预设阈值;如果大于或等于预设阈值,保持该像素点对应的深度值不变;如果小于预设阈值,将该像素点对应的深度值修改为预设深度值。

本公开上述实施例提供的深度图预测装置,通过从多个深度图预测模型中,选择与待预测全景图中的有效区域的纬度跨度相应的模型,可以利用各个模型具有针对某个纬度跨度范围内的全景图的预测准确性高的特点,提高得到深度信息的准确性,有助于提高后续的三维模型对齐、拼接等操作的准确性。

示例性电子设备

下面,参考图11来描述根据本公开实施例的电子设备。该电子设备可以是如图1所示的终端设备101和服务器103中的任一个或两者、或与它们独立的单机设备,该单机设备可以与终端设备101和服务器103进行通信,以从它们接收所采集到的输入信号。

图11图示了根据本公开实施例的电子设备的框图。

如图11所示,电子设备1100包括一个或多个处理器1101和存储器1102。

处理器1101可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1100中的其他组件以执行期望的功能。

存储器1102可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1101可以运行程序指令,以实现上文的本公开的各个实施例的方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如全景图、深度图等各种内容。

在一个示例中,电子设备1100还可以包括:输入装置1103和输出装置1104,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

例如,在该电子设备是终端设备101或服务器103时,该输入装置1103可以是相机、鼠标、键盘等设备,用于输入全景图等。在该电子设备是单机设备时,该输入装置1103可以是通信网络连接器,用于从终端设备101和服务器103接收所输入的全景图等。

该输出装置1104可以向外部输出各种信息,包括生成的深度图预测模型、预测得到的深度图等。该输出设备1104可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图11中仅示出了该电子设备1100中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1100还可以包括任何其他适当的组件。

示例性计算机程序产品和计算机可读存储介质

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于生成对象的中心线的方法和系统以及计算机可读介质

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!