首页 / 专利库 / 人工智能 / 三维形变模型 / 一种基于渐进式外接球结构的碰撞检测算法

一种基于渐进式外接球结构的碰撞检测算法

阅读:769发布:2020-05-08

专利汇可以提供一种基于渐进式外接球结构的碰撞检测算法专利检索,专利查询,专利分析的服务。并且本 发明 涉及虚拟手术技术领域,特别公开了一种基于渐进式外接球结构的 碰撞检测 算法 ,它包括1)进入初始化阶段:2)对于手术器械的三维模型,需要在初始化阶段绑定碰撞检测体:3)根据软 体模 型局部几何特征,进行外接球尺寸调整;4)根据软体模 型材 质属性,进行外接球尺寸的调整;5)在仿真阶段中,利用三 角 形面片的包围球进行broad phase碰撞检测;6)基于外接球的Narrow Phase碰撞检测:7)碰撞解算:8)处理完碰撞后,判断是否需要更新外接球结构。本发明可以减少碰撞约束的复杂多样性,从而提高整体软体形变求解过程的收敛速度, 稳定性 与精确性。,下面是一种基于渐进式外接球结构的碰撞检测算法专利的具体信息内容。

1.一种基于渐进式外接球结构的碰撞检测算法,其特征是,包括以下步骤:
1)进入初始化阶段:该阶段会初始化三维软组织器官的外接球结构,并为每一个三形面片生成一个大小和位置依赖于模型表面的曲率与软体物理材料属性的外接球;
2)对于手术器械的三维模型,需要在初始化阶段绑定碰撞检测体,该碰撞检测体负责物理仿真中与软体进行碰撞检测;
3)根据软体模型局部几何特征,进行外接球尺寸调整;
4)根据软体模型材质属性,进行外接球尺寸的调整;
5)在仿真阶段中,利用三角形面片的包围球进行粗略测试阶段碰撞检测;所述三角形面片的包围球采用的是以三角形的外心为球心、外心到三角形顶点的距离为半径建立的包围球;粗略测试阶段碰撞检测可以有效缩小碰撞区域潜在位置的搜索范围;粗略测试阶段碰撞检测发现有碰撞发生,进入下一步,否则继续执行该步骤;
6)基于外接球的精确阶段碰撞检测:对于步骤3)检测到的发生碰撞的区域,进行进一步的碰撞检测;该步的检测是在外接球结构和手术器械碰撞体之间进行的;如果检测到碰撞的发生,进入下一步,否则继续执行步骤6);
7)碰撞解算:根据前一步检测到的碰撞,将相交的外接球结构与手术器械碰撞体分离,外接球结构内部的三角形面片随外接球结构一起移动,生成分离碰撞所需要的约束,将约束加入软体仿真求解框架下;
8)处理完碰撞后,判断是否需要更新外接球结构,是否需要更新依赖于每个外接球结构对应的三角形面片发生形变的程度,如果形变程度相对于之前结果超过一定范围,则根据新的三维软组织模型的表面曲率特征和物理材质属性,来更新包围球位置和尺寸,否则沿用上一帧中包围球的结构,转至执行步骤5)。
2.根据权利要求1所述的基于渐进式外接球结构的碰撞检测算法,其特征是,步骤1)的具体方法为:
针对软组织器官三维模型的每一个三角形面片,初始化对应外接球的球心x的位置,计算如下:
其中 代表外接球对应的三角形面片的中心,即外接圆圆心, 为外接圆半径, 代表三角形面片的法线方向,为一个常量控制总体幅度,为角度,是一个常量。
3.根据权利要求1所述的基于渐进式外接球结构的碰撞检测算法,其特征是,步骤2)的具体方法为:
根据手术器械三维模型的结构,将简单几何体绑定到手术器械三维模型上,利用简单几何体进行与软体间的碰撞检测。
4.根据权利要求1所述的基于渐进式外接球结构的碰撞检测算法,其特征是,步骤3)的具体方法为:
为外接球对应三角形面片处的曲率, 为3次
Hermite差值曲线;
,其中
为Herimite的基函数, 分别为
的值, 分别代表在 处 的斜率;h为指定的常量,当 时,
. 当 时, 。
5.根据权利要求1所述的基于渐进式外接球结构的碰撞检测算法,其特征是,步骤4)的具体方法为:
其中 是外接球对应的三角形面片所具有的能量,该能量的计算方式与所采用的材料的应-应变模型相关,具体数值的计算依赖于所采用的应力-应变模型种类;是自定义常量,作为能量的一个比例系数,用来控制能量对外接球半径的影响程度。
6.根据权利要求1所述的基于渐进式外接球结构的碰撞检测算法,其特征是,步骤7)的具体方法为:
根据检测到的碰撞,计算出分离重叠区域所需的外接球位置的变化向量 ,外接球对应的三角形顶点 , 按 方向进行移动即计算出每个顶点的目标的位置 ,将以下约束加入软体模拟数值求解过程中进行求解:
 +  + 。
7.根据权利要求1所述的基于渐进式外接球结构的碰撞检测算法,其特征是,步骤8)的具体方法为:
计算当前帧外接球对应三角形面积 ,计算与前一帧该三角形面积 的比值,如果 ,外接球的更新利用前一帧中步骤3)和步骤4)计算的结果进行更新,之后转至步骤5);如果 , 则需要进行步骤3)和步骤4)的计算来更新外接球结构,再转至步骤5)。

说明书全文

一种基于渐进式外接球结构的碰撞检测算法

技术领域

[0001] 本发明涉及虚拟手术技术领域,特别涉及一种基于渐进式外接球结构的碰撞检测算法。

背景技术

[0002] 虚拟手术技术,以虚拟现实技术构建的可交互3D环境为基础,通过模拟手术中的关键步骤,为医生提供一种零损伤且较强可重复性的虚拟教学训练环境。虚拟手术技术主要依赖于计算机图形学中的实时图形渲染可视化)和物理仿真(软体与刚体动学)。 虚拟手术的主要特色在于能够提供用户和虚拟软组织器官的实时交互,用户可以通过力反馈设备,实时感受到与3D物体之间的触碰感。力反馈设备所提供的触碰感取决于虚拟手术环境中,虚拟手术器械与软组织之间交互的精确度与稳定性。这种交互的本质在于,手术器械(刚体)与软组织器官(软体)在实时力学仿真中是如何相互作用的。为了解决这个问题, 关键是捕获到何时手术器械与软组织器官的什么部位发生了碰撞(碰撞检测)。
[0003] 一个健壮的碰撞检测算法直接影响手术模拟器的用户体验感。虚拟手术中涉及频繁的手术器械与软组织之间的复杂交互。手术器械与软体的碰撞检测难点在于根据实时更新的软组织3D模型的几何结构信息来查找碰撞发生的位置。根据这个信息,作出相应的几何计算与物理计算,产生逼真的碰撞效果,并有效防止手术器械穿透软组织的仿真瑕疵出现。
[0004] 高效解决软体碰撞检测的方法中, 简化碰撞元(collision primitive)的方式应用的较为广泛。传统方法中, 碰撞检测的基本单位是多边形面片。现有的模型简化方法的主要核心思想是利用简单的几何图元(例如球体)来取代传统方法中基于多边形面片来进行碰撞检测的算法,从而达到提高计算效率与减少仿真穿透瑕疵的目的。但是这种类型的方法存在的巨大问题在于,简化的碰撞结构模型不能很好的拟合原有软体模型的表面,虽然增加多边形厚度的方法可以克服穿透的仿真瑕疵,但是带来了过度保护的效果(比如碰撞发生时,碰撞体之间却存在间隔)。如何做到高效解决碰撞同时尽可能减少仿真可视化结果的瑕疵,是手术模拟中的一项挑战。
[0005] 实时软体仿真中,为达到实时效果,需要在求解的软体力学模型并未达到收敛解的时候,停止算法。 在现有广泛使用的实时软体仿真框架下(Position Based Dynamics), 会把碰撞检测作为一种约束放入最终的求解框架下。如果碰撞检测情况越复杂,碰撞约束种类越多,最终求解效果的收敛精度就会越差。比如传统的基于多边形的碰撞检测算法,会产生很多碰撞信息(边,点,面之间的碰撞)。这些复杂的信息,会导致仿真时,由于结果不收敛而造成的不稳定性,即出现碰撞处软体剧烈抖动的瑕疵。为了解决这个问题,现有方法只能提高迭代次数以求解更精确的结果,但这会带来巨大的计算开销。

发明内容

[0006] 本发明为了弥补现有技术缺陷,提供了一种用来提高虚拟手术中手术器械与软组织模型之间的碰撞检测效率,准确率以及稳定性的基于渐进式外接球结构的碰撞检测算法。
[0007] 本发明是通过如下技术方案实现的:一种基于渐进式外接球结构的碰撞检测算法,其特征是,包括以下步骤:
1)进入初始化阶段:该阶段会初始化三维软组织器官的外接球结构,并为每一个三形面片生成一个大小和位置依赖于模型表面的曲率与软体物理材料属性的外接球;
2)对于手术器械的三维模型,需要在初始化阶段绑定碰撞检测体,该碰撞检测体负责物理仿真中与软体进行碰撞检测;
3)根据软体模型局部几何特征,进行外接球尺寸调整;
4)根据软体模型材质属性,进行外接球尺寸的调整;
5)在仿真阶段中,利用三角形面片的包围球进行粗略测试阶段碰撞检测;所述三角形面片的包围球采用的是以三角形的外心(外心到三角形每个顶点的距离相等)为球心、外心到三角形顶点的距离为半径建立的包围球;粗略测试阶段碰撞检测可以有效缩小碰撞区域潜在位置的搜索范围;如果粗略测试阶段碰撞检测发现有碰撞发生,进入下一步,否则继续执行该步骤;
6)基于外接球的精确阶段碰撞检测:对于步骤3)检测到的发生碰撞的区域,进行进一步的碰撞检测;该步的检测是在外接球结构和手术器械碰撞体之间进行的;如果检测到碰撞的发生,进入下一步,否则继续执行步骤6);
7)碰撞解算:根据前一步检测到的碰撞,将相交的外接球结构与手术器械碰撞体分离,外接球结构内部的三角形面片随外接球结构一起移动,生成分离碰撞所需要的约束,将约束加入软体仿真求解框架下;
8)处理完碰撞后,判断是否需要更新外接球结构,是否需要更新依赖于每个外接球结构对应的三角形面片发生形变的程度,如果形变程度相对于之前结果超过一定范围,则根据新的三维软组织模型的表面曲率特征和物理材质属性,来更新包围球位置和尺寸,否则沿用上一帧中包围球的结构,转至执行步骤5)。
[0008] 步骤1)的具体方法为:针对软组织器官三维模型的每一个三角形面片,初始化对应外接球的球心x的位置,计算如下:
其中 代表外接球对应的三角形面片的中心,即外接圆圆心, 为外接圆半径, 代表三角形面片的法线方向,为一个常量控制总体幅度,为角度,是一个常量。
[0009] 步骤2)的具体方法为:根据手术器械三维模型的结构,将简单几何体(例如圆柱体,球体,胶囊体结构)绑定到手术器械三维模型上。利用简单几何体进行与软体间的碰撞检测。
[0010] 步骤3)的具体方法为:  为外接球对应三角形面片处的曲率, 为3
次Hermite差值曲线; ,其中
  为Herimite的基函数, 分别为
的值, 分别代表在 处 的斜率;h为指定的常
量,当 时, . 当 时, 。
[0011] 步骤4)的具体方法为:其中 是外接球对应的三角形面片所具有的能量,该能量的计算方式与所采用的材料的应力-应变模型相关,具体数值的计算依赖于所采用的应力-应变模型种类;是自定义常量,作为能量的一个比例系数,用来控制能量对外接球半径的影响程度。
[0012] 步骤7)所述的方法为:根据检测到的碰撞,计算出分离重叠区域所需的外接球位置的变化向量 ,外接球对应的三角形顶点 ,  按 方向进行移动即计算出每个顶点的目标的位置
,将以下约束加入软体模拟数值求解过程中进行求解:
 +  +
步骤8)的具体方法为:
计算当前帧外接球对应三角形面积 ,计算与前一帧该三角形面积 的比值
. 如果 ,外接球的更新利用前一帧中步骤3)和步骤4)计算的结果进
行更新,之后转至步骤5);如果 , 则需要进行步骤3)和步骤4)的计算来更新外接球结构,再转至步骤5)。
[0013] 本发明的有益效果是:渐进式外接球的结构能够有效的拟合可行变软体模型的表面,结构更新开销小。外接球的更新依赖于软体物理材料属性与几何特征,能够很好的根据软体的物理与几何的特性来有效的更新外接球结构模型,从而达到更好的拟合效果。在较好的拟合效果的基础上,对碰撞的外接球内的图元进行统一的位置更新,减少碰撞约束的复杂多样性,从而提高整体软体形变求解过程的收敛速度,稳定性与精确性。由于虚拟手术仿真当中涉及频繁的手术器械与软组织之间的滑动触碰与按压,需要快速收敛且相对精确的碰撞效果,该技术非常适合应用在这种类型的场景中,为用户提供健壮稳定的交互体验。
附图说明
[0014] 下面结合附图对本发明作进一步的说明。
[0015] 图1为本发明的流程示意图;图2为初始化外接球结构示意图;
图3为手术器械碰撞体绑定示意图;
图4为根据模型表面几何特征调整外接球结构示意图;
图5为根据软体模型材料属性来调整外接球大小示意图;
图6为效果示意图一;
图7为效果示意图二;
图8为效果示意图三。

具体实施方式

[0016] 附图为本发明的具体实施例。如图1至8所示,该种基于渐进式外接球结构的碰撞检测算法,一种基于渐进式外接球结构的碰撞检测算法,具体步骤如下:1)进入初始化阶段:该阶段会初始化软组织器官三维模型外接球结构,并为每一个三角形面片生成一个大小和位置依赖于模型表面的曲率与软体物理材料属性的外接球;其具体方法是:
针对软组织器官三维模型的每一个三角形面片,初始化对应外接球的球心x的位置,计算如下:
其中 代表外接球对应的三角形面片的中心,即外接圆圆心, 为外接圆半径, 代表三角形面片的法线方向,为一个常量控制总体幅度,该数值由用户指定,理论取值范围为0到无穷大,该数值越大,外接球球心距离三角形面片距离越远,外接球尺寸就越大,拟合效果就越好,具体的大小依赖于软体模型形状和用户对仿真精度的需求,为角度,是一个常量,该常量由用户指定,取值范围在0-90度之间,该数值越大,初始拟合效果越差。具体数值选取依赖于软体模型形状和用户对仿真精度需求。
[0017] 2)对于手术器械的三维模型,需要在初始化阶段绑定碰撞检测体,该结构负责物理仿真中与软体进行碰撞检测:根据手术器械三维模型的结构,将简单几何体(例如圆柱体,球体,胶囊体结构)绑定到手术器械三维模型上。利用简单几何体进行与软体间的碰撞检测。
[0018] 3)根据软体模型局部几何特征,进行外接球尺寸调整;具体方法为:  为外接球对应三角形面片处的曲率, 为3
次Hermite差值曲线; ,其中,
  为Herimite的基函数, 分别为
的值, 分别代表在 处 的斜率;h为指定的常量,该常量为用户自定
义的常量曲率阈值,取值范围为0到无穷大,该数值越小,代表外接球尺寸随曲率变化越大,即曲率越大的地方,外接球越趋近于包围球,丛伟伟模型高曲率细节处提供更好的防穿透保护,当 时, 。 当 时, 。
[0019] 4)根据软体模型材质属性,进行外接球尺寸的调整;具体方法为:其中 是外接球对应的三角形面片所具有的能量,该能量的计算方式与所采用的材料的应力-应变模型相关,具体数值的计算依赖于所采用的应力-应变模型种类,具体的计算方式属于材料力学领域常识;是自定义常量,这个常量属于用户自定义类型,理论上该数值的可选取0到无穷大的任意数值,作为能量的一个比例系数,用来控制能量对外接球半径的影响程度,该数值的确定依赖于具体的应力-应变模型和软体模型的尺寸,需要根据具体的请仿真情况由用户自定义。该数值越大,外接球结构能更好的拟合软体表面,但是过大的数值,会造成过大的外接球结构,从而降低计算精度。
[0020] 5)在仿真阶段中,利用三角形面片的包围球进行粗略测试阶段碰撞检测;所述三角形面片的包围球采用的是以三角形的外心(外心到三角形每个顶点的距离相等)为球心、外心到三角形顶点的距离为半径建立的包围球;Broad phase 阶段可以有效缩小碰撞区域潜在位置的搜索范围;如果broad phase发现有碰撞发生,进入下一步,否则继续执行该步骤;6)基于外接球的精确阶段碰撞检:对于步骤3)检测到的发生碰撞的区域,进行进一步的碰撞检测;该步的检测是在外接球结构和手术器械碰撞体之间进行的;如果检测到碰撞的发生,进入下一步,否则继续执行步骤6);
7)碰撞解算(碰撞解算是指根据检测到的碰撞信息,分离已碰撞的物体):根据前一步检测到的碰撞,将相交的外接球结构与手术器械碰撞体分离,外接球结构内部的三角形面片随外接球结构一起移动,生成分离碰撞所需要的约束,将约束加入软体仿真求解框架下;
具体方法为:
根据检测到的碰撞(即手术器械与软体相互重叠区域),计算出分离重叠区域所需的外接球位置的变化向量 ,外接球对应的三角形顶点 , 按 方向进行移动即计算出每个顶点的目标的位置 ,将以下约束加入软体模拟数值求解过程中进行求解:
 +  +
8)处理完碰撞后,判断是否需要更新外接球结构,是否需要更新依赖于每个外接球结构对应的三角形面片发生形变的程度,如果形变程度相对于之前帧结果超过一定范围,则根据新的三维软组织模型的表面曲率特征和物理材质属性,来更新包围球位置和尺寸,否则沿用上一帧中包围球的结构,转至执行步骤5),具体方法为:
计算当前帧外接球对应三角形面积 ,计算与前一帧该三角形面积 的比值
. 如果 ,外接球的更新利用前一帧中步骤3)和步骤4)计算的结果进
行更新,之后转至步骤5);如果 , 则需要进行步骤3)和步骤4)的计算来更新外接球结构,再转至步骤5)。
[0021] 除说明书所述技术特征外,其余技术特征均为本领域技术人员已知技术。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈