点云数据的处理方法、装置、系统和存储介质与流程

文档序号:19421711发布日期:2019-12-14 01:34阅读:628来源:国知局
点云数据的处理方法、装置、系统和存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种点云数据的处理方法、装置、系统和存储介质。



背景技术:

随着数字图像处理、数字投影显示和计算机处理技术的发展与成熟,三维建模技术得到快速发展和广泛应用。利用三维建模技术获取真实场景中物体对象外表面的点数据,并将具备三维空间信息的点数据的集合称为是三维点云数据,基于三维点云数据,可以构建物体对象的三维模型。

由于点云法向量可以代表三维物体的空间结构,点云法向量的计算结构的准确性,直接影响后续点云数据处理和构建三维模型的准确程度,点云数据的法向量特征的准确程度对衡量三维点云结构的精度具有重要意义。

现有技术中,由于点云获取设备存在固有物理特性的限制,得到的点云数据通常包含漏洞、噪声等,或者由于三维物体本身包括尖锐角、非凸结构等结构特征,导致点云法向量的计算结果受到噪声或物体本身结构特征的影响严重,结算结果容易出错。



技术实现要素:

本发明实施例提供一种点云数据的处理方法、装置、系统和存储介质,可以快速准确地计算点云数据的法向量。

根据本发明实施例的一方面,提供一种点云数据的处理方法,包括:

获取物体对象的表面的三维点集合,对于所述物体对象表面的第一点,确定所述第一点的物体对象的子表面;

确定经过第一点且与子表面垂直的第一轴线;

获取第一点对应的视角方向,视角方向是第一点在对应的图像采集设备中的投影位置指向第一点的空间位置的方向;

确定第一轴线上与第一点的视角方向成锐角的向量,作为第一点的法向量。

根据本发明实施例的另一方面,提供一种点云数据的处理装置,包括:

子表面确定模块,用于获取物体对象的表面的三维点集合,对于物体对象表面的第一点,确定第一点的物体对象的子表面;

轴线确定模块,用于确定经过第一点且与子表面垂直的第一轴线;

视角方向获取模块,用于获取第一点对应的视角方向,视角方向是第一点在对应的图像采集设备中的投影位置指向第一点的空间位置的方向;

法向量确定模块,用于确定第一轴线上与第一点的视角方向成锐角的向量,作为第一点的法向量。

根据本发明实施例的再一方面,提供一种点云数据的处理系统,包括:存储器和处理器;该存储器用于存储程序;该处理器用于读取存储器中存储的可执行程序代码以执行上述的三维点云数据的处理方法。

根据本发明实施例的又一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述各方面的点云数据的处理方法。

根据本发明实施例中的点云数据的处理方法、装置、系统和存储介质,可以通过相机视角确定法向量朝向信息,计算复杂度小且准确度高,从而提高运算效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是示出根据本发明实施例的物体对象表面采样点的法向量示意图;

图2a是示出根据本发明实施例的光滑特征的物体对象表面的法向量结构示意图;

图2b是示出根据本发明实施例的尖锐特征的物体对象表面的法向量结构示意图;

图3a是示出根据本发明实施例的凸结构的物体对象表面的法向量结构示意图;

图3b是示出根据本发明实施例的具有非凸结构的物体对象表面的法向量结构示意图;

图4a是示出根据本发明实施例的三维点集合构建的kdtree的结构示意图;

图4b是示出根据本发明实施例的kdtree对应的平面进行切割的效果示意图;

图5是示出根据本发明示意性实施例的物体对象表面任一点的视角方向示意图;

图6是示出根据本发明一个实施例的点云数据的处理方法的流程示意图;

图7是示出根据本发明另一实施例的点云数据的处理方法的流程图;

图8示出了根据本发明一实施例提供的点云数据的处理装置的结构示意图;

图9是示出实现根据本发明实施例的点云数据的处理方法和装置的计算设备的示例性硬件架构的结构图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

在本发明实施例中,点云(pointcloud)可以表示物体表面的离散点集合,点云数据(pointclouddata)可以表示通过测量仪器获取的物体表面离散点的数据集合,点云数据可以包括该物体对象的颜色信息、深度信息以及通过三维坐标表示的几何位置信息,通过物体对象的几何位置信息可以得到该物体对象的三维尺寸。

在一个实施例中,可以采用例如三维扫描仪、激光或雷达扫描仪、立体摄像机等可以进行三维扫描的仪器设备,对真实场景中的物体对象投射结构光,以进行多视角例如360度不同视角下的三维扫描,获取真实场景中物体对象的多个点数据,这些点数据构成与不同视角对应的点云数据。

在一个实施例中,可以将物体对象的点云数据数据输入文件进行存储,得到三维点云模型,利用三维点云模型进行三维模型的表面重建,确定物体对象的三维表面形状,得到物体对象的面模型,例如,将点云模型转化为面模型例如多边形网格模型或曲面模型。其中,多边形网状模型中的每个多边形可以唯一确定一个多边形平面;曲面模型的曲面之间可以有缝隙或重叠。在三维模型处理中,可以将物体对象的面模型的每个多边形或每个曲面作为三维模型的待处理面片。

图1示出了根据本发明实施例的物体对象表面采样点的法向量示意图。如图1所示,在本发明实施例中,法线(normal)是到达物体对象表面的一条垂线,法线同时是一个向量,简称法向量。对于物体对象的点云数据中的任意点,该任意点所在区域表面的法向量可以称为是该任意点的法向量。

在本发明实施例中,法向量可以用于描述三维物体的空间结构,是物体对象三维模型的重要结构特征,下面以三维模型的表面重建和纹理贴图过程为例进行说明。

继续参考图1,图像采集设备的入射线与待处理面片的法向矢量之间的夹角,可以用于描述用于物体对象三维模型的拍摄视角。

在一个实施例中,三维模型的表面重建过程中,不同拍摄视角下的点云数据模型,有时会表现为旋转错位或平移错位。因此,需要对多个点云进行点云配准,通过旋转和/或平移操作进行坐标转换,实现点云数据在统一坐标系下的一致对准,以得到完整的三维点云数据模型。

在点云配准过程中,物体对象表面采样点的法向量的变化程度,可以用于衡量该采样点所在区域的起伏或平坦程度,即采样点的法向矢量的变化程度越大,则表示该点所在区域的起伏越大;当采样点的法向量在法向量变化方向上取得极值时,表示当前采样点法向矢量发生突变。

在该实施例中,可以基于点云法向量对不同的点云数据进行特征匹配,确定不同点云数据之间的特征点对,对特征点对中的一个或多个特征点进行坐标转换,以对该不同的点云数据进行配准。

在一个实施例中,为了提高三维模型的真实性,可以通过图像采集设备获取的物体对象的纹理图像,并利用物体对象三维模型和纹理图像的映射关系进行纹理贴图,将该纹理图像映射到物体对象的三维模型,得到物体对象的三维纹理模型。

在该实施例纹理贴图的过程中,对于物体对象三维模型的每个待处理面片,如果物体对象的面模型的每个待处理面片中点的法向量一致,那么物体对象的三维模型则会呈现出镜面的视觉效果,即物体对象的三维模型的每个面像镜面一样拼接而成,失真程度较高。

在该实施例中,可以根据图像采集设备的入射线与待处理面片的法向矢量之间的夹角,选择对用于物体对象的面模型的每个待处理面片的更合适的拍摄视角,确定与选择的拍摄视角对应的纹理图像子集,以对三维模型的待处理面片进行三维贴图,得到更加精确的三维纹理模型。

通过上述实施例可知,三维点云法向量是衡量三维点云空间结构的重要指标,是点云数据中必不可少的特征属性,利用点云的法向量进行三维模型的特征描述和特征匹配,有利于提高物体对象的三维模型的精度和质量。

在一个实施例中,通过三维扫描得到点云数据存在误差例如噪声和漏洞,噪声点会使表面重建出来的曲面不光滑或出现较大的形变;而由于点云数据本身的离散性,漏洞会使表面重建出来的曲面出现空洞。点云数据存在的误差会导致点云法向量计算错误。

图2a示出了根据本发明实施例的光滑特征的物体对象表面的法向量结构示意图;图2b示出了根据本发明实施例的尖锐特征的物体对象表面的法向量结构示意图;图3a示出了根据本发明实施例的凸结构的物体对象表面的法向量结构示意图;图3b示出了根据本发明实施例的具有非凸结构的物体对象表面的法向量结构示意图。

在一个实施例中,可以通过使用曲面重建技术,从获取的点云数据集中得到采样点和该采样点的临近点对应的邻近区域曲面,然后从曲面模型中计算采样点的邻近区域曲面的法向矢量。

作为一个示例,可以利用三维模型处理软件例如meshlab软件读取三维点云、对三维点云进行表面重建和计算三维点云的法向量。

如图2a所示,在一个实施例中,采样点的曲率的变化程度,可以用于衡量待处理面片的曲面弯曲程度。当曲率值变化程度越小,表示曲面弯曲程度越小,即曲面的光滑程度越高。

如图2b所示,在一个实施例中,曲率的梯度可以用于表示当前采样点的曲率的变化方向,曲率的梯度值可以用于衡量当前采样点的曲率变化的快慢;当采样点的曲率的梯度取得极值时,表示物体对象表面在当前采样点的曲率发生突变。尖锐特征一般是指物体对象的表面采样中,曲率发生突变的点,例如尖锐特征可以表现为折痕或角点,在折痕或角点处,两个或两个以上的光滑曲面相交。

在本发明实施例中,可以通过临近点验证法确定点云法向量的具体朝向。具体地,由于计算得到的采样点的邻近区域曲面的法向矢量具有方向统一性,即邻近区域曲面中所有点的法向量的朝向曲面的外部。因此,如图3a所示,物体对象的光滑程度越高,采样点法向矢量的准确程度越高。如图3b所示,如果物体对象表面具有尖锐特征的采样点,则该采样点所在邻近区域曲面的其他点的法向量的朝向可能会发生错误。

在一个实施例中,可以利用点云重心确定采样点所在表面的法向矢量的具体朝向。作为一个示例,对于点云数据中的任意一个采样点,在采样点和该采样点的临近点对应的邻近区域曲面,确定该邻近区域曲面的重心,该采样点的邻近区域曲面的重心朝向物体对象表面的采样点的方向作为该采样点的法向量的朝向。其中,点云的重心可以是一个点坐标,例如可以是邻近区域曲面中所有点的平均值。

作为一个示例,本发明实施例中确定物体对象表面采样点的法向量的方法可以利用pcl(pointcloudlibrary)质心法。

如图3a所示,如果物体对象表面采样点的邻近区域曲面为凸结构,该邻近区域曲面上每个点的转向都应该一致,且邻近区域曲面的每个点的相邻曲面交界出形成的夹角,不存在内角大于外角的情况,利用点云重心计算采样点所在表面的法向矢量的朝向均与该采样点的实际法向矢量的朝向保持一致。

如图3b所示,非凸结构一般是指物体对象表面的多个采样点对应的多边形面片存在内角大于外角的情况,造成含有非凸部位的曲面及形状较为复杂,在利用点云重心计算具有非凸结构的临近区域曲面上的采样点所在表面的法向矢量时,计算得到的法向矢量的朝向容易与该采样点的实际法向矢量的朝向发生偏差。

为了避免上述实施例中的点云法向量计算不准确的问题,本发明实施例提供一种三维点云数据的处理方法,可以在获取的三维点云数据不近完美例如出现比如漏洞、噪声等,以及物体本身的结构特点例如具有如尖锐角结构、非凸结构等情况下,依然获得准确的法向量信息。

下面结合附图,详细描述根据本发明实施例的三维点云数据的处理方法、装置和系统。

在本发明实施例中,三维点云数据为物体对象表面的三维点集合,将该三维点集合中的任一点作为物体对象表面的第一点,可以在根据临近第一点的三维点集合,确定第一点的临近区域表面,将经过该第一点且与该临近区域表面垂直的法向矢量,作为三维点云数据中第一点的法向量。

在一个实施例中,点云数据中两个不同采样点在空间中的距离越近,则该两个采样点之间的相似性越高。可以根据点云数据之间的相似性,确定与该待计算法向量点特征最相似的点,作为临近该待计算法向量点的三维点子集。

在一个实施例中,可以通过范围查询(rangesearch)或k近邻查询(k-neighborsearch)进行待计算法向量点的匹配和临近待计算法向量点的采样点的查询。

作为一个示例,范围查询可以理解为是:根据待计算法向量点和预设查询距离的阈值,从点云数据中找出所有与待计算法向量点的空间距离小于该阈值的点数据。

作为一个示例,k近邻查询可以理解为是:根据待计算法向量点和正整数k,从点云数据中找出距离待计算法向量点最近的k个数据。在该示例中,可以依次计算点云数据中待计算法向量点与其他点之间的距离,选择计算得到的距离最小的点作为要查找的待计算法向量点的临近点。

在本发明实施例中,如果点云数据的数据量非常大,为了提高搜索效率和准确性,可以通过预先构建全体点云数据的索引树,对点云数据中的三维点构建数据索引。具体地,可以预先根据点云中点的坐标,将点云数据中的点划分到不同的空间区域,以实现临近任一点的三维点搜索,构建该点的临近点集合。

在一个实施例中,对点云数据的空间区域进行划分,根据划分的空间区域管理点云数据中的每个点,在搜索物体对象表面的第一点的临近点时,根据预先构建的点云数据的数据索引进行快速匹配。

在一个实施例中,可以采用树形索引结构对数据进行空间划分以实现高效率的数据检索。作为一个示例,该树形索引结构根据划分的三维空间的子空间是否有重叠可以分为切割划分clipping和重叠区划分overlapping两种。前者切割划分clipping的方法划分三维空间得到的子空间之间没有重叠,例如kd(k-dimensional)树,简称k-d树;后者重叠区划分overlapping的方法划分三维空间得到的子空间之间相互有交叠,例如平衡树中的r树。

在本发明实施例中,k-d树是一种分割k维数据空间的数据结构,可以用于多维空间中的指定数据的搜索,例如上述实施例中描述的范围搜索和最近邻搜索。在一个实施例中,可以利用k-d树划分一个n维数据集合例如三维点云数据,并且在划分时,在树的每一层根据设定好的划分维度,比较点云数据中待分配采样点与当前维度上的划分节点的数值大小,根据比较结果将待分配采样点数据分配到划分节点对应的左子树和右子树中。

为了便于理解,下面结合图4a和4b,以一个二维数据点集合为例,描述kdtree的构建过程。图4a示出了根据本发明实施例的数据点集合构建的kdtree的结构示意图,图4b示出了根据本发明实施例的kdtree对应的平面进行切割的效果示意图。

如图4a所示,假设二维数据点数据集合s={(2,3),(5,4),(9,6),(4,7),(8,1),(7,2)}。根据二维数据点数据集合s构建k-d树的过程可以包括以下步骤:

步骤s01,确定数据集合的划分维度。

在一个实施例中,首先可以确定空间数据集合所包括的维度,进而根据数据在每个维度的分散程度确定进行数据划分的空间维度。

作为一个示例,由于二维数据点数据集合s包括两个维度,该两个维度对应的坐标轴为x坐标轴和y坐标轴,坐标轴编号例如可以记为split={0,1},0表示x坐标轴,1表示y坐标轴。

在一个实施例中,数据的方差表现了一组数据与该组数据平均值的靠拢程度,方差越小表明数据越集中于平均值,方差越大表明数据越分散。

因此,可以分别计算每个维度对应的坐标轴方向上数据的方差,将方差最大的坐标轴对应的空间维度作为对数据集合进行划分的空间维度。也就是说,数据集合的划分维度,为所具有的空间维度中数据集合的分散程度最高的维度。

作为一个示例,对于二维数据点数据集合s,分别计算x方向和y方向上数据的方差可知x坐标轴的数据方差最大,也就是说,沿x坐标轴方向上的数据分散的比较开,在这方向上进行是数据分割将具有较好的空间分辨率。

步骤s01,确定划分节点和该划分节点对应的划分平面。

在该步骤中,可以将数据集合中的数据在进行划分的空间维度的投影位置的中间位置的数据点,作为数据集合中的划分节点。

在一个实施例中,将数据集合中的数据在划分的空间维度对应的坐标方向上进行排序,如果数据集合中的数据个数n为奇数,该划分节点可以是排序后位于中间的数据节点;如果数据集合中的数据个数n为偶数,该划分节点可以是第n/2个最大的数据节点。在该实施例中,选出的数据节点可以称为是该数据集合中的中值或中位数。

在该实施例中,与划分节点对应的划分平面为:包含该划分节点,且垂直于划分维度对应的延伸方向,划分平面上的划分节点在空间维度的投影位置,为数据集合中的所有数据节点在划分维度的投影位置的中间位置。

作为一个示例,根据x轴方向的值2,5,9,4,8,7排序,该数据集合中的数据个数为6,确定该数据集合的中值为7(第3个最大的数据节点),因此可以确定二维数据点数据集合s的划分节点为(7,2),与该划分节点对应的划分平面为:通过划分节点(7,2)且垂直为x轴方向的直线x=7。

步骤s03,确定与划分节点对应的左子空间和右子空间。

如图4b所示,划分平面x=7可以将整个三维空间分为两部分,x<=7的部分为左子空间,包含3个节点{(2,3),(5,4),(4,7)};另一部分为右子空间,包含2个节点{(9,6),(8,1)}。

步骤s04,确定二维数据点数据集合s的划分节点对应的左子空间的划分节点和右子空间的划分节点进行迭代处理,直到满足预设的空间划分限制条件,得到二维数据点数据集合s。

在一个实施例中,预设的空间划分限制条件为每个新的子空间中只包括一个三维点,或者每个新的子空间中的三维点与新的划分节点的空间距离在预设的距离阈值内。

作为一个示例,将二维数据点数据集合s中的划分节点作为根节点,对左子空间和右子空间内的数据节点重复上述根节点的处理过程,可以得到下一级子节点(5,4)和(9,6),同时利用下一级子节点(5,4)和(9,6)将空间和数据集进一步细分,最后生成如图4a所示的二维数据点数据集合s的k-d树,以及如图4b所示的与k-d树中划分节点对应的子空间。

在发明实施例中,可以利用构建的k-d树,查找最邻近第一点的k个点,或者与第一点在指定空间维度的距离在预设的距离阈值内的点。下面以k-d树的最邻近搜索方法为例,描述在k-d树中检索临近第一点的k个点的过程。

为了便于理解,在下面实施例的描述中,在指定的划分维度,k-d树节点的左子树分支中的数据点的取值小于该划分节点的取值,划分节点的右子树分支中的点的取值大于该划分节点的取值。

在一个实施例中,k-d树的最邻近搜索方法的基本原理是:利用第一点对构建的k-d树进行二叉树搜索。

作为一个示例,在划分维度中第一点的值小于等于划分节点的值,就进入该划分节点的左子树分支,在划分维度第一点的值大于等于划分节点的值,就进入该划分节点的右子树分支,得到第一点最邻近点,即与第一点处于同一个子空间的叶子节点。

在一个实施例中,在查找第一点的最邻近点的过程中,将k-d树中与第一点比较过的节点按照比较先后顺序形成搜索路径。在得到第一点最邻近点之后,可以回溯搜索路径,判断搜索路径上的节点的其他子节点空间中是否有距离第一点更近的数据点,如果有距离第一点更近的数据点,将该子节点加入搜索路径,并在该节点的其他子节点空间中进行第一点的最邻近点的搜索,重复上述搜索路径的回溯过程,直到整个搜索路径回溯完成,得到第一点的最临近点。

作为一个示例,对于物体对象表面的第一点,确定临近该第一点的三维点子集的步骤,具体可以包括:

步骤s11,按照指定的顺序,对划分节点在空间维度的投影位置的取值进行排序,得到排序的划分节点对应的投影位置的取值集合。

步骤s12,利用二分查找法,查找投影位置的取值集合中,与第一点在空间维度的投影位置的间距满足预设间距条件的指定个数的空间投影取值。

步骤s13,将满足预设间距条件的指定个数的空间投影取值对应的三维点的集合,作为确定的临近第一点的三维点子集。

通过上述步骤,对于物体对象表面任一点,可以确定临近该点的三维点子集。

在一个实施例中,利用扫描设备采集物体对象的三维点云数据时,需要使用三维扫描仪中的图像采集设备拍摄物体对象的图像。图5示出了在物体对象表面的任一点的视角方向示意图。

如图5所示,以图像采集设备为相机为例,对于物体对象表面的第一点,该第一点的相机成像需要利用相机的投影平面和成像平面。其中,投影平面的o点为图像采集设备的光心即投影中心,xc轴和yc轴与成像平面坐标系的x轴和y轴平行,zc轴为相机的光轴,光轴与成像平面垂直。其中,点o与xc轴,yc轴,zc轴组成的直角坐标系可以称为是相机坐标系。

作为一个示例,点云数据中第一点p的空间位置坐标可以记为p(xp,yp,zp),对应的相机视角坐标可以记为c(xc,yc,zc),则相机朝向第一点点p的向量可以表示为相机朝向第一点p的方向记为第一点p对应的视角方向。

下面结合图6,详细描述利用第一点的拍摄视角信息来确定第一点的法向量的具体过程。

图6示出了根据本发明一个实施例的点云数据的处理方法的流程示意图。如图6所示,在一个实施例中,点云数据的处理方法100具体可以包括:

步骤s110,对物体对象的三维点云数据中的第一点,确定临近第一点的三维点子集。

在该步骤中,通过上述实施例中描述的查找临近第一点的方法,获取指定数量个临近该第一点的三维点,得到临近第一点的的三维点子集。

步骤s120,根据临近第一点的三维点子集,确定该第一点的物体对象的子表面。

在该步骤中,第一点的物体对象的子表面可以是一个曲面,也可以是一个平面,而平面可以视为是曲面的一种。因此,可以统一使用曲面估计方法,确定第一点的物体对象的子表面。

在一个实施例中,临近区域表面可以通过空间特征参数来表示。

作为一个示例,例如临近区域表面可表示为ax+by+cz+d=0。根据第一点和临近该第一点的三维点子集,可以对第一点的物体对象的子表面的空间特征参数进行参数估计。

在一个实施例中,估计得到的空间特征参数使第一点的物体对象的子表面满足子表面约束条件,该子表面约束条件为:该第一点的三维点子集中的点到该子表面上的对应点的偏移距离最小。

在该示例中,可以利用最小二乘法,将临近该第一点的三维点子集中的每个点作为采样点,将采样点在确定的子表面上的对应点作为估计点,则该子表面约束条件可以进一步表现为:每个采样点到该子表面上对应点的距离的平方和最小,即估计得到的该子表面的误差最小。

在一个实施例中,空间特征参数的估计值确定的子表面的误差可以通过临近第一点的三维点子集的协方差矩阵来表示。

具体地,临近第一点的三维点子集的协方差矩阵可以用于衡量该临近第一点的三维点子集在每个维度偏离其均值的程度。也就是说,该临近第一点的三维点子集在每个维度偏离其均值的程度越低,通过空间特征参数的估计值确定的子表面的误差越小,该临近区域表面的凹凸变化越小。

因此,在本发明实施例中,临近第一点的三维点子集的协方差矩阵,可以反映第一点的子表面的表面凹凸变化,即不平坦程度的变化。作为一个示例,第一点的子表面的不平坦程度可以表示为该第一点的子表面的曲率大小。

步骤s130,确定经过第一点且与子表面垂直的第一轴线。

在本发明实施例中,可以通过多种方式确定经过第一点且与子表面垂直的第一轴线。

作为一个示例,确定子表面的第一点处的切平面;将垂直于切平面且经过第一点的轴线,确定为经过第一点且与子表面垂直的第一轴线。

作为一个示例,可以获取该第一点在该子表面上不平坦程度变化最快,即曲率变化最快的直线方向作为该第一点在该物体对象子表面的轴线。

在一个实施例中,可以通过构建第一点的三维点子集的协方差矩阵,确定确定经过第一点且与子表面垂直的第一轴线。

具体地,协方差矩阵可以用于表征第一点的物体对象的子表面不平坦程度,计算该协方差矩阵的最小特征向量,该协方差矩阵的最小特征向量所在的直线方向是第一点的物体对象的子表面沿该第一点的曲率变化最快的方向。

在该步骤中,可以通过临近第一点的三维点子集的协方差矩阵,对第一点和临近该第一点的三维点子集进行协方差分析。其中,该协方差矩阵的最小特征值对应的特征向量,即最小特征向量所在的直线可以作为经过第一点且与第一点的物体对象的子表面垂直的第一轴线。也就是说,该协方差矩阵的最小特征值对应的特征向量可以表示第一点的法向量的大小,还需要进一步确定该第一点的法向量的具体方向。

步骤s140,确定第一轴线上与第一点的视角方向成锐角的向量,作为第一点的法向量。

在一个实施例中,以第一点的物体对象的子表面的空间特征参数a、b、c,可以确定第一点的具有两个可能的朝向的法向量包括:第一向量和第二向量其中第一向量和第二向量的相反。

在该实施例中,由于向量(a,b,c)垂直于该子表面内经过第一点的任意直线,向量(a,b,c)所在的直线作为该第一轴线,该第一轴线的两个方向为第一点的法向量的两个可能的朝向。

在一个实施例中,任意两个向量之间做向量乘法,如果乘积大于0,表示该两个向量之间的夹角为锐角,如果乘积小于0,表示该两个向量之间的夹角为钝角。

因此,将第一向量和第二向量分别与相机朝向第一点p的向量做向量乘法,将向量乘积大于0的向量作为第一点的法向量。

在本发明实施例中,对于任意结构的点云,均可以通过点云中任一点对应的视角方向确定该点的法向量,相对于传统的方法,计算复杂度小且准确度高,极大的提高点云法向量的运算效率。

为了更好的理解本发明,下面将结合附图,详细描述根据本发明实施例的点云数据的处理方法,应注意,这些实施例并不是用来限制本发明公开的范围。

图7示出了根据本发明一实施例的三维点云数据的处理方法的流程图。如图7所示,本发明实施例中的三维点云数据的处理方法200包括以下步骤:

步骤s210,获取物体对象的表面的三维点集合,对于物体对象表面的第一点,确定第一点的物体对象的子表面。

在一个实施例中,步骤s210中的确定第一点的物体对象的子表面的步骤,具体可以包括:

步骤s211,选择临近第一点的三维点子集。

步骤s212,确定包括第一点且与三维点子集中的点的偏离距离最小的表面,为第一点的物体对象的子表面。

在该实施例中,三维点子集中的点为与第一点距离最近且与第一点的距离满足预设间距条件的指定个数的三维点;且第一点与三维点子集中的点在指定维度的空间分布中,分散程度最高。

在一个实施例中,利用第一点和临近第一点的三维点子集,使用回归分析的方法,确定第一点的物体对象的子表面。

步骤s220,确定经过第一点且与子表面垂直的第一轴线。

在一个实施例中,步骤s220具体可以包括:

确定子表面的第一点处的切平面;将垂直于切平面且经过第一点的轴线,确定为经过第一点且与子表面垂直的第一轴线。

在一个实施例中,步骤s220具体可以包括:

步骤s221,选择临近第一点的三维点子集。

步骤s222,构建第一点的三维点子集的协方差矩阵,协方差矩阵用于表征第一点的物体对象的子表面不平坦程度。

步骤s223,确定协方差矩阵的最小特征向量,将最小特征向量所在的直线作为第一轴线,其中,第一点的物体对象的子表面沿第一点的不平坦程度的变化最快。

步骤s230,获取第一点对应的视角方向,视角方向是第一点在对应的图像采集设备中的投影位置指向第一点的空间位置的方向。

在一个实施例中,步骤s230具体可以包括:

步骤s231,将第一点在对应的图像采集装置中的投影位置,指向第一点的空间位置的连线向量,作为图像采集设备朝向第一点的向量。

步骤s232,选择在第一轴线上与图像采集设备朝向第一点的向量成锐角方向的向量,为第一点的法向量。

步骤s240,确定第一轴线上与第一点的视角方向成锐角的向量,作为第一点的法向量。

在一个实施例中,第一点的法向量为与图像采集设备朝向第一点的向量的向量乘积大于0的向量。

根据本发明实施例的三维点云数据的处理方法,可以通过相机视角确定法向量朝向信息,计算复杂度小且准确度高,极大的提高了运算效率。

图8示出了根据本发明一实施例提供的点云数据的处理装置的结构示意图。如图8所示,点云数据的处理装置800可以包括:

子表面确定模块810,用于获取物体对象的表面的三维点集合,对于物体对象表面的第一点,确定第一点的物体对象的子表面;

轴线确定模块820,用于确定经过第一点且与子表面垂直的第一轴线;

视角方向获取模块830,用于获取第一点对应的视角方向,视角方向是第一点在对应的图像采集设备中的投影位置指向第一点的空间位置的方向;

法向量确定模块840,用于确定第一轴线上与第一点的视角方向成锐角的向量,作为第一点的法向量。

在一个实施例中,子表面确定模块810具体用于:

选择临近第一点的三维点子集;确定包括第一点且与三维点子集中的点的偏离距离最小的表面,为第一点的物体对象的子表面。

在该实施例中,三维点子集中的点为与第一点距离最近且与第一点的距离满足预设间距条件的指定个数的三维点;且第一点与三维点子集中的点在指定维度的空间分布中,分散程度最高。

在一个实施例中,轴线确定模块820具体可以用于:

确定子表面的第一点处的切平面;将垂直于切平面且经过第一点的轴线,确定为经过第一点且与子表面垂直的第一轴线。

在一个实施例中,轴线确定模块820,可以包括:

临近点选择单元,用于选择临近第一点的三维点子集。

协方差矩阵构建单元,用于构建第一点的三维点子集的协方差矩阵,协方差矩阵用于表征第一点的物体对象的子表面不平坦程度。

最小特征向量确定单元,确定协方差矩阵的最小特征向量,将最小特征向量所在的直线作为第一轴线,其中,第一点的物体对象的子表面沿第一点的不平坦程度的变化最快。

在一个实施例中,法向量确定模块840,包括:

连线向量确定单元,用于将第一点在对应的图像采集装置中的投影位置,指向第一点的空间位置的连线向量,作为图像采集设备朝向第一点的向量。

法向量选择单元,用于选择在第一轴线上,且与图像采集设备朝向第一点的向量成锐角方向的向量,为第一点的法向量。

在一个实施例中,第一点的法向量为与图像采集设备朝向第一点的向量的向量乘积大于0的向量。

根据本发明实施例的点云数据的装置的其他细节与以上结合图1至图7描述的根据本发明实施例的点云数据的方法类似,在此不再赘述。

结合图1至图8描述的根据本发明实施例的点云数据的处理方法和装置可以由可拆卸地或者固定地安装在图像处理服务器上的计算设备实现。

图9是示出能够实现根据本发明实施例的点云数据的处理方法和装置的计算设备的示例性硬件架构的结构图。

如图9所示,计算设备900包括输入设备901、输入接口902、中央处理器903、存储器904、输出接口905、以及输出设备906。其中,输入接口902、中央处理器903、存储器904、以及输出接口905通过总线910相互连接,输入设备901和输出设备906分别通过输入接口902和输出接口905与总线910连接,进而与计算设备900的其他组件连接。具体地,输入设备901接收来自外部(例如,三维扫描仪)的输入信息,并通过输入接口902将输入信息传送到中央处理器903;中央处理器903基于存储器904中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器904中,然后通过输出接口905将输出信息传送到输出设备909;输出设备909将输出信息输出到计算设备900的外部供用户使用。

也就是说,图9所示的计算设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1至图8描述的点云数据的处理方法和装置。这里,处理器可以与图像采集设备通信,从而基于来自通过三维扫描仪获取的点云数据等相关信息执行计算机可执行指令,从而实现结合图1至图8描述的点云数据的处理方法和装置。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品或计算机可读存储介质的形式实现。所述计算机程序产品或计算机可读存储介质包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

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