一种计算三维点云模型骨骼的方法

文档序号:9288809阅读:684来源:国知局
一种计算三维点云模型骨骼的方法
【技术领域】
[0001] 本发明属图形处理技术领域,尤其涉及一种三维点云模型骨骼提取方法。
【背景技术】
[0002] 随着三维扫描设备的普及,三维点云模型数量越来越多。但通过普通三维扫描设 备获得的三维点云,由于硬件自身的精度、拍摄角度、光照、三维物体自身相互遮挡和用户 使用设备不当,生成的点云模型包含大量的噪声点、奇异点和大面积的点云缺失。模型骨骼 有众多应用,例如在医学上,骨骼可以用于进行内窥镜检查,此外,在计算机图形学方面,骨 骼可用于控制人物网格模型运动,生成骨骼动画,也可用于驱动点云模型进行配准,完成点 云模型修复的目的。
[0003] 然而,三维模型骨骼获取仍有很大的问题,尤其对于直接扫描获得的,带有大量噪 声和大面积点云缺失的模型。首先,因为点云模型没有拓扑连接信息,很难通过模型拓扑关 系提取骨骼。其次,点云模型质量较差,往往有大面积点云缺失,大量噪声点和奇异点,增加 了骨骼提取的难度。最后骨骼提取是病态的问题,现存的骨骼提取方法为了计算出较好的 骨骼结果,需要调试大量参数,导致算法实用性降低。为了满足实际需求,当前迫切需要一 种适用范围广,效果显著的视频背景修复方法。

【发明内容】

[0004] 本发明为了解决上述的技术问题,提出了一种三维点云模型骨骼提取方法。本发 明的技术方案是:一种三维点云模型骨骼提取方法,包括下述步骤:
[0005] 步骤1,用户指定输入三维点云模型0 = /e/Cf,Q为三维空间R3中模型,q j 为模型上的顶点,J是三维点云模型顶点的索引,所述的三维点云模型包含噪声点、奇异点 和点Ζ5Γ缺失;从二维点75Γ模型顶点上随机选取米样点集X = {xj i e P I是米样点集X的索 弓丨,采样点乂1最终向三维点云模型内部移动,构成三维点云模型骨骼;
[0006] 步骤2,将三维点云模型均匀体素化;
[0007] 步骤3,计算出三维点云模型距离域DT,三维点云模型体素化之后,使用快速行军 算法,计算出模型内部体素点的距离域;
[0008] 步骤4,计算三维点云模型初始骨骼S = 〔炉,Sk为骨骼点,K为初始骨骼 点集的索引,计算出三维点云模型距离域后,使用三维点云模型距离域,计算三维点云模型 初始骨骼;
[0009] 步骤5,将初始骨骼点和1^第一范式中值骨骼提取算法进行融合,生成基于距离域 的L1第一范式中值骨骼提取算法,通过最小化以下能量方程,计算出三维点云模型的完整 骨骼;
[0010]
[0011] 其中,I是采样点集X的索引,J是模型Q顶点的索引,权重函数<r) =,/W2)2 是一个快速衰减的平滑函数,r为距离值,其支持半径为h,参数〇 1通过加权PCA主成 分分析算法计算,用于检测骨骼段的生成,{ γ i Ε :为X的平衡常数,K为初始骨骼点集 汶=C#的索引,权重函数:轉的=:郷P,X1,为非X i的点;对圆心为采样点X i,半径为 h的球体,球体包含所有点个数为n,球体包含的初始骨骼点个数为N ;
[0012] 步骤6,将骨骼按照规定结构,所述的规定结构为骨骼由骨骼点构成的结构,相邻 骨骼点通过直线连接,计算出三维点云模型的一维曲线骨骼,完成骨骼提取。
[0013] 优选的,所述的步骤2中还包括如下步骤:
[0014] 步骤2. 1,计算出三维点云模型的包围盒;
[0015] 步骤2. 2,用户指定初始分割精度和最终分割精度,将包围盒按照用户指定的初始 分割精度进行均匀分割;
[0016] 步骤2. 3,标识边界体素;如果大体素包含三维点云模型顶点,则大体素为边界体 素,然后使用泛洪算法,标识外部体素,选择一个外部体素作为种子点,判断该体素26邻域 中的体素是否为边界体素,如果邻居体素不是边界体素,则将邻居体素标记为外部体素,从 邻居体素开始继续扩展;如果是边界体素,则该邻居体素不再参加扩展;直至所有外部体 素被标记,最终剩下的体素为内部体素;
[0017] 步骤2. 4,将体素进行细分,直到分割至用户指定精度。
[0018] 优选的,所述的步骤2. 4中按如下方法将体素进行细分:在每一次细分前,首先对 所有体素进行3X3X3均匀分割,将每一个体素分割为27个小体素,重新判断边界体素的 类别,如果分割后的小边界体素包含三维点云模型顶点,该体素仍标识为边界体素;如果小 边界体素的26邻域中有外部体素,将该体素标识为外部体素;否则,该体素标识为内部体 素,重复执行步骤2. 4,不断生成新的外部体素、内部体素、边界体素,直到分割至用户指定 精度。
[0019] 优选的,所述的步骤4中还包括如下步骤:
[0020] 步骤4· 1,根据三维点云模型内部体素点P,判断狀AT,: =Z^r, /Μ,Λ/ΛΤ;卜:Dr 是否成立,其中DTp是体素点ρ的距离域,ΜΚζ是点ρ的26邻居的平均距离域,
巧是26邻居的厚度参数;
[0021] 步骤4. 2,根据三维点云模型内部体素点P,判断施《=[>1; /63,備<巧-JP2
是否成立,:是点P的63邻居的平均距离域 %是63 邻居时的厚度参数;
[0022] 步骤4· 3,根据三维点云模型内部体素点p,判断ΜΛ.'/.'· = E>7:; . IH .IfV·/:,,/ J/., -KPi
Λ rr 是否成立,MV7;是点P的124邻居的平均距离域: 了匕是 124邻居时的骨骼厚度参数;
[0023] 步骤4. 4,如果三维点云模型内部体素点p满足步骤4. 1,、4. 2、4. 3中的条件,则p 为初始骨骼点;否则表明内部体素点P不为初始骨骼点。
[0024] 优选的,所述的步骤5中还包括如下步骤:
[0025] 步骤5. 1,使用高斯-牛顿算法最小化以下能量方程,计算出三维点云模型的一维 曲线骨骼; 「nn9fi1
[0027] 步骤5. 2,当采样点X1移动时,使用计算出的三维点云模型距离域信息;
[0028] 步骤5. 3,利用初始骨骼点和三维点云模型距离域的信息,对每一个采样点,计 算出其最合适的支持半径,即如果采样点位于模型中心,则支持半径长度为模型中心到
模型边界的距离域值。由圆心为采样点X丨,半径为 < 所构成的球体包含N个初始骨骼点 Sj,j e N,伸用加下公忒i+笪出初始晋骼点的中心:
[0029]
[0030] 其中,权重函数6^r) = e〃ViW是一个快速衰减的平滑函数,如果中心center与 4间的距离小于体素边长,表明4已经位于三维点云模型中心,则下一次迭代时,设置其 支持半径#41值为包含中心center的体素的距离域值,如果两点间距离大于体素边长, 表明采样点彳还需继续收敛,向三维点云模型内部移动,此时支持半径按规定比例增大, /?厂 1 =(1 +rcW/o)/?丨,其中radio为半径增长率;
[0031] 步骤5. 4,对采样点xf向模型内部收敛,逐渐生成的不同骨骼段进行连接,形成完 整骨骼,
[0032] 优选的,所述的步骤5. 4中,使用桥点将骨骼段进行连接,通过三维点云模型体素 类别,标记出三维点云模型内部体素和外部体素,如果骨骼段端点与桥点的连线穿过三维 点云模型外部,则重新选择。
[0033] 优选的,所述的使用桥点将骨骼段进行连接时,判断连线与外部体素是否相交,如 果没有相交,将两个骨骼段进行连接;如果相交,桥点选择错误,重新选择桥点。
[0034] 本发明的有益效果是:一种三维点云模型骨骼提取方法首先通过使用逐步细分的 策略将三维点云模型均匀体素化;此后,使用快速行军算法,计算出模型内部体素点的距离 域;然后,使用距离域计算出模型的初始骨骼;最后,将初始骨骼与L1中值骨骼提取算法融 合,生成基于距离域的L 1中值骨骼提取算法,快速准确计算出模型骨骼;与现有的三维点云 模型骨豁提取方法相比,本发明处理带有大量噪声点、奇异点和大面积点云缺失的点云模 型,而且不会产生错误的骨骼连接,同时不需要太多参数。
【附图说明】
[0035] 图1为本发明的流程图。
【具体实施方式】
[0036] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限 于此。
[0037] 参照图1,本发明的流程图,一种计算三维点云模型骨骼的方法,包括下述步骤:
[0038] 步骤1,用户指定输入三维点云模型ρ = d C Λ,Q为三维空间R3中模型,q j 为模型上的顶点,J是三维点云模型顶点的索引,所述的三维点云模型包含噪声点、奇异点 和点Ζ5Γ缺失;从二维点75Γ模型顶点上随机选取米样点集X = {xj i e p I是米样点集X的索 弓丨,采样点乂1最终向三维点云模型内部移动,构成三维点云模型骨骼;
[0039] 步骤2,将三维点云模型均匀体素化;所述的步骤2中还包括如下步骤:
[0040] 步骤2. 1,计算出三维点云模型的包围盒。
[0041] 步骤2. 2,点云模型包含大量点云缺失,所以采用逐渐细分的策略对模型进行体素 化,用户指定初始分割精度和最终分割精度,将包围盒按照用户指定的初始分割精度进行 均勾分割;
[0042] 步骤2. 3,标识边界体素;如果大体素包含三维点云模型顶点,则大体素为边界体 素,然后使用泛洪算法,标识外部体素,选择一个外部体素作为种子点,判断该体素26邻域 中的体素是否为边界体素,如果邻居体素不是边界体素,则将邻居体素标记为外部体素,从 邻居体素开始继续扩展;如果是边界体素,则该邻居体素不再参加扩展;直至所有外部体 素被标记,最终剩下的体素为内部体素;
[0043] 步骤2. 4,此时体素边长较大,直接使用这种尺度的体素,计算出的距离域不会很 精确。将体素进行细分,直到分割至用户指定精度;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1