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

一种基于外接球策略区域增长的点云表面重建方法及系统

文献发布时间:2023-06-19 13:45:04


一种基于外接球策略区域增长的点云表面重建方法及系统

技术领域

本发明属于计算机视觉技术领域,具体涉及一种基于外接球策略区域增长的点云表面重建方法及系统。

背景技术

点云在三维视觉技术中的运用愈发广泛,点云数据采集工具发展迅速,数据采集成本降低、效率提升,这使得点云技术在机器视觉、文物修复、自动驾驶、无人机等领域应用。点云配准的主要工作是对不同坐标系下的点云进行旋转、平移,最终整合成完整且处于同一坐标系下的点云。根据目标点云与源点云的性质区分,一般又分为非刚体配准和刚体配准,非刚体配准指目标点云与源点云之间存在形变、拉伸等非刚性变换,在实际应用场景中,部分配准问题需使用非刚性配准,例如医学诊断、人脸识别等,针对非刚性配准的研究仍有很大的发展空间;刚体配准指源点云与目标点云不存在形变,仅发生旋转与平移的刚性变换,实际应用范围更广,但现有的点云配准技术存在配准速度慢、易陷入局部最优解等缺点。如何快速、高质量的完成点云配准,仍是一个具有重要研究价值的问题。

近年来,三维激光扫描技术迅猛发展,逆向工程应用技术得以实现。因此获取物体的数字化描述近年来得到越来越广泛的研究,即逆向工程问题。三维激光点云采集的点云数据在实际应用中通常处于散乱的状态,没有明显的规律,如果直接用原始数据进行表面重建,会占用大量的资源和存储空间,重建的效果不佳。所以近些年逆向工程技术一直备受关注,研究人员研究并提出新的解决方案和优化方法,推动点云表面重建技术的研究与发展。点云表面重建技术在工业、制造业、医学等诸多领域都有很大的发展前景。

而原始点云数据集由于仪器测量、环境因素、人为操作的原因,点云质量不尽相同也无法避免,可能会存在噪声、空洞、尖锐凸起、不均匀点分布的情况。点与点之间的无序性很难找到有效的拓扑连接方式还原原始物体的表面形状,一个正确的拓扑连接关系能够显示出原始物体的表面构型和拓扑结构,而一个大型海量的点云数据其时间复杂度和空间复杂度都比较庞大,在进行表面重建的过程中会耗费计算机大量的资源。

发明内容

本发明的目的在于提出一种基于外接球策略区域增长的点云表面重建方法及系统,以克服现有技术存在的缺陷,本发明的重建方法的重建速度更快、重建效果更好、重建表面更为均匀平滑。

为达到上述目的,本发明采用如下技术方案:

一种基于外接球策略区域增长的点云表面重建方法,包括以下步骤:

步骤1:在点云数据集中选取三个点云数据连接成三角形,形成种子三角形;

步骤2:基于外接球的区域增长搜索,以种子三角形为基础进行区域增长,形成由一组点云数据构成的候选集,计算候选集中每个点云数据与种子三角形每条边两个端点连线之间的角度,从中选取角度最接近60°的点为候选点,候选点与种子三角形边的两个端点相连得到新的三角面片,最接近正三角形的三角形面片为最优三角形;

步骤3:扩展方向选取,在得到种子三角形后和最优三角形后需要确定最优三角形与种子三角形的连接方向以保证重建表面的延展性和平滑性;首先,对点云数据的法向量进行估计,然后采用右手螺旋法则确定扩展方向,即法向量方向为右手拇指方向,螺旋方向为最优三角形的拼接方向;

步骤4:边列表的构建,在完成扩展方向的选取后,需要对三角形的边的信息进行保存处理,通过构建边列表的数据结构保存构成三角形的边的信息,保证满足条件的点云都进行了三角化但对于已经扩展的点不需要进一步的扩展,防止已经重建的点云再次重建;最后循环步骤2-步骤4直到没有能够扩展的最优三角形后,点云表面重建结束。

进一步地,所述步骤1具体为:

步骤1.1:首先选取三角形的初始点,初始点的选取区域为距离三维坐标系原点的极小值;对于一个点云数据集,相对于坐标系原点的极小值,描述如公式(1):

其中,d为极小值;对于一个点云数据P(x,y,z)来说,a为坐标x轴的坐标值,b为坐标y轴的坐标值,c为坐标z轴的坐标值;

接着以初始点A为基础点进行半径内邻域搜索寻找距离最近的临近点B,连接基础点和临近点作为初始边AB,描述如公式(2):

AB=min{AB

其中:i为半径内邻域搜索的邻域点数量;

步骤1.2:在构建初始边以后,以初始边的中点为圆心进行半径邻域搜索,半径的大小为r,描述如公式(3),将所有在半径内的点与初始边AB的两个端点相连,从中选取角度最接近60°的点为最佳扩展点,最佳扩展点与初始边构建的三角形即为种子三角形;

进一步地,所述步骤2具体为:

步骤2.1:以步骤1得到的种子三角形为基础进行区域增长,以种子三角形的边为三条基准边,以基准边的中点为圆心、基准边长度的

步骤2.2:在得到候选集的一组点云数据后,计算候选集中每个点与基准边两个端点连线之间的角度,从中选取角度最接近60°的点,将该点与基准边两个端点相连得到新的三角面片,此方法构成的三角形最接近正三角形,通过正三角形进行的点云重建表面效果最佳,即最优三角形;如果在圆内没有找到满足条件的点云数据,则将搜索半径范围扩大,扩大的半径描述如公式(4),以此实现动态外接圆的策略;

其中:θ为当前候选集中点与基准边两个端点连线之间的角度,默认初始角度为60°,且为了保证不形成尖锐三角形,最小角度为15°;R′为扩展后的半径大小;AB为基准边的长度。

进一步地,所述步骤3具体为:

步骤3.1:采用基于PCA的点云法向量估计对点云数据的法向量进行估计;通过对需要确定扩展方向三角形的点云数据及其附近的点估计出一个平面,计算出该点的法向量,描述如公式(5);采用最小二乘法即推导出最小化目标函数,该点与其每个近邻点所构成的向量与法向量的点乘为0,通过最小化目标函数计算出法向量;

其中:x

将点c看成邻域中的中心点,结合公式(6)(7)推导得到目标函数:

其中:m为x

y

其中:y

目标函数如公式(8):

将目标函数进行进一步优化推导,描述如公式(9):

f(n)=n

其中:S为一个3*3的协方差矩阵;n

对于这种有约束目标函数通过拉格朗日算法求解,描述如公式(10)和(11):

其中:λ为矩阵S的特征值;n为特征向量对应的法向量;

步骤3.2:在得到法向量后采用右手螺旋法则对三角面片的扩展方向进行约束,右手拇指方向为三角形面片法向量方向,按照逆时针方向进行扩展。

进一步地,所述步骤4具体为:

步骤4.1:在确定好三角面片的扩展方向后,为了保证满足条件的点云都进行了三角化重建,并且保证已经扩展的点不需要重复扩展;因此建立边列表的数据结构,用于记录当前扩展边的信息,没有扩展过的边标志位为0,扩展过一次的边标志位为1,扩展过两次的边标志位为2,通过检测边标志位的值判断当前扩展边的扩展情况;

步骤4.2:进行三角表面重建边扩展时,必须检测该边的标志位,即该边是否还可以继续进行扩展,若一条边在边列表的标志位2,则说明该边有两个邻接三角形,所以不能对其进行扩展;若一条边在边列表中标志位为1则说明该边已经构建过一次三角面片还能进行一次新的边扩展,扩展结束后标志位加1;若一条边在边列表中标志位为0,说明该边还没进行过扩展,能够进行边扩展,扩展结束后标志位加1;重复步骤2到步骤4直到无法进行半径邻域搜索后表面重建结束。

一种基于外接球策略区域增长的点云表面重建系统,包括:

种子三角形构建模块:用于在点云数据集中选取三个点云数据连接成三角形,形成种子三角形;

最优三角形构建模块:用于基于外接球的区域增长搜索,以种子三角形为基础进行区域增长,形成由一组点云数据构成的候选集,计算候选集中每个点云数据与种子三角形每条边两个端点连线之间的角度,从中选取角度最接近60°的点为候选点,候选点与种子三角形边的两个端点相连得到新的三角面片,最接近正三角形的三角形面片为最优三角形;

扩展方向选取模块:用于扩展方向选取,在得到种子三角形后和最优三角形后需要确定最优三角形与种子三角形的连接方向以保证重建表面的延展性和平滑性;首先,对点云数据的法向量进行估计,然后采用右手螺旋法则确定扩展方向,即法向量方向为右手拇指方向,螺旋方向为最优三角形的拼接方向;

重建模块:用于在完成扩展方向的选取后,需要对三角形的边的信息进行保存处理,通过构建边列表的数据结构保存构成三角形的边的信息,保证满足条件的点云都进行了三角化但对于已经扩展的点不需要进一步的扩展,防止已经重建的点云再次重建;最后循环直到没有能够扩展的最优三角形后,点云表面重建结束。

进一步地,所述种子三角形构建模块包括初始边构建模块和半径邻域搜索模块;其中:

初始边构建模块:用于首先选取三角形的初始点,初始点的选取区域为距离三维坐标系原点的极小值;对于一个点云数据集,相对于坐标系原点的极小值,描述如公式(1):

其中,d为极小值;对于一个点云数据P(x,y,z)来说,a为坐标x轴的坐标值,b为坐标y轴的坐标值,c为坐标z轴的坐标值;

接着以初始点A为基础点进行半径内邻域搜索寻找距离最近的临近点B,连接基础点和临近点作为初始边AB,描述如公式(2):

AB=min{AB

其中:i为半径内邻域搜索的邻域点数量;

半径邻域搜索模块:用于在构建初始边以后,以初始边的中点为圆心进行半径邻域搜索,半径的大小为r,描述如公式(3),将所有在半径内的点与初始边AB的两个端点相连,从中选取角度最接近60°的点为最佳扩展点,最佳扩展点与初始边构建的三角形即为种子三角形;

进一步地,所述最优三角形构建模块包括候选集构建模块和最优三角形选取模块,其中:

候选集构建模块:用于以种子三角形为基础进行区域增长,以种子三角形的边为三条基准边,以基准边的中点为圆心、基准边长度的

最优三角形选取模块:用于在得到候选集的一组点云数据后,计算候选集中每个点与基准边两个端点连线之间的角度,从中选取角度最接近60°的点,将该点与基准边两个端点相连得到新的三角面片,此方法构成的三角形最接近正三角形,通过正三角形进行的点云重建表面效果最佳,即最优三角形;如果在圆内没有找到满足条件的点云数据,则将搜索半径范围扩大,扩大的半径描述如公式(4),以此实现动态外接圆的策略;

其中:θ为当前候选集中点与基准边两个端点连线之间的角度,默认初始角度为60°,且为了保证不形成尖锐三角形,最小角度为15°;R′为扩展后的半径大小;AB为基准边的长度。

进一步地,所述扩展方向选取模块包括法向量估计模块和扩展方向约束模块,其中:

法向量估计模块:用于采用基于PCA的点云法向量估计对点云数据的法向量进行估计;通过对需要确定扩展方向三角形的点云数据及其附近的点估计出一个平面,计算出该点的法向量,描述如公式(5);采用最小二乘法即推导出最小化目标函数,该点与其每个近邻点所构成的向量与法向量的点乘为0,通过最小化目标函数计算出法向量;

其中:x

将点c看成邻域中的中心点,结合公式(6)(7)推导得到目标函数:

其中:m为x

y

其中:y

目标函数如公式(8):

将目标函数进行进一步优化推导,描述如公式(9):

f(n)=n

其中:S为一个3*3的协方差矩阵;n

对于这种有约束目标函数通过拉格朗日算法求解,描述如公式(10)和(11):

其中:λ为矩阵S的特征值;n为特征向量对应的法向量;

扩展方向约束模块:在得到法向量后采用右手螺旋法则对三角面片的扩展方向进行约束,右手拇指方向为三角形面片法向量方向,按照逆时针方向进行扩展。

进一步地,所述重建模块包括边列表构建模块和检测模块,其中:

边列表构建模块:用于在确定好三角面片的扩展方向后,为了保证满足条件的点云都进行了三角化重建,并且保证已经扩展的点不需要重复扩展;因此建立边列表的数据结构,用于记录当前扩展边的信息,没有扩展过的边标志位为0,扩展过一次的边标志位为1,扩展过两次的边标志位为2,通过检测边标志位的值判断当前扩展边的扩展情况;

检测模块:进行三角表面重建边扩展时,必须检测该边的标志位,即该边是否还可以继续进行扩展,若一条边在边列表的标志位2,则说明该边有两个邻接三角形,所以不能对其进行扩展;若一条边在边列表中标志位为1则说明该边已经构建过一次三角面片还能进行一次新的边扩展,扩展结束后标志位加1;若一条边在边列表中标志位为0,说明该边还没进行过扩展,能够进行边扩展,扩展结束后标志位加1;重复直到无法进行半径邻域搜索后表面重建结束。

与现有技术相比,本发明具有以下有益的技术效果:

(1)更高效

本发明在点云表面重建方面以经典三角表面重建为基础,采用基于外接球策略的区域增长算法,相较于其他重建算法重建速度更快。

(2)更稳定

本发明重建效果能达到良好的重建效果,能较为真实还原物体的表面形态,重建三角网格质量均匀,可以很好的避免窄带三角形的出现,相对于经典区域增长算法本文采用的算法生成的三角面片数量较多,生成的三角形网格质量较高。

(3)更平滑

本发明以正三角形为基准重建图形,重建效果更接近于原始物体的表面,并且可以避免窄带三角形和狭长三角形的出现,避免重建表面尖锐化,使重建表面更为均匀平滑。

附图说明

说明书附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为种子三角形构建示意图

图2为特征描述计算流程图。

图3为种子三角形扩展边示意图。

图4为点云表面重建效果对比图,其中(a)为本发明表面重建算法,(b)为广度优先增长重建算法。

图5为基于外接球的区域增长表面重建网格效果图;

图6为本发明流程示意图;

图7为本发明系统结构示意图。

具体实施方式

以下结合附图及具体实施例对本发明进行进一步详细说明。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

以斯坦福大学Bunny点云数据作为输入进行研究,使用经典区域增长算法与本发明所提出的基于外接球策略区域增长的点云表面重建方法进行对比,主要从重建网格数量、重建时间和重建效果上对重建算法进行评估,实现整个点云表面重建流程,如图6所示,包括如下步骤:

步骤1,在点云数据集中选取三个点云数据连接成三角形,形成种子三角形;

步骤1.1:首先选取三角形的初始点,初始点的选取区域为距离三维坐标系原点的极小值;对于一个点云数据集,相对于坐标系原点的极小值,描述如公式(1):

其中,d为极小值;对于一个点云数据P(x,y,z)来说,a为坐标x轴的坐标值,b为坐标y轴的坐标值,c为坐标z轴的坐标值;

接着以初始点A为基础点进行半径内邻域搜索寻找距离最近的临近点B,连接基础点和临近点作为初始边AB,描述如公式(2):

AB=min{AB

其中:i为半径内邻域搜索的邻域点数量;

步骤1.2:在构建初始边以后,以初始边的中点为圆心进行半径邻域搜索,半径的大小为r,描述如公式(3),将所有在半径内的点与初始边AB的两个端点相连,从中选取角度最接近60°的点为最佳扩展点,最佳扩展点与初始边构建的三角形即为种子三角形;

图1展示了种子三角形构建过程。

步骤2,基于外接球的区域增长搜索,以种子三角形为基础进行区域增长,形成由一组点云数据构成的候选集,计算候选集中每个点云数据与种子三角形每条边两个端点连线之间的角度,从中选取角度最接近60°的点为候选点,候选点与种子三角形边的两个端点相连得到新的三角面片,最接近正三角形的三角形面片为最优三角形;图2展示了二维平面的动态外接圆扩展过程。

具体地:

步骤2.1:以步骤1得到的种子三角形为基础进行区域增长,以种子三角形的边为三条基准边,以基准边的中点为圆心、基准边长度的

步骤2.2:在得到候选集的一组点云数据后,计算候选集中每个点与基准边两个端点的角度,从中选取角度最接近60°的点,将该点与基准边两个端点相连得到新的三角面片,此方法构成的三角形最接近正三角形,通过正三角形进行的点云重建表面效果最佳即最优三角形;如果在圆内没有找到满足条件的点云数据,则将搜索半径范围扩大,扩大的半径描述如公式(4),以此实现动态外接圆的策略;

其中:θ为当前候选集中点与基准边两个端点连线之间的角度,默认初始角度为60°,且为了保证不形成尖锐三角形,最小角度为15°,R′为扩展后的半径大小,AB为基准边的长度。

步骤3,扩展方向选取,在得到种子三角形后和最优三角形后需要确定最优三角形与种子三角形的连接方向以保证重建表面的延展性和平滑性;首先,要对点云数据的法向量进行估计,然后采用右手螺旋法则确定扩展方向,即法向量方向为右手拇指方向,螺旋方向为最优三角形的拼接方向;图3展示了种子三角形扩展方式,对种子三角形△ABC进行边拓展,计算其法向量方向为沿平面向上,按照外接球策略和右手定则,首先以AB边为基准边进行邻域搜索扩展得到△ABD;接着以BC为基准边进行扩展得到△BCE,以此类推扩展顺序如1-6三角形序号的顺序进行扩展。

具体为:

步骤3.1:在得到种子三角形后和最优三角形后需要确定最优三角形与种子三角形的连接方向保证重建表面的延展性,防止新形成的三角形表面与之前的三角形表面过渡不平滑;首先,采用基于PCA的点云法向量估计对点云数据的法向量进行估计;通过对需要确定扩展方向三角形的点云数据及其附近的点估计出一个平面,计算出该点的法向量,描述如公式(5);采用最小二乘法即推导出最小化目标函数,该点与其每个近邻点所构成的向量与法向量的点乘为0,通过最小化目标函数计算出法向量;

其中:x

将点c看成邻域中的中心点,结合公式(6)(7)推导得到目标函数:

其中:m为x

y

其中:y

目标函数如公式(8):

将目标函数进行进一步优化推导,描述如公式(9):

f(n)=n

其中:S为一个3*3的协方差矩阵;n

对于这种有约束目标函数通过拉格朗日算法求解,描述如公式(10)和(11):

其中:λ为矩阵S的特征值;n为特征向量对应的法向量;

步骤3.2:在得到法向量后采用右手螺旋法则对三角面片的扩展方向进行约束,右手拇指方向为三角形面片法向量方向,按照逆时针方向进行扩展。

步骤4,边列表的构建,在进行完成扩展方向的选取后,需要对三角形的边的信息进行保存处理,通过构建边列表的数据结构保存构成三角形的边的信息,保证满足条件的点云都进行了三角化但对于已经扩展的点不需要进一步的扩展,防止已经重建的点云再次重建;最后循环步骤2、3、4直到没有可以扩展的最优三角形后,点云表面重建结束。

具体为:

步骤4.1:在确定好三角面片的扩展方向后,为了保证满足条件的点云都进行了三角化重建,并且保证已经扩展的点不需要重复扩展;因此建立了边列表的数据结构,它可以记录当前扩展边的信息,没有扩展过的边标志位为0,扩展过一次的边标志位为1,扩展过两次的边标志位为2,通过检测边标志位的值判断当前扩展边的扩展情况;

步骤4.2:进行三角表面重建边扩展时,必须检测该边的标志位,即该边是否还可以继续进行扩展,若一条边在边列表的标志位2,则说明该边有两个邻接三角形,所以不能对其进行扩展;若一条边在边列表中标志位为1则说明该边已经构建过一次三角面片还能进行一次新的边扩展,扩展结束后标志位加1;若一条边在边列表中标志位为0,说明该边还没进行过扩展,可以进行边扩展,扩展结束后标志位加1;

在选取好基准边后建立边列表的数据结构,将边的扩展信息存入边列表中同时标志位加1,然后进行外接球区域增长搜索找到扩展点组成种子三角形,并按照右手法则的规则形成新的扩展边,将新的两条扩展边存入边列表中同时将它们的标志位加1;若一条边在边列表的标志位2,则说明该边有两个邻接三角形,所以不能对其进行扩展;重复步骤2到步骤4直到无法进行半径邻域搜索后表面重建结束。

图4展示了数据集在使用不同重建算法的对比图,图5展示了基于外接球的区域增长表面重建网格效果图。通过分析可知,本发明所设计的点云表面重建算法,能达到良好的重建效果,重建三角网格质量均匀,可以很好的避免窄带三角形的出现,相对于经典区域增长算法本发明生成的三角形网格质量较高,且重建时间较短,实现了较为理想的重建效果。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用于说明本发明的技术方案而非对其保护范围的限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本发明后依然可对发明的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在发明待批的权利要求保护范围之内。

技术分类

06120113790879