掌桥专利:专业的专利平台
掌桥专利
首页

一种三维点云重建的方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 11:57:35


一种三维点云重建的方法、装置、电子设备及存储介质

技术领域

本公开涉及计算机视觉技术领域,具体而言,涉及一种三维点云重建的方法、装置、电子设备及存储介质。

背景技术

三维重建技术是计算机视觉领域中的重要研究方向之一,其目的是从多幅图像中恢复场景或物体的三维点云信息。随着运动恢复结构(Structure From Motion,SFM)、多视角立体几何(Multiple Views Stereo,MVS)的快速发展,基于图像的稠密点云三维重建受到越来越广泛的关注。

其中,MVS匹配作为基于图像的三维重建中的中间环节,起到了生成稠密点云的作用。然而,由于现有的MVS匹配方案很大程度上依赖于图像纹理的丰富程度,对于道路、交通标志等图像纹理不够丰富的场景(如自动驾驶场景)而言,容易留下孔洞和外点,这导致后续所重建的三维点云的精度和完整性均较差。

发明内容

本公开实施例至少提供一种三维点云重建的方法、装置、电子设备及存储介质,以提升三维重建的精度和完整性。

第一方面,本公开实施例提供了一种三维点云重建的方法,所述方法包括:

获取基于从不同拍摄角度拍摄的各张场景图像确定的三维稀疏点云数据,以及所述各张场景图像中的每张所述场景图像的语义标注信息;

基于各张场景图像的语义标注信息以及所述三维稀疏点云数据,生成各张场景图像分别对应的深度图;

基于各张场景图像分别对应的深度图,进行三维点云的重建,得到三维稠密点云数据。

采用上述三维点云重建的方法,可以基于获取的各张场景图像的语义标注信息以及三维稀疏点云数据,生成每张场景图像对应的深度图,而后可以基于各张场景图像分别对应的深度图重建出三维稠密点云数据。这里,由于在生成深度图的过程中,结合的语义标注信息可以更好的指导弱纹理图像区域的点云重建,这使得生成的三维稠密点云数据不容易出现孔洞和外点等瑕疵,在确保了重建的点云数据的精度的前提下,完整度得以明显提升。

在一种可能的实施方式中,所述基于各张场景图像的语义标注信息以及所述三维稀疏点云数据,生成各张场景图像分别对应的深度图,包括:

针对所述三维稀疏点云数据在每张所述场景图像中的投影像素点,确定该投影像素点在所述三维稀疏点云数据中对应的初始深度值;

基于所述场景图像中每个所述投影像素点对应的所述语义标注信息和初始深度值,生成该张场景图像的初始深度图;

利用所述场景图像中每个像素点的相邻像素点在所述初始深度图中的初始深度值,对该像素点的初始深度值进行更新,得到该像素点的更新后深度值;

基于所述更新后深度值,确定与每张所述场景图像对应的深度图。

这里,可以先生成场景图像的初始深度图,而后基于场景图像中每个像素点的相邻像素点在初始深度图中的初始深度值进行每个像素点的初始深度值的更新,最后可以基于各个像素点的更新后深度值确定深度图。考虑到具有相同或相似语义标注信息的像素点其所对应的深度值通常比较接近,因而这里采用结合投影像素点对应的语义标注信息和初始深度值所确定的初始深度图的准确度得以提升,结合相邻像素点的初始深度值实现像素点的深度值的更新可以使得确定的更新后的深度图更为准确。

在一种可能的实施方式中,根据以下步骤确定所述三维稀疏点云数据在每张所述场景图像中的投影像素点,包括:

针对每张所述场景图像,从所述三维稀疏点云数据包括的多个点云点中选取投影至该张场景图像的多个目标点云点;

基于三维稀疏点云数据对应的世界坐标系与所述场景图像对应的图像坐标系之间的转化关系,确定每个所述目标点云点在所述图像坐标系下的投影像素点。

在一种可能的实施方式中,所述基于所述场景图像中每个所述投影像素点对应的所述语义标注信息和初始深度值,生成该张场景图像的初始深度图,包括:

针对每张所述场景图像,以确定的多个所述投影像素点作为顶点,构建多个投影三角面片,并基于所述三维稀疏点云数据对应的世界坐标系与场景图像对应的图像坐标系之间的转化关系,确定与构建的每个所述投影三角面片匹配的三维三角面片;

针对每张所述场景图像中每个投影三角面片内除顶点外的其它像素点,基于所述其它像素点的语义标注信息以及所述投影三角面片的顶点像素点的初始深度值和语义标注信息,确定所述其它像素点的初始深度值;

基于每张所述场景图像中的每个投影三角面片,基于该投影三角面片中的所述其它像素点的初始深度值以及该投影三角面片的顶点像素点的初始深度值,确定该投影三角面片的初始深度图;

将每张所述场景图像中的各个投影三角面片的初始深度图进行组合,得到针对该张场景图像的初始深度图。

这里,首先可以构建投影三角面片,而后确定每个投影三角面片的初始深度图,最后将组成场景图像的各个投影三角面片的初始深度图进行组合可以得到针对场景图像的初始深度图。由于构建投影三角面片的顶点的初始深度值是已知的,确定投影三角面片的初始深度图的前提是确定除顶点外的其它像素点的初始深度值,这里可以结合其它像素点的语义标注信息以及投影三角面片的顶点像素点的初始深度值和语义标注信息来确定,进而提升所确定的其它像素点的深度值的准确性,进一步提升整个场景图像的初始深度图的准确性。

在一种可能的实施方式中,所述确定所述其它像素点的初始深度值,包括:

针对每张所述场景图像中每个投影三角面片内的所述其它像素点,在确定所述其它像素点所属投影三角面片包括的顶点像素点的语义标注信息与所述其它像素点的语义标注信息均一致的情况下,将所述其它像素点在其所属投影三角面片匹配的三维三角面片中对应的三维点云点的深度值,作为所述其它像素点的初始深度值;

或者,在确定所述其它像素点所属投影三角面片包括的顶点像素点中存在部分顶点像素点的语义标注信息与所述其它像素点的语义标注信息一致的情况下,基于所述部分顶点像素点的初始深度值,确定所述其它像素点的初始深度值。

在一种可能的实施方式中,所述利用所述场景图像中每个像素点的相邻像素点在所述初始深度图中的初始深度值,对该像素点的初始深度值进行更新,包括:

针对所述场景图像中的每个像素点,确定该像素点对应的第一互相关窗口;以及,

将该像素点的每个所述相邻像素点在所述初始深度图中的初始深度值作为该像素点的待更新的深度值,并基于该像素点的每个待更新的深度值确定该像素点在所述场景图像的目标邻域图像中的映射点以及该映射点对应的第二互相关窗口;

确定所述场景图像中的每个像素点对应的第一互相关窗口以及针对该像素点确定的映射点对应的至少一个第二互相关窗口之间的相似度;

从至少一个待更新的深度值中选取所述相似度符合预设要求的深度值,作为该像素点的更新后深度值。

这里,可以基于两个互相关窗口之间的相似度从像素点的各个相邻像素点的初始深度值中选取更新后深度值。由于同一像素点在领域图像存在相似的特征,相似度越大,一定程度上说明所选取的待更新的深度值更为符合上述特性,这也使得所得到的更新后深度值更为准确。

在一种可能的实施方式中,从至少一个待更新的深度值中选取所述相似度符合预设要求的深度值,作为该像素点的更新后深度值,包括:

从至少一个待更新的深度值中选取所述相似度大于预设阈值所指向的深度值,作为该像素点的更新后深度值;

或者,从至少一个待更新的深度值中选取最大相似度所指向的深度值,作为该像素点的更新后深度值。

在一种可能的实施方式中,按照如下步骤确定所述第一互相关窗口与所述第二互相关窗口之间的相似度:

基于所述第一互相关窗口包括的各个像素点的像素值以及所述第二互相关窗口包括的各个像素点的像素值,确定所述第一互相关窗口和所述第二互相关窗口之间的协方差;

基于确定的所述协方差,确定所述第一互相关窗口与所述第二互相关窗口之间的相似度。

在一种可能的实施方式中,所述基于确定的所述协方差,确定所述第一互相关窗口与所述第二互相关窗口之间的相似度,包括:

针对所述第一互相关窗口包括的每个像素点,确定该像素点与该第一互相关窗口的中心像素点之间的像素差值、距离差值以及语义差值,并基于所述像素差值、所述距离差值以及所述语义差值确定针对该像素点的权重;以及,

针对所述第二互相关窗口包括的每个像素点,确定该像素点与该第二互相关窗口的中心像素点之间的像素差值、距离差值以及语义差值,并基于所述像素差值、所述距离差值以及所述语义差值确定针对该像素点的权重;

基于计算出的协方差、针对所述第一互相关窗口包括的每个像素点的权重、以及针对所述第二互相关窗口包括的每个像素点的权重,确定所述第一互相关窗口与所述第二互相关窗口之间的相似度。

考虑到互相关窗口内像素点与中心像素点之间的像素差值、距离差值以及语义差值可以表征的是窗口中的像素点与其中心像素属于同一平面的可能性,属于同一平面的可能性越高,上述差值也应越小,通过上述各个差值确定的权重一定程度上可以使得协方差所表征的总体误差更为贴合实际场景。

在一种可能的实施方式中,所述针对所述场景图像中的每个像素点,确定该像素点对应的第一互相关窗口,包括:

针对所述场景图像中的每个像素点,以该像素点为中心,确定该像素点对应的具有第一窗口大小的第一窗口;并基于所述第一窗口包括的各个像素点的像素值,确定该第一窗口的纹理信息;

基于所述第一窗口的纹理信息确定针对所述第一窗口的调整量;

根据所述调整量对所述第一窗口进行调整,得到调整后的第二窗口;所述第二窗口具有的第二窗口大小大于或等于所述第一窗口大小;

将所述调整后的第二窗口,确定为所述像素点对应的第一互相关窗口。

这里,可以基于第一窗口的纹理信息自动确定每个像素点对应的第一互相关窗口。例如,对于纹理不丰富的情况可采用更大的第一互相关窗口,可以用来更好的描述弱纹理区域。也即,这里可以针对不同的纹理情况设置不同的互相关窗口,进而使得所选取的深度值更为准确。

在一种可能的实施方式中,所述基于该第一窗口包括的各个像素点的像素值,确定该第一窗口的纹理信息,包括:

对该第一窗口包括的各个像素点的像素值求取平均值,得到该第一窗口的平均像素值;

确定该第一窗口包括的各个像素点的像素值分别与该第一窗口的平均像素值之间的像素差值;

基于确定的各个像素差值以及该第一窗口包括的像素点数量,确定该第一窗口的纹理信息。

在一种可能的实施方式中,所述基于所述第一窗口的纹理信息确定针对所述第一窗口的调整量,包括:

获取具有第三窗口大小的第三窗口;所述第三窗口大小大于或等于所述第二窗口大小;

确定所述第三窗口与所述第一窗口之间的差值;

基于所述差值与所述第一窗口的纹理信息之间的比值运算,确定针对所述第一窗口的调整量。

在一种可能的实施方式中,按照如下步骤确定每张场景图像的目标邻域图像:

针对每张场景图像,从各张场景图像中选取该张场景图像的多个候选邻域图像;

针对该张场景图像的每个候选邻域图像,基于该候选邻域图像对应的拍摄参数值以及该张场景图像对应的拍摄参数值之间的匹配程度确定第一匹配权重,以及确定该候选邻域图像与该场景图像对应的同一目标物体的语义标注信息,并基于确定的同一目标物体的语义标注信息之间的匹配程度确定第二匹配权重;

基于所述第一匹配权重与所述第二匹配权重,确定与每个候选邻域图像对应的匹配权重总值;

选取匹配权重总值大于预设阈值的候选邻域图像,作为所述场景图像的目标邻域图像。

这里,在确定场景图像的目标邻域图像的过程中,可以基于拍摄参数值之间的匹配程度确定的第一匹配权重以及同一目标物体的语义标注信息之间的匹配程度确定的第二匹配权重来确定。由于考虑了语义标注信息之间的匹配程度,这使得所选取的目标邻域图像可以关注与场景相关的同一目标物体,这使得后续所重建出的点云数据可以更为关注这些目标物体,降低形成孔洞等问题的可能性,提升重建的完整性。

在一种可能的实施方式中,所述基于所述更新后深度值,确定与每张所述场景图像对应的深度图,包括:

针对每张所述场景图像,基于该张场景图像中每个像素点的更新后深度值以及该张场景图像的目标邻域图像中每个像素点的更新后深度值,对该场景图像包括的各个像素点进行过滤操作;

针对过滤掉的部分像素点,确定该部分像素点的语义标注信息是否符合目标场景参照物的语义标注信息;

若是,则基于所述目标场景参照物包括的各个像素点的更新后深度值对所述过滤掉的部分像素点进行深度值补全,得到补全后的各个像素点的更新后深度值;

基于所述补全后的各个像素点的更新后深度值,确定与每张所述场景图像对应的深度图。

这里,可以基于目标场景参照物的语义标注信息实现深度值补全操作,在确保重建的点云数据的准确性的前提下,提升重建的完整性。

在一种可能的实施方式中,所述针对每张所述场景图像,基于该张场景图像中每个像素点的更新后深度值以及该张场景图像的目标邻域图像中每个像素点的更新后深度值,对该场景图像包括的各个像素点进行过滤操作,包括:

针对每张所述场景图像中的每个像素点,基于场景图像对应的图像坐标系、世界坐标系以及目标邻域图像对应的图像坐标系之间的转化关系,确定该像素点投影至所述场景图像的目标邻域图像中的投影像素点,并基于该像素点的更新后深度值确定该投影像素点的投影深度值;

基于确定的所述投影像素点的投影深度值以及所述目标邻域图像中指向所述投影像素点的像素点的更新后深度值,确定是否对该像素点进行过滤操作。

这里,可以基于投影深度值与更新后深度值之间的比对结果确定是否进行过滤操作,例如,在两个深度值趋于一致情况下,则认为重建的点云是可靠的,否则可以进行过滤操作,确保了重建的准确性。

在一种可能的实施方式中,所述基于各张场景图像分别对应的深度图,进行三维点云的重建,得到三维稠密点云数据,包括:

获取拍摄各张场景图像中的每张所述场景图像的相机位姿信息;

基于获取的所述相机位姿信息以及各张场景图像分别对应的深度图,确定重建出的三维稠密点云数据。

第二方面,本公开实施例还提供了一种三维点云重建的装置,所述装置包括:

获取模块,用于获取基于从不同拍摄角度拍摄的各张场景图像确定的三维稀疏点云数据,以及所述各张场景图像中的每张所述场景图像的语义标注信息;

生成模块,用于基于各张场景图像的语义标注信息以及所述三维稀疏点云数据,生成各张场景图像分别对应的深度图;

重建模块,用于基于各张场景图像分别对应的深度图,进行三维点云的重建,得到三维稠密点云数据。

第三方面,本公开实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面及其各种实施方式任一所述的三维点云重建的方法的步骤。

第四方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面及其各种实施方式任一所述的三维点云重建的方法的步骤。

关于上述三维点云重建的装置、电子设备、及计算机可读存储介质的效果描述参见上述三维点云重建的方法的说明,这里不再赘述。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种三维点云重建的方法的流程图;

图2示出了本公开实施例所提供的三维点云重建的装置的示意图;

图3示出了本公开实施例所提供的一种电子设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

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

本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

经研究发现,多视角立体几何(Multiple Views Stereo,MVS)匹配作为基于图像的三维重建中的中间环节,起到了生成稠密点云的作用。然而,由于现有的MVS匹配方案很大程度上依赖于图像纹理的丰富程度,对于道路、交通标志等图像纹理不够丰富的场景(如自动驾驶场景)而言,容易留下孔洞和外点,这导致后续所重建的三维点云的精度和完整性均较差。

基于上述研究,本公开提供了一种三维点云重建的方法、装置、电子设备及存储介质,以提升三维重建的精度和完整性。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种三维点云重建的方法进行详细介绍,本公开实施例所提供的三维点云重建的方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该三维点云重建的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

参见图1所示,为本公开实施例提供的三维点云重建的方法的流程图,方法包括步骤S101~S103,其中:

S101:获取基于从不同拍摄角度拍摄的各张场景图像确定的三维稀疏点云数据,以及各张场景图像中的每张场景图像的语义标注信息;

S102:基于各张场景图像的语义标注信息以及三维稀疏点云数据,生成各张场景图像分别对应的深度图;

S103:基于各张场景图像分别对应的深度图,进行三维点云的重建,得到三维稠密点云数据。

为了便于理解本公开实施例提供的三维点云重建的方法,接下来首先对该方法的应用场景进行详细描述。上述三维点云重建的方法主要可以应用于三维重建领域中由稀疏点云到稠密点云的重建过程。这里的稀疏点云可以是基于运动恢复结构(Structure FromMotion,SFM)技术获得的,SFM输入的可以是一系列的场景图像,通过二维图像之间的匹配可以推断出拍摄场景图像的相机的各项参数(包括内参和外参),此外,还可以输出三维稀疏点云数据,这些稀疏点云数据可以作为基准点以生成大场景点云数据(即三维稠密点云数据),生成三维稠密点云数据的过程可以是由MVS实现的。

需要说明的是,上述相机的内参和外参作为坐标系之间进行转换的关键参数,会被应用在本公开实施例提供的三维点云重建的方法的各个技术环节,在此进行统一说明。

考虑到相关技术中的MVS匹配方案很大程度上依赖于图像纹理的丰富程度,对于道路、交通标志等图像纹理不够丰富的场景(如自动驾驶场景)而言,容易留下孔洞和外点,这导致后续所重建的三维点云的精度和完整性均较差。

正是为了解决上述问题,本公开实施例提供了一种基于语义标注信息指导大场景点云数据生成的三维点云重建的方法,精度和完整性均较高。

其中,本公开实施例中的三维稀疏点云数据可以是基于从不同拍摄角度拍摄的各张场景图像确定的。

在具体应用中,可以首先从各张场景图像中选择合适的初始化图像对,而后可以估计初始化图像对的外参,在进行轨迹三角化后可以提供初始化的三维(3-dimensional,3D)点,初始化的两帧图像就可以开始进行第一次光束平差法(Bundle Adjustment,BA)运算了。这里可以采用的是稀疏光束平差法(Sparse Bundle Adjustment,SBA)。

本公开实施例可以不断添加新的相机和3D点进行BA运算,直到剩下的相机观察到的点不超过20为止,说明剩下的相机没有足够的点可以添加,BA运算结束。得到相机估计参数和场景几何信息,即三维稀疏点云数据。

考虑到语义标注信息对于二维像素点的支撑作用,而三维点云与二维像素点又存在着一一对应关系,因而,这里可以通过场景图像的语义标注信息的获取来支撑三维点云重建,以提升重建的精度和完整性。

本公开实施例获取的语义标注信息可以是基于人工手段标注得到的,还可以是基于训练好的语义神经网络生成的,也即,通过将场景图像输入到训练好的语义神经网络可以确定该场景图像中每个像素点的语义标注信息。

基于场景图像的语义标注信息以及三维稀疏点云数据可以生成每张场景图像对应的深度图。该深度图可以是基于场景图像中每个像素点的深度值确定的。

本公开实施例中,确定像素点的深度值的过程主要包括基于三维稀疏点云数据这一基准数据确定初始深度值/初始深度图的初始化过程以及基于相邻像素点进行深度值更新的更新过程。前一个过程确保了较为准确的深度值更新依据,后一个过程则可以结合相邻像素点的验证方式实现深度值更新,使得最终所确定的针对像素点的更新后深度值更为准确,进一步使得由像素点构成的场景图像对应的深度图也更为准确。

在确定不同拍摄角度拍摄的各张场景图像分别对应的深度图的情况下,即可以进行三维点云的重建,从而得到三维稠密点云数据。在重建点云数据的过程中,每张深度图可以对应重建出一小块局部点云,而后按照拍摄各张场景图像中的每张场景图像的相机位姿信息将各个局部点云集合在一起,可以确定重建出完整的三维稠密点云数据。

考虑到深度图的生成对应三维重建的关键作用,接下来可以对生成深度图的过程进行说明,具体可以包括如下步骤:

步骤一、针对三维稀疏点云数据在每张场景图像中的投影像素点,确定该投影像素点在三维稀疏点云数据中对应的初始深度值;

步骤二、基于场景图像中每个投影像素点对应的语义标注信息和初始深度值,生成该张场景图像的初始深度图;

步骤三、利用场景图像中每个像素点的相邻像素点在初始深度图中的初始深度值,对该像素点的初始深度值进行更新,得到该像素点的更新后深度值;

步骤四、基于更新后深度值,确定与每张场景图像对应的深度图。

这里,首先可以将三维稀疏点云数据作为基准点确定场景图像的初始深度图,而后可以基于相邻像素点进行场景图像中每个像素点的深度值更新操作,最后可以基于更新后深度值确定场景图像对应的更新后的深度图。

在确定初始深度图的过程中,可以先确定三维稀疏点云数据在每张场景图像中的投影像素点,而后可以基于投影像素点对应的语义标注信息和初始深度值,生成场景图像的初始深度图。

其中,有关投影像素点的初始深度值可以是基于三维稀疏点云数据与投影像素点之间的对应关系,从三维稀疏点云数据包括的点云点的深度信息中选取的。有关投影像素点的确定过程可以通过如下步骤实现:

步骤一、针对每张场景图像,从三维稀疏点云数据包括的多个点云点中选取投影至该张场景图像的多个目标点云点;

步骤二、基于三维稀疏点云数据对应的世界坐标系与场景图像对应的图像坐标系之间的转化关系,确定每个目标点云点在图像坐标系下的投影像素点。

这里,可以基于场景图像包括的各个像素点与三维稀疏点云数据包括的各个点云点之间的对应关系,从三维稀疏点云数据中选取能够投影到场景图像的目标点云点,而后基于坐标系转化关系实现目标点云点至投影像素点的投影。

考虑到投影像素点对应的是三维稀疏点云数据中的点云点,这些点云点具有稀疏的特性,为了得到稠密的点云数据,这里需要针对场景图像进行全像素点的深度值确定,进而确定针对场景图像的初始深度图。

本公开实施例中可以结合语义标注信息实现上述全像素点的深度值确定过程,具体包括如下步骤:

步骤一、针对每张场景图像,以确定的多个投影像素点作为顶点,构建多个投影三角面片,并基于三维稀疏点云数据对应的世界坐标系与场景图像对应的图像坐标系之间的转化关系,确定与构建的每个投影三角面片匹配的三维三角面片;

步骤二、针对每张场景图像中每个投影三角面片内除顶点外的其它像素点,基于其它像素点的语义标注信息以及投影三角面片的顶点像素点的初始深度值和语义标注信息,确定其它像素点的初始深度值;

步骤三、基于每张场景图像中的每个投影三角面片,基于该投影三角面片中的其它像素点的初始深度值以及该投影三角面片的顶点像素点的初始深度值,确定该投影三角面片的初始深度图;

步骤四、将每张场景图像中的各个投影三角面片的初始深度图进行组合,得到针对该张场景图像的初始深度图。

这里,首先可以针对每张场景图像构建多个投影三角面片,每个投影三角面片可以是由三个投影像素点作为顶点构建得到的,且每个投影三角面片可以对应三维稀疏点云数据中的三个点云点,该三个点云点对应一个三维三角面片。

在构建得到多个投影三角面片的情况下,可以确定每个投影三角面片的初始深度图,而后将一张场景图像包括的各个投影三角面片按照特定的顺序进行组合,即得到针对一张场景图像的初始深度图。

针对一个投影三角面片而言,该投影三角面片的顶点的深度值已知,本公开实施例这里可以结合投影三角面片内除顶点外的其它像素点的语义标注信息以及顶点像素点的初始深度值和语义标注信息,确定其它像素点的初始深度值,进而基于其它像素点的初始深度值和顶点像素点的初始深度值,确定一个投影三角面片的初始深度图。

考虑到对于投影三角面片而言,如果其三个顶点具有相同的语义标签(对应语义标注信息),则投影三角面片中的所有像素点可能位于同一个场景平面上,否则,该平面可能存在深度不连续性。因此,这里可以结合语义标注信息实现其它像素点的深度值的初始化。

在确定其它像素点所属投影三角面片包括的顶点像素点的语义标注信息与其它像素点的语义标注信息均一致的情况下,将其它像素点在其所属投影三角面片匹配的三维三角面片中对应的三维点云点的深度值,作为其它像素点的初始深度值。

在具体应用中,可以从相机引出一条从光心出发经过场景图像中的其它像素点p的射线,并找到该射线与其在空间中对应的三维三角面片的交点。这样,将该交点的重投影深度设置为其它像素点p的初始深度值。

在确定其它像素点所属投影三角面片包括的顶点像素点中存在部分顶点像素点的语义标注信息与其它像素点的语义标注信息一致的情况下,基于部分顶点像素点的初始深度值,确定其它像素点的初始深度值。

在具体应用中,如果其它像素点p的语义标签与一个或两个顶点相同,则其它像素点p的初始深度值可以设置为相同语义顶点的平均深度加上深度范围的一个随机扰动。

在确定其它像素点所属投影三角面片包括的顶点像素点的语义标注信息与其它像素点的语义标注信息均不一致的情况下,将基于投影三角面片匹配的三维三角面片的深度范围,确定其它像素点的初始深度值。

这里,可以从深度范围内随机选取一个深度值作为其它像素点的初始深度值。

本公开实施例提供的三维点云重建的方法在确定场景图像的初始深度图的情况下,可以针对场景图像中的每个像素点进行初始深度值的更新,具体可以包括如下步骤:

步骤一、针对场景图像中的每个像素点,确定该像素点对应的第一互相关窗口;以及,将该像素点的每个相邻像素点在初始深度图中的初始深度值作为该像素点的待更新的深度值,并基于该像素点的每个待更新的深度值确定该像素点在场景图像的目标邻域图像中的映射点以及该映射点对应的第二互相关窗口;

步骤二、确定场景图像中的每个像素点对应的第一互相关窗口以及针对该像素点确定的映射点对应的至少一个第二互相关窗口之间的相似度;

步骤三、从至少一个待更新的深度值中选取相似度符合预设要求的深度值,作为该像素点的更新后深度值。

这里,针对场景图像中的一个像素点,可以采用该像素点的相邻像素点的初始深度值进行深度值的更新操作,这主要是考虑到一个像素点的相邻像素点与该像素点之间往往存在深度一致性的特点,通过空间传播可以确定更为准确的深度值。

其中,一个目标像素点的相邻像素点可以是从场景图像中选择的与目标像素点直接相邻的其它像素点,还可以是与目标像素点间接相邻的其它像素点,本公开实施例对此不做具体的限制。

本公开实施例提供的三维点云重建的方法,可以基于两个互相关窗口之间的相似度来验证所选取的相邻像素点的初始深度值是否能够满足当前像素点的更新需求。这里的两个互相关窗口分别对应的是像素点对应的第一互相关窗口,以及该像素点在场景图像的目标邻域图像中的映射点对应的第二互相关窗口。由于不同的相邻像素点的初始深度值不同,在一个像素点采用不同的初始深度值的情况下,该像素点所对应的映射点也发生了变化,这样对应的第二互相关窗口也会随之发生变化,这里,可以基于第一互相关窗口与第二互相关窗口之间的相似度来选取合适的相邻像素点的初始深度值对当前像素点进行更新。

本公开实施例中,可以选取相似度大于预设阈值所指向的深度值作为当前像素点的更新后深度值,还可以选取最大相似度所指向的深度值,作为当前像素点的更新后深度值。

考虑到第一互相关窗口与第二互相关窗口之间的相似度的确定对于深度值更新的关键作用,接下来可以通过如下步骤对确定相似度的过程进行具体说明。

步骤一、基于第一互相关窗口包括的各个像素点的像素值以及第二互相关窗口包括的各个像素点的像素值,确定第一互相关窗口和第二互相关窗口之间的协方差;

步骤二、基于确定的协方差,确定第一互相关窗口与第二互相关窗口之间的相似度。

这里协方差用于表征的是两个互相关窗口之间的总体误差,总体误差越小说明两个互相关窗口的相似度越高,反之,总体误差越大说明两个互相关窗口的相似度越低。

为了得到更为准确的相似度,本公开实施例还针对第一互相关窗口包括的每个像素点,基于该像素点与该第一互相关窗口的中心像素点之间的像素差值、距离差值以及语义差值,确定针对该像素点的权重,以及针对第二互相关窗口包括的每个像素点,基于该像素点与该第二互相关窗口的中心像素点之间的像素差值、距离差值以及语义差值,确定针对该像素点的权重,并结合协方差以及确定的权重得到两个互相关窗口的相似度。

其中,上述像素差值用于表征的是一个像素点与中心像素点之间的颜色相似程度,上述距离差值用于表征的是一个像素点与中心像素点之间的距离远近程度,上述语义差值用于表征的是一个像素点与中心像素点之间的语义相似程度,对于像素差值越小、距离差值越小以及语义差值越小的像素点而言,该像素点与中心像素点属于同一平面的可能性更高,在进行协方差计算的过程可以赋予更高的权重,这主要是考虑到这样的像素点具有更高的相似性影响力,同理,对于像素差值越大、距离差值越大以及语义差值越大的像素点而言,该像素点与中心像素点属于同一平面的可能性较低,在进行协方差计算的过程可以赋予更低的权重。

其中,有关像素点的第一互相关窗口越大,所对应的相似度计算量越大,而选取较小的第一互相关窗口,则可能导致无法很好的兼顾相关像素点的特征。这里,为了兼顾特征丰富性以及较小运算量的双重要求,这里可以针对不同的像素点采用自适应的第一互相关窗口。具体可以通过如下步骤来实现:

步骤一、针对场景图像中的每个像素点,以该像素点为中心,确定该像素点对应的具有第一窗口大小的第一窗口;并基于第一窗口包括的各个像素点的像素值,确定该第一窗口的纹理信息;

步骤二、基于第一窗口的纹理信息确定针对第一窗口的调整量;

步骤三、根据调整量对第一窗口进行调整,得到调整后的第二窗口;第二窗口具有的第二窗口大小大于或等于第一窗口大小;

步骤四、将调整后的第二窗口,确定为像素点对应的第一互相关窗口。

本公开实施例中,可以基于第一窗口包括的各个像素点的像素点来确定第一窗口的纹理信息,具体可以通过如下步骤来实现:

步骤一、对该第一窗口包括的各个像素点的像素值求取平均值,得到该第一窗口的平均像素值;

步骤二、确定该第一窗口包括的各个像素点的像素值分别与该第一窗口的平均像素值之间的像素差值;

步骤三、基于确定的各个像素差值以及该第一窗口包括的像素点数量,确定该第一窗口的纹理信息。

本公开实施例中,可以基于像素点的像素值与平均像素值之间的像素差值来确定第一窗口的纹理信息,对于像素差值总和越大的第一窗口而言,其纹理越丰富,对于像素差值总和越小的第一窗口而言,其纹理越不丰富。

这里,对于纹理更为丰富的第一窗口而言,可以选取较小的调整量,以便在确保细节描述能力的前提下,不提升运算量,而对于纹理不够丰富的第一窗口而言,可以选取较大的调整量,以通过运算量的提升换取对于弱纹理的表达。

本公开实施例中有关第一窗口的调整量可以按照如下步骤来确定:

步骤一、获取具有第三窗口大小的第三窗口;第三窗口大小大于或等于第二窗口大小;

步骤二、确定第三窗口与第一窗口之间的差值;

步骤三、基于差值与第一窗口的纹理信息之间的比值运算,确定针对第一窗口的调整量。

这里的第三窗口和第一窗口可以分别对应最大窗口和最小窗口。对于纹理较为丰富的第一窗口而言,可以对应的是较小的调整量,对于纹理不丰富的第一窗口而言,可以对应的是较大的调整量。

为了便于理解上述窗口调整过程,可以结合如下公式进行说明。

其中,l

上述t(B)可以采用的是归一化纹理信息。在具体应用中,

在具体应用中,

本公开实施例提供的三维点云重建的方法需要确定场景图像的目标邻域图像实现相关验证操作,接下来对场景图像的目标邻域图像的确定过程进行具体说明。

本公开实施例中的目标邻域图像作为一种参照图像,旨在为场景图像提供深度表征依据。语义标注信息则即可以为深度表征提供有力的数据支撑,这主要是考虑到相近或相同的语义标签的像素点所对应的深度值通常具有一致性。因而,这里除了可以结合拍摄参数值之间的匹配程度确定两张图像(即场景图像与候选邻域图像)的第一匹配权重,还可以结合语义标注信息之间的匹配程度来确定两张图像的第二匹配权重,进而通过两个匹配权重的乘法或加法运算确定每个候选邻域图像对应的匹配权重总值。可以选取匹配权重总值足够大的候选邻域图像,作为场景图像的目标邻域图像。

为了避免更新后深度值所可能存在的误差,本公开实施例提供的三维点云重建的方法通常需要过滤外点,这里的外点可以是不属于目标物体的点云点。本公开实施例可以基于场景图像中每个像素点的更新后深度值以及场景图像的目标邻域图像中每个像素点的更新后深度值,对场景图像包括的各个像素点进行过滤操作,具体可以通过如下步骤来实现:

步骤一、针对每张场景图像中的每个像素点,基于场景图像对应的图像坐标系、世界坐标系以及目标邻域图像对应的图像坐标系之间的转化关系,确定该像素点投影至场景图像的目标邻域图像中的投影像素点,并基于该像素点的更新后深度值确定该投影像素点的投影深度值;

步骤二、基于确定的投影像素点的投影深度值以及目标邻域图像中指向投影像素点的像素点的更新后深度值,确定是否对该像素点进行过滤操作。

这里,可以基于场景图像对应的图像坐标系、世界坐标系以及目标邻域图像对应的图像坐标系之间的转化关系,将场景图像中的像素点投影至场景图像的目标邻域图像,基于像素点的更新后深度值可以确定投影得到的投影像素点的投影深度值。

在更新后深度值所可能存在的误差较小的情况下,这一投影深度值与目标邻域图像中指向投影像素点的像素点的更新后深度值之间的差值也较小,对应可以认为这一像素点的更新深度值可以保留,否则,则可以认为更新后深度值所可能存在的误差较大,为了确保重建精度,需要过滤掉相应的像素点的更新后深度值。

需要说明的是,深度图过滤过程可以去除大量的深度外点,但也可能在某些区域留下空洞。为了在确保重建精度的前提下,进一步提升重建的完整性,本公开实施例可以执行语义引导的深度图补全过程,具体可以通过如下步骤来实现:

步骤一、针对过滤掉的部分像素点,确定该部分像素点的语义标注信息是否符合目标场景参照物的语义标注信息;

步骤二、若是,则基于目标场景参照物包括的各个像素点的更新后深度值对过滤掉的部分像素点进行深度值补全,得到补全后的各个像素点的更新后深度值;

步骤三、基于补全后的各个像素点的更新后深度值,确定与每张场景图像对应的深度图。

这里,可以基于过滤掉的部分像素点的语义标注信息与目标场景参照物的语义标注信息之间的一致性来确定是否进行深度值补全,也即,对于一致的像素点可以利用与目标场景参照物对应的更新后深度值实现补全,对于不一致的像素点则无需处理。这主要是考虑到目标场景参照物作为构成场景图像的关键组成部分,在实际的应用场景中具有非常重要的参考意义,因而可以基于语义一致性进行过滤掉的部分像素点的补全,同时兼顾了后续重建的完整性以及准确性。

需要说明的是,不同的应用场景所对应选取的目标场景参照物也不同。例如,针对高精度地图导航而言,这里的目标场景参照物可以是道路,还可以是标识牌等,通过这一应用场景下的关键物体的稠密点云重建,可以使得高精度地图的精度进一步提升,从而便于提供更好的导航服务。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与三维点云重建的方法对应的三维点云重建的装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述三维点云重建的方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图2所示,为本公开实施例提供的一种三维点云重建的装置的示意图,装置包括:获取模块201、生成模块202、重建模块203;其中,

获取模块201,用于获取基于从不同拍摄角度拍摄的各张场景图像确定的三维稀疏点云数据,以及各张场景图像中的每张场景图像的语义标注信息;

生成模块202,用于基于各张场景图像的语义标注信息以及三维稀疏点云数据,生成各张场景图像分别对应的深度图;

重建模块203,用于基于各张场景图像分别对应的深度图,进行三维点云的重建,得到三维稠密点云数据。

采用上述三维点云重建的装置,可以基于获取的各张场景图像的语义标注信息以及三维稀疏点云数据,生成每张场景图像对应的深度图,而后可以基于各张场景图像分别对应的深度图重建出三维稠密点云数据。这里,由于在生成深度图的过程中,结合的语义标注信息可以更好的指导弱纹理图像区域的点云重建,这使得生成的三维稠密点云数据不容易出现孔洞和外点等瑕疵,在确保了重建的点云数据的精度的前提下,完整度得以明显提升。

在一种可能的实施方式中,生成模块202,用于按照以下步骤基于各张场景图像的语义标注信息以及三维稀疏点云数据,生成各张场景图像分别对应的深度图:

针对三维稀疏点云数据在每张场景图像中的投影像素点,确定该投影像素点在三维稀疏点云数据中对应的初始深度值;

基于场景图像中每个投影像素点对应的语义标注信息和初始深度值,生成该张场景图像的初始深度图;

利用场景图像中每个像素点的相邻像素点在初始深度图中的初始深度值,对该像素点的初始深度值进行更新,得到该像素点的更新后深度值;

基于更新后深度值,确定与每张场景图像对应的深度图。

在一种可能的实施方式中,生成模块202,用于根据以下步骤确定三维稀疏点云数据在每张场景图像中的投影像素点:

针对每张场景图像,从三维稀疏点云数据包括的多个点云点中选取投影至该张场景图像的多个目标点云点;

基于三维稀疏点云数据对应的世界坐标系与场景图像对应的图像坐标系之间的转化关系,确定每个目标点云点在图像坐标系下的投影像素点。

在一种可能的实施方式中,生成模块202,用于按照以下步骤基于场景图像中每个投影像素点对应的语义标注信息和初始深度值,生成该张场景图像的初始深度图:

针对每张场景图像,以确定的多个投影像素点作为顶点,构建多个投影三角面片,并基于三维稀疏点云数据对应的世界坐标系与场景图像对应的图像坐标系之间的转化关系,确定与构建的每个投影三角面片匹配的三维三角面片;

针对每张场景图像中每个投影三角面片内除顶点外的其它像素点,基于其它像素点的语义标注信息以及投影三角面片的顶点像素点的初始深度值和语义标注信息,确定其它像素点的初始深度值;

基于每张场景图像中的每个投影三角面片,基于该投影三角面片中的其它像素点的初始深度值以及该投影三角面片的顶点像素点的初始深度值,确定该投影三角面片的初始深度图;

将每张场景图像中的各个投影三角面片的初始深度图进行组合,得到针对该张场景图像的初始深度图。

在一种可能的实施方式中,生成模块202,用于按照以下步骤确定其它像素点的初始深度值:

针对每张场景图像中每个投影三角面片内的其它像素点,在确定其它像素点所属投影三角面片包括的顶点像素点的语义标注信息与其它像素点的语义标注信息均一致的情况下,将其它像素点在其所属投影三角面片匹配的三维三角面片中对应的三维点云点的深度值,作为其它像素点的初始深度值;

或者,在确定其它像素点所属投影三角面片包括的顶点像素点中存在部分顶点像素点的语义标注信息与其它像素点的语义标注信息一致的情况下,基于部分顶点像素点的初始深度值,确定其它像素点的初始深度值。

在一种可能的实施方式中,生成模块202,用于按照以下步骤利用场景图像中每个像素点的相邻像素点在初始深度图中的初始深度值,对该像素点的初始深度值进行更新:

针对场景图像中的每个像素点,确定该像素点对应的第一互相关窗口;以及,

将该像素点的每个相邻像素点在初始深度图中的初始深度值作为该像素点的待更新的深度值,并基于该像素点的每个待更新的深度值确定该像素点在场景图像的目标邻域图像中的映射点以及该映射点对应的第二互相关窗口;

确定场景图像中的每个像素点对应的第一互相关窗口以及针对该像素点确定的映射点对应的至少一个第二互相关窗口之间的相似度;

从至少一个待更新的深度值中选取相似度符合预设要求的深度值,作为该像素点的更新后深度值。

在一种可能的实施方式中,生成模块202,用于按照以下步骤从至少一个待更新的深度值中选取相似度符合预设要求的深度值,作为该像素点的更新后深度值:

从至少一个待更新的深度值中选取相似度大于预设阈值所指向的深度值,作为该像素点的更新后深度值;

或者,从至少一个待更新的深度值中选取最大相似度所指向的深度值,作为该像素点的更新后深度值。

在一种可能的实施方式中,生成模块202,用于按照如下步骤确定第一互相关窗口与第二互相关窗口之间的相似度:

基于第一互相关窗口包括的各个像素点的像素值以及第二互相关窗口包括的各个像素点的像素值,确定第一互相关窗口和第二互相关窗口之间的协方差;

基于确定的协方差,确定第一互相关窗口与第二互相关窗口之间的相似度。

在一种可能的实施方式中,生成模块202,用于按照以下步骤基于确定的协方差,确定第一互相关窗口与第二互相关窗口之间的相似度:

针对第一互相关窗口包括的每个像素点,确定该像素点与该第一互相关窗口的中心像素点之间的像素差值、距离差值以及语义差值,并基于像素差值、距离差值以及语义差值确定针对该像素点的权重;以及,

针对第二互相关窗口包括的每个像素点,确定该像素点与该第二互相关窗口的中心像素点之间的像素差值、距离差值以及语义差值,并基于像素差值、距离差值以及语义差值确定针对该像素点的权重;

基于计算出的协方差、针对第一互相关窗口包括的每个像素点的权重、以及针对第二互相关窗口包括的每个像素点的权重,确定第一互相关窗口与第二互相关窗口之间的相似度。

在一种可能的实施方式中,生成模块202,用于按照以下步骤针对场景图像中的每个像素点,确定该像素点对应的第一互相关窗口:

针对场景图像中的每个像素点,以该像素点为中心,确定该像素点对应的具有第一窗口大小的第一窗口;并基于第一窗口包括的各个像素点的像素值,确定该第一窗口的纹理信息;

基于第一窗口的纹理信息确定针对第一窗口的调整量;

根据调整量对第一窗口进行调整,得到调整后的第二窗口;第二窗口具有的第二窗口大小大于或等于第一窗口大小;

将调整后的第二窗口,确定为像素点对应的第一互相关窗口。

在一种可能的实施方式中,生成模块202,用于按照以下步骤基于该第一窗口包括的各个像素点的像素值,确定该第一窗口的纹理信息:

对该第一窗口包括的各个像素点的像素值求取平均值,得到该第一窗口的平均像素值;

确定该第一窗口包括的各个像素点的像素值分别与该第一窗口的平均像素值之间的像素差值;

基于确定的各个像素差值以及该第一窗口包括的像素点数量,确定该第一窗口的纹理信息。

在一种可能的实施方式中,生成模块202,用于按照以下步骤基于第一窗口的纹理信息确定针对第一窗口的调整量:

获取具有第三窗口大小的第三窗口;第三窗口大小大于或等于第二窗口大小;

确定第三窗口与第一窗口之间的差值;

基于差值与第一窗口的纹理信息之间的比值运算,确定针对第一窗口的调整量。

在一种可能的实施方式中,生成模块202,用于按照如下步骤确定每张场景图像的目标邻域图像:

针对每张场景图像,从各张场景图像中选取该张场景图像的多个候选邻域图像;

针对该张场景图像的每个候选邻域图像,基于该候选邻域图像对应的拍摄参数值以及该张场景图像对应的拍摄参数值之间的匹配程度确定第一匹配权重,以及确定该候选邻域图像与该场景图像对应的同一目标物体的语义标注信息,并基于确定的同一目标物体的语义标注信息之间的匹配程度确定第二匹配权重;

基于第一匹配权重与第二匹配权重,确定与每个候选邻域图像对应的匹配权重总值;

选取匹配权重总值大于预设阈值的候选邻域图像,作为场景图像的目标邻域图像。

在一种可能的实施方式中,生成模块202,用于按照以下步骤基于更新后深度值,确定与每张场景图像对应的深度图:

针对每张场景图像,基于该张场景图像中每个像素点的更新后深度值以及该张场景图像的目标邻域图像中每个像素点的更新后深度值,对该场景图像包括的各个像素点进行过滤操作;

针对过滤掉的部分像素点,确定该部分像素点的语义标注信息是否符合目标场景参照物的语义标注信息;

若是,则基于目标场景参照物包括的各个像素点的更新后深度值对过滤掉的部分像素点进行深度值补全,得到补全后的各个像素点的更新后深度值;

基于补全后的各个像素点的更新后深度值,确定与每张场景图像对应的深度图。

在一种可能的实施方式中,生成模块202,用于按照以下步骤针对每张场景图像,基于该张场景图像中每个像素点的更新后深度值以及该张场景图像的目标邻域图像中每个像素点的更新后深度值,对该场景图像包括的各个像素点进行过滤操作:

针对每张场景图像中的每个像素点,基于场景图像对应的图像坐标系、世界坐标系以及目标邻域图像对应的图像坐标系之间的转化关系,确定该像素点投影至场景图像的目标邻域图像中的投影像素点,并基于该像素点的更新后深度值确定该投影像素点的投影深度值;

基于确定的投影像素点的投影深度值以及目标邻域图像中指向投影像素点的像素点的更新后深度值,确定是否对该像素点进行过滤操作。

在一种可能的实施方式中,重建模块203,用于按照以下步骤基于各张场景图像分别对应的深度图,进行三维点云的重建,得到三维稠密点云数据:

获取拍摄各张场景图像中的每张场景图像的相机位姿信息;

基于获取的相机位姿信息以及各张场景图像分别对应的深度图,确定重建出的三维稠密点云数据。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

本公开实施例还提供了一种电子设备,如图3所示,为本公开实施例提供的电子设备结构示意图,包括:处理器301、存储器302、和总线303。存储器302存储有处理器301可执行的机器可读指令(比如,图2中的装置中获取模块201、生成模块202、重建模块203对应的执行指令等),当电子设备运行时,处理器301与存储器302之间通过总线303通信,机器可读指令被处理器301执行时执行如下处理:

获取基于从不同拍摄角度拍摄的各张场景图像确定的三维稀疏点云数据,以及各张场景图像中的每张场景图像的语义标注信息;

基于各张场景图像的语义标注信息以及三维稀疏点云数据,生成各张场景图像分别对应的深度图;

基于各张场景图像分别对应的深度图,进行三维点云的重建,得到三维稠密点云数据。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的三维点云重建的方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的三维点云重建的方法的步骤,具体可参见上述方法实施例,在此不再赘述。

其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 一种三维点云重建的方法、装置、电子设备及存储介质
  • 一种三维点云重建方法、装置及电子设备
技术分类

06120113114559