一种点云孔洞的修补方法、装置、移动终端及存储介质与流程

文档序号:30757251发布日期:2022-07-13 12:07阅读:107来源:国知局
一种点云孔洞的修补方法、装置、移动终端及存储介质与流程

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.图1是本发明一实施例提供的一种点云孔洞的修补方法的流程示意图;
45.图2是本发明一实施例提供的根据第一夹角的第一类型修订第一闭合边界曲线示意图;
46.图3是本发明一实施例提供的根据第一夹角的第二类型修订第一闭合边界曲线示意图;
47.图4是本发明一实施例提供的折叠边界示意图;
48.图5是本发明一实施例提供的一种点云孔洞的修补装置的结构示意图。
具体实施方式
49.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本邻域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.参照图1,是本发明一实施例提供的一种点云孔洞的修补方法的流程示意图,包括s101-s105:
51.s101:获取待修补点云模型中的孔洞边界信息。
52.s102:根据孔洞边界信息计算得到多个边界线段。
53.在本实施例中,所述根据所述孔洞边界信息计算得到多个边界线段,具体为:
54.根据所述待修补点云模型的平均点距计算得到点云法向;
55.获取所述孔洞边界信息中的有向线段,当所述有向线段的长度小于第三预设数值且所述有向线段的法方向与所述点云法向同向时,判定所述有向线段为所述边界线段并获取。
56.其中,平均点距的计算过程为:首先计算出包含全部待修补点云模型的最小六面体包围盒,分别得到x,y,z三个坐标轴方向上的长度dx,dy,dz,即包围盒三条边的长度。对每个最小六面体包围盒,取其中的数值为中等长度记为s,则平均间距se可由以下公式表示:
[0057][0058]
其中,k为可分辨尺度常数因子,一般在60到80之间取值。
[0059]
将待修补点云模型定义为一个带有度量g的可定向流形m,根据平均间距se定义定向流形m上某点处的局部坐标卡为对于定向流形m和定向流形 m上某点处的局部坐标卡如果ui和uj相交不为空,对于任意点 p∈ui∩uj,在点p的坐标转换矩阵的行列式为正。然后计算待修补点云模型上的开覆盖,并依次调整待修补点云模型上相交开覆盖的点云法向并获取。
[0060]
进一步地,一般将平均点距放大至2到3倍即可得到第三预设数值r。
[0061]
当有向线段满足线段长度小于第三预设数值r(其中,vi、vj均为孔洞边界上的点),且(即有向线段的法方向) 和vm点的法向(即点云法向)同向,则称有向线段是边界线段。其中vm是的中点,b(vm,r)是以vm为中心、r为半径的圆内包含的点云集合。
[0062]
进一步地,以为初始线段,不断增加线段,直至不可再增加或者增加为闭合线段为止。新增加的线段均为长度小于r的边界线段,且新增加的有向线段的方向应该和之前线段的方向保持一致。
[0063]
s103:将第一边界线段与第二边界线段进行合并处理,生成第一处理结果。
[0064]
其中,所述第一边界线段为长度小于第一预设数值的边界线段,所述第二边界线段为位于所述第一边界线段邻域的边界线段。
[0065]
s104:将第三边界线段进行插值处理,生成第二处理结果。
[0066]
其中,所述第三边界线段为长度大于第二预设数值的边界线段,插值处理即为将第三边界线段从中间分为两个线段。
[0067]
进一步地,第二预设数值是第一预设数值的两倍。
[0068]
s105:根据第一处理结果和第二处理结果完成边界线段的均匀化处理后,对待修补点云模型进行孔洞修补处理。
[0069]
在本实施例中,所述对所述待修补点云模型进行孔洞修补处理,具体为:
[0070]
根据所述第一处理结果和所述第二处理结果完成所述边界线段的均匀化处理后,生成均匀化的第一闭合边界曲线;
[0071]
将所述第一闭合边界曲线投影至法向平面中,得到内角最小点;
[0072]
根据所述内角最小点及其邻域点形成第一夹角后,根据所述第一夹角的类型修订所述第一闭合边界曲线,得到第二闭合边界曲线;
[0073]
判断所述第二闭合边界曲线是否存在折叠边界,若存在,则将所述折叠边界分割为多个简单闭合曲线,并对多个所述简单闭合曲线分别进行孔洞修补处理;若不存在,则直接对所述第二闭合边界曲线进行孔洞修补处理。
[0074]
具体地,第一夹角的类型包括:第一类型、第二类型和第三类型;其中,第一类型为第一夹角小于90
°
的类型,第二类型为第一夹角大于90
°
、小于 180
°
的类型,第三类型为第一夹角大于180
°
的类型。
[0075]
在本实施例中,还包括:当判定孔洞修补处理未完成时,根据所述第二闭合边界曲线进行均匀化处理。即根据第二闭合边界曲线重新执行步骤 s103-s105。
[0076]
在一具体实施例中,所述判定孔洞修补处理未完成,具体为:
[0077]
当所述边界线段的个数大于第四预设数值时,判定孔洞修补处理未完成;
[0078]
当所述边界线段的个数小于等于所述第四预设数值时,判定孔洞修补处理已完成。
[0079]
优选地,第四预设数值为3。
[0080]
为了进一步说明根据所述第一夹角的类型修订第一闭合边界曲线的过程,请参照图2-图3。
[0081]
其中,图2是本发明一实施例提供的根据第一夹角的第一类型修订第一闭合边界曲线示意图。
[0082]
由图2可得,存在由内角最小点pi及其邻域点p{i+1}、p{i-1}构成的第一夹角,且第一夹角的类型为第一类型,即第一夹角小于90
°
。直接用虚线段l连接p{i+1} 和p{i-1},并求虚线段l之间的中点p*,用实线分别连接p{i+1}和p*、p{i-1}和p*,便完成第一闭合边界曲线的修订。
[0083]
图3是本发明一实施例提供的根据第一夹角的第二类型修订第一闭合边界曲线示意图,由图3可得,存在由内角最小点pi及其邻域点p{i+1}、p{i-1}构成的第一夹角,且第一夹角的类型为第二类型,即第一夹角大于90
°
、小于180
°
。创建p{i-1}的对应点使得pi到p{i-1}的距离等于pi到的距离;创建p{i+1}的对应点使得pi到p{i+1}的距离等于pi到的距离,便完成第一闭合边界曲线的修订。
[0084]
为了平滑补洞效果和加速收敛,对pi点的法向应加权边界的法向,在本实施例中,加权因子为0.1。
[0085]
进一步地,第二闭合边界曲线存在折叠边界的情况如图4所示,图4是本发明一实施例提供的折叠边界示意图。
[0086]
则根据图4,需要将折叠边界分割为两个简单闭合曲线,并分别对这两个简单闭合曲线进行孔洞修补处理。具体为:首先计算边界折叠位置对应的边界线段的交点,并把交点添加到边界线上。然后分割边界线为简单闭合曲线,对简单闭合边界曲线的围合区域进行补洞操作。
[0087]
为了进一步说明点云孔洞的修补装置,请参照图5,图5是本发明一实施例提供的一种点云孔洞的修补装置的结构示意图,包括:获取模块501、计算模块 502、第一处理模块503、第二处理模块504和修补模块505;
[0088]
其中,所述获取模块501用于获取待修补点云模型中的孔洞边界信息;
[0089]
所述计算模块502用于根据所述孔洞边界信息计算得到多个边界线段;
[0090]
所述第一处理模块503用于将第一边界线段与第二边界线段进行合并处理,生成第一处理结果;其中,所述第一边界线段为长度小于第一预设数值的边界线段,所述第二边界线段为位于所述第一边界线段邻域的边界线段;
[0091]
所述第二处理模块504用于将第三边界线段进行插值处理,生成第二处理结果;其中,所述第三边界线段为长度大于第二预设数值的边界线段;
[0092]
所述修补模块505用于根据所述第一处理结果和所述第二处理结果完成所述边界线段的均匀化处理后,对所述待修补点云模型进行孔洞修补处理。
[0093]
在本实施例中,所述根据所述孔洞边界信息计算得到多个边界线段,具体为:
[0094]
根据所述待修补点云模型的平均点距计算得到点云法向;
[0095]
获取所述孔洞边界信息中的有向线段,当所述有向线段的长度小于第三预设数值且所述有向线段的法方向与所述点云法向同向时,判定所述有向线段为所述边界线段并获取。
[0096]
在一具体实施例中,所述对所述待修补点云模型进行孔洞修补处理,具体为:
[0097]
根据所述第一处理结果和所述第二处理结果完成所述边界线段的均匀化处理后,生成均匀化的第一闭合边界曲线;
[0098]
将所述第一闭合边界曲线投影至法向平面中,得到内角最小点;
[0099]
根据所述内角最小点及其邻域点形成第一夹角后,根据所述第一夹角的类型修订所述第一闭合边界曲线,得到第二闭合边界曲线;
[0100]
判断所述第二闭合边界曲线是否存在折叠边界,若存在,则将所述折叠边界分割为多个简单闭合曲线,并进行孔洞修补处理;若不存在,则直接对所述第二闭合边界曲线进行孔洞修补处理。
[0101]
本发明一具体实施例提供了一种移动终端,包括处理器和存储器,所述存储器存储有计算机可读程序代码,所述处理器执行所述计算机可读程序代码时实现上述的一种点云孔洞的修补方法的步骤。
[0102]
本发明一具体实施例提供了一种存储介质,所述存储介质存储计算机可读程序代码,当所述计算机可读程序代码被执行时实现上述的一种点云孔洞的修补方法的步骤。
[0103]
本发明实施例通过获取模块501获取待修补点云模型中的孔洞边界信息;通过计算模块502根据孔洞边界信息计算得到多个边界线段;通过第一处理模块 503将第一边界线段与第二边界线段进行合并处理,生成第一处理结果;其中,第一边界线段为长度小于第一预设数值的边界线段,第二边界线段为位于第一边界线段邻域的边界线段;通过第二处理模块504将第三边界线段进行插值处理,生成第二处理结果;其中,第三边界线段为长度大于第二预设数值的边界线段;通过修补模块505根据第一处理结果和第二处理结果完成边界线段的均匀化处理后,对待修补点云模型进行孔洞修补处理。
[0104]
本发明实施例在获取待修补点云模型中孔洞的边界线段后,将长度小于第一预设数值的边界线段进行合并处理,将长度大于第二预设数值的边界线段进行插值处理,点云孔洞的边界点比较杂乱时,能够均匀化每段边界线段的长度,从而快速完成边界线段的均匀化处理,快速地将边界点连接为一条法向和位置均连续的闭合曲线,从而有效提高了点云孔洞的修补效率,同时能够实现点云模型中大面积和尖锐特征区域的孔洞修补。
[0105]
进一步地,本发明实施例通过计算得到的平均点距来表示点云模型的平均距离,大大提高了平均距离的计算效率,从而进一步提高了点云孔洞的修补效率。
[0106]
最后,本发明实施例能够为三维重构、几何造型和虚拟仿真等下游应用提供重要的技术支撑,对实现高精度、高效率虚拟场景构建和编辑技术有重大意义。
[0107]
以上所述是本发明的优选实施方式,应当指出,对于本技术邻域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1