三维重建方法、装置、设备及存储介质与流程

文档序号:30969460发布日期:2022-07-30 21:49阅读:125来源:国知局
三维重建方法、装置、设备及存储介质与流程

1.本公开涉及计算机技术领域,尤其涉及一种三维重建方法、装置、设备及存储介质。


背景技术:

2.目前,场景及物体的三维重建在人机交互、虚拟现实、游戏电影等诸多领域都有着广 泛的应用。相关技术中,在移动终端上做三维重建时,可以获取图像的深度信息,根据深 度信息和位姿信息确定点云图,并对点云图进行融合,从而对图像中的对象进行三维重建。
3.然而相关技术中的点云融合的灵活性较差,且点云融合过程容易出现漂移严重的情 况,导致融合结果噪声较大,从而降低三维重建的精度。


技术实现要素:

4.本公开提供一种三维重建方法、装置、设备及存储介质,以至少解决相关技术中的点 云融合的灵活性较差,且点云融合过程容易出现漂移严重的情况,导致融合结果噪声较大, 从而降低三维重建的精度的问题。本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种三维重建方法,包括:
6.获取待重建场景的图像序列;
7.确定所述图像序列中的图像的点云数据;
8.基于所述图像序列中的当前帧图像对应的历史帧图像的点云数据,生成所述历史帧图 像对应的初始面元图;所述当前帧图像为所述图像序列中除首帧图像之外的任一帧图像, 所述历史帧图像为所述图像序列中,采集时间点位于所述当前帧图像之前的图像;
9.基于所述初始面元图和所述当前帧图像的点云数据,生成所述当前帧图像对应的融合 面元图;
10.根据所述首帧图像对应的面元图和所述融合面元图,生成所述待重建场景的三维重建 结果;所述首帧图像对应的面元图为基于首帧图像的点云数据生成。
11.在一示例性的实施方式中,所述基于所述初始面元图和所述当前帧图像的点云数据, 生成所述当前帧图像对应的融合面元图,包括:
12.将所述初始面元图投影至所述当前帧图像中,得到所述初始面元图在所述当前帧图像 中的投影像素点;
13.基于所述投影像素点和所述当前帧图像的点云数据,生成所述融合面元图。
14.在一示例性的实施方式中,所述基于所述投影像素点和所述当前帧图像的点云数据, 生成所述融合面元图,包括:
15.基于所述当前帧图像的点云数据,对所述投影像素点的坐标和所述当前帧图像中的像 素点的坐标进行三维转换,得到所述当前帧图像中的像素点对应的第一新面元图以及所述 投影像素点对应的第二新面元图;
16.将所述初始面元图和所述第二新面元图进行融合,得到所述当前帧图像对应的第
三新 面元图;
17.合并所述第一新面元图和所述第三新面元图,得到所述当前帧对应的融合面元图。
18.在一示例性的实施方式中,所述将所述初始面元图和所述第二新面元图进行融合,得 到所述当前帧图像对应的第三新面元图,包括:
19.根据所述历史帧图像中的像素点的深度信息和所述当前帧图像中的像素点的深度信 息,确定所述初始面元图与所述第二新面元图之间的位置关系;
20.根据所述位置关系,对所述初始面元图和所述第二新面元图进行融合,得到所述第三 新面元图。
21.在一示例性的实施方式中,所述根据所述位置关系,对所述初始面元图和所述第二新 面元图进行融合,得到所述第三新面元图,包括:
22.在所述位置关系用于指示所述初始面元图与所述第二新面元图之间的距离小于或等 于距离阈值的情况下,计算所述初始面元图与所述第二新面元图的平均值,得到所述第三 新面元图。
23.在一示例性的实施方式中,所述根据所述位置关系,对所述初始面元图和所述第二新 面元图进行融合,得到所述第三新面元图,包括:
24.在所述位置关系用于指示所述初始面元图与所述第二新面元图之间的距离大于距离 阈值的情况下,基于所述第二新面元图替换所述初始面元图,得到所述第三新面元图。
25.在一示例性的实施方式中,所述根据所述位置关系,对所述初始面元图和所述第二新 面元图进行融合,得到所述第三新面元图,包括:
26.在所述位置关系用于指示所述初始面元图被所述第二新面元图所遮挡的情况下,创建 所述初始面元图的新面元图,将创建得到的新面元图和所述第二新面元图作为所述第三新 面元图。
27.在一示例性的实施方式中,所述方法还包括:
28.将所述首帧图像对应的面元图以及所述融合面元图,与语义分割结果进行融合,得到 所述图像序列中的图像对应的语义融合后的面元图;所述语义分割结果为对地图点进行语 义分割得到,所述地图点为对关键帧图像中的特征点赋予深度信息的三维点,所述关键帧 图像为所述历史帧图像中与所述当前帧图像部分重叠的图像,所述特征点为对所述关键帧 图像进行特征提取得到;
29.对所述语义融合后的面元图进行格栅化处理,得到所述三维重建结果。
30.在一示例性的实施方式中,所述基于所述图像序列中的当前帧图像对应的历史帧图像 的点云数据,生成所述历史帧图像对应的初始面元图,包括:
31.基于所述历史帧图像的点云数据,对所述历史帧图像中的像素点的坐标进行三维转 换,得到所述历史帧图像中的像素点对应的面元图;
32.将所述像素点对应的面元图,作为所述初始面元图。
33.在一示例性的实施方式中,所述确定所述图像序列中的图像的点云数据,包括:
34.确定所述图像序列中的图像的像素点的深度信息和所述图像序列中的图像的位姿信 息;
35.根据所述图像的像素点的深度信息和所述位姿信息,生成所述图像序列中的图像的点 云数据。
36.在一示例性的实施方式中,所述位姿信息包括旋转位姿信息和平移位姿信息,所述方 法包括:
37.获取上一帧图像中的特征点的世界坐标信息和所述当前帧图像的旋转位姿信息;所述 上一帧图像为所述图像序列中,采集时间点位于所述当前帧图像之前的相邻图像;所述上 一帧图像中的特征点为对所述上一帧图像进行特征提取得到;
38.对所述上一帧图像中的特征点进行光流跟踪,确定所述当前帧图像中的特征点的图像 坐标信息;所述当前帧图像中的特征点为对所述当前帧图像进行特征提取得到;
39.基于所述世界坐标信息、所述图像坐标信息以及所述当前帧图像的旋转位姿信息,确 定所述当前帧图像的平移位姿信息。
40.在一示例性的实施方式中,所述方法还包括对所述平移位姿信息进行调整的步骤,所 述对所述平移位姿信息进行调整的步骤包括:
41.从所述历史帧图像中获取关键帧图像;所述关键帧图像与所述当前帧图像部分重叠;
42.使用所述关键帧图像中的特征点构建局部地图;所述关键帧图像中的特征点为对所述 关键帧图像进行特征提取得到;
43.基于所述局部地图对所述当前帧图像中的像素点进行匹配;
44.基于匹配结果对所述平移位姿信息进行调整,得到所述当前帧图像的调整后的平移位 姿信息。
45.在一示例性的实施方式中,所述根据所述图像的像素点的深度信息和所述位姿信息, 生成所述图像序列中的图像的点云数据,包括:
46.获取所述首帧图像对应的图像采集器的第一位置信息;
47.根据所述任一图像中的像素点的深度信息、位姿信息以及所述第一位置信息,确定所 述任一帧图像对应的图像采集器的第二位置信息;
48.根据所述图像对应的位置信息和所述图像中的像素点的深度信息,确定所述图像中的 像素点的世界坐标信息;所述图像对应的位置信息包括第一位置信息和第二位置信息;
49.根据所述图像中的像素点的世界坐标信息,生成所述图像的点云数据;
50.根据所述图像中的像素点的世界坐标信息,生成所述图像的点云数据。
51.根据本公开实施例的第二方面,提供一种三维重建装置,包括:
52.图像序列获取模块,被配置为执行获取待重建场景的图像序列;
53.点云数据生成模块,被配置为执行确定所述图像序列中的图像的点云数据;
54.初始面元图生成模块,被配置为执行基于所述图像序列中的当前帧图像对应的历史帧 图像的点云数据,生成所述历史帧图像对应的初始面元图;所述当前帧图像为所述图像序 列中除首帧图像之外的任一帧图像,所述历史帧图像为所述图像序列中,采集时间点位于 所述当前帧图像之前的图像;
55.融合面元图生成模块,被配置为执行基于所述初始面元图和所述当前帧图像的点云数 据,生成所述当前帧图像对应的融合面元图;
56.三维重建结果生成模块,被配置为执行根据所述首帧图像对应的面元图和所述融合面 元图,生成所述待重建场景的三维重建结果;所述首帧图像对应的面元图为基于首帧图像 的点云数据生成。
57.在一示例性的实施方式中,所述融合面元图生成模块,包括:
58.投影子模块,被配置为执行将所述初始面元图投影至所述当前帧图像中,得到所述初 始面元图在所述当前帧图像中的投影像素点;
59.生成子模块,被配置为执行基于所述投影像素点和所述当前帧图像的点云数据,生成 所述融合面元图。
60.在一示例性的实施方式中,所述生成子模块,包括:
61.转换单元,被配置为执行基于所述当前帧图像的点云数据,对所述投影像素点的坐标 和所述当前帧图像中的像素点的坐标进行三维转换,得到所述当前帧图像中的像素点对应 的第一新面元图以及所述投影像素点对应的第二新面元图;
62.第三新面元图确定单元,被配置为执行将所述初始面元图和所述第二新面元图进行融 合,得到所述当前帧图像对应的第三新面元图;
63.融合面元图确定单元,被配置为执行合并所述第一新面元图和所述第三新面元图,得 到所述当前帧对应的融合面元图。
64.在一示例性的实施方式中,所述第三新面元图确定单元,包括:
65.位置关系确定子单元,被配置为执行根据所述历史帧图像中的像素点的深度信息和所 述当前帧图像中的像素点的深度信息,确定所述初始面元图与所述第二新面元图之间的位 置关系;
66.融合关系确定子单元,被配置为执行根据所述位置关系,对所述初始面元图和所述第 二新面元图进行融合,得到所述第三新面元图。
67.在一示例性的实施方式中,所述融合子单元,被配置为执行在所述位置关系用于指示 所述初始面元图与所述第二新面元图之间的距离小于或等于距离阈值的情况下,计算所述 初始面元图与所述第二新面元图的平均值,得到所述第三新面元图。
68.在一示例性的实施方式中,所述融合子单元,被配置为执行在所述位置关系用于指示 所述初始面元图与所述第二新面元图之间的距离大于距离阈值的情况下,基于所述第二新 面元图替换所述初始面元图,得到所述第三新面元图。
69.在一示例性的实施方式中,所述融合子单元,被配置为执行在所述位置关系用于指示 所述初始面元图被所述第二新面元图所遮挡的情况下,创建所述初始面元图的新面元图, 将创建得到的新面元图和所述第二新面元图作为所述第三新面元图。
70.在一示例性的实施方式中,所述装置还包括:
71.语义融合模块,被配置为执行将所述首帧图像对应的面元图以及所述融合面元图,与 语义分割结果进行融合,得到所述图像序列中的图像对应的语义融合后的面元图;所述语 义分割结果为对地图点进行语义分割得到,所述地图点为对关键帧图像中的特征点赋予深 度信息的三维点,所述关键帧图像为所述历史帧图像中与所述当前帧图像部分重叠的图 像,所述特征点为对所述关键帧图像进行特征提取得到;
72.格栅化处理模块,被配置为执行对所述语义融合后的面元图进行格栅化处理,得到所 述三维重建结果。
73.在一示例性的实施方式中,所述初始面元图生成模块,包括:
74.像素面元图生成单元,被配置为执行基于所述历史帧图像的点云数据,对所述历史帧 图像中的像素点的坐标进行三维转换,得到所述历史帧图像中的像素点对应的面元图;
75.初始面元图确定单元,被配置为执行将所述像素点对应的面元图,作为所述初始面元 图。
76.在一示例性的实施方式中,所述点云数据生成模块,包括:
77.深度位姿确定单元,被配置为执行确定所述图像序列中的图像的像素点的深度信息和 所述图像序列中的图像的位姿信息;
78.点云数据生成单元,被配置为执行根据所述图像的像素点的深度信息和所述位姿信 息,生成所述图像序列中的图像的点云数据。
79.在一示例性的实施方式中,所述位姿信息包括旋转位姿信息和平移位姿信息,所述装 置包括:
80.旋转位姿信息获取模块,被配置为执行获取上一帧图像中的特征点的世界坐标信息和 所述当前帧图像的旋转位姿信息;所述上一帧图像为所述图像序列中,采集时间点位于所 述当前帧图像之前的相邻图像;所述上一帧图像中的特征点为对所述上一帧图像进行特征 提取得到;
81.光流跟踪模块,被配置为执行对所述上一帧图像中的特征点进行光流跟踪,确定所述 当前帧图像中的特征点的图像坐标信息;所述当前帧图像中的特征点为对所述当前帧图像 进行特征提取得到;
82.平移位姿信息确定模块,被配置为执行基于所述世界坐标信息、所述图像坐标信息以 及所述当前帧图像的旋转位姿信息,确定所述当前帧图像的平移位姿信息。
83.在一示例性的实施方式中,所述装置还包括对所述平移位姿信息进行调整的调整模 块,所述调整模块包括:
84.关键帧图像获取单元,被配置为执行从所述历史帧图像中获取关键帧图像;所述关键 帧图像与所述当前帧图像部分重叠;
85.局部地图构建单元,被配置为执行使用所述关键帧图像中的特征点构建局部地图;所 述关键帧图像中的特征点为对所述关键帧图像进行特征提取得到;
86.匹配单元,被配置为执行基于所述局部地图对所述当前帧图像中的像素点进行匹配;
87.位姿调整单元,被配置为执行基于匹配结果对所述平移位姿信息进行调整,得到所述 当前帧图像的调整后的平移位姿信息。
88.在一示例性的实施方式中,所述点云数据生成单元,包括:
89.第一位置信息获取子单元,被配置为执行获取所述首帧图像对应的图像采集器的第一 位置信息;
90.第二位置信息确定子单元,被配置为执行根据所述任一图像中的像素点的深度信息、 位姿信息以及所述第一位置信息,确定所述任一帧图像对应的图像采集器的第二位置信息;
91.世界坐标信息确定子单元,被配置为执行根据所述图像对应的位置信息和所述图
像中 的像素点的深度信息,确定所述图像中的像素点的世界坐标信息;所述图像对应的位置信 息包括第一位置信息和第二位置信息;
92.点云数据生成子单元,被配置为执行根据所述图像中的像素点的世界坐标信息,生成 所述图像的点云数据
93.根据本公开实施例的第三方面,提供一种三维重建的电子设备,包括:
94.处理器;
95.用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令, 以实现如上述所述的三维重建方法。
96.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存 储介质中的指令由电子设备的处理器执行时,使得电子设备执行如上述所述的三维重建方 法。
97.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计 算机程序被处理器执行时实现上述所述的三维重建方法。
98.本公开的实施例提供的技术方案至少带来以下有益效果:
99.本公开实施例通过获取待重建场景的图像序列;确定所述图像序列中的图像的点云数 据;基于所述图像序列中的当前帧图像对应的历史帧图像的点云数据,生成所述历史帧图 像对应的初始面元图;所述当前帧图像为所述图像序列中除首帧图像之外的任一帧图像, 基于所述初始面元图和所述当前帧图像的点云数据,生成所述当前帧图像对应的融合面元 图,根据所述首帧图像对应的面元图和所述融合面元图,生成所述待重建场景的三维重建 结果,有效避免点云图融合过程中的漂移情况,降低融合结果的噪声,提高三维重建的精 度。
100.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限 制本公开。
附图说明
101.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例, 并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
102.图1是根据一示例性实施例示出的一种三维重建方法的实施环境示意图。
103.图2是根据一示例性实施例示出的一种三维重建方法的流程图。
104.图3是根据一示例性实施例示出的一种深度网络模型的示意图。
105.图4是根据一示例性实施例示出的一种生成初始面元的流程图。
106.图5是根据一示例性实施例示出的一种生成当前帧图像对应的融合面元图的流程图。
107.图6是根据一示例性实施例示出的一种生成融合面元图的流程图。
108.图7是根据一示例性实施例示出的一种得到当前帧图像对应的第三新面元图的流程图。
109.图8是根据一示例性实施例示出的面元融合示意图一。
110.图9是根据一示例性实施例示出的面元融合示意图二。
111.图10是根据一示例性实施例示出的语义融合的流程图。
112.图11是根据一示例性实施例示出的一种三维重建装置框图。
113.图12是根据一示例性实施例示出的一种用于三维重建的电子设备的框图。
具体实施方式
114.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实 施例中的技术方案进行清楚、完整地描述。
115.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二
”ꢀ
等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的 数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或 描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相 一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方 面相一致的装置和方法的例子。
116.图1是根据一示例性实施例示出的一种三维重建方法的实施环境示意图。如图1所示, 该实施环境至少可以包括终端01和服务器02,该终端01和服务器2之间可以通过有线或无 线通信方式进行直接或间接地连接,本技术在此不做限制。
117.具体地,该终端可以用于采集待重建场景的图像序列。可选地,该终端01可以是智能 手机、平板电脑、笔记本电脑、台式计算机、智能电视、智能手表等,但并不局限于此。
118.具体地,该服务器02可以用于获取待重建场景的图像序列;确定图像序列中的图像的 点云数据;基于图像序列中的当前帧图像对应的历史帧图像的点云数据,生成历史帧图像 对应的初始面元图;基于初始面元图和当前帧图像的点云数据,生成当前帧图像对应的融 合面元图;根据首帧图像对应的面元图和融合面元图,生成待重建场景的三维重建结果。 可选地,该服务器02可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集 群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服 务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基 础云计算服务的云服务器。
119.需要说明的是,图1仅仅是一种示例。在其他场景中,还可以包括其他实施环境,例 如,该实施环境可以包括终端,通过终端采样待重建场景的图像序列,以及生成待重建场 景的三维重建结果。
120.图2是根据一示例性实施例示出的一种三维重建方法的流程图,如图2所示,包括以 下步骤。
121.在步骤s11中,获取待重建场景的图像序列。
122.本公开实施例可以通过各种图像采集设备获取待重建场景的图像序列,在此不做具体 限定。
123.在一个示例性的实施例中,图像序列,可以为单目的图像采集器从各个角度对待重建 场景中的对象进行图像采集得到的连续图像帧。其中,单目的图像采集器例如可以为移动 计算设备上的单个摄像头。通过单目的图像采集器采集图像序列,能够克服深度传感器量 程有限的缺陷,降低成本,适应性好,且扩展性好。
124.示例性地,该待重建场景中的对象,例如可以为任意一个物品,或者任意一个空间区 域。
125.在步骤s13中,确定上述图像序列中的图像的点云数据。
126.在一示例性的实施方式中,确定所述图像序列中的图像的点云数据可以包括:
127.确定上述图像序列中的图像的像素点的深度信息和上述图像序列中的图像的位姿信 息。
128.根据上述图像的像素点的深度信息和上述位姿信息,生成上述图像序列中的图像的点 云数据。
129.而通过图像的像素点的深度信息和位姿信息,生成点云数据,能够提高点云数据的生 成效率和精度。
130.图3是根据一示例性实施例示出的一种深度网络模型的示意图。如图3所示,在一个 可选的实施例中,可以将图像序列中的图像输入预设的深度网络模型,以获取图像的像素 点的深度信息。在图3中,深度网络模型的结构可以包括:特征提取模块、特征融合模块 和预测模块。特征提取模块主要用于对图像进行从底层到高层的特征提取,用于为特征融 合模块提供特征;特征融合模块用来逐步恢复图像分辨率以及缩减通道数,并融合了特征 提取模块提取得到的高层特征和底层特征,得到融合特征;预测模块主要用于基于融合特 征中每个像素的特征,预测图像中该像素的深度值。通过上述三个模块对图像的像素点的 深度信息进行提取,能够提高深度信息的提取效率和精度。
131.示例性地,深度网络模型的训练方式可以为:获取训练数据,该训练数据可以包括: 各个样本图像以及对应的深度信息;采用各个样本图像以及对应的深度信息,对初始的深 度网络模型进行训练,得到训练好的深度网络模型。
132.其中,上述图像的深度信息指的是:图像中各个像素点相对于图像采集器在固定坐标 轴上或者多个坐标轴确定的固定方位上的距离偏移信息。
133.在一个可选的实施例中,上述位姿信息包括旋转位姿信息和平移位姿信息,获取图像 序列中的图像的位姿信息可以包括:
134.获取上一帧图像中的特征点的世界坐标信息和当前帧图像的旋转位姿信息;上述上一 帧图像为上述图像序列中,采集时间点位于上述当前帧图像之前的相邻图像;上述上一帧 图像中的特征点为对上述上一帧图像进行特征提取得到。
135.对上述上一帧图像中的特征点进行光流跟踪,确定上述当前帧图像中的特征点的图像 坐标信息;上述当前帧图像中的特征点为对上述当前帧图像进行特征提取得到。
136.基于上述世界坐标信息、上述图像坐标信息以及上述当前帧图像的旋转位姿信息,确 定上述当前帧图像的平移位姿信息。
137.在一个示例性的实施例中,单目的图像采集器上可以配置有惯性测量单元 (inertialmeasurement unit,imu),用于实时测量图像采集器的惯性测量信息,从而能够获 取到图像采集器采集待处理图像时的惯性测量信息。其中,惯性测量信息可以包括旋转位 姿信息。需要说明的是,上述旋转位姿信息,可以为图像采集器的第一姿态相对于第二姿 态的角度偏移信息。其中,第一姿态可以为图像采集器图像时的姿态;第二姿态可以为图 像采集器采集首帧图像时的姿态。
138.在上述实施例中,通过在单目的图像采集器上设置惯性测量单元,从而可以直接的获 取到图像采集器采集图像时的旋转位姿信息,进而方便结合旋转位姿信息来确定平移位姿 信息,从而提高确定平移位姿信息的速率以及准确度。在示例性实施例中,由于待
重建场 景中对象的位置固定,不随图像采集器的移动而移动,因此,图像采集器连续拍摄得到的 多张图像中待重建场景中的对象的世界坐标信息是相同的。另外,图像采集器在连续拍摄 过程中,拍摄相邻两张图像时图像采集器的姿态变化是有限的,通常不会出现大幅度变化, 因此,可以基于此构建六自由度位姿约束,以六自由度位姿约束为条件来求解平移位姿信 息,能够提高平移位姿信息的求解准确度。其中,六自由度指的是,世界坐标系中沿x、 y、z三个直角坐标轴方向的移动自由度和绕这三个直角坐标轴的转动自由度。因此,可 以获取上一帧图像中各个特征点的世界坐标信息;对当前帧图像中的各个特征点进行光流 跟踪,确定当前帧图像中各个特征点的图像坐标信息;以当前帧图像的平移位姿信息作为 变量,以上一帧图像中各个特征点的世界坐标信息、当前帧图像中各个特征点的图像坐标 信息、以及当前帧图像的旋转位姿信息为参数,以六自由度位姿约束为条件,构建方程组, 求解得到当前帧图像的平移位姿信息。其中,世界坐标信息指的是系统的绝对坐标系,其 定义了物理世界为之的客观空间,用于作为参考坐标系来描述图像采集器和对象的位置; 图像坐标信息的水平向右为x轴吗,竖直向下为y轴,原点在左上方。
139.在上述实施例中,采用上述求解原理求解图像的平移位姿信息的算法,例如可以为多 点透视成像算法(pespective-n-point,pnp)。其中,图像中各个特征点的提取方式可以为: 对图像进行交点检测算法(good feature to track,gftt)的特征点提取,以获取图像中 的各个特征点。需要说明的是,平移位姿信息,为图像采集器的第一姿态相对于第二姿态 的位置偏移信息。其中,第一姿态为图像采集器采集待处理图像时的姿态;第二姿态为图 像采集器采集图像序列中首帧图像时的姿态。
140.在一个可行的实施例中,上述方法还包括对上述平移位姿信息进行调整的步骤,上述 对上述平移位姿信息进行调整的步骤可以包括:
141.从上述历史帧图像中获取关键帧图像;上述关键帧图像与上述当前帧图像部分重叠。
142.使用上述关键帧图像中的特征点构建局部地图;上述关键帧图像中的特征点为对上述 关键帧图像进行特征提取得到。
143.基于上述局部地图对上述当前帧图像中的像素点进行匹配。
144.基于匹配结果对上述平移位姿信息进行调整,得到上述当前帧图像的调整后的平移位 姿信息。
145.在上述实施例中,可以从历史帧图像中提取出,视野与当前帧图像的视野部分重叠的 当前帧图像。其中,视野可以指的是,图像所能够看到的视野。对关键帧进行gftt的特 征点提取,以获取关键帧图像中的各个特征点。使用关键帧图像中的各个特征点构建局部 地图,局部地图中的地图点指的是关键帧图像中的各个特征点被赋予深度后的三维点,其 中,关键帧图像中的各个特征点为对关键帧图像进行特征提取得到。将局部地图中的地图 点与当前图像帧的像素点进行匹配,例如,利用光流法完成地图点与像素点的匹配,匹配 的前提是找到地图点与当前帧的像素点之间的匹配关系,并利用匹配关系,通过缩小的地 图点的重投影误差,来优化平移位姿。其中,重投影误差指的是:地图点p在当前帧图 像的投影点p1以及p与当前帧图像匹配的像素点p2之间的几何像素距离。
146.本公开实施例中,通过关键帧图像构建的局部地图,对当前帧图像的平移位姿进行调 整,能够提高平移位姿信息的确定精度,进而提高三维重建结果的确定精度。
147.在一个可选的实施例中,上述根据上述深度信息和位姿信息,生成上述图像序列中的 图像的点云数据,可以包括:
148.获取上述首帧图像对应的图像采集器的第一位置信息。
149.根据上述任一图像中的像素点的深度信息、位姿信息以及上述第一位置信息,确定上 述任一帧图像对应的图像采集器的第二位置信息。
150.根据上述图像对应的位置信息和上述图像中的像素点的深度信息,确定上述图像中的 像素点的世界坐标信息;上述图像对应的位置信息包括第一位置信息和第二位置信息。
151.根据上述图像中的像素点的世界坐标信息,生成上述图像的点云数据。
152.在上述实施例中,图像的旋转位姿信息和平移位姿信息,为第一位姿与第二位姿之间 的偏移信息,其中,第一姿态为图像采集器采集任一图像时的姿态;第二姿态为图像采集 器采集首帧图像时的姿态。因此,结合图像的旋转位姿信息、平移位姿信息以及首帧图像 对应的图像采集器的位置信息,能够确定任一图像对应的图像采集器的位置信息。在上述 实施例中,图像中的像素点的深度信息,指的是图像中各个像素点相对于图像采集器在固 定坐标轴上或者多个坐标轴确定的固定方位上的距离偏移信息,因此,结合图像对应的图 像采集器的位置信息、以及图像中的像素点的深度信息,能够确定图像中各个像素点的世 界坐标信息。
153.本公开实施例中,根据图像序列中各帧图像中的像素点的深度信息、旋转位姿信息以 及平移位姿信息,可以直接确定各帧图像中各个像素点的世界坐标信息,进而结合各帧图 像中各个像素点的世界坐标信息来生成点云数据,能够提高生成点云数据的速率和准确度。
154.在步骤s15中,基于上述图像序列中的当前帧图像对应的历史帧图像的点云数据, 生成上述历史帧图像对应的初始面元图;上述当前帧图像为上述图像序列中除首帧图像之 外的任一帧图像,上述历史帧图像为图像序列中,采集时间点位于上述当前帧图像之前的 图像。
155.具体地,图像序列中除首帧图像之外的任一帧图像均可以作为当前帧图像,历史帧图 像为图像序列中,采集时间点位于当前帧图像之前的图像。
156.本公开可以采用多种方式生成初始面元图,在此不做具体限定。图4是根据一示例性 实施例示出的一种生成初始面元的流程图,如图4所示,在一个可选的实施例中,在上述 步骤s15中,上述基于上述图像序列中的当前帧图像对应的历史帧图像的点云数据,生 成上述历史帧图像对应的初始面元图,可以包括:
157.在步骤s1501中,基于上述历史帧图像的点云数据,对上述历史帧图像中的像素点 的坐标进行三维转换,得到上述历史帧图像中的像素点对应的面元图。
158.在步骤s1503中,将上述像素点对应的面元图,作为上述初始面元图。
159.其中,面元图指的是:用一个平面或曲面代替原来的物面。待重建表面由多个面元构 成。每个面元图都储存了三维坐标点p、颜色信息c(r,g,b)、位置信息(x,y,z)、面元半径 r、法向量n、权重w、置信度σ、三维坐标点的创建时间戳、最近更新时间戳等。
160.在一种方式中,在上述步骤s1501中,可以使用历史图像帧的点云数据(包括位姿 信息、深度图信息、颜色信息等),对历史图像帧中的各个像素点的坐标进行三维转换, 得
到历史帧图像中的各个像素点对应的面元图,即得到与像素点个数相等的面元图,该各 个像素点对应的面元图,即为该历史图像帧的初始面元图。其中,将每个面元的置信度设 置为1,则半径rs的计算公式如下:
[0161][0162]
其中,p(x,y)为每个面元对应的像素点,u、v指的是像素点的坐标。
[0163]
示例性地,可以采用如下方式对像素点的坐标进行三维转换:假设位姿信息为t,像 素点的坐标为p(u,v,1),像素深度为d,则单个像素点的换算公式可以为:
[0164]
t*(d*k^(-1)*p),
[0165]
其中,k为内参数矩阵[fx,0,cx,0,fy,cy,0,0,1]。
[0166]
以下,举例对上述步骤s1501-上述步骤s1503进行说明:
[0167]
假设当前帧图像为图像序列中的第2帧图像,则历史帧图像为首帧图像,首帧图像中 含有10个像素点。则可以使用首帧图像的点云数据(包括位姿信息、深度图信息、颜色 信息等),对这10个像素点的坐标分别进行三维转换,得到这10个像素点各自对应的面 元图,即得到与这10个像素点个数相等的面元图,将这个10个像素点各自对应的面元图, 作为首帧图像的初始面元图。
[0168]
假设当前帧图像为图像序列中的第3帧图像,则历史帧图像包括首帧图像和第2帧图 像,首帧图像中含有10个像素点,第2帧图像含有15个像素点。则可以使用首帧图像的 点云数据(包括位姿信息、深度图信息、颜色信息等),对首帧中的10个像素点的坐标 分别进行三维转换,得到这10个像素点各自对应的面元图,即得到与这10个像素点个数 相等的面元图,将这个10个像素点各自对应的面元图,作为首帧图像的初始面元图。使 用第2帧图像的点云数据(包括位姿信息、深度图信息、颜色信息等),对第2帧图像中 的15个像素点的坐标分别进行三维转换,得到这15个像素点各自对应的面元图,即得到 与这15个像素点个数相等的面元图,将这个15个像素点各自对应的面元图,作为第2 帧图像的初始面元图。
[0169]
本公开实施例中,通过历史帧图像的点云数据,对历史帧图像中的像素点的坐标进行 三维转换,得到历史帧图像中的像素点对应的面元图,能够提高面元图创建的精度和效率, 进而提高三维重建的精度和效率。
[0170]
在步骤s17中,基于上述初始面元图和当前帧图像的点云数据,生成当前帧图像对 应的融合面元图。
[0171]
图5是根据一示例性实施例示出的一种生成当前帧图像对应的融合面元图的流程图。 如图5所示,在一个可选的实施例中,在上述步骤s17中,上述基于上述初始面元图和 当前帧图像的点云数据,生成当前帧图像对应的融合面元图,可以包括:
[0172]
在步骤s1701中,将上述初始面元图投影至上述当前帧图像中,得到上述初始面元 图在上述当前帧图像中的投影像素点。
[0173]
示例性地,如果当前帧图像为图像序列中的第2帧图像,则可以将首帧图像中的各个 像素点对应的初始面元图(即首帧图像的旧面元图),投影至第2帧图像,得到首帧图像 中的各个像素点对应的初始面元图,在第2帧中的投影像素点。
[0174]
如果当前帧图像为第3帧图像,则可以将首帧图像中的各个像素点对应的初始面元图 (即首帧图像的旧面元图)和第2帧图像中的各个像素点对应的初始面元图(即第2帧
图 像的旧面元图)投影至第3帧图像中,得到首帧图像的旧面元图在第3帧图像中的投影像 素点,以及首第2帧图像的旧面元在第3帧图像中的投影像素点。
[0175]
需要说明的是,在当前帧图像为第3帧图像的情况下,在一种方式中,第2帧图像的 旧面元图,可以为通过第2帧图像的点云数据对第2帧图像中的像素点的坐标进行三维转 换得到。在另一种方式中,在当前帧图像为第3帧图像的情况下,由于第2帧图像已经进 行过面元融合,则可以将第2帧图像的对应的融合面元图,作为第2帧的旧面元图。
[0176]
在步骤s1703中,基于上述投影像素点和上述当前帧图像的点云数据,生成融合面 元图。
[0177]
本公开实施例中,通过初始面元的投影像素点和当前图像帧的点云数据,生成融合面 元图,能够实现对同一像素点进行融合,生成一个稠密表面,降低融合噪声,提高融合面 元图的生成精度,进而提高三维重建的精度;同时,将历史帧图像的初始面元投影至当前 帧图像中,通过投影像素点和当前图像帧的点云数据,生成融合面元图的方式,还能够提 高点云数据融合的灵活性;再者,三维重建结果的分辨率与像素点相关,像素点越多,分 辨率越高,三维重建结果越清晰,由于上述融合过程与投影像素点相关,投影像素点与历 史帧图像相关,其数量并非是固定不变的,而是可调节的,通过可调节的投影像素点以及 点云数据生成融合面元图,使得三维重建输出的稠密表面具有可调节分辨率的特性;此外, 通过上述方式对生成融合面元图,能够在移动终端上输出大量全局表面信息。
[0178]
图6是根据一示例性实施例示出的一种生成融合面元图的流程图。如图6所示,在一 个可选的实施例中,在上述步骤s1703中,上述基于上述投影像素点和上述当前帧图像 的点云数据,生成融合面元图,可以包括:
[0179]
在步骤s17031中,基于上述当前帧图像的点云数据,对上述投影像素点的坐标和上 述当前帧图像中的像素点的坐标进行三维转换,得到上述当前帧图像中的像素点对应的第 一新面元图以及上述投影像素点对应的第二新面元图。
[0180]
在步骤s17033中,将上述初始面元图和上述第二新面元图进行融合,得到上述当前 帧图像对应的第三新面元图。
[0181]
在步骤s17035中,合并上述第一新面元图和第三新面元图,得到上述当前帧对应的 融合面元图。
[0182]
在上述实施例中,由于历史帧图像投影至当前帧图像会得到投影像素点,通过当前帧 图像的点云数据对该投影像素点进行三维转换,可以得到与该投影像素点对应的第二新面 元图,而当前帧图像自身还存在像素点,通过当前帧图像的点云数据对当前帧图像自身存 在的各个像素点进行三维转换,可以得到与当前帧图像自身存在的各个像素点对应的第一 新面元图。对于该投影像素点而言,其既存在旧面元图(即该投影像素点对应的初始面元 图),又存在新面元图(即第二新面元图),即一个像素点存在两种面元图,可以对该投 影像素点的旧面元图和新面元图进行融合,得到第三新面元图,并将第一新面元图和上述 第三新面元图,作为上述当前帧对应的融合面元图,实现了对同一个像素点进行融合生成 一个稠密表面,提高了同一像素点的面元的确定精度,降低了融合噪声,从而提高了三维 重建的精度;此外,三维重建结果的分辨率与像素点相关,像素点越多,分辨率越高,三 维重建结果越清晰,由于上述融合过程与投影像素点相关,投影像素点与历史帧图像相关, 其数量并非是固定不变的,而是可调节的,通过可调节的投影像素点的第二新面元图
与初 始面元图相融合,使得三维重建输出的稠密表面具有可调节分辨率的特性。
[0183]
图7是根据一示例性实施例示出的一种得到当前帧图像对应的第三新面元图的流程 图。如图7所示,在一个可选的实施例中,在上述步骤s17033中,上述将上述初始面元 图和上述第二新面元图进行融合,得到上述当前帧图像对应的第三新面元图,可以包括:
[0184]
在步骤s170331中,根据历史帧图像中的像素点的深度信息和当前帧图像中的像素 点的深度信息,确定初始面元图与第二新面元图之间的位置关系。
[0185]
在步骤s170333中,根据位置关系,对初始面元图和第二新面元图进行融合,得到 第三新面元图。
[0186]
该实施例中,由于该投影像素点既存在旧面元图(即该投影像素点对应的初始面元 图),又存在新面元图(即第二新面元图),即一个像素点存在两种面元图,可以通过两 种面元图之间的相对位置,判定两种面元图之间的融合关系,并基于该融合关系对同一像 素点的新面元图和旧面元图进行融合。
[0187]
在一个示例性的实施例中,由于图像中的像素点的深度信息指的是:图像中各个像素 点相对于图像采集器在固定坐标轴上或者多个坐标轴确定的固定方位上的距离偏移信息。 因此,根据历史帧图像中的像素点的深度信息和当前帧图像中的像素点的深度信息,可以 确定第二新面元图与旧面元图之间的相对位置关系,根据该相对位置关系可以判定这两种 面元图之间的融合关系。例如,若根据第二新面元图与旧面元图之间的相对位置确定二者 之间的距离小于或等于距离阈值,则融合关系可以为第二新面元图与旧面元图相兼容(即 旧面元图被新面元图所支持);若根据第二新面元图与旧面元图之间的相对位置确定二者 之间的距离大于距离阈值,则融合关系可以为第二新面元图与旧面元图相冲突;若根据第 二新面元图与旧面元图之间的相对位置确定旧面元图被第二新面元图所遮挡,则融合关系 可以为旧面元图被第二新面元图所遮挡。
[0188]
图8是根据一示例性实施例示出的面元融合示意图一。如图8所示,编号“1”表示 新面元图,编号“2”表示相机视角之外不进行考虑的面元图,编号“3”表示被第二新面 元图所兼容的支持面元图,编号“4”表示与第二新面元冲突的冲突面元图,编号“5”表 示被第二新面元所遮挡的遮挡面元。其中,冲突面元图、支持面元图、遮挡面元图、不进 行考虑的面元图均为旧面元图。
[0189]
本公开实施例中,对于同一像素点的新面元图和旧面元图,可以根据二者之间的位置 关系确定融合关系,并根据该融合关系对同一像素点的新面元图和旧面元图进行融合,实 现了对同一个像素点进行融合生成一个稠密表面,提高了同一像素点的面元图的确定精 度,降低融合噪声,从而提高了三维重建的精度;此外,根据二者之间的位置关系可以确 定出丰富的融合关系(例如,支持、冲突、遮挡等),通过该丰富的融合关系对新面元图 和旧面元图进行融合,提高了面元融合的灵活性。
[0190]
在一个示例性的实施例中,在上述步骤s170333中,上述根据位置关系,对初始面 元图和第二新面元图进行融合,得到第三新面元图,可以包括:
[0191]
在上述位置关系用于指示上述初始面元图与上述第二新面元图之间的距离小于或等 于距离阈值的情况下,计算上述初始面元图与上述第二新面元图的平均值,得到上述第三 新面元图。
[0192]
图9是根据一示例性实施例示出的面元融合示意图二。如图9所示,对于支持面元
图 (图8中的编码“3”),可以计算其与对应的第二新面元图之间的平均值,得到图9所 示的第三新面元图。
[0193]
对于被第二新面元所支持的初始面元图(即支持面元图),可以计算二者之间的平均 值,得到第三新面元图。示例性地,该平均值可以包括但不限于:算数平均值、几何平均 值、加权平均值等。
[0194]
以加权平均值为例,可以采用如下公式对被第二新面元所支持的初始面元图与第二新 面元图进行融合:
[0195][0196][0197]
σs:=min{σs+w,σ
max
},
[0198]
其中,p为坐标,c为颜色,n为法向量,s为面元,m为像素测量,w为所支持面元 个数的倒数,“:=”表示“赋值”,即定义右面新定义的符号表达左边的值,withf(vs,vm) 指的是第三新面元图,f(ps,pm)指的是把ps,pm代入f(vs,vm)等式右边,用ps替换 vs,,pm替换vm,f(ns,nm)指的是把ns,nm代入f(vs,vm)等式右边,用ns替换vs,, nm替换vm,f(cs,cm),指的是把cs,cm代入f(vs,vm)等式右边,用cs替换vs,cm替换vm,σmax指的是所有面元中的置信度最大的置信度。
[0199]
本公开实施例中,对于被第二新面元图所支持的旧面元图,可以计算第二新面元图与 旧面元图之间的平均值,可以实现对同一个像素点的新旧面元图进行融合生成一个稠密表 面,提高同一像素点的面元的确定精度,降低融合噪声,从而提高了三维重建的精度;此 外,对于支持的旧面元图,采用与该支持的旧面元图对应的融合方式进行融合,提高了面 元融合的灵活性。
[0200]
在一个示例性的实施例中,在上述步骤s170333中,上述根据位置关系,对初始面 元图和第二新面元图进行融合,得到第三新面元图,可以包括:
[0201]
在上述位置关系用于指示上述初始面元图与上述第二新面元图之间的距离大于距离 阈值的情况下,基于上述第二新面元图替换上述初始面元图,得到上述第三新面元图。
[0202]
在该实施例中,若初始面元图与上述第二新面元图相冲突,可以认为该初始面元图为 错误面元图,则可以替换上述初始面元图,得到上述第三新面元图,即将初始面元图直接 删除。如图9所示,对于冲突面元图(图8中的编码“4”),可以使用对应的第二新面 元图替换该冲突面元图,得到图9所示的第三新面元图。
[0203]
本公开实施例中,对于与第二新面元图相冲突的旧面元图,可以直接替换掉该旧面元 图,可以实现对同一个像素点的新旧面元图进行融合生成一个稠密表面,提高同一像素点 的面元图的确定精度,降低融合噪声,从而提高了三维重建的精度;此外,对于冲突的旧 面元图,采用与该冲突的旧面元图对应的融合方式进行融合,提高了面元融合的灵活性。
[0204]
在一个示例性的实施例中,在上述步骤s170333中,上述根据位置关系,对初始面 元图和第二新面元图进行融合,得到第三新面元图,可以包括:
[0205]
在上述位置关系用于指示上述初始面元图被上述第二新面元图所遮挡的情况下,创建 上述初始面元图的新面元图,将创建得到的新面元图和所述第二新面元图作为上述 第三新面元图。
[0206]
在该实施例中,若初始面元图被上述第二新面元图所遮挡时,可以为被遮挡的旧面元 创建新曲面,得到上述第三新面元图。
[0207]
本公开实施例中,对于被第二新面元图所遮挡的旧面元图,为其创建新曲面,可以实 现对同一个像素点的新旧面元图进行融合生成一个稠密表面,提高同一像素点的面元图的 确定精度,降低融合噪声,从而提高了三维重建的精度;此外,对于遮挡的旧面元图,采 用与该遮挡的旧面元图对应的融合方式进行融合,提高了面元融合的灵活性。
[0208]
在步骤s19中,根据上述首帧图像对应的面元图和上述融合面元图,生成上述待重 建场景的三维重建结果;上述首帧图像对应的面元图为基于首帧图像的点云数据生成。
[0209]
本公开实施例中,可以根据首帧图像对应的面元图和图像序列中除首帧图像之外的图 像的融合面元图,对待重建对象进行三维重建,得到待重建场景的三维重建结果。
[0210]
图10是根据一示例性实施例示出的语义融合的流程图。如图10所示,在一个可选的 实施例中,上述方法还可以包括:
[0211]
在步骤s21中,将上述首帧图像对应的面元图以及所述融合面元图,与语义分割结 果进行融合,得到上述图像序列中的图像对应的语义融合后的面元图;上述语义分割结果 为对地图点进行语义分割得到,上述地图点为对关键帧图像中的特征点赋予深度信息的三 维点,上述关键帧图像为历史帧图像中与当前帧图像部分重叠的图像,特征点为对关键帧 图像进行特征提取得到。
[0212]
在步骤s23中,对上述语义融合后的面元图进行格栅化处理,得到上述三维重建结 果。
[0213]
在一示例性的实施例中,可以预先获取图像序列对应局部地图中的地图点,该地图点 指的是上述关键帧图像中的各个特征点被赋予深度后的三维点,特征点为对关键帧图像进 行特征提取得到。并将地图点输入到图2所示的预设的深度网络模型,通过该预设的深度 网络模型对该地图点进行语义分割,得到语义分割结果。示例性地,该语义分割结果可以 包括多个语义标签和相应的概率信息。即语义分割可以为局部地图中的每一类物体加上与 该物体类别对应的语义标签,以及每一类物体属于该标签的概率。
[0214]
在一个可行的实施例中,在步骤s21中,可以将首帧图像对应的初始面元图以及上 述待处理图像序列中的各帧图像对应的融合面元图,与语义分割结果进行融合,得到各帧 图像对应的语义融合后的面元图。可选地,由于各帧图像中均通常包含多个面元图,语义 标签一般也有多个,可以将各帧图像中的每个面元分别与其中一个语义标签进行融合,得 到各帧图像对应的融合后的面元图,融合公式可以如下:
[0215][0216]
其中,i表示各帧图像,l表示语义标签值,z为常数,p表示概率值,s表示面元,k 表示图像帧,p(li|i
1,...,k-1
)表示第1至k-1帧图像中计算出的先验概率值, p(o
u(s,k)
=li|ik)
表示第1至k帧的后验概率值,p(li|i
1,...,k
)表示第1至k-1帧图像 中计算出的概率值。
[0217]
基于上述公式,上述步骤s21可以理解为:将第1至k-1帧图像中计算出的先验概 率值、第1至k帧的后验概率值以及常数z的乘积,作为第1至k-1帧图像中计算出的 概率值。其中,先验概率值,可以理解为第1至k-1帧图像中的面元与语义标签值进行 融合后,预测得到的语义融合后的面元图所对应的先验概率值;后验概率值,可以理解为 第1至k帧图像中的面元与语义标签值进行融合后,得到的语义融合后的面元图所对应 的后验概率值。
[0218]
在一个可行的实施例中,在上述步骤s23中,可以使用三角剖分算法(delaunay)对 对语义融合后的面元图进行格栅化处理,得到上述三维重建结果。
[0219]
本公开实施例中,通过对各帧图像对应的融合面元图,与语义分割结果进行融合,使 得各帧图像中的不同面元可以存储不同的语义信息,并分别栅格化生成稠密表面,能够提 高三维重建的精度。
[0220]
图11是根据一示例性实施例示出的一种三维重建装置框图。参照图11,该装置可以 包括图像序列获取模块31,点云数据生成模块33、初始面元图生成模块35、融合面元图 生成模块37和三维重建结果生成模块39。
[0221]
图像序列获取模块31,被配置为执行获取待重建场景的图像序列.
[0222]
点云数据生成模块33,被配置为执行确定上述图像序列中的图像的点云数据。
[0223]
初始面元图生成模块35,被配置为执行基于上述图像序列中的当前帧图像对应的历 史帧图像的点云数据,生成上述历史帧图像对应的初始面元图;上述当前帧图像为上述图 像序列中除首帧图像之外的任一帧图像,上述历史帧图像为上述图像序列中,采集时间点 位于上述当前帧图像之前的图像。
[0224]
融合面元图生成模块37,被配置为执行基于上述初始面元图和上述当前帧图像的点 云数据,生成上述当前帧图像对应的融合面元图。
[0225]
三维重建结果生成模块39,被配置为执行根据上述首帧图像对应的面元图和上述融 合面元图,生成上述待重建场景的三维重建结果;上述首帧图像对应的面元图为基于首帧 图像的点云数据生成。
[0226]
在一个可选的实施例中,上述融合面元图生成模块,包括:
[0227]
投影子模块,被配置为执行将上述初始面元图投影至上述当前帧图像中,得到上述初 始面元图在上述当前帧图像中的投影像素点。
[0228]
生成子模块,被配置为执行基于上述投影像素点和上述当前帧图像的点云数据,生成 上述融合面元图。
[0229]
在一个可选的实施例中,上述生成子模块,包括:
[0230]
转换单元,被配置为执行基于上述当前帧图像的点云数据,对上述投影像素点的坐标 和上述当前帧图像中的像素点的坐标进行三维转换,得到上述当前帧图像中的像素点对应 的第一新面元图以及上述投影像素点对应的第二新面元图。
[0231]
第三新面元图确定单元,被配置为执行将上述初始面元图和上述第二新面元图进行融 合,得到上述当前帧图像对应的第三新面元图。
[0232]
融合面元图确定单元,被配置为执行合并上述第一新面元图和上述第三新面元图,得 到上述当前帧对应的融合面元图。
[0233]
在一个可选的实施例中,上述第三新面元图确定单元,包括:
[0234]
位置关系确定子单元,被配置为执行根据上述历史帧图像中的像素点的深度信息和上 述当前帧图像中的像素点的深度信息,确定上述初始面元图与上述第二新面元图之间的位 置关系。
[0235]
融合子单元,被配置为执行根据上述位置关系,对上述初始面元图和上述第二新面元 图进行融合,得到上述第三新面元图。
[0236]
在一个可选的实施例中,上述融合子单元,被配置为执行在上述位置关系用于指示上 述初始面元图与上述第二新面元图之间的距离小于或等于距离阈值的情况下,计算上述初 始面元图与上述第二新面元图的平均值,得到上述第三新面元图。
[0237]
在一个可选的实施例中,上述融合子单元,被配置为执行在上述位置关系用于指示上 述初始面元图与上述第二新面元图之间的距离大于距离阈值的情况下,基于上述第二新面 元图替换上述初始面元图,得到上述第三新面元图。
[0238]
在一个可选的实施例中,上述融合子单元,被配置为执行在上述位置关系用于指示上 述初始面元图被上述第二新面元图所遮挡的情况下,创建上述初始面元图的新面元图,将 创建得到的新面元图和上述第二新面元图作为上述第三新面元图。
[0239]
在一个可选的实施例中,上述装置还包括:
[0240]
语义融合模块,被配置为执行将上述首帧图像对应的面元图以及上述融合面元图,与 语义分割结果进行融合,得到上述图像序列中的图像对应的语义融合后的面元图;上述语 义分割结果为对地图点进行语义分割得到,上述地图点为对关键帧图像中的特征点赋予深 度信息的三维点,上述关键帧图像为上述历史帧图像中与上述当前帧图像部分重叠的图 像,上述特征点为对上述关键帧图像进行特征提取得到。
[0241]
格栅化处理模块,被配置为执行对上述语义融合后的面元图进行格栅化处理,得到上 述三维重建结果。
[0242]
在一个可选的实施例中,上述初始面元图生成模块,包括:
[0243]
像素面元图生成单元,被配置为执行基于上述历史帧图像的点云数据,对上述历史帧 图像中的像素点的坐标进行三维转换,得到上述历史帧图像中的像素点对应的面元图。
[0244]
初始面元图确定单元,被配置为执行将上述像素点对应的面元图,作为上述初始面元 图。
[0245]
在一个可选的实施例中,上述点云数据生成模块,包括:
[0246]
深度位姿确定单元,被配置为执行确定上述图像序列中的图像的像素点的深度信息和 上述图像序列中的图像的位姿信息。
[0247]
点云数据生成单元,被配置为执行根据上述图像的像素点的深度信息和上述位姿信 息,生成上述图像序列中的图像的点云数据。
[0248]
在一个可选的实施例中,上述位姿信息包括旋转位姿信息和平移位姿信息,上述装置 包括:
[0249]
旋转位姿信息获取模块,被配置为执行获取上一帧图像中的特征点的世界坐标信息和 上述当前帧图像的旋转位姿信息;上述上一帧图像为上述图像序列中,采集时间点位于上 述当前帧图像之前的相邻图像;上述上一帧图像中的特征点为对上述上一帧图像进行特征 提取得到。
[0250]
光流跟踪模块,被配置为执行对上述上一帧图像中的特征点进行光流跟踪,确定上述 当前帧图像中的特征点的图像坐标信息;上述当前帧图像中的特征点为对上述当前帧图像 进行特征提取得到。
[0251]
平移位姿信息确定模块,被配置为执行基于上述世界坐标信息、上述图像坐标信息以 及上述当前帧图像的旋转位姿信息,确定上述当前帧图像的平移位姿信息。
[0252]
在一个可选的实施例中,上述装置还包括对上述平移位姿信息进行调整的调整模块, 上述调整模块包括:
[0253]
关键帧图像获取单元,被配置为执行从上述历史帧图像中获取关键帧图像;上述关键 帧图像与上述当前帧图像部分重叠。
[0254]
局部地图构建单元,被配置为执行使用上述关键帧图像中的特征点构建局部地图;上 述关键帧图像中的特征点为对上述关键帧图像进行特征提取得到。
[0255]
匹配单元,被配置为执行基于上述局部地图对上述当前帧图像中的像素点进行匹配。
[0256]
位姿调整单元,被配置为执行基于匹配结果对上述平移位姿信息进行调整,得到上述 当前帧图像的调整后的平移位姿信息。
[0257]
在一个可选的实施例中,上述点云数据生成单元,包括:
[0258]
第一位置信息获取子单元,被配置为执行获取上述首帧图像对应的图像采集器的第一 位置信息。
[0259]
第二位置信息确定子单元,被配置为执行根据上述任一图像中的像素点的深度信息、 位姿信息以及上述第一位置信息,确定上述任一帧图像对应的图像采集器的第二位置信息。
[0260]
世界坐标信息确定子单元,被配置为执行根据上述图像对应的位置信息和上述图像中 的像素点的深度信息,确定上述图像中的像素点的世界坐标信息;上述图像对应的位置信 息包括第一位置信息和第二位置信息。
[0261]
点云数据生成子单元,被配置为执行根据所述图像中的像素点的世界坐标信息,生成 所述图像的点云数据。
[0262]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实 施例中进行了详细描述,此处将不做详细阐述说明
[0263]
在示例性实施例中,还提供了一种三维重建的电子设备,包括处理器;用于存储处理 器可执行指令的存储器;其中,处理器被配置为执行存储器上所存放的指令时,实现上述 实施例中任一三维重建方法的步骤。
[0264]
该电子设备可以是终端、服务器或者类似的运算装置,以该电子设备是服务器为例, 图12是根据一示例性实施例示出的一种用于三维重建的电子设备的框图,该电子设备40 可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,cpu)41(中央处理器41可以包括但不限于微处理器mcu或可编程逻 辑器件fpga等的处理装置)、用于存储数据的存储器43,一个或一个以上存储应用程 序423或数据422的存储介质42(例如一个或一个以上海量存储设备)。其中,存储器 43和存储介质42可以是短暂存储或持久存储。存储在存储介质42的程序可以包括一个 或一个以上模块,每个模块可以包括对电子设备中的一系列指令操作。更进一步地,中央 处理
器41可以设置为与存储介质42通信,在电子设备40上执行存储介质42中的一系列 指令操作。电子设备40还可以包括一个或一个以上电源46,一个或一个以上有线或无线 网络接口45,一个或一个以上输入输出接口44,和/或,一个或一个以上操作系统421, 例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0265]
输入输出接口44可以用于经由一个网络接收或者发送数据。上述的网络具体实例可 包括电子设备40的通信供应商提供的无线网络。在一个实例中,输入输出接口44包括一 个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连 从而可与互联网进行通讯。在一个示例性实施例中,输入输出接口44可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0266]
本领域普通技术人员可以理解,图12所示的结构仅为示意,其并不对上述电子设备 的结构造成限定。例如,电子设备40还可包括比图12中所示更多或者更少的组件,或者 具有与图12所示不同的配置。
[0267]
在示例性实施例中,还提供了一种计算机可读存储介质,当计算机可读存储介质中的 指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例中任一三维重建方法 的步骤。
[0268]
在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序 被处理器执行时实现上述任一种实施方式中提供的三维重建方法。
[0269]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过 计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存 储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开 所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括 非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程 rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失 性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限, ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步 dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链 路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器 总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0270]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实 施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者 适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或 惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权 利要求指出。
[0271]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可 以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1