用于点云数据修复的方法和装置与流程

文档序号:14774955发布日期:2018-06-23 02:53阅读:477来源:国知局
用于点云数据修复的方法和装置与流程

本公开的实施例涉及点云数据处理领域,并且更具体地涉及用于点云数据修复的方法和装置。



背景技术:

点云数据(Point Cloud)被广泛用于各种行业中的三维(3D)重建应用中。点云数据是描述3D场景的3D坐标系中的点数据的集合。通常,点云数据中的点数据表征物体的外表面。根据激光测量或摄影测量原理可以采集到物体表面的每个采样点的空间坐标,从而得到点数据的集合,称之为“点云数据”。

然而,由于采集中的遮挡或远距离,点云数据会出现空洞或过于稀疏,进而不利于目标物体的提取和分割。因此,点云数据的修复成为亟待解决的热点问题之一。



技术实现要素:

根据本公开的示例实施例,提供了一种用于点云数据修复的方案。

在本公开的第一方面中,提供了一种用于生成点云数据修复模型的方法。该方法包括:获得与第一点云数据帧相关联的至少一个二维(2D)图像;根据所述2D图像中物体的属性将所述第一点云数据帧划分成至少一个点云数据集合;以及针对每一个点云数据集合:从所述至少一个2D图像中确定与所述第一点云数据帧的匹配图像,所述匹配图像为数据采集位置和/或时间上与所述第一点云数据帧匹配;根据所述第一点云数据帧以及与所述第一点云数据帧相关联的至少一个第二点云数据帧,确定所述匹配图像中的像素点的3D位置数据;以及将所述匹配图像中对应像素点的2D位置数据和3D位置数据作为训练模型的训练输入数据和训练输出数据,通过深度学习网络生成用于该点云数据集合所对应的物体的点云数据修复模型。

在本公开的第二方面中,提供了一种用于点云数据修复的方法。该方法包括:获得与待修复的点云数据帧相关联的至少一个2D图像;根据所述2D图像中物体的属性将所述待修复的点云数据帧划分成至少一个点云数据集合;以及针对每一个点云数据集合:在所述至少一个2D图像中确定与所述待修复的点云数据帧的匹配图像,所述匹配图像为数据采集位置和/或时间上与所述待修复的点云数据帧匹配;以及基于所述匹配图像中的对应像素点的2D位置数据,分别通过用于该点云数据集合所对应的物体的点云数据修复模型,对该点云数据集合中的点云数据进行修复。

在本公开的第三方面中,提供了一种用于生成点云数据修复模型的装置。该装置包括:图像获得模块,被配置为获得与第一点云数据帧相关联的至少一个2D图像;点云划分模块,被配置为根据所述2D图像中物体的属性将所述第一点云数据帧划分成至少一个点云数据集合;图像确定模块,被配置为针对每一个点云数据集合,从所述至少一个2D图像中确定与所述第一点云数据帧的匹配图像,所述匹配图像为数据采集位置和/或时间上与所述第一点云数据帧匹配;位置确定模块,被配置为针对每一个点云数据集合,根据所述第一点云数据帧以及与所述第一点云数据帧相关联的至少一个第二点云数据帧,确定所述匹配图像中的像素点的3D位置数据;以及模型生成模块,被配置为针对每一个点云数据集合,将所述匹配图像中对应像素点的2D位置数据和3D位置数据作为训练模型的训练输入数据和训练输出数据,通过深度学习网络生成用于该点云数据集合所对应的物体的点云数据修复模型。

在本公开的第四方面中,提供了一种用于点云数据修复的装置。该装置包括:图像获得模块,被配置为获得与待修复的点云数据帧相关联的至少一个2D图像;点云划分模块,被配置为根据所述2D图像中物体的属性将所述待修复的点云数据帧划分成至少一个点云数据集合;图像确定模块,被配置为针对每一个点云数据集合,在所述至少一个2D图像中确定与所述待修复的点云数据帧的匹配图像,所述匹配图像为数据采集位置和/或时间上与所述待修复的点云数据帧匹配;以及点云修复模块,被配置为针对每一个点云数据集合,基于所述匹配图像中的对应像素点的2D位置数据,分别通过用于该点云数据集合所对应的物体的点云数据修复模型,对该点云数据集合中的点云数据进行修复。

在本公开的第五方面中,提供了一种设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据本公开的第一方面的方法。

在本公开的第六方面中,提供了一种设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据本公开的第二方面的方法。

在本公开的第七方面中,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。

在本公开的第八方面中,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第二方面的方法。

应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。

附图说明

结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:

图1示出了本公开实施例可以在其中实施的示例环境的示意图;

图2示出了根据本公开实施例的用于生成点云数据修复模型的方法的流程图;

图3示出了根据本公开实施例的用于划分点云数据的方法的流程图;

图4示出了根据本公开实施例的用于确定匹配图像中的像素点的3D位置数据的方法的流程图;

图5示出了根据本公开实施例的用于点云数据修复的方法的流程图;

图6示出了根据本公开实施例的用于生成点云数据修复模型的装置的示意框图;

图7示出了根据本公开的实施例的用于点云数据修复的装置的示意框图;以及

图8示出了可以实施本公开实施例的计算设备的框图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

如前面提及的,由于采集中的遮挡或远距离,点云数据会出现空洞或过于稀疏,进而不利于目标物体的提取和分割。在已知的传统方案中,通常基于点云数据本身进行一定范围内的线性插值来实现点云数据的修复。在一些技术中,根据2D图像与点云数据的关系,将2D图像中的像素点的2D坐标通过几何关系估算出像素点的3D位置。然而,在这些已有技术中,都是采用直接在点云数据上进行拟合、插值等方法,无法确保准确性和普适性。

本公开实施例的基本构思在于,借助于针对同一场景的海量的图像数据和点云数据,通过训练深度学习网络来生成点云数据修复模型,并且利用点云数据修复模型来实现点云数据的修复。由于通过建模方式来实现点云数据修复,因此保证了方法的普适性。另外,由于利用了海量数据,提高了点云数据修复的准确性。根据本公开的实施例,可以针对同一场景中的不同物体属性来分别构建模型,从而针对点云数据中对应不同物体属性的各个部分分别进行修复。由此可以进一步提高点云数据修复的准确性。

如本文所使用的,术语“模型”可以从训练数据中学习到相应的输入与输出之间的关联,从而在训练完成后可以针对给定的输入,生成对应的输出。应当理解,“模型”也可以被称为“神经网络”、“学习模型”、“学习网络”或“深度学习网络”,等等。

以下将参照附图来具体描述本公开的实施例。

图1示出了本公开的实施例可以在其中实施的示例环境100的示意图。在该示例环境100中,由采集作业车110通过安装在其上的数据采集装置111针对各种场景获取海量的场景数据112。在本公开的实施例中,场景数据112可以包括针对同一场景的点云数据和图像数据二者。在本公开的实施例中,场景数据112还可以包括点云数据和图像数据的采集位置和/或时间信息。

作为示例,在某些实施例中,数据采集装置111例如可以包括诸如光探测和测距(LIDAR)系统、立体摄像机系统、移动激光成像系统等的传感器系统,用于获取针对场景的点云数据。例如,点云数据可以包括3D坐标(XYZ)、激光反射强度和/或颜色信息(RGB)等。在本公开的实施例中,数据采集装置111例如还可以包括诸如照相机、摄像机之类的图像获取单元,用于获取针对场景的图像数据。例如,图像数据可以包括2D坐标(XY)、灰度值等。

如图1所示,场景数据112在获取后可以被存储至存储装置120,以用于后续由计算设备130处理或使用。在本公开的实施例中,存储装置120可以是采集作业车110的本地存储装置或可由其访问的外部存储装置。在其它实施例中,存储装置120可以是计算设备130的本地存储装置或可由其访问的外部存储装置。

在本公开的实施例中,计算设备130可以基于场景数据112来构建点云数据修复模型131。在本公开的实施例中,计算设备130也可以基于构建的点云数据修复模型131对场景数据112中的点云数据进行修复。在其它实施例中,计算设备130也可以基于修复的点云数据重建3D场景。

应理解到,上述环境100仅为示例说明,本公开的实施例并不限于上述应用环境,而是可以用于点云数据处理或修复的任何环境,例如深度相机空洞的填补、制造行业中利用激光雷达对零件的检测等等。下面结合图2至图5详细描述根据本公开实施例的用于点云数据修复的方案的示例性实施。

图2示出了根据本公开实施例的用于生成点云数据修复模型的方法200的流程图。该方法200可以在例如图1中的计算设备130处实施,从而构建点云数据修复模型131。在本公开的实施例中,点云数据是逐帧处理的。

如图2所示,在框205,获得与待处理的点云数据帧相关联的至少一个2D图像。为了描述方便,在本文中也可将该点云数据帧称为“第一点云数据帧”。如上所述,计算设备130可以从场景数据112中获取第一点云数据帧和在采集位置和/或时间上与点云数据帧相关联的图像数据。在此方面的示例实施例将在下文结合图3的框310进行详细描述。

在框210,根据在框205处获得的至少一个2D图像中物体的属性,将第一点云数据帧划分成至少一个点云数据集合。根据本公开的实施例,至少一个2D图像可以是在数据采集位置和/或时间上与该点云数据帧相关联。

例如,在一个实施例中,一个或多个2D图像可以是采集位置在点云数据帧的采集位置的预定距离内的2D图像的集合。备选地或附加地,在某些实施例中,一个或多个2D图像可以是采集时间在围绕第一点云数据帧的采集时间的预定时段内的2D图像的集合。

根据本公开的实施例,计算设备130可以基于对应图像中的物体的不同属性(例如地面、建筑物、动物、人物等),将第一点云数据帧中的点云数据划分成一个或多个点云数据集合,使得每个点云数据集合对应于不同的物体。由此,可以利用一个或多个2D图像赋值一帧点云数据中各点的物体属性。

下面结合图3更详细地描述框210的示例性实施。图3示出了根据本公开实施例的用于划分点云数据的方法300的流程图。该方法300同样可以在例如图1的计算设备130处实施。

如图所示,在框310,获取与第一点云数据帧相关联的至少一个2D图像。如上所述,计算设备130可以从场景数据112中获取第一点云数据帧和在采集位置和/或时间上与该第一点云数据帧相关联的图像数据。

考虑一个示例,例如当前待处理的第一点云数据帧是今天10:00采集的,由于图像和点云数据是同时采集的,所以通过时间戳可以选择例如9:50到10:10之间的图像,作为与第一点云数据帧相关联的图像。在另一个示例中,例如第一点云数据帧的世界坐标下的采集位置是(100,100,3),可以选择与之距离例如在100米范围内的所有采集位置处的图像,作为与第一点云数据帧相关联的图像。应理解到,可以通过本领域已知或未来开发的任意合适方式来获取与第一点云数据帧相关联的图像。

在框320,对至少一个2D图像进行语义分割以确定至少一个2D图像中的像素点所对应的物体。在本公开的实施例中,可以通过本领域已知或未来开发的任意合适的图像语义分割技术来执行该步骤,为避免混淆本公开的思想,这里不再对此进行赘述。通过语义分割,可以区分至少一个2D图像中的各个物体(例如,地面、建筑物、动物、人物等等)对应的像素范围,进而可以确定至少一个2D图像中的各个像素点所对应的物体。

在框330,将第一点云数据帧中的点云数据映射到至少一个2D图像的坐标空间中。这涉及从3D到2D的坐标转换,由此可以得到点云数据与像素点之间的对应关系。应理解到,可以通过本领域已知或未来开发的任意合适方式来实现该映射。在本公开的一个实施例中,可以将点云数据先转换到图像坐标,然后将图像坐标转换到像素坐标。在一个示例中,例如,采集作业车110通过LIDAR获取点云数据并通过相机获取图像数据。通过测量LIDAR和相机的相对位置关系来得到LIDAR和相机的旋转矩阵[R,T]。将点云数据转换到以相机为原点的坐标系下,即

[R,T]*P_lidar=P_camera (1)

其中P_lidar是在LIDAR的坐标系下的点,P_camera是在相机的坐标系下的点。然后将在相机为原点的点云数据映射到图像坐标中,即

X_film=fx*X/Z–x_center;Y_film=fy*Y/Z–y_center(2)

其中X_film为点云数据在图像中的X方向上的位置(像素级),fx为X方向上的焦距,x_center为图像中心点的X方向上的位置(像素级),Y_film为点云数据在图像中的Y方向上的位置(像素级),fy为Y方向上的焦距,y_center为图像中心点的Y方向上的位置(像素级)。然后将图像坐标转换到像素坐标。由此可以得到点云数据与像素点之间的对应关系。

在框340,基于像素点所对应的物体和所述映射,对第一点云数据帧中的点云数据进行聚集,以形成至少一个点云数据集合。根据本公开的实施例,可以基于在框320确定的各个像素点所对应的物体信息,以及在框330得到的点云数据中的点与像素点的对应关系,对点云数据中的各点赋予相应的物体属性,从而基于物体属性对点云数据进行聚类,并形成相应的点云数据集合。

上述结合图3描述的对点云数据的划分是为了后续能够基于不同的物体属性对相应的点云数据分别进行修复。通过基于对点云数据的划分并针对划分后的点云数据分别执行修复,可以提高点云数据修复的准确性,同时也可以提高点云数据修复的效率。应理解到,上述图3的方法仅为示例,本公开实施例并不限于此,而是也可以采用其它合适方式对点云数据进行划分以针对划分后的点云数据分别执行修复。

返回图2,在框220,从至少一个2D图像中确定与所述第一点云数据帧的匹配图像,所述匹配图像为数据采集位置和/或时间上与所述第一点云数据帧匹配。根据本公开的实施例,计算设备130可以从上述至少一个2D图像中找出采集位置和/或时间与第一点云数据帧一致或接近一致的图像作为第一点云数据帧的匹配图像。

在框230,根据第一点云数据帧和与第一点云数据帧相关联的至少一个参考点云数据帧,确定匹配图像中的像素点的3D位置数据。为便于描述,在本文中,参考点云数据帧也可称为“第二点云数据帧”。

根据本公开的实施例,计算设备130可以获取第一点云数据帧之前和/或之后的一个或多个帧作为参考点云数据帧,即,第二点云数据帧。根据本公开的实施例,可以通过多帧点云数据将一个图像中所有的像素点都还原到3D空间中,从而得到像素点与点云数据的一一对应关系。

下面结合图4更详细地描述框230的示例性实施。图4示出了根据本公开实施例的用于确定匹配图像中的像素点的3D位置数据的方法400的流程图。该方法400同样可以在例如图1的计算设备130处实施。

如图4所示,在框410,获取与第一点云数据帧相邻的一个或多个第二点云数据帧。根据本公开的实施例,可以根据需要确定第二点云数据帧的数量,以便能从中确定匹配图像中的每个像素点对应的点云数据,也就是,确定像素点的3D位置数据。

在框420,将第一点云数据帧和第二点云数据帧中的点云数据映射到匹配图像的坐标空间中。这同样涉及从3D到2D的坐标转换,由此可以得到点云数据与像素点之间的对应关系。框420的操作可以通过类似于在框330描述的操作来实施,这里不再赘述。

在框430,基于在框420处执行的映射,确定匹配图像中的像素点的3D位置数据。根据本公开的实施例,基于在框420处的映射,可以得到点云数据与像素点之间的对应关系,从而可以确定出匹配图像中的所有像素点对应的点云数据,即3D位置数据。

在结合图4描述的方法中,可以基于多帧点云数据确定出一张匹配图像中的所有像素点的3D位置数据的真值,这旨在于为后续模型的训练提供相应的训练输出数据。应理解到,上述图4的方法仅为示例,本公开实施例并不限于此,而是也可以采用其它合适方式来确定像素点的3D位置数据的真值以作为模型训练的训练输出数据。

返回图2,在框240,针对点云数据集合中的每一个,分别以匹配图像中的对应像素点的2D位置数据和3D位置数据作为训练输入数据和训练输出数据,通过深度学习网络生成用于该点云数据集合所对应的物体的点云数据修复模型。

根据本公开的实施例,计算设备130可以将对应于同一物体的点云数据集合中的点云数据和匹配图像中对应同一物体的像素点的2D位置数据作为深度学习网络的输入层,将对应同一物体的像素点的3D位置数据作为深度学习网络的输出层,由此训练并生成用于点云数据集合所对应的物体的点云数据修复模型。也就是说,点云数据修复模型是特定于图像中物体的,而不是仅仅特定于整个图像的。这样是有益的,例如能够更准确地训练点云修复模型,使其更具有针对性,并且精度得以提高。

根据本公开的实施例,可以通过本领域已知或未来开发的任意合适的深度学习网络来实现模型的构建。例如,卷积神经网络、循环神经网络、深度神经网络等等。目前主流的深度学习网络层包括输入层、卷积层、池化层(max pooling)、全连接层、输出层等等。可以根据具体的需要来组合这些层,并对每个层给予一些初始值,然后通过训练集的真值修改这些初始值,由此得到的预测准确率结果越来越高。输出层会给出预测值。在训练模式中,会比较预测值和真值之间的差来调整网络中的值。

根据本公开的实施例,可以针对不同物体对应的点云数据,训练对应的深度学习网络来修复对应物体的点云数据。与利用同一个网络修复所有的点云数据相比,准确率更高。

至此结合图2至图4描述了根据本公开实施例的生成点云数据修复模型的过程。下面图5描述根据本公开实施例的使用点云数据修复模型的过程。图5示出了根据公开实施例的用于点云数据修复的方法500的流程图。该方法500可以在例如图1的计算设备130处实施。将会理解,上文描述的方法200可以被视作点云数据恢复模型的训练过程,而下面将要描述的方法500是该模型的使用过程。

如图5所示,在框505,获得与待修复的点云数据帧相关联的至少一个2D图像。该步骤的处理类似于在框205的处理,其它细节可参见前面结合框205的描述。

在框510,根据在框505获得的至少一个2D图像中物体的属性将待修复的点云数据帧划分成至少一个点云数据集合。根据本公开的实施例,计算设备130可以获取与待修复的点云数据帧在采集位置和/或时间上相关联的一个或多个2D图像,并基于待修复的点云数据帧中的点数据所对应的2D图像中物体的属性,将点云数据帧划分成至少一个点云数据集合,以便于后续针对不同物体属性分别执行修复。该步骤的处理类似于在框210的处理,其它细节可参见前面结合框210的描述。

在框520,从至少一个2D图像中确定与所述待修复的点云数据帧的匹配图像,所述匹配图像为数据采集位置和/或时间上与所述待修复的点云数据帧匹配。根据本公开的实施例,计算设备130可以从上述至少一个2D图像中找出采集位置和/或时间与点云数据帧一致或接近一致的图像作为点云数据帧的匹配图像。该步骤的处理类似于在220的处理。

在框530,针对点云数据集合中的每一个,基于匹配图像中的对应像素点的2D位置数据,分别通过用于该点云数据集合所对应的物体的点云数据修复模型,对点云数据集合中的点云数据进行修复。与模型建立时的训练输入数据类似,在本公开的实施例中,将对应同一物体属性的点云数据集合中的点云数据以及匹配图像中的对应同一物体属性的像素点的2D位置数据作为点云数据修复模型的输入数据。相应地,点云数据修复模型的输出数据即为修复后的对应同一物体属性的点云数据,即匹配图像中的对应同一物体属性的所有像素点的3D位置数据。所谓修复可以是指点云数据中的点数据的填补。

根据本公开的实施例,通过利用海量数据进行建模的方式实现点云数据的修复,确保了方法的准确性和普适性。此外,在本公开的实施例中,可以针对不同物体对应的点云数据,通过预先训练的对应物体的点云数据修复模型来修复对应物体的点云数据。与利用同一个模型修复所有的点云数据相比,准确率更高。

本公开实施例还提供了用于实现上述方法或过程的相应装置。图6示出了根据本公开实施例的用于生成点云数据修复模型的装置600的示意性框图。该装置600可以在例如图1的计算设备130处实施。如图6所示,装置600可以包括图像获得模块605、点云划分模块610、图像确定模块620、位置确定模块630和模型生成模块640。

根据本公开的实施例,图像获得模块605可以被配置为获得与第一点云数据帧相关联的至少一个2D图像。图像获得模块605的操作类似于在图2的框205的操作,其细节不再赘述。

根据本公开的实施例,点云划分模块610可以被配置为基于2D图像中物体的属性将第一点云数据帧划分成至少一个点云数据集合。点云划分模块640的操作类似于在图2的框210的操作,其细节不再赘述。

在本公开的实施例中,点云划分模块610可以包括(图中未示出):语义分割单元,被配置为对至少一个2D图像进行语义分割以确定至少一个2D图像中的像素点所对应的物体;第一映射单元,被配置为将第一点云数据帧中的点云数据映射到至少一个2D图像的坐标空间中;以及数据聚集单元,被配置为基于像素点所对应的物体和所述映射对第一点云数据帧中的点云数据进行聚集,以形成至少一个点云数据集合。这些单元的操作类似于前面参照图3描述的操作,其细节不再赘述。

根据本公开的实施例,图像确定模块620可以被配置为从至少一个2D图像中确定与第一点云数据帧在数据采集位置和/或时间上的匹配图像。图像确定模块620的操作类似于在图2的框220的操作,这里不再赘述。

根据本公开的实施例,位置确定模块630可以被配置为基于第一点云数据帧和与第一点云数据帧相关联的至少一个参考点云数据帧(在本文也称为第二点云数据帧),确定匹配图像中的像素点的3D位置数据。位置确定模块630的操作类似于在图2的框230的操作,其细节不再赘述。

在本公开的实施例中,位置确定模块630可以包括(图中未示出):数据获取单元,被配置为获取与第一点云数据帧相邻的一个或多个点云数据帧作为参考点云数据帧;第二映射单元,被配置为将第一点云数据帧和第二点云数据帧中的点云数据映射到匹配图像的坐标空间中;以及位置确定单元,被配置为基于所述映射,确定匹配图像中的像素点的3D位置数据。这些单元的操作类似于前面参照图4描述的操作,其细节不再赘述。

根据本公开的实施例,模型生成模块640可以被配置为针对点云数据集合中的每一个,分别以匹配图像中的对应像素点的2D位置数据和3D位置数据作为训练输入数据和训练输出数据,通过深度学习网络生成用于该点云数据集合所对应的物体的点云数据修复模型。模型生成模块640的操作类似于在图2的框240的操作,其细节不再赘述。

图7示出了根据本公开实施例的用于点云数据修复的装置700的示意性框图。该装置700同样可以在例如图1的计算设备130处实施。如图7所示,装置700可以包括图像获得模块705、点云划分模块710、图像确定模块720和点云修复模块730。

根据本公开的实施例,图像获得模块705可以被配置为获得与待修复的点云数据帧相关联的至少一个2D图像。图像获得模块705的操作类似于在图5的框505的操作,其细节不再赘述。

根据本公开的实施例,点云划分模块710可以被配置为基于2D图像中物体的属性,将待修复的点云数据帧划分成至少一个点云数据集合。点云划分模块710的操作类似于在图5的框510的操作,其细节不再赘述。

在本公开的实施例中,点云划分模块710可以包括(图中未示出):语义分割单元,被配置为对至少一个2D图像进行语义分割以确定至少一个2D图像中的像素点所对应的物体;第一映射单元,被配置为将待修复的点云数据帧中的点云数据映射到至少一个2D图像的坐标空间中;以及数据聚集单元,被配置为基于像素点所对应的物体和所述映射对待修复的点云数据帧中的点云数据进行聚集,以形成至少一个点云数据集合。这些单元的操作类似于结合图3描述的操作,其细节不再赘述。

根据本公开的实施例,图像确定模块720可以被配置为从所述至少一个2D图像中确定与所述待修复的点云数据帧在数据采集位置和/或时间上的匹配图像。图像确定模块720的操作类似于在图5的框520的操作,这里不再赘述。

根据本公开的实施例,点云修复模块730可以被配置为针对点云数据集合中的每一个,基于匹配图像中的对应像素点的2D位置数据,分别通过用于该点云数据集合所对应的物体的点云数据修复模型,对点云数据集合中的点云数据进行修复。点云修复模块730的操作类似于在图5的框530的操作,这里不再赘述。

应当理解,装置600和装置700中记载的每个单元分别与参考图2和图5描述的方法200和500中的每个步骤相对应。并且,装置600和装置700及其中包含的单元的操作和特征都对应于上文结合图2至图5描述的操作和特征,并且具有同样的效果,具体细节不再赘述。

装置600和装置700中所包括的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。在一个实施例中,一个或多个单元可以使用软件和/或固件来实现,例如存储在存储介质上的机器可执行指令。除了机器可执行指令之外或者作为替代,装置600和装置700中的部分或者全部单元可以至少部分地由一个或多个硬件逻辑组件来实现。作为示例而非限制,可以使用的示范类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD),等等。

图6和图7中所示的这些单元可以部分或者全部地实现为硬件模块、软件模块、固件模块或者其任意组合。特别地,在某些实施例中,上文描述的流程、方法或过程可以由存储系统或与存储系统对应的主机或独立于存储系统的其它计算设备中的硬件来实现。

图8示出了可以用来实施本公开实施例的示例性计算设备800的示意性框图。设备800可以用于实现图1的计算设备130。如图所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。

设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理单元801执行上文所描述的各个方法和处理,例如方法200和/或方法500。例如,在一些实施例中,方法200和/或方法500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法200和/或方法500的一个或多个步骤。备选地,在其他实施例中,CPU 801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200和/或方法500。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

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