首页 / 专利库 / 电脑图像 / 深度图 / 一种生成带深度信息的全景图的方法、装置及存储介质

一种生成带深度信息的全景图的方法、装置及存储介质

阅读:353发布:2020-05-08

专利汇可以提供一种生成带深度信息的全景图的方法、装置及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种生成带深度信息的全景图的方法和装置,该方法包括:获取当前场景的基于球面投影的二维图像;将预设份数的所述二维图像在 水 平方向上首尾相连构成中间图像;利用预先训练的用于预测图像深度的神经网络模型,确定所述中间图像的深度信息;从所述中间图像的水平方向上的中间 位置 截取出与所述二维图像等长的图像,并确定截取的图像的深度信息,将该截取的带有深度信息的图像确定为当前场景的全景图。本发明能够降低成本,并且因为是针对多份二维图像拼接成的中间图像进行的深度信息确定,使得二维图像的首尾相接部分不存在信息缺失,可以使确定的深度信息结果更加准确。,下面是一种生成带深度信息的全景图的方法、装置及存储介质专利的具体信息内容。

1.一种生成带深度信息的全景图的方法,其特征在于,该方法包括:
获取当前场景的基于球面投影的二维图像;
将预设份数的所述二维图像在平方向上首尾相连构成中间图像;
利用预先训练的用于预测图像深度的神经网络模型,确定所述中间图像的深度信息;
从所述中间图像的水平方向上的中间位置截取出与所述二维图像等长的图像,并确定截取的图像的深度信息,将该截取的带有深度信息的图像确定为当前场景的全景图。
2.根据权利要求1所述的方法,其特征在于,
训练所述用于预测图像深度的神经网络模型的方法为:
将预训练好的卷积神经网络作为初始骨架网络,依据U-Net网络结构对所述初始网络骨架进行结构调整;
基于调整后的所述初始网络骨架对多个带有深度信息的彩色三位图像进行训练,生成所述用于预测图像深度的神经网络模型。
3.根据权利要求2所述的方法,其特征在于,
所述预训练好的卷积神经网络为在ImageNet上预训练好的DenseNet169;
所述依据U-Net网络结构对所述初始网络骨架进行结构上的调整,包括:
删除在ImageNet上预训练好的DenseNet169的全连接层;
基于U-Net网络结构,在删除了全连接层后的DenseNet169的最后一层之后添加4个上采样层,并为每个上采样层设置对应的叠加层;其中,每个上采样层的输入通道数为输出通道数的2倍;且在添加的每个上采样层中,将该上采样层的输入信息做两倍分辨率的上采样,并将上采样结果与该上采样层对应的叠加层输出数据进行叠加,对叠加结果连续执行两次卷积运算,使用预设激活函数对卷积运算结果进行线性修正;
将最后一个上采样层的输出进行一次用于输出深度信息的卷积运算和一次用于输出自信度信息的卷积运算。
4.根据权利要求3所述的方法,其特征在于,
在删除了全连接层后的DenseNet169的最后一层之后添加4层上采样层中,按照添加的上采样层从最前一层到最后一层的顺序,依次对应的叠加层为pool3_pool、pool2_pool、pool1、conv1/relu。
5.根据权利要求2所述的方法,其特征在于,
基于调整后的所述初始网络骨架对多个带有深度信息的彩色三位图像进行训练之前,进一步包括:
对所述多个带有深度信息的彩色三维图像进行训练之前,对所述多个带有深度信息的彩色三维图像进行预处理,且在对所述多个带有深度信息的彩色三维图像进行预处理时,如果至少一个带有深度信息的彩色三位图像中存在破洞,则不对破洞进行填洞操作;所述破洞是指带有深度信息的彩色三位图像中无法确定深度信息的像素点;
基于调整后的所述网络骨架对所述多个带有深度信息的彩色三位图像进行训练时,采用监督学习方法进行训练,且对深度估计采用的损失函数为基于神经网络模型对每个像素的深度估计值和自信度估计值的函数。
6.根据权利要求1所述的方法,其特征在于,
所述获取当前场景的基于球面投影的二维图像之后,进一步包括:如果所述二维图像中存在视盲区,则将所述视角盲区填充为黑色;
所述将预设份数的所述二维图像在水平方向上首尾相连构成中间图像之后,进一步包括:对所述中间图像的上下边缘进行裁剪。
7.根据权利要求6所述的方法,其特征在于,
所述对所述中间图像的上下边缘进行裁剪的方法为:
从所述中间图像的上边缘和下边缘分别裁剪掉高度为所述中间图像高度的预设比例的图像。
8.一种生成带深度信息的全景图的装置,其特征在于,该装置包括:
获取单元,用于获取当前场景的基于球面投影的二维图像;
拼接单元,用于将预设份数的所述二维图像在水平方向上首尾相连构成中间图像;
处理单元,用于利用预先训练的用于预测图像深度的神经网络模型,确定所述中间图像的深度信息;
截取单元,用于在所述中间图像的水平方向上的中间位置截取与所述二维图像等长的图像,并确定截取的图像的深度信息,将该截取的带有深度信息的图像确定为当前场景的全景图。
9.一种非瞬时性计算机可读存储介质,其特征在于,所述非瞬时性计算机可读存储介质存储指令,所述指令在由设备的处理器执行时使所述处理器执行权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一项所述方法中的步骤。

说明书全文

一种生成带深度信息的全景图的方法、装置及存储介质

技术领域

[0001] 本发明涉及三维模型重建技术领域,特别涉及一种生成带深度信息的全景图的方法、装置及存储介质。

背景技术

[0002] 三维模型重建在工业检测、质量控制和机器视觉等领域中占有很重要的地位。在室内外场景三维重建领域中,需要深度数据形成点从而建模,并且同时根据点云的距离信息,把传感器得到的不同位置的点云拼接起来。但是三维重建的深度数据的获取,通常需要结构光、基于时间飞行(Time Of Flight)原理的激光等等高成本专用深度传感器,由于其造价昂贵,在大规模的工业实用中,成本过高。

发明内容

[0003] 有鉴于此,本发明的目的在于提供一种生成带深度信息的全景图的方法、装置及存储介质,能够降低成本。
[0004] 为了达到上述目的,本发明提供了如下技术方案:
[0005] 一种生成带深度信息的全景图的方法,包括:
[0006] 获取当前场景的基于球面投影的二维图像;
[0007] 将预设份数的所述二维图像在平方向上首尾相连构成中间图像;
[0008] 利用预先训练的用于预测图像深度的神经网络模型,确定所述中间图像的深度信息;
[0009] 从所述中间图像的水平方向上的中间位置截取出与所述二维图像等长的图像,并确定截取的图像的深度信息,将该截取的带有深度信息的图像确定为当前场景的全景图。
[0010] 可选地,
[0011] 训练所述用于预测图像深度的神经网络模型的方法为:
[0012] 将预训练好的卷积神经网络作为初始骨架网络,依据U-Net网络结构对所述初始网络骨架进行结构调整;
[0013] 基于调整后的所述初始网络骨架对多个带有深度信息的彩色三位图像进行训练,生成所述用于预测图像深度的神经网络模型。
[0014] 可选地,
[0015] 所述预训练好的卷积神经网络为在ImageNet上预训练好的DenseNet169;
[0016] 所述依据U-Net网络结构对所述初始网络骨架进行结构上的调整,包括:
[0017] 删除在ImageNet上预训练好的DenseNet169的全连接层;
[0018] 基于U-Net网络结构,在删除了全连接层后的DenseNet169的最后一层之后添加4个上采样层,并为每个上采样层设置对应的叠加层;其中,每个上采样层的输入通道数为输出通道数的2倍;且在添加的每个上采样层中,将该上采样层的输入信息做两倍分辨率的上采样,并将上采样结果与该上采样层对应的叠加层输出数据进行叠加,对叠加结果连续执行两次卷积运算,使用预设激活函数对卷积运算结果进行线性修正;
[0019] 将最后一个上采样层的输出进行一次用于输出深度信息的卷积运算和一次用于输出自信度信息的卷积运算。
[0020] 可选地,
[0021] 在删除了全连接层后的DenseNet169的最后一层之后添加4层上采样层中,按照添加的上采样层从最前一层到最后一层的顺序,依次对应的叠加层为pool3_pool、pool2_pool、pool1、conv1/relu。
[0022] 可选地,
[0023] 基于调整后的所述初始网络骨架对多个带有深度信息的彩色三位图像进行训练之前,进一步包括:
[0024] 对所述多个带有深度信息的彩色三维图像进行训练之前,对所述多个带有深度信息的彩色三维图像进行预处理,且在对所述多个带有深度信息的彩色三维图像进行进行预处理时,如果至少一个带有深度信息的彩色三位图像中存在破洞,则不对破洞进行填洞操作;所述破洞是指带有深度信息的彩色三位图像中无法确定深度信息的像素点;
[0025] 基于调整后的所述网络骨架对所述多个带有深度信息的彩色三位图像进行训练时,采用监督学习方法进行训练,且对深度估计采用的损失函数为基于神经网络模型对每个像素的深度估计值和自信度估计值的函数。
[0026] 可选地,
[0027] 所述获取当前场景的基于球面投影的二维图像之后,进一步包括:如果所述二维图像中存在视盲区,则将所述视角盲区填充为黑色;
[0028] 所述将预设份数的所述二维图像在水平方向上首尾相连构成中间图像之后,进一步包括:对所述中间图像的上下边缘进行裁剪。
[0029] 可选地,
[0030] 所述对所述中间图像的上下边缘进行裁剪的方法为:
[0031] 从所述中间图像的上边缘和下边缘分别裁剪掉高度为所述中间图像高度的预设比例的图像。
[0032] 可选地,
[0033] 所述预设份数的取值为3;
[0034] 所述预设比例为15%。
[0035] 一种生成带深度信息的全景图的装置,包括:
[0036] 获取单元,用于获取当前场景的基于球面投影的二维图像;
[0037] 拼接单元,用于将预设份数的所述二维图像在水平方向上首尾相连构成中间图像;
[0038] 处理单元,用于利用预先训练的用于预测图像深度的神经网络模型,确定所述中间图像的深度信息;
[0039] 截取单元,用于在所述中间图像的水平方向上的中间位置截取与所述二维图像等长的图像,并确定截取的图像的深度信息,将该截取的带有深度信息的图像确定为当前场景的全景图。
[0040] 可选地,
[0041] 所述处理单元,训练用于预测图像深度的神经网络模型时,用于:
[0042] 将预训练好的卷积神经网络作为初始骨架网络,依据U-Net网络结构对所述初始网络骨架进行结构调整;
[0043] 基于调整后的初始网络骨架对多个带有深度信息的彩色三维图像进行训练,生成所述用于预测图像深度的神经网络模型。
[0044] 可选地,
[0045] 所述预训练好的卷积神经网络为在ImageNet上预训练好的DenseNet169;
[0046] 所述处理单元,包括:
[0047] 删除子单元,用于删除在ImageNet上预训练好的DenseNet169的全连接层;
[0048] 添加子单元,用于基于U-Net网络结构,在删除了全连接层后的DenseNet169的最后一层之后添加4个上采样层,并为每个上采样层设置对应的叠加层;其中,每个上采样层的输入通道数为输出通道数的2倍;且在添加的每个上采样层中,将该上采样层的输入信息做两倍分辨率的上采样,并将上采样结果与该上采样层对应的叠加层输出数据进行叠加,对叠加结果连续执行两次卷积运算,使用预设激活函数对卷积运算结果进行线性修正;
[0049] 运算子单元,用于将最后一个上采样层的输出进行一次用于输出深度信息的卷积运算和一次用于输出自信度信息的卷积运算。
[0050] 可选地,
[0051] 所述添加子单元,在删除了全连接层后的DenseNet169的最后一层之后添加4层上采样层中,按照添加的上采样层从最前一层到最后一层的顺序,依次对应的叠加层为pool3_pool、pool2_pool、pool1、conv1/relu。
[0052] 可选地,
[0053] 所述处理单元,基于调整后的所述初始网络骨架对多个带有深度信息的彩色三位图像进行训练之前,进一步用于:
[0054] 对所述多个带有深度信息的彩色三维图像进行训练之前,对所述多个带有深度信息的彩色三维图像进行预处理,且在对所述多个带有深度信息的彩色三维图像进行进行预处理时,如果至少一个带有深度信息的彩色三位图像中存在破洞,则不对破洞进行填洞操作;所述破洞是指带有深度信息的彩色三位图像中无法确定深度信息的像素点;
[0055] 所述处理单元,基于调整后的所述网络骨架对所述多个带有深度信息的彩色三位图像进行训练时,采用监督学习方法进行训练,且对深度估计采用的损失函数为基于神经网络模型对每个像素的深度估计值和自信度估计值的函数。
[0056] 可选地,
[0057] 所述获取单元,获取当前场景的基于球面投影的二维图像之后,进一步用于:如果所述二维图像中存在视角盲区,则将视角盲区填充为黑色;
[0058] 所述拼接单元,将预设份数的所述二维图像在水平方向上首尾相连构成所述中间图像之后,进一步用于:对所述中间图像的上下边缘进行裁剪。
[0059] 可选地,
[0060] 所述拼接单元,对所述中间图像的上下边缘进行裁剪时,用于:
[0061] 从所述中间图像的上边缘和下边缘分别裁剪掉高度为中间图像高度的预设比例的图像。
[0062] 可选地,
[0063] 所述预设份数的取值为3;
[0064] 所述预设比例为15%。
[0065] 一种非瞬时性计算机可读存储介质,所述非瞬时性计算机可读存储介质存储指令,所述指令在由设备的处理器执行时使所述处理器执行上述生成带深度信息的全景图的方法中的步骤。
[0066] 一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述生成带深度信息的全景图的方法中的步骤。
[0067] 由上面的技术方案可知,本发明中,在获取当前场景的基于球面投影的二维图像后,将多份二维图像在水平方向上首尾相连构成中间图像,然后利用预先训练的用于预测图像深度的神经网络模型确定中间图像的深度信息,最后在中间图像的水平方向上的中间位置截取与二维图像等长的图像,由于已确定了中间图像的深度信息,因此从中间图像截取的图像也相应具有深度信息,因此可作为当前场景的带有深度信息的全景图。应用本发明的技术方案,不需要使用深度摄像头就可以得到当前场景的带深度信息的全景图,因此可以大大降低成本,并且因为是针对多份二维图像拼接成的中间图像进行的深度信息确定,使得二维图像的首尾相接部分不存在信息缺失,可以使确定的深度信息结果更加准确。附图说明
[0068] 以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围:
[0069] 图1是本发明实施例生成带深度信息的全景图的方法流程图
[0070] 图2是本发明实施例多份二维图像首尾相连构成的中间图像示意图;
[0071] 图3是本发明实施例对中间图像的上下边缘裁剪结果示意图;
[0072] 图4是本发明实施例生成带深度信息的全景图的装置的结构示意图;
[0073] 图5是本发明实施例提供的电子设备的结构示意图。

具体实施方式

[0074] 为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本发明的技术方案进行详细说明。
[0075] 本发明中,利用普通摄像头拍摄得到当前场景的二维图像,然后将多份当前场景的二维图像在水平方向上首尾相连起来构成一中间图像,然后利用预先训练好的用于预测深度信息的神经网络模型确定中间图像的深度信息,最后从中间图像在水瓶方向的中间位置截取与当前场景的二维图像等长的图像,由于从中间图像中截取出的图像具有对应的深度信息,因此可作为当前场景的带深度信息的全景图。
[0076] 参见图1,图1是本发明实施例生成带深度信息的全景图的方法流程图,如图1所示,该方法主要包括以下步骤:
[0077] 步骤101、获取当前场景的基于球面投影的二维图像。
[0078] 本发明中,使用图像采集设备获取得到当前场景的基于球面投影的二维图像。二维图像中仅需要具有全景图的RGB信息,不需要具有全景图的深度信息,因此对图像采集设备的要求很低,只要是带有RGB摄像头的扫描设备即可,例如RGB鱼眼相机,也可以是带有摄像头的移动设备,例如手机。由于使用的图像采集设备不要求带有深度摄像头,因此全景图的获取成本非常低。
[0079] 本发明中,对获取的当前场景的二维图像的上边缘和下边缘,不要求视角齐备,只需要垂直视角拥有足够的纹理、线条、物体信息以供神经网络模型推断出二维图像的深度信息即可。
[0080] 在视角不齐备的情况下,对于二维图像中的视角盲区,可以填充为黑色。即在获取得到当前场景的基于球面投影的二维图像之后,可以进一步判断所述二维图像中是否存在视角盲区,如果存在视角盲区,则将所述二维图像中的视角盲区统一填充为黑色。
[0081] 步骤102、将预设份数的所述二维图像在水平方向上首尾相连构成中间图像。
[0082] 本发明实施例中,预设份数N的取值为大于1的整数,较佳地,可以取值为3。
[0083] 基于球面投影的二维图像,其本身的信息是首尾相接的。将预设份数的所述二维图像在水平方向上首尾相连构成中间图像,是指将第一份二维图像的尾部和第二份二维图像的首部相连,将第二份二维图像的尾部和第三份二位图像的首部相连,依此类推,并且第一份二维图像的首部和最后一份二维图像的尾部不相连,具体如图2所示的中间图像示意图。
[0084] 通常情况下,基于球面投影的二维图像,其长度(水平方向上的长度)和宽度(垂直方向上的长度,也称为高度)的比例是2:1,将N份所述二维图像在水平方向上首尾相连构成的中间图像,其长度和宽度的比值是2N:1,例如N=3时,中间图像的长宽比为6:1。
[0085] 在实际应用中,由于球形投影图像中,上下边缘部分的畸变较大,会对后续卷积神经网络训练和深度估计产生不良影响,为减少此不良影响,本发明中,将预设份数的所述二维图像在水平方向上首尾相连构成中间图像之后,还可以对中间图像的上下边缘进行裁剪,即分别从中间图像的上边缘裁剪掉一定比例高度的图像,从中间图像的下边缘裁剪掉一定比例高度的图像,裁剪比例可以相同,也可以不同。
[0086] 本发明实施例中,对中间图像的上下边缘进行裁剪的具体方法可以为:分别从中间图像的上边缘和下边缘裁剪掉高度为中间图像高度的预设比例的图像。这里的预设比例可以取值15%(中间图像的上下边缘各裁剪掉15%后,长宽比变为60:7),也可以是其它取值,只要能够保证二维图像中的纹理、线条、物体信息的丢失不超过一定阈值即可,此阈值可以根据经验确定。经过上下边缘裁剪的中间图像如图3所示,其中的划斜线部分是被裁剪掉的图像部分。
[0087] 步骤103、利用预先训练的用于预测图像深度的神经网络模型,确定所述中间图像的深度信息。
[0088] 本发明实施例中,需要预先训练得到用于预测图像深度的神经网络模型。可预先收集海量真实场景的带深度信息的彩色三维图像作为训练样本,训练样本要求像素级对齐,包括在室内同室外的各种场景,例如墙角、汽车天花板、地面、窗、等要素。
[0089] 通常情况下,真实场景的带深度信息的彩色三维图像中会存在许多破洞,本发明实施例中,可以对收集到的海量训练样本(即带深度信息的彩色三维图像)进行预处理(例如高斯滤波,尺寸调整等)。需要说明的是,在对训练样本进行预处理时,如果训练样本中存在破洞,则不对破洞进行填洞处理。这里的破洞是指图像中无法确定深度信息的像素点。对这种无法确定深度信息的像素点,本发明中,仍然保持其深度信息未知的情况,不会通过预估或其它方法获取其深度值来实现填洞处理。
[0090] 在收集了海量训练样本之后,可通过对训练样本进行训练得到用于预测图像深度的神经网络模型。
[0091] 本发明实施例中,一种可能的训练用于预测图像深度的神经网络模型的方法具体包括以下步骤:
[0092] S1、将预训练好的卷积神经网络作为初始骨架网络,依据U-Net网络结构对所述初始网络骨架进行结构调整;
[0093] S2、基于调整后的所述初始网络骨架对多个带深度信息的彩色三维图像(即训练样本)进行训练,生成用于预测图像深度的神经网络模型。
[0094] 上述步骤S1中,预训练好的卷积神经网络可以是在ImageNet上预训练好的DenseNet169。
[0095] 上述步骤S1中,依据U-Net网络结构对所述初始网络骨架进行结构调整,具体可包括:
[0096] S11、删除DenseNet169的全连接层;
[0097] S12、基于U-Net网络结构,在删除了全连接层后的DenseNet169的最后一层之后添加4个上采样层,并为每个上采样层设置对应的叠加层。
[0098] 需要说明的是上述步骤S1中,预训练好的卷积神经网络也可以是在ImageNet上预训练好的Google Inception,ResNet,VGG等模型,但是,当预训练好的卷积神经网络是在ImageNet上预训练好的Google Inception,ResNet,或VGG时,上述步骤S12的具体实现也不相同,例如添加的层的名字会发生变化。
[0099] 本发明实施例中,上述步骤S12中,所述添加的4个上采样层分别作为改进后的DenseNet169中的一层。假设按照添加的4个上采样层从最前一层到最后一层的顺序依次为第一个上采样层、第二个上采样层、第三个上采样层、第四个上采样层,则删除了全连接层后的DenseNet169的最后一层的输出作为第一个上采样层的输入,第一个上采样层的输出作为第二个上采样层的输入,第二个上采样层的输出作为第三个上采样层的输入,第三个上采样层的输出作为第四个上采样层的输入。另外,所述第一个上采样层、第二个上采样层、第三个上采样层、第四个上采样层对应的叠加层可依次配置为:pool3_pool、pool2_pool、pool1、conv1/relu。
[0100] 本步骤12中,每层上采样层的输入通道数为输出通道数的2倍;且在添加的每层上采样层中,将该层上采样层的输入信息做两倍分辨率的上采样,并将上采样结果与该层上采样层对应的叠加层输出数据进行叠加,对叠加结果连续执行两次卷积运算(先执行第一次卷积运算,再对第一次卷积运算结果进行第二次卷积运算,每次卷积运算可以是卷积核为3×3的二维卷积运算),使用预设激活函数(例如relu激活函数)对卷积运算结果进行线性修正。
[0101] S13、将最后一层上采样层的输出进行一次用于输出深度信息的卷积运算和一次用于输出自信度信息的卷积运算,或者,将最后一层上采样层的输出进行输出通道为2的一次卷积运算,2个输出通道分别为自信度和深度信息。
[0102] 本步骤13中,深度信息D可以以米为单位,自信度信息是指对所述中间图像中每个像素点的预测深度值的自信度,某一像素点的自信度值较高则说明该像素点的估测深度值与真实深度值较接近,自信度值较低则说明该像素点的估测深度值与真实深度值不够接近,自信度值为0,则说明该像素点实际上一个破洞,无法确定/估测出深度值。
[0103] 本步骤13中的卷积运算也可以是卷积核为3×3的二维卷积运算。
[0104] 上述步骤S2中,基于调整后的网络骨架对所述多个带深度信息的彩色三维图像进行训练时,可以基于监督学习方法进行训练,且对深度估计采用的损失函数为基于训练得到的神经网络模型对每个像素的深度估计值和自信度估计值的函数,具体地,可以是以下三个函数的结合:
[0105] 函数1、基于神经网络模型对每个像素x的深度估计值的函数f1(x):将神经网络模型对每个像素x的深度估计值与深度真值的差值的绝对值进行蒙版过滤;
[0106] 函数2、基于神经网络模型对每个像素x的深度估计值的梯度函数f2(x):将神经网络模型对每个像素x的深度估计值的梯度与深度真值的梯度的差值的绝对值进行蒙版过滤;
[0107] 函数3、基于神经网络模型对每个像素x的自信度估计值的函数f3(x):神经网络模型对每个像素x的自信度估计值与自信度真值的差的绝对值。其中,自信度真值可采用以下方法确定:当不存在神经网络模型对像素x的深度估计值时,确定自信度真值为0;当存在神经网络模型对像素x的深度估计值时,采用以下公式确定自信度真值:自信度真值=1-预设调节因子(例如0.02)×(神经网络模型对像素x的深度估计值-像素x的深度真值)。
[0108] 本发明实施例中,可以将图像中每个像素对应于上述三个函数的加权平均结果进行累加后再计算平均值,将计算得到的平均值作为损失函数的损失值。需要说明的是,上述的深度真值,是指像素在图像中的真实深度值。
[0109] 以上所述的函数f1和函数f2,通过蒙版过滤,可以忽略掉深度真值中存在破洞的部分的深度估计值。以上所述的函数f3,是对自信度估计使用L1绝对值损失,采用此函数可使得深度真值破洞部分的自信度真值被设置为0,对深度估计值同深度真值背离比较远的像素点,自信度估计应接近0,对深度估计值同深度真值比较近的像素点,自信度估计应接近1。
[0110] 步骤104、从所述中间图像的水平方向上的中间位置截取出与所述二维图像等长的图像,并确定截取的图像的深度信息,将该截取的带有深度信息的图像确定为当前场景的全景图。
[0111] 本发明中,利用预先训练的用于预测图像深度的神经网络模型确定中间图像的深度信息后,即得到一张具有深度信息和自信度信息的中间图像,可以从中间图像在水平方向的正中间位置截取出与当前场景的二维图像等长的图像作为当前场景的全景图。
[0112] 实际上,利用预先训练的用于预测图像深度的神经网络模型确定的中间图像的深度信息中,包括了中间图像中每个像素点的深度信息,因此,从中间图像的水平方向上的中间位置截取出与所述二维图像等长的图像后,截取出来的图像中各像素点的深度信息是可以直接确定的,同理截取出来的图像中各像素点的自信度信息也是可以直接确定的。
[0113] 可以使用自信度估计大于预设自信度阈值(例如0.8)的深度估计作为当前场景的全景图像中可信的深度来源。该自信度阈值0.8的取值可以调整,取决于最终应用需要更多的深度数据还是需要具有更高自信度的深度数据。
[0114] 本发明中,在确定了当前场景的带深度信息的全景图之后,可以在后续的像素对齐、图像拼接算法中,使用此深度信息协助进行高精度的像素对齐和图像拼接等操作;同时该深度信息还可以转化为单点的点云,以便对室内外的场景整体进行后续三维重建工作,如三角面片化(meshing),纹理贴图(texture mapping)等。
[0115] 以上对本发明实施例生成带深度信息的全景图的方法进行了详细说明,本发明实施例中,还提供了一种生成带深度信息的全景图,以下结合图4进行详细说明。
[0116] 参见图4,图4是本发明实施例生成带深度信息的全景图的装置的结构示意图,如图4所示,该装置包括:
[0117] 获取单元401,用于获取当前场景的基于球面投影的二维图像;
[0118] 拼接单元402,用于将预设份数的所述二维图像在水平方向上首尾相连构成中间图像;
[0119] 处理单元403,用于利用预先训练的用于预测图像深度的神经网络模型,确定所述中间图像的深度信息;
[0120] 截取单元404,用于在所述中间图像的水平方向上截取与所述二维图像等长的图像,并确定截取的图像的深度信息,将该截取的带有深度信息的图像确定为当前场景的全景图。
[0121] 图4所示装置中,
[0122] 所述处理单元403,训练用于预测图像深度的神经网络模型时,用于:
[0123] 将预训练好的卷积神经网络作为初始骨架网络,依据U-Net网络结构对所述初始网络骨架进行结构调整;
[0124] 基于调整后的所述初始网络骨架对多个带有深度信息的彩色三维图像进行训练,生成所述用于预测图像深度的神经网络模型。
[0125] 图4所示装置中,
[0126] 预训练好的卷积神经网络为在ImageNet上预训练好的DenseNet169;
[0127] 所述处理单元403,包括:
[0128] 删除子单元4031,用于删除在ImageNet上预训练好的DenseNet169的全连接层;
[0129] 添加子单元4032,用于基于U-Net网络结构,在删除了全连接层后的DenseNet169的最后一层之后添加4个上采样层,并为每个上采样层设置对应的叠加层;其中,每个上采样层的输入通道数为输出通道数的2倍;且在添加的每个上采样层中,将该上采样层的输入信息做两倍分辨率的上采样,并将上采样结果与该上采样层对应的叠加层输出数据进行叠加,对叠加结果连续执行两次卷积运算,使用预设激活函数对卷积运算结果进行线性修正;
[0130] 运算子单元4033,用于将最后一个上采样层的输出进行一次用于输出深度信息的卷积运算和一次用于输出自信度信息的卷积运算。
[0131] 图4所示装置中,
[0132] 所述添加子单元403,在删除了全连接层后的DenseNet169的最后一层之后添加4层上采样层中,按照添加的上采样层从最前一层到最后一层的顺序,依次对应的叠加层为pool3_pool、pool2_pool、pool1、conv1/relu。
[0133] 图4所示装置中,
[0134] 所述处理单元403,基于调整后的所述初始网络骨架对多个带有深度信息的彩色三维图像进行训练之前,进一步用于:
[0135] 对所述多个带有深度信息的彩色三维图像进行预处理,并且在对所述多个带有深度信息的彩色三维图像进行预处理时,如果至少一个所述带有深度信息的彩色三维图像中存在破洞,则不对破洞进行填洞操作;所述破洞是指所述带有深度信息的彩色三位图像中无法确定深度信息的像素点;
[0136] 所述处理单元403,基于调整后的所述初始网络骨架对所述多个带有深度信息的彩色三维图像进行训练时,采用监督学习方法进行训练,且对深度估计采用的损失函数为基于神经网络模型对每个像素的深度估计值和自信度估计值的函数。
[0137] 图4所示装置中,
[0138] 所述获取单元401,获取当前场景的基于球面投影的二维图像之后,进一步用于:如果所述二维图像中存在视角盲区,则将所述二维图像中的视角盲区填充为黑色;
[0139] 所述拼接单元402,将预设份数的所述二维图像在水平方向上首尾相连构成中间图像之后,进一步用于:对所述中间图像的上下边缘进行裁剪。
[0140] 图4所示装置中,
[0141] 所述拼接单元402,对所述中间图像的上下边缘进行裁剪时,用于:
[0142] 从所述中间图像的上边缘和下边缘分别裁剪掉高度为所述中间图像高度的预设比例的图像。
[0143] 图4所示装置中,
[0144] 所述预设份数的取值为3;
[0145] 所述预设比例为15%。
[0146] 本发明实施例还提供了一种非瞬时性计算机可读存储介质,所述非瞬时性计算机可读存储介质存储指令,所述指令在由设备的处理器执行时使所述处理器执行如图1所示的生成带深度信息的全景图的方法中的步骤。
[0147] 本发明实施例还提供了一种电子设备,如图5所示,电子设备500包括存储器501、处理器502及存储在存储器501上并可在处理器502上运行的计算机程序,所述处理器502执行所述程序时实现如上述图1所示的生成带深度信息的全景图的方法中的步骤。
[0148] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈