1.本技术涉及外科手术辅助软件领域,尤其涉及一种三角网格模型的任意分割方法。
背景技术:2.近年来,随着数字医疗技术的不断发展,基于计算机三维模型的虚拟外科手术术前计划技术日趋成熟。在虚拟术前模拟中,基于来自患者相关部位的医学影像学数据建立三维模型,用户(主要为医生)可以根据需要,观察或操作三维模型。结合3d打印技术在外科手术中的应用,用户还能在术前计划中对外科手术替换物或植入物(例如:义齿、关节假体、骨骼填充物等等)进行设计,通过设计得到用于3d打印的模型数据。
3.为了得到3d打印模型数据,首先需要对受关注区域的三维模型进行分割。在三维模型重构中,三角网格模型因其定义简单、不产生歧义、重构效率高而得到广泛的应用。因此对三维模型的分隔需求便转化为对三角网格模型的分隔需求。
4.基于原始医学影像数据生成的原始三角网格模型缺少足够的语义信息以及结构特征。在现有的虚拟术前计划软件中,通常向用户提供一些预设的切割面,这些切割面可能是平面,也可能是根据一定规则预设的曲面、组合曲面等等。使用户得以将切割面作为“刀具”,对三角网格模型进行分割。但是,对于关注区域的分割依赖于用户的经验,用户需要根据解剖状态以及手术的实际情况,选取分割点。在另一些情况下,分割点由经过机器学习的计算机程序通过图像识别来选取。但无论是人工选取还是软件选取的多个分割点,都极少可能恰好处于同一平面上,也极少可能恰好处于预设的某个曲面或组合曲面上。这就导致三维模型的分隔难以达到期望的效果。当三维模型分隔精度不够时,会导致3d打印的假体与原组织配合出现问题,例如解剖形态恢复不良,力学功能受损,以及假体与原组织之间的配合不良导致的磨损和寿命下降等等。
5.因此本领域技术人员致力于开发一种三角网格模型的任意分割方法,使得用户得以任意分割三角网络模型,提高3d打印假体的精度和寿命。
技术实现要素:6.为实现上述目的,本技术提供了一种三角网格模型的任意分割方法,具体包括以下步骤:
7.步骤1、选取分割目标点;
8.步骤2、在待分割模型上确定与所述分割目标点对应的分割点;
9.步骤3、在所述分割点之间生成平滑的贝塞尔曲线;
10.步骤4、基于所述贝塞尔曲线生成分割曲面;
11.步骤5、利用所述分割曲面对所述待分割模型进行分割,形成第一模型与第二模型;
12.步骤6、采用不同的颜色标识所述第一模型与所述第二模型。
13.进一步地,所述分割目标点通过人机交互选取,或通过计算机程序选取。
14.进一步地,步骤2具体包括以下步骤:
15.步骤2.1、获取所述待分割模型的空间中所有的网格点坐标;
16.步骤2.2、获取所述网格点在三维坐标轴上的坐标范围;
17.步骤2.3、将所述空间按所述坐标范围最大的坐标轴进行二分,形成两个子空间;
18.步骤2.4、所述子空间包括中心点,对于每个所述子空间,求所述中心点与所述分割目标点之间的距离;
19.步骤2.5、对于所述距离较小的所述子空间,进行条件判定,如满足判定条件,则执行下一步,如不满足,则执行步骤2.3;
20.步骤2.6、遍历所述子空间内的所有所述网格点,找到与所述分割目标点。
21.进一步地,步骤2.5中的条件判定条件具体为,所述坐标范围是否小于1。
22.进一步地,步骤3中,包括在两个所述分割点p1、p2之间,构造第一插值点p
near
、第二插值点p
far
,依次连接p1、p
near
、p
far
、p2,得到所述贝塞尔曲线。
23.进一步地,所述贝塞尔曲线具有两次平滑的标准。
24.进一步地,步骤4中,根据所述贝塞尔曲线上的连续的三个点的坐标以及方向向量,构造空间三角形以得到所述分割曲面。
25.进一步地,步骤5具体包括以下步骤:
26.步骤5.1、构造待分割模型的空间包围盒s1以及三角形包围盒t1;
27.步骤5.2、构造分割曲面模型的空间包围盒s2以及三角形包围盒t2;
28.步骤5.3、遍历每一个t2,判定t2与s1是否相交,如相交则执行下一步,如不相交则不做处理;
29.步骤5.4、遍历每一个t2和t1,判定t2与t1是否相交,如相交则执行下一步,如不相交则不做处理;
30.步骤5.5、遍历t2中的每一个三角形,判定t2中的三角形与t1中的三角形是否相交,如相交则执行下一步,如不相交则不做处理;
31.步骤5.6、计算交线,对t1中的三角形进行分割。
32.与现有技术相比,本技术的技术方案至少具备以下技术效果:
33.1、本技术提供的分割方法,基于用户或计算机程序事先确定的分割目标点。即便这些分割目标点不处于同一平面上,也不处于任一预设的曲面或曲面组合上,本方法也能够构造出高精度的分割曲面,以实现对三角网格模型的任意分割。以此更好地还原需要被分割的组织部位。
34.2、本技术提供的分割方法,分割曲面是基于空间贝塞尔曲线生成的,能够达到二次平滑的标准。基于本方法分割的模型,其3d打印的假体成品能够与原组织很好地配合,接触处压力分布均匀,减小磨损,增加假体的使用寿命。
35.3、本技术提供的分割方法,通过空间二分法搜寻三角网格模型上的网格点,能够大幅提高分割效率。
36.以下将结合附图对本技术的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本技术的目的、特征和效果。
附图说明
37.图1是本技术一个实施例的流程示意图;
38.图2是本技术一个实施例的待分割模型示意图;
39.图3是本技术一个实施例的步骤2的流程示意图;
40.图4是本技术一个实施例的步骤5的流程示意图;
41.图5是本技术一个实施例的分割效果示意图。
具体实施方式
42.以下参考说明书附图介绍本技术的多个优选实施方式,使其技术内容更加清楚和便于理解。本技术可以通过许多不同形式的实施方式来得以体现,本技术的保护范围并非仅限于文中提到的实施方式。
43.实施例
44.本技术提供的一种三角网格模型的任意分割方法,其流程如图1所示,具体包括如下步骤。
45.步骤1、选取分割目标点。
46.用户根据手术部位的实际需要,在三维模型上选取受关注区域的分隔目标点。这些目标点通常由用户(医生)根据经验以及手术部位的解剖学形态以及实际需要,通过人机交互选取。在一些类似的情况中,分隔目标点也可以由经过机器学习的计算机程序根据三维医学图像识别选取。在本实施例中,采用如图2所示的股骨头附近的骨骼模型进行分割。
47.步骤2、在待分割的三角网格模型上确定与分割目标点对应的分割点。
48.三角网格模型由一系列互相连接成网格状的三角形构成,包括在三维模型表面离散分布的网格点以及连接这些网格点的线段。在绝大部分情况下,无论是用户通过人机交互选定的分隔目标点,还是计算机程序根据医学图像识别选定的分隔目标点,都无法与三角网络模型上的某一网格点恰好重合,因此需要通过某些算法在三角网络模型上找到与分割目标点最接近的网格点,作为分割点。
49.比较常见的做法是遍历模型上所有的网格点,求取每个网格点与分割目标点之间的距离,从而求得与分割目标点之间距离最小的网格点。但是这样的方法计算量很大,当模型包含数量众多的网格点时,效率低下。
50.在本实施例中优选地采用空间二分法找到分割点。如图3所示,空间二分法具体包括以下步骤:
51.步骤2.1、获取构成三角网格模型的空间s中的所有网格点的三维坐标p(x,y,z)。
52.步骤2.2、获取网格点分别在三个坐标轴上的坐标范围range(x)、range(y)、range(z)。
53.例如,对于x轴,取x坐标最大的点,与x坐标最小的点的差值,为x轴的坐标范围,即range(x)=x
max-x
min
。
54.相应地,有range(y)=y
max-y
min
、range(z)=z
max-z
min
。
55.步骤2.3、判定坐标轴范围range(x)、range(y)、range(z)中最大者属于哪个坐标轴,并将模型空间按该坐标轴的坐标中值进行二分,形成子空间si,其中i为进行二分的次数。
56.步骤2.4、对于二分后的两个子空间si,求子空间si的中心点与分割目标点之间的距离di。
57.步骤2.5、对于距离di较小的子空间si,判定其坐标范围range(x)、range(y)、range(z)是否均小于1(坐标系元单位)。如果不满足,则再次执行步骤2.3;如果满足判定条件,则执行下一步。
58.步骤2.6、对于子空间si,遍历包含于其中的所有网格点,与分割目标点之间的距离,找到与之距离最小的网格点,作为分割点。
59.本实施例提供的空间二分法,首先通过空间二分
→
比较距离
→
空间二分
→
比较距离
……
的循环方式,将整个模型空间分割为足够小的(x、y、z方向的尺寸均小于1)子空间,且该子空间的中心点与分割目标点的距离最短,然后在子空间内遍历所有网格点,求取网格点与分割目标点之间的距离。最终找到与分割目标点距离最近的网格点,大幅提高了处理速度。
60.如下表所示,以硬件环境为cpu:i7920,软件环境为vs2010编译器为例。采用普通的遍历算法和采用本实施例中提供的空间二分法的效率对比。从表中可以看出,当子空间点集包含的数量越多,两种算法的效率差别越大。网格点数量最小(仅64个)时,空间二分法的处理效率比普通的遍历算法效率高4-5倍;当网格点数量达到百万级别,空间二分法的处理效率比普通的遍历算法效率高了几千倍。因此本实施例提供的方法大幅提高了模型分割效率。
[0061][0062]
步骤3、在确定的各个分割点之间,生成平滑的贝塞尔曲线以依次连接这些分割点。对于三角网格模型而言,两个网格点之间的连接是通过三角形的各条边连接的。即两个网格点之间的连接曲线为锯齿形的折线。如果将模型按这样的锯齿形曲线形成的分割面进行分割,则会在分割交界处产生多个“奇点”。在这些“奇点”处,通过3d打印形成的植入物会造成压力分布不均匀、配合度差等问题。因此需要对锯齿形的连接线进行平滑。本实施例采用构造贝塞尔曲线的方法,可以达到二次平滑的效果。
[0063]
以两个分割点为例,本实施例的方法具体如下:
[0064]
定义分割点坐标向量分别为p1(x1,y1,z1)、p2(x2,y2,z2),分割点的方向向量分别为n1(x1,y1,z1),n2(x2,y2,z2)。
[0065]
有
[0066]
定义向量dir(x,y,z)=(x
2-x1,y
2-y1,z
2-z1)。
[0067]
有
[0068]
其中,dir.y代表向量dir(x,y,z)在y方向上的分量,本说明书中的其他部分采用同样的表达方式。
[0069][0070]
定义向量
[0071]
以及
[0072]
则第一插值点
[0073]
第二插值点
[0074]
依次连接p1、p
near
、p
far
、p2,即可得到两点之间的平滑的贝塞尔曲线。本实施例中优选地,
[0075]
步骤4、基于步骤3中得到的贝塞尔曲线,构造分割曲面。
[0076]
定义贝塞尔曲线上的连续三点坐标为p1(x,y,z)、p2(x,y,z)、p3(x,y,z)。
[0077]
方向向量n0(x,y,z)=(p2.x-p1.x,p2.y-p1.y,p2.z-p1.z);
[0078]
方向向量n1(x,y,z)=(p3.x-p1.x,p3.y-p1.y,p3.z-p1.z);
[0079]
方向向量
[0080]
方向向量
[0081]
得到四个空间三角形顶点坐标:
[0082]
a(x,y,z)=p1(x,y,z)+n3(x,y,z)
[0083]
b(x,y,z)=p2(x,y,z)+n3(x,y,z)
[0084]
c(x,y,z)=p1(x,y,z)-n3(x,y,z)
[0085]
d(x,y,z)=p2(x,y,z)-n3(x,y,z)
[0086]
依次利用四个空间三角形顶点中的三个点组成的点集构造空间三角形:
[0087]
(b,a,p1)、(p1,p2,b)、(p1,c,d)、(p2,c,d)
[0088]
这些点集构造的空间三角形形成p1(x,y,z)、p2(x,y,z)、p3(x,y,z)之间的分割曲面,分割曲面同样是三角网格模型的形式。
[0089]
对贝塞尔曲线上的所有相邻的三点均执行本步骤,得到所有分割曲面。
[0090]
步骤5、采用步骤4得到的分割曲面对待分割模型进行分割,得到第一模型以及第二模型。
[0091]
将待分割模型与分割曲面模型相交,将待分割模型进行分割。
[0092]
在本技术中,优选地采用快速空间三维布尔运算算法,其流程如图4所示,具体包括以下步骤:
[0093]
步骤5.1、构造待分割模型的包围盒:遍历待分割模型上的所有网格点,取x、y、z方向上坐标的最大值以及最小值,生成待分割模型的空间包围盒s1。对于待分割模型上的每个三角形,构造三角形包围盒t1。
[0094]
步骤5.2、构造分割曲面模型的包围盒:遍历分割曲面上的所有网格点,取x、y、z方向上坐标的最大值以及最小值,生成分割曲面模型的空间包围盒s2。对于分割曲面模型上的每个三角形,构造三角形包围盒t2。
[0095]
步骤5.3、遍历属于分割曲面模型的三角形包围盒t2,判定其是否与待分割模型的空间包围盒s1相交。如判定结果为真,则执行步骤5.4。如判定结果为假,则不做处理。
[0096]
步骤5.4、对于步骤5.3中判定结果为真的三角形包围盒t2,判定其是否与属于待分割模型的三角包围盒t1相交。如判定结果为真,则执行步骤5.5。如判定结果为假,则不做处理。
[0097]
步骤5.5、对于步骤5.4中判定结果为真的三角形包围盒t1以及t2,判定属于三角形包围盒t1的三角形,与属于三角形包围盒t2的三角形,是否相交。如判定结果为真,则执行步骤5.6。如判定结果为假,则不做处理。
[0098]
步骤5.6、对于步骤5.5中判定结果为真的两个三角形,计算其交线,采用交线将属于待分割模型的三角形,即t2中的三角形分割为多个不相交的小三角形。
[0099]
至此,待分割模型以分割曲面模型为界,被分割为不相交的两部分。这两部分均为三角网格模型,即第一模型以及第二模型。
[0100]
步骤6、采用不同的颜色标识第一模型以及第二模型,并保存数据。
[0101]
在界面上显示分割以后的三角网格模型,以便用户观察和核对分割效果。将第一模型、第二模型的数据保存,用于后续可能的3d打印处理。
[0102]
在本技术提供的分割方法中,即便用户选取的点不处于同一平面中,也不处于任一预设的曲面或组合曲面中,本分割方法也能够构造出合适的分割曲面,因此能够实现对三角网格模型的任意分割,且能够达到很高的精度。此外,由于分割曲面是基于平滑的空间贝塞尔曲线生成,能够达到二次平滑的标准,因此能够与原组织很好地配合。基于分割模型进行3d打印的植入物假体,不仅能够很好地恢复解剖形态,还能够提供良好的力学性能,减少磨损,增加假体使用寿命。
[0103]
以上详细描述了本技术的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本技术的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本技术的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
技术特征:1.一种三角网格模型的任意分割方法,其特征在于,具体包括以下步骤:步骤1、选取分割目标点;步骤2、在待分割模型上确定与所述分割目标点对应的分割点;步骤3、在所述分割点之间生成平滑的贝塞尔曲线;步骤4、基于所述贝塞尔曲线生成分割曲面;步骤5、利用所述分割曲面对所述待分割模型进行分割,形成第一模型与第二模型;步骤6、采用不同的颜色标识所述第一模型与所述第二模型。2.如权利要求1所述的三角网格模型的任意分割方法,其特征在于,所述分割目标点通过人机交互选取,或通过计算机程序选取。3.如权利要求1所述的三角网格模型的任意分割方法,其特征在于,步骤2具体包括以下步骤:步骤2.1、获取所述待分割模型的空间中所有的网格点坐标;步骤2.2、获取所述网格点在三维坐标轴上的坐标范围;步骤2.3、将所述空间按所述坐标范围最大的坐标轴进行二分,形成两个子空间;步骤2.4、所述子空间包括中心点,对于每个所述子空间,求所述中心点与所述分割目标点之间的距离;步骤2.5、对于所述距离较小的所述子空间,进行条件判定,如满足判定条件,则执行下一步,如不满足,则执行步骤2.3;步骤2.6、遍历所述子空间内的所有所述网格点,找到与所述分割目标点。4.如权利要求3所述的三角网格模型的任意分割方法,其特征在于,步骤2.5中的条件判定条件具体为,所述坐标范围是否小于1。5.如权利要求1所述的三角网格模型的任意分割方法,其特征在于,步骤3中,包括在两个所述分割点p1、p2之间,构造第一插值点p
near
、第二插值点p
far
,依次连接p1、p
near
、p
far
、p2,得到所述贝塞尔曲线。6.如权利要求5所述的三角网格模型的任意分割方法,其特征在于,所述贝塞尔曲线具有两次平滑的效果。7.如权利要求1所述的三角网格模型的任意分割方法,其特征在于,步骤4中,根据所述贝塞尔曲线上的连续的三个点的坐标以及方向向量,构造空间三角形以得到所述分割曲面。8.如权利要求1所述的三角网格模型的任意分割方法,其特征在于,步骤5具体包括以下步骤:步骤5.1、构造待分割模型的空间包围盒s1以及三角形包围盒t1;步骤5.2、构造分割曲面模型的空间包围盒s2以及三角形包围盒t2;步骤5.3、遍历每一个t2,判定t2与s1是否相交,如相交则执行下一步,如不相交则不做处理;步骤5.4、遍历每一个t2和t1,判定t2与t1是否相交,如相交则执行下一步,如不相交则不做处理;步骤5.5、遍历t2中的每一个三角形,判定t2中的三角形与t1中的三角形是否相交,如相交则执行下一步,如不相交则不做处理;
步骤5.6、计算交线,对t1中的三角形进行分割。
技术总结本申请公开了一种三角网格模型的任意分割方法。具体包括:选取分割目标点、在三角网格模型上确定与分割目标点对应的分割点、在分割点之间生成平滑的贝塞尔曲线、基于贝塞尔曲线生成分割曲面、利用分割曲面对三角网格模型进行分割,形成第一模型与第二模型、采用不同的颜色标识第一模型与第二模型。采用本方法,可以对未处于同一平面或预设曲面上的分割点进行任意的分割曲面构造,从而实现模型的任意分割,更好地还原需要被分割的组织部位。更好地还原需要被分割的组织部位。更好地还原需要被分割的组织部位。
技术研发人员:刘非 程咏华
受保护的技术使用者:上海昕健医疗技术有限公司
技术研发日:2022.06.24
技术公布日:2022/11/1