技术领域
本发明涉及计算机图形处理领域,具体涉及一种植物点云模型的骨架提取方法。
背景技术
骨架信息的提取一直是图形学领域的一个重要的研究课题。骨架作为三维模型的“紧凑”表示方法,能抽象反映出植物模型的拓扑结构以及关键形态特征。由于骨架的拓扑结构简单,操作方便,是三维模型表面重建、检索和匹配的基本要素。另外,不管是二维还是三维的形状,骨架都是对源数据的一个整体的特征描述,骨架信息可以帮助我们分析并操纵各种图形数据,比如基于骨架的形状分割、匹配和分析,基于骨架的建模,骨架动画等,因而广泛应用于植物建模、三维动画设计、医学影像和测绘学图像等领域。现有的骨架提取方法多以人体和物体为初始模型,基于体素数据或网格曲面信息表示三维模型,而直接针对植物点云数据进行骨架提取的方法很少。
由于植物形态结构复杂自身遮挡比较严重以及常用采集设备的精度限制,采集到的植物初始点云数据中存在大量的噪声,且局部数据缺失比较严重,如果采取传统的骨架提取方法,其正确性和完整性不能保证。
从封闭的网格模型中提取骨架的技术已经较为成熟,但是从散乱的点云模型中提取骨架却是个新兴的问题。因为点云模型缺少网格的连接信息,并且现有的网格骨架提取技术并不能应对点云中的噪声,野点和缺失等问题。
发明内容
针对现有的网格骨架提取技术中存在的点云中噪声、野点和缺失等问题,本发明提出一种植物散乱点云骨架提取方法。首先扫描得到植物点云模型;对得到的点云模型进行预处理,包括对点云进行采样,采样后的点为预备分支点;再对采样得到的模型采取局部中值计算,并更新预备分支点的位置;遍历预备分支点,并进行骨架生长操作;判断是否剩余未成为骨架的预备分支点,有则增加邻域半径h,增加幅度为△h,再继续进行局部中值计算迭代;无则对生成的骨架分支进行平滑操作并输出骨架;最后对生成的骨架进行绘制。
为实现上述目的,本发明的具体技术方案为一种三维植物点云模型的骨架提取方法,包括如下步骤:
1)使用三维扫描仪对植物进行360°扫描,得到带有噪点的植物3D点云模型1;
2)对植物3D点云模型1进行预处理,包括对点云进行采样,得到含有预备分支点的植物3D
点云模型2,其中预备分支点集为I={x
3)对植物3D点云模型2采取局部中值计算,根据得到的中值更新预备分支点的位置;
4)遍历植物3D点云模型2中的更新后的预备分支点,进行骨架分支点侦测,进行骨架生长操作;
5)判断是否有未成为骨架的预备分支点,有则增加预备分支点的邻域半径h,预备分支点邻域半径增加幅度为△h,即h=h+△h,转步骤3)处理;无则转6);
6)对于每个骨架分支点v
7)对输出的骨架进行绘制。
进一步地,上述步骤2)中,对点云数据进行预处理时,用户可调整辅助方法,具体步骤如下:
2.1)用户辅助选用鼠标选择框,选择复杂区域,指示计算机在该区域进行迭代中值收缩;
2.2)将该用户选择复杂区域范围内的预备分支点默认中值邻域范围h缩小,同时减小增幅△h,以实现同一模型,同一次收缩,不同收缩速度;其中初始默认邻域h
h
其中,max(x)max(y)max(z)分别为所有预备分支点的最大x,y,z坐标,min(x)min(y)min(z)分别为所有预备分支点的最小x,y,z坐标,即d为模型包围盒对角线。
进一步地,上述步骤3)中,计算得到的中值,更新预备分支点的位置包括如下步骤:
3.1)计算预备分支点x
C
其中,x
计算得到的σ(x
3.2)设
3.3)迭代更新预备分支点的公式为:
其中,
3.4)计算平均移动距离
进一步地,上述步骤4)中,骨架点生长操作具体步骤如下:
4.1)判断预备分支点之间是否可以构成骨架分支,判断条件需满足同时满足以下条件:
a.对于每个点分布量σ(x
b.当前潜在分支点x
4.2)将潜在分支点之间相互连接,成为骨架分支点,并将已经生成的骨架分支点从潜在分支点中删除,将这些骨架分支点固定;同时,将已固定的骨架分支前后端点标记为活动连接点,允许连接点继续更新位置,以保持连接骨架间连接性;
4.3)若潜在分支点个数少于阈值,则说明此处不能生成骨架,删除这些预备分支点;
4.4)判断是否有多个连接点相互距离小于阈值,有则合并这些连接点为同一个点,并固定该点,彻底成为骨架分支点;
4.5)判断每个连接点是否与上一个固定骨架点距离大于阈值,是则删除该连接点,使之失效。
本发明有以下有益效果:
1.本发明对初始植物点云数据中的野点,噪声和缺失有很强的鲁棒性,可以一定程度避免野点,噪声和点云缺失带来的干扰。
2.本发明效率较高,方法计算简单,可以在较短的时间内获得植物骨架。
3.针对植物模型能正确保留复杂枝干拓扑连接细节。
附图说明
图1为三维植物点云模型骨架提取方法的流程图。
图2为预处理的流程图。
图3为骨架分支生产连接的流程图。
图4为实例原始植物点云的模型图。
图5为采样得到预备分支点的模型图。
图6为生成骨架之后的植物点云模型图。
具体实施方式
下面结合附图和实施实例对本发明作进一步描述。
图1为三维植物点云的骨架提取方法的流程图,包括以下步骤:
1)使用三维扫描仪对植物进行360°扫描,得到带有噪点的植物3D点云模型1;
2)对植物3D点云模型1进行预处理,包括对点云进行采样,得到含有预备分支点的植物3D点云模型2,其中预备分支点集为I={x
3)对植物3D点云模型2采取局部中值计算,根据得到的中值更新预备分支点的位置;
4)遍历植物3D点云模型2中的更新后的预备分支点,进行骨架分支点侦测,进行骨架生长操作;
5)判断是否有未成为骨架的预备分支点,有则增加预备分支点的邻域半径h,预备分支点邻域半径增加幅度为△h,即h=h+△h,转步骤3)处理;无则转6);
6)对于每个骨架分支点v
7)对输出的骨架进行绘制。
作为本发明的优选实施例,如图2所示,在步骤2)中,对点云数据进行预处理时,用户可调整辅助方法,具体步骤如下:
2.1)用户辅助选用鼠标选择框,选择复杂区域,指示计算机在该区域进行迭代中值收缩;
2.2)将该用户选择复杂区域范围内的预备分支点默认中值邻域范围h缩小,同时减小增幅△h,以实现统一模型,同一次收缩,不同收缩速度;其中初始默认邻域h
h
其中,max(x)max(y)max(z)分别为所有预备分支点的最大x,y,z坐标,min(x)min(y)min(z)分别为所有预备分支点的最小x,y,z坐标,即d为模型包围盒对角线。
作为本发明的优选实施例,步骤3)中,计算得到的中值,更新预备分支点的位置包括如下步骤:
3.1)计算预备分支点x
C
其中,x
计算得到的σ(x
3.2)设
3.3)迭代更新预备分支点的公式为:
其中,
上述公式中对于q
对于这些点集I={x
3.4)计算平均移动距离
作为本发明的优选实施例,如图3所示,在步骤4)中,骨架点生长操作具体步骤如下:
4.1)判断预备分支点之间是否可以构成骨架分支,判断条件需满足同时满足以下条件:
a.对于每个点分布量σ(x
b.当前潜在分支点x
4.2)将潜在分支点之间相互连接,成为骨架分支点,并将已经生成的骨架分支点从潜在分支点中删除,将这些骨架分支点固定(不再参与计算更新);同时,将已固定的骨架分支前后端点标记为活动连接点,允许连接点继续更新位置,以保持连接骨架间连接性;
4.3)若潜在分支点个数少于阈值,作为本发明的优选实施例,默认阈值设为5,则说明此处不能生成骨架,删除这些预备分支点(也是潜在分支点);
4.4)判断是否有多个连接点相互距离小于阈值,作为本发明的优选实施例,阈值默认为邻域半径h
4.5)判断每个连接点是否与上一个固定骨架点距离大于阈值,作为本发明的优选实施例,阈值为两倍当前邻域半径2*h,是则删除该连接点,使之失效。
本发明具体实例的原始植物点云的模型图、采样得到预备分支点的模型图、生成骨架之后的植物点云模型图分别如图4(模型1)、图5(模型2)、图6所示。
机译: 用于通过使用来移植上述生物材料的仪器的成套工具,以及在联合镜检查中对包含用于移植的透明质酸衍生物的三维骨架的生物材料进行三维镜检查的一种制造方法。
机译: 一种植物猕猴桃纤维和其他蔷薇科植物的提取方法
机译: 一种由植物或动物蛋白物质生产的人造轻质材料的方法,可抵抗沸水和较热的阔根植物的骨架,例如线,纤维或薄膜