CN117950504A - 一种面向实时虚拟手术的软组织按压与夹取仿真方法 - Google Patents
一种面向实时虚拟手术的软组织按压与夹取仿真方法 Download PDFInfo
- Publication number
- CN117950504A CN117950504A CN202410348222.6A CN202410348222A CN117950504A CN 117950504 A CN117950504 A CN 117950504A CN 202410348222 A CN202410348222 A CN 202410348222A CN 117950504 A CN117950504 A CN 117950504A
- Authority
- CN
- China
- Prior art keywords
- soft tissue
- surgical tool
- vertex
- constraint
- vertices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 210000004872 soft tissue Anatomy 0.000 title claims abstract description 163
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004088 simulation Methods 0.000 title claims abstract description 29
- 238000003825 pressing Methods 0.000 title claims abstract description 17
- 239000013598 vector Substances 0.000 claims abstract description 45
- 238000001514 detection method Methods 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 claims abstract description 16
- 230000003993 interaction Effects 0.000 claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000013334 tissue model Methods 0.000 claims description 3
- 230000006835 compression Effects 0.000 claims 4
- 238000007906 compression Methods 0.000 claims 4
- 230000000694 effects Effects 0.000 abstract description 7
- 210000000056 organ Anatomy 0.000 abstract 3
- 230000035515 penetration Effects 0.000 description 8
- 238000005381 potential energy Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005182 potential energy surface Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002980 postoperative effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/28—Force feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/41—Medical
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/44—Morphing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种面向实时虚拟手术的软组织按压与夹取仿真方法,属于虚拟现实领域的手术实时仿真方向。按压和夹取是手术过程中常用的两种操作,针对上述操作仿真需求,本发明采用多尺度多重模型进行软体器官的变形交互模拟:粗尺度网格是四面体网格,用来模拟器官整体的形变;细尺度网格是表面三角网格,用来模拟器官与手术器械交互过程中的精细形变;球树模型用来计算顶点发生接触后被排出的方向。针对按压操作仿真,采用连续碰撞检测获取手术工具与软组织的碰撞位置,发生碰撞后,使用指导向量计算顶点位置的排出方向,从而保证手术工具与软组织表面的无穿透效果。针对夹取操作仿真,采用动态附着约束实现钳嘴与软组织的精细交互。
Description
技术领域
本发明涉及多尺度模型联合形变的方法技术领域,尤其是涉及一种面向实时虚拟手术的软组织按压与夹取仿真方法。
背景技术
人类在力觉上感到流畅的频率要求比在视觉上的频率要求要高,例如60Hz的图像输出就能够让人感觉流畅,而在力觉上至少要达到500Hz才能不让人感到有明显的抖动。由于软体形变需要的计算量通常更大,并且对于输出频率的需求更低;而反馈力输出需要的计算量通常较小,但对输出频率的要求很高。为了实现人与虚拟环境中物体的力反馈交互,现有的主流实现方式将交互过程分为软体形变仿真与反馈力计算两个部分。
Projective Dynamics是常用的软体形变仿真框架。软体形变可以理解为对模型顶点逐渐更新的过程。Projective Dynamics在模型顶点之间构建约束,并通过最小化约束定义的能量更新顶点位置,从而实现软体形变的效果。
约束的求解可分为局部约束求解与全局约束求解两个步骤。局部约束求解针对单个约束计算关联顶点处的能量梯度(用于更新顶点位置)。全局求解综合多个局部约束求解的计算结果,得到更新后的顶点位置。
Projective Dynamics使用雅各比迭代的求解器,在多个约束中间求解一个能够尽可能满足所有约束的中间解,从而能够避免最终结果在多个约束之间跳变的问题。Projective Dynamics方法使用投影的方式,将顶点位置投影到约束的零势能超平面上。并且将该顶点到零势能面投影点之间的距离作为约束的度量方式。约束能量的定义具有如下形式:
;
其中,为约束的刚度系数,/>、/>为约束i对应的系统参数矩阵,/>为选出与当前约束相关的顶点的选择矩阵。约束能量为将顶点投影到约束能量零势能面上的最短欧氏距离度量,最小化约束能量为求解约束的优化目标。通过将待优化顶点投影到约束的零势能流形上,将大部分约束的非线性部分留在约束的零势能面流形上,从而使得该方法能够用很简单的平方距离方式表达约束的能量。一个软组织顶点上能够同时存在多个约束能量/>,累加即可得到多个约束的总能量以及每一个约束对应的零势能面投影点/>。
该方法在累积多个局部求解能量之后,通过全局求解,得到最终顶点位置。全局求解可用如下公式表示:
;
其中,为系统质量矩阵,/>为未知量。求解上述线性方程组,即可得到更新后的软组织顶点位置,顶点位移能够实现软组织形变的效果。这样的局部-全局求解方法能够高效求解顶点上的约束。并且由于使用雅各比迭代,这种约束求解算法能够在多个约束中找到折中解,不会出现局部解在多个约束之间来回跳变震荡的情况。
现有的反馈力计算方法可以分为两类:直接反馈力计算方法与虚拟匹配方法。
直接反馈力计算方法对每个与工具发生碰撞的点计算该点对工具产生的力,最终将虚拟工具上的合力输出到力反馈设备上。
虚拟匹配方法维持一个不与物体发生碰撞虚拟工具位姿,通过虚拟工具的位姿与物理工具的位姿之间的差值计算反馈力。
如何获得不与物体发生碰撞的虚拟工具位姿是该反馈力计算方法的关键。主流的方法有:通过求解二次规划问题求得完全不嵌入物体的虚拟工具位姿;通过求解受力平衡方程逐步更新虚拟工具位姿。
第一类方法在狭窄空间中容易出现不存在合理虚拟工具位姿的情况,导致反馈力计算错误。
第二类方法是通过求解受力平衡方程逐步更新虚拟工具位姿的方法,根据牛顿第三定律,软体对虚拟工具施加的力与虚拟工具对软体施加的力大小相等方向相反,即虚拟工具上的碰撞力与虚拟匹配力的合力为0。随着物理工具的运动,这个合力将不再为0,于是更新虚拟工具的位姿,使碰撞力与虚拟匹配力的合力再次为0。
碰撞检测可分为离散碰撞检测与连续碰撞检测。离散碰撞检测研究的是某个时刻物体之间是否在空间上发生交叠。连续碰撞检测则会根据物体的运动轨迹判断两个物体之间是否发生碰撞。如果采样频率较低、物体比较薄或运动速度较快,碰撞发生在相邻的两个帧之间,而在连续两个时间帧中均未发生碰撞,离散碰撞检测会丢失碰撞结果。连续碰撞检测会考虑物体的运动轨迹,能够检测到在离散碰撞检测中可能丢失的碰撞结果。
碰撞响应指发生碰撞的物体根据碰撞发生的状态变化,变化后的物体姿态应避免在空间上的交叠。
按压碰撞检测的过程中,软体顶点排出方向错误会造成的穿透与黏连问题;刚体工具夹取软体时,软体会发生形变,但被夹取位置及其周围的形变效果不自然、不连续。
发明内容
本发明的目的是提供一种面向实时虚拟手术的软组织按压与夹取仿真方法,能够处理插入软体这种复杂环境中的碰撞检测与碰撞响应,避免碰撞检测中软体顶点排出方向错误造成的穿透与黏连问题。在夹取过程中,通过离散碰撞检测将发生碰撞的顶点投影到夹钳的碰撞面上,表面网格与四面体网格之间的交互方式,使夹取位置周围的表面形状更加自然。
为实现上述目的,本发明提供了一种面向实时虚拟手术的软组织按压与夹取仿真方法,包括以下步骤:
S1、软组织仿真模型包含三个部分:表面三角网格、四面体网格和球树,表面三角网格、四面体网格和球树之间采用的交互方式具体包括:
S11、球树与四面体网格之间的同步;
S12、四面体顶点受来自表面三角网格顶点的位置约束;
S13、表面三角网格顶点受来自四面体顶点的位置约束;
S2、在按压仿真过程中,手术工具相邻两帧构建碰撞空间,通过指导向量优化排出方向,位置约束系数动态调整;
S3、基于动态附着约束的夹取仿真操作,具体包括:
S31、通过手术工具的包围盒计算发生碰撞的软组织顶点位置,并计算发生碰撞的软组织顶点在手术工具上的相对位置和局部坐标;根据手术工具的闭合状态,选择性进行步骤S32或步骤S33;
S32、手术工具仍未闭合,则使用软组织顶点与手术工具的包围盒进行离散碰撞检测,并对发生碰撞的软组织顶点施加附着约束;
S33、手术工具已经闭合,则对预计算手术工具闭合时能抓取到的软组织顶点施加附着约束。
优选的,在步骤S11中,球树与四面体网格之间的同步方式如下:
S111、球树通过树形结构组织球体,计算球心在四面体网格内的中心坐标,球心位置可表示如下:
(1)
其中,为四面体网格绑定的球心位置,/>为球绑定的四个顶点的位置,/>为四面体网格四个顶点位置对球心位置的权重;
S112、四面体网格顶点与表面三角形网格顶点被绑定到球树中的球上,并根据软组织顶点绑定的球心位置计算指导向量,软组织顶点的指导向量为从软组织顶点指向软组织顶点绑定的球体球心,指导向量定义如下:
(2)
表示软组织顶点所在位置;
S113、在每次软组织形变计算采用完成之后,更新球树中球心位置与软组织顶点的指导向量。
优选的,在步骤S12中,四面体顶点受来自表面三角网格顶点的位置约束如下:
使用表面三角模型顶点来约束四面体模型顶点,对部分的四面体模型顶点施加位置约束:
(3)
(4)
其中,表示部分的四面体模型顶点施加位置约束的能量函数,/>表示四面体网格顶点位置,/>为表面三角模型顶点位置,/>为四面体顶点到手术工具的距离,为表面三角网格位置约束的刚度系数,与四面体网格顶点到手术工具的距离有关,手术工具没有和软组织发生碰撞,刚度系数为0,表面三角网格不对四面体网格施加位置约束,手术工具和软组织发生碰撞,则根据公式(4)计算约束的刚度系数,并为四面体网格的顶点施加表面三角网格位置约束,/>为用户设定的刚度系数的最大值。
优选的,在步骤S13中,表面三角网格顶点受来自四面体网格顶点的位置约束如下:
四面体网格位置约束的能量函数如(5)所示:
(5)
(6)
其中,表示四面体网格位置约束的能量函数,/>表示当前表面三角网格顶点的位置,/>表示根据四面体网格形变后顶点位置计算出的表面三角网格顶点的蒙皮位置,/>为表面三角网格顶点到手术工具的距离,/>为四面体网格位置约束的刚度系数,/>为刚度系数的基础权重值,/>为用户设置的未发生碰撞时表面三角网格顶点受来自四面体网格顶点位置的约束刚度系数。
优选的,在步骤S2中,手术工具相邻两帧构建碰撞空间,通过指导向量优化排出方向,位置约束系数动态调整:
设置ε为用户设定的判断是否构建手术工具前帧、后帧位姿之间张成的空间符号距离场的阈值,表示手术工具前帧、后帧位姿之间的距离,其中,手术工具前帧、后帧位姿之间张成的空间称为扫描体:
时,在手术工具前帧、后帧位姿扫描体上构建符号距离场,包括:
在手术工具前帧、后帧位姿经过的扫描体上构建一个非正交坐标系M(X, Y, Z),其中X为手术工具的中心轴向量,Y为手术工具当前帧位姿指向手术工具上一帧位姿方向,Z为手术工具中心轴扫过平面A的法向量;
对于软组织模型顶点,首先计算软组织顶点在扫描体局部坐标系下的坐标值/>,手术工具的长度为L、半径为R,根据软组织顶点在扫描体中的位置分为四种情况;
在构建软组织顶点上的不嵌入约束时,扫描体不同位置的顶点施加不同的排斥方向,分别是指向当前帧手术工具位姿的方向和指向上帧手术工具位姿的方向,排斥方向为,排斥的射线方程表示为/>,其中/>为到射线起点的距离,手术工具圆柱体底面圆心位置为/>,圆柱体轴心向量为/>,在圆柱体的局部坐标系下新的射线方程表示为:
(7)
求解如下方程中的:
(8)
求解方程后得到软组织顶点被排出到表面的位置,所在位置的法向量/>;
式中,R为手术工具圆柱半径,表示软组织顶点被排出的射线方程,/>表示在手术工具局部坐标系下顶点坐标,/>表示在手术工具局部坐标系中射线的方向,/>表示顶点在全局坐标系下的位置。
优选的,在步骤S2中,手术工具前帧、后帧位姿之间的距离,视为手术工具前帧、后帧位姿重合在一起,对手术工具前帧位姿的构建符号距离场,并进行模型顶点与圆柱体符号距离场的离散碰撞检测:
首先计算软组织顶点在手术工具中心轴上的投影,时,则软组织顶点与手术工具发生碰撞,否则未发生碰撞;对于发生碰撞的软组织顶点,设置软组织的排斥方向为/>,软组织顶点要被排出到圆柱体表面的排出位置/>,在排出位置处的表面法向量/>;
其中,为当前碰撞顶点位置,/>为手术工具圆柱的中轴方向向量。
优选的,在步骤S2中,根据手术工具的运动速度对于发生碰撞的软组织顶点调整软组织顶点运动的时间步长,时间步长扩大的权重表示如下:
(9)
其中,为当前手术工具运动速率,/>为用户设定的运动速率阈值。
优选的,在步骤S32中,手术工具仍未闭合,则使用软组织顶点与手术工具的包围盒进行离散碰撞检测,并对发生碰撞的软组织顶点施加附着约束,包括:
对于发生碰撞的软组织顶点,使用软组织顶点指导向量将发生碰撞的软组织顶点投影到手术工具闭合面上的位置/>,然后在碰撞的软组织顶点和投影位置之间构建附着约束,碰撞顶点上的能量函数公式为:
(10)
其中,表示约束的刚度系数,/>表示碰撞的软组织顶点到手术工具轴心的距离,/>为用户设置的约束刚度系数最大值,/>表示碰撞的软组织表面顶点当前的位置,/>表示当前碰撞的软组织顶点投影到手术工具闭合面上的位置。
优选的,在步骤S33中,手术工具已完全闭合,用户控制抓钳进行对软组织的拖拽操作,预计算投影位置在抓钳局部坐标系下的局部坐标,手术工具发生移动后,先获取当前时刻手术工具的位姿,计算得到当前手术工具的局部坐标系的三个轴向量X,Y,Z,根据预计算的局部坐标,计算出在当前时刻被抓取软组织顶点要被投影到的位置,之后在夹取软组织顶点和投影位置之间构建附着约束。
因此,本发明采用上述一种面向实时虚拟手术的软组织按压与夹取仿真方法,其技术效果如下:
(1)按压软组织时,减少工具与软组织的穿透、黏连等现象,提升仿真结果的真实感;
(2)使发生夹取的区域表面形状更贴合手术工具实际的表面位置,夹取仿真效果更加自然;
(3)使用多尺度联合形变策略,能够在避免表面黏连与穿透的同时,表面形变更加自然。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1是构建的连续碰撞检测碰撞体示意图;
图2是顶点排斥方向示意图;
图3是与圆柱体碰撞排出示意图;
图4是四面体位置约束示意图;
图5是逐步抓取方案流程图;
图6是夹取约束示意图。
具体实施方式
以下通过附图和实施例对本发明的技术方案作进一步说明。
除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。
实施例一
如图所示,本发明提供了一种面向实时虚拟手术的软组织按压与夹取仿真方法,包括以下步骤:
S1、软组织仿真模型包含三个部分:表面三角网格、四面体网格和球树,表面三角网格、四面体网格和球树之间采用的交互方式具体包括:
S11、球树与四面体网格之间的同步;
球树与四面体网格之间的同步方式如下:
S111、球树通过树形结构组织球体,计算球心在四面体网格内的中心坐标,用以表示四面体网格顶点位置对重心位置的贡献值,球心位置可表示如下:
(1)
其中,为四面体网格绑定的球心位置,/>为球绑定的四个顶点的位置,/>为四面体网格四个顶点位置对球心位置的权重;
S112、四面体网格顶点与表面三角形网格顶点被绑定到球树中的球上,并根据软组织顶点绑定的球心位置计算指导向量,软组织顶点的指导向量为从软组织顶点指向软组织顶点绑定的球体球心,指导向量定义如下:
(2)
表示软组织顶点所在位置;
S113、在每次软组织形变计算完成之后,更新球树中球心位置与软组织顶点的指导向量。
S12、四面体顶点受来自表面三角网格顶点的位置约束;
四面体顶点受来自表面三角网格顶点的位置约束如下:
使用表面三角模型顶点来约束四面体模型顶点,对部分的四面体模型顶点施加位置约束:
(3)
(4)
其中,表示部分的四面体模型顶点施加位置约束,/>表示四面体网格顶点位置,/>为表面三角模型顶点位置,/>为四面体顶点到手术工具的距离,/>为表面三角网格位置约束的刚度系数,与四面体网格顶点到手术工具的距离有关,手术工具没有和软组织发生碰撞,刚度系数为0,表面三角网格不对四面体网格施加位置约束,手术工具和软组织发生碰撞,则根据公式(4)计算约束的刚度系数,并为四面体网格的顶点施加表面三角网格位置约束,/>为用户设定的刚度系数的最大值。
S13、表面三角网格顶点受来自四面体顶点的位置约束;
表面三角网格顶点受来自四面体网格顶点的位置约束如下:
四面体网格位置约束的能量函数如(5)所示:
(5)
(6)
其中,表示四面体网格位置约束的能量函数,/>表示当前表面三角网格顶点的位置,/>表示根据四面体网格形变后顶点位置计算出的表面三角网格顶点的蒙皮位置,/>为表面三角网格顶点到手术工具的距离,/>为四面体网格位置约束的刚度系数,/>为刚度系数的基础权重值,/>为用户设置的未发生碰撞时表面三角网格顶点受来自四面体网格顶点位置的约束刚度系数。
使用表面三角网格、四面体网格和球树三种模型来表示仿真过程中的软体。表面三角网格使用三角形近似表示软体模型的表面,用于局部精细变形和绘制。四面体网格使用四面体填充软体的内部空间。通过在四面体上构建四面体体积约束,使软体模型能够发生形变并回复到原始的形状。球树表示软组织内部的体积。使用球体填充软组织的内部空间,可用于手术工具与软组织交互过程中的碰撞检测与防穿透处理。同时使用三种模型表示软组织,利用不同模型表示的优势,设计模型之间的互动方式,达成面向虚拟手术的实时软体形变效果。
S2、在按压仿真过程中,相邻两帧构建碰撞空间,通过指导向量优化排出方向,位置约束系数动态调整;
引入软组织顶点指导向量的概念用于规范软组织顶点在与手术工具发生碰撞后的排斥方向。在碰撞检测过程中,当软组织顶点穿过手术工具的中轴线后,手术工具排出软组织顶点的方向将会发生变化,从而容易发生穿透。指导向量能够在软体顶点被手术工具排出时,为排出方向提供参考。指导向量在顶点排出方向上的作用如下:
当碰撞检测计算得到的软组织顶点排出方向与软组织顶点的指导向量之间的夹角大于90°,此时碰撞检测得到的软组织顶点排出方向与碰撞区域周围的软组织顶点分布不一致,此时采用顶点指导向量作为软组织顶点的排出方向,能够减少因顶点嵌入深度过深造成的软组织排出方向的异常,避免从而手术工具与软组织交互过程中的穿透现象。
设置ε为用户设定的判断是否构建手术工具前帧、后帧位姿之间张成的空间符号距离场的阈值,表示手术工具前帧、后帧位姿之间的距离,其中,手术工具前帧、后帧位姿之间张成的空间称为扫描体:
时,在手术工具前帧、后帧位姿扫描体上构建符号距离场,包括:
在手术工具前帧、后帧位姿经过的扫描体上构建一个非正交坐标系M(X, Y, Z),其中X为手术工具的中心轴向量,Y为手术工具当前帧位姿指向手术工具上一帧位姿方向,Z为手术工具中心轴扫过平面A的法向量;对于软组织模型顶点,首先计算软体顶点在扫描体局部坐标系下的坐标值/>,手术工具的长度为L、半径为R,根据软组织顶点在扫描体中的位置分为四种情况,如表1所示。
表1 软组织顶点与手术工具扫描体相交计算表
;
在构建软体顶点上的不嵌入约束时,扫描体不同位置的顶点施加不同的排斥方向,分别是指向当前帧手术工具位姿的方向和指向上帧手术工具位姿的方向,排斥方向为,排斥的射线方程表示为/>,其中/>为到射线起点的距离,手术工具圆柱体底面圆心位置为/>,圆柱体轴心向量为/>,在圆柱体的局部坐标系下新的射线方程表示为
(7)
求解如下方程中的:
(8)
求解方程后得到软组织顶点被排出到表面的位置,所在位置的法向量/>;
式中,表示软组织顶点被排出的射线方程,/>表示在手术工具局部坐标系下顶点坐标,/>表示在手术工具局部坐标系中射线的方向,/>表示软组织顶点在全局坐标系下的位置。射线方程指的是从当前软体顶点出发,已排出方向为射线方向的射线方程。
手术工具前帧、后帧位姿之间的距离,手术工具前帧、后帧位姿重合在一起,对手术工具前帧位姿的构建符号距离场,并进行模型顶点与圆柱体符号距离场的离散碰撞检测:
首先计算软组织顶点在手术工具中心轴上的投影,时,则软组织顶点与手术工具发生碰撞,否则未发生碰撞;对于发生碰撞的软组织顶点,设置软组织的排斥方向为/>,软组织顶点要被排出到圆柱体表面的排出位置/>,在排出位置处的表面法向量;
其中,为当前碰撞顶点位置,R为手术工具圆柱半径;/>为手术工具圆柱的中轴方向向量。
根据手术工具的运动速度对于发生碰撞的软组织顶点调整软组织顶点运动的时间步长,使得发生碰撞的软体顶点更快响应来自手术工具的按压并产生对应的形变。时间步长扩大的权重表示如下:
(9)
其中,为当前手术工具运动速率,/>为用户设定的运动速率阈值。本方法能够让软体在手术工具快速压下的情况下更快产生形变,而在手术工具持续压下并保持静止时维持软体的稳定。
S3、基于动态附着约束的夹取仿真操作,具体包括:
S31、预计算手术工具闭合时能抓取到的顶点,之后判断手术工具是否已经闭合;
通过手术工具的包围盒计算发生碰撞的软体组织顶点位置,并计算发生碰撞的软体组织顶点在手术工具上的相对位置和局部坐标;根据手术工具的闭合状态,选择性进行步骤S32或步骤S33。这样做能够确定顶点在手术工具抓钳上局部坐标系中的坐标,确定附着约束的绑定位置。
S32、手术工具仍未闭合,则使用软组织顶点与手术工具的包围盒进行离散碰撞检测,并对发生碰撞的软组织顶点施加附着约束;
在步骤S32中,手术工具仍未闭合,则使用软组织顶点与手术工具的包围盒进行离散碰撞检测,并对发生碰撞的软组织顶点施加附着约束,包括:
对于发生碰撞的软组织顶点,使用软组织顶点指导向量将发生碰撞的软组织顶点投影到手术工具闭合面上的位置/>,然后在碰撞的软组织顶点和投影位置之间构建附着约束,碰撞顶点上的能量函数公式为:
(10)
其中,表示约束的刚度系数,/>表示碰撞的软组织顶点到手术工具轴心的距离,/>为用户设置的约束刚度系数最大值,/>表示碰撞的软组织表面顶点当前的位置,/>表示当前碰撞的软组织顶点投影到手术工具闭合面上的位置;
S33、手术工具已经闭合,则对预计算手术工具闭合时能抓取到的软组织顶点施加附着约束。
手术工具已完全闭合,用户控制抓钳进行对软组织的拖拽操作,因为在进行拖拽时,手术工具会远离软组织,而按照上一阶段的方法计算的投影位置并不会随着抓钳移动。因此在该阶段,本发明会预计算投影位置在抓钳局部坐标系下的局部坐标,这样当手术工具发生移动后,先获取当前时刻手术工具的位姿,计算得到当前手术的局部坐标系的三个轴向量 X,Y,Z。这样就可以根据预计算的局部坐标,计算出在当前时刻被抓取软组织顶点要被投影到的位置/>,之后在夹取软组织顶点和投影位置之间构建附着约束。因为投影位置会随着抓钳的移动而移动,因此受到附着约束的夹取点也会随着抓钳移动,软组织也就会产生相应的形变。
因此,本发明采用上述一种面向实时虚拟手术的软组织按压与夹取仿真方法,能够处理插入软体这种复杂环境中的碰撞检测与碰撞响应,避免碰撞检测中软体顶点排出方向错误造成的穿透与黏连问题。在夹取过程中,通过离散碰撞检测将发生碰撞的顶点投影到夹钳的碰撞面上,表面网格与四面体网格之间的交互方式,使夹取位置周围的表面形状更加自然。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
Claims (9)
1.一种面向实时虚拟手术的软组织按压与夹取仿真方法,其特征在于,包括以下步骤:
S1、软组织仿真模型包含三个部分:表面三角网格、四面体网格和球树,表面三角网格、四面体网格和球树之间采用的交互方式具体包括:
S11、球树与四面体网格之间的同步;
S12、四面体顶点受来自表面三角网格顶点的位置约束;
S13、表面三角网格顶点受来自四面体顶点的位置约束;
S2、在按压仿真过程中,手术工具相邻两帧构建碰撞空间,通过指导向量优化排出方向,位置约束系数动态调整;
S3、基于动态附着约束的夹取仿真操作,具体包括:
S31、通过手术工具的包围盒计算发生碰撞的软组织顶点位置,并计算发生碰撞的软组织顶点在手术工具上的相对位置和局部坐标;根据手术工具的闭合状态,选择性进行步骤S32或步骤S33;
S32、手术工具仍未闭合,则使用软组织顶点与手术工具的包围盒进行离散碰撞检测,并对发生碰撞的软组织顶点施加附着约束;
S33、手术工具已经闭合,则对预计算手术工具闭合时能抓取到的软组织顶点施加附着约束。
2.根据权利要求1所述的一种面向实时虚拟手术的软组织按压与夹取仿真方法,其特征在于,在步骤S11中,球树与四面体网格之间的同步方式如下:
S111、球树通过树形结构组织球体,计算球心在四面体网格内的中心坐标,球心位置可表示如下:
(1)
其中,为四面体网格绑定的球心位置,/>为球绑定的四个顶点的位置,/>为四面体网格四个顶点位置对球心位置的权重;
S112、四面体网格顶点与表面三角形网格顶点被绑定到球树中的球上,并根据软组织顶点绑定的球心位置计算指导向量,软组织顶点的指导向量为从软组织顶点指向软组织顶点绑定的球体球心,指导向量定义如下:
(2)
表示软组织顶点所在位置;
S113、在每次软组织形变计算采用完成之后,更新球树中球心位置与软组织顶点的指导向量。
3.根据权利要求2所述的一种面向实时虚拟手术的软组织按压与夹取仿真方法,其特征在于,在步骤S12中,四面体顶点受来自表面三角网格顶点的位置约束如下:
使用表面三角模型顶点来约束四面体模型顶点,对部分的四面体模型顶点施加位置约束:
(3)
(4)
其中,W Tri 表示部分的四面体模型顶点施加位置约束的能量函数,表示四面体网格顶点位置,/>为表面三角模型顶点位置,/>为四面体顶点到手术工具的距离,为表面三角网格位置约束的刚度系数,与四面体网格顶点到手术工具的距离有关,手术工具没有和软组织发生碰撞,刚度系数为0,表面三角网格不对四面体网格施加位置约束,手术工具和软组织发生碰撞,则根据公式(4)计算约束的刚度系数,并为四面体网格的顶点施加表面三角网格位置约束,/>为用户设定的刚度系数的最大值。
4.根据权利要求3所述的一种面向实时虚拟手术的软组织按压与夹取仿真方法,其特征在于,在步骤S13中,表面三角网格顶点受来自四面体网格顶点的位置约束如下:
四面体网格位置约束的能量函数如(5)所示:
(5)
(6)
其中,W Tet 表示四面体网格位置约束的能量函数,表示当前表面三角网格顶点的位置,/>表示根据四面体网格形变后顶点位置计算出的表面三角网格顶点的蒙皮位置,为表面三角网格顶点到手术工具的距离,/>为四面体网格位置约束的刚度系数,/>为刚度系数的基础权重值,/>为用户设置的未发生碰撞时表面三角网格顶点受来自四面体网格顶点位置的约束刚度系数。
5.根据权利要求4所述的一种面向实时虚拟手术的软组织按压与夹取仿真方法,其特征在于,在步骤S2中,手术工具相邻两帧构建碰撞空间,通过指导向量优化排出方向,位置约束系数动态调整:
设置ε为用户设定的判断是否构建手术工具前帧、后帧位姿之间张成的空间符号距离场的阈值,表示手术工具前帧、后帧位姿之间的距离,其中,手术工具前帧、后帧位姿之间张成的空间称为扫描体:
时,在手术工具前帧、后帧位姿扫描体上构建符号距离场,包括:
在手术工具前帧、后帧位姿经过的扫描体上构建一个非正交坐标系M(X, Y, Z),其中X为手术工具的中心轴向量,Y为手术工具当前帧位姿指向手术工具上一帧位姿方向,Z为手术工具中心轴扫过平面A的法向量;
对于软组织模型顶点,首先计算软组织顶点在扫描体局部坐标系下的坐标值/>,手术工具的长度为L、半径为R,根据软组织顶点在扫描体中的位置分为四种情况;
在构建软组织顶点上的不嵌入约束时,扫描体不同位置的顶点施加不同的排斥方向,分别是指向当前帧手术工具位姿的方向和指向上帧手术工具位姿的方向,排斥方向为,排斥的射线方程表示为/>,其中/>为到射线起点的距离,手术工具圆柱体底面圆心位置为/>,圆柱体轴心向量为/>,在圆柱体的局部坐标系下新的射线方程表示为:
(7)
求解如下方程中的:
(8)
求解方程后得到软组织顶点被排出到表面的位置,所在位置的法向量/>;
式中,R为手术工具圆柱半径,表示软组织顶点被排出的射线方程,/>表示在手术工具局部坐标系下顶点坐标,/>表示在手术工具局部坐标系中射线的方向,/>表示顶点在全局坐标系下的位置。
6.根据权利要求5所述的一种面向实时虚拟手术的软组织按压与夹取仿真方法,其特征在于,在步骤S2中,手术工具前帧、后帧位姿之间的距离,视为手术工具前帧、后帧位姿重合在一起,对手术工具前帧位姿的构建符号距离场,并进行模型顶点与圆柱体符号距离场的离散碰撞检测:
首先计算软组织顶点在手术工具中心轴上的投影,时,则软组织顶点与手术工具发生碰撞,否则未发生碰撞;对于发生碰撞的软组织顶点,设置软组织的排斥方向为/>,软组织顶点要被排出到圆柱体表面的排出位置/>,在排出位置处的表面法向量;
其中,为当前碰撞顶点位置,/>为手术工具圆柱的中轴方向向量。
7.根据权利要求6所述的一种面向实时虚拟手术的软组织按压与夹取仿真方法,其特征在于,在步骤S2中,根据手术工具的运动速度对于发生碰撞的软组织顶点调整软组织顶点运动的时间步长,时间步长扩大的权重表示如下:
(9)
其中,为当前手术工具运动速率,/>为用户设定的运动速率阈值。
8.根据权利要求7所述的一种面向实时虚拟手术的软组织按压与夹取仿真方法,其特征在于,在步骤S32中,手术工具仍未闭合,则使用软组织顶点与手术工具的包围盒进行离散碰撞检测,并对发生碰撞的软组织顶点施加附着约束,包括:
对于发生碰撞的软组织顶点,使用软组织顶点指导向量将发生碰撞的软组织顶点投影到手术工具闭合面上的位置/>,然后在碰撞的软组织顶点和投影位置之间构建附着约束,碰撞顶点上的能量函数公式为:
(10)
其中,表示约束的刚度系数,/>表示碰撞的软组织顶点到手术工具轴心的距离,为用户设置的约束刚度系数最大值,/>表示碰撞的软组织表面顶点当前的位置,u g 表示当前碰撞的软组织顶点投影到手术工具闭合面上的位置。
9.根据权利要求8所述的一种面向实时虚拟手术的软组织按压与夹取仿真方法,其特征在于,在步骤S33中,手术工具已完全闭合,用户控制抓钳进行对软组织的拖拽操作,预计算投影位置在抓钳局部坐标系下的局部坐标,手术工具发生移动后,先获取当前时刻手术工具的位姿,计算得到当前手术工具的局部坐标系的三个轴向量X,Y,Z,根据预计算的局部坐标,计算出在当前时刻被抓取软组织顶点要被投影到的位置,之后在夹取软组织顶点和投影位置之间构建附着约束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410348222.6A CN117950504B (zh) | 2024-03-26 | 2024-03-26 | 一种面向实时虚拟手术的软组织按压与夹取仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410348222.6A CN117950504B (zh) | 2024-03-26 | 2024-03-26 | 一种面向实时虚拟手术的软组织按压与夹取仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117950504A true CN117950504A (zh) | 2024-04-30 |
CN117950504B CN117950504B (zh) | 2024-05-31 |
Family
ID=90792877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410348222.6A Active CN117950504B (zh) | 2024-03-26 | 2024-03-26 | 一种面向实时虚拟手术的软组织按压与夹取仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117950504B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103400023A (zh) * | 2013-06-28 | 2013-11-20 | 华北水利水电大学 | 软组织形变仿真方法 |
CN105513130A (zh) * | 2016-02-01 | 2016-04-20 | 福建师范大学福清分校 | 一种基于网格与无网格混合的软组织形变方法 |
CN105913718A (zh) * | 2016-07-08 | 2016-08-31 | 哈尔滨理工大学 | 一种埋线提升整形手术仿真系统 |
CN106934189A (zh) * | 2015-12-29 | 2017-07-07 | 中国科学院深圳先进技术研究院 | 外科手术软组织变形的仿真方法及装置 |
CN107146288A (zh) * | 2017-05-16 | 2017-09-08 | 南京信息工程大学 | 虚拟手术中支持实时按压形变的软组织模型建模方法 |
CN107330972A (zh) * | 2017-06-28 | 2017-11-07 | 华中科技大学鄂州工业技术研究院 | 模拟生物力学特性的实时软组织形变方法和系统 |
CN107688720A (zh) * | 2017-09-21 | 2018-02-13 | 北京众绘虚拟现实技术研究院有限公司 | 一种基于位置动力学和生物热传导方程的实时软组织灼烧仿真方法 |
CN109739360A (zh) * | 2019-01-07 | 2019-05-10 | 东北大学 | 一种力反馈装置对人体软组织仿真的控制系统与方法 |
CN110289104A (zh) * | 2019-06-27 | 2019-09-27 | 南京信息工程大学 | 软组织按压和形变恢复的模拟方法 |
CN110289103A (zh) * | 2019-06-19 | 2019-09-27 | 南京信息工程大学 | 软组织局部压缩形变模拟方法 |
CN111339654A (zh) * | 2020-02-24 | 2020-06-26 | 南京信息工程大学 | 一种虚拟手术系统中软组织按压及形变恢复方法 |
US20200368616A1 (en) * | 2017-06-09 | 2020-11-26 | Dean Lindsay DELAMONT | Mixed reality gaming system |
US20210035347A1 (en) * | 2018-04-25 | 2021-02-04 | Seddi, Inc. | Modeling of nonlinear soft-tissue dynamics for interactive avatars |
CN114724723A (zh) * | 2022-03-24 | 2022-07-08 | 苏州迪威视景数字科技有限公司 | 一种基于元球模型驱动的软组织变形方法 |
CN116631633A (zh) * | 2023-06-02 | 2023-08-22 | 爱尔眼科医院集团股份有限公司长沙爱尔眼科医院 | 一种软组织拉伸撕裂模拟系统、方法、设备、存储介质 |
CN116741386A (zh) * | 2023-05-16 | 2023-09-12 | 华南理工大学 | 一种基于力反馈的椎间孔镜手术髓核夹取虚拟仿真方法 |
WO2023171413A1 (ja) * | 2022-03-08 | 2023-09-14 | ソニーグループ株式会社 | シミュレータ、シミュレーションデータ生成方法及びシミュレータシステム |
-
2024
- 2024-03-26 CN CN202410348222.6A patent/CN117950504B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103400023A (zh) * | 2013-06-28 | 2013-11-20 | 华北水利水电大学 | 软组织形变仿真方法 |
CN106934189A (zh) * | 2015-12-29 | 2017-07-07 | 中国科学院深圳先进技术研究院 | 外科手术软组织变形的仿真方法及装置 |
CN105513130A (zh) * | 2016-02-01 | 2016-04-20 | 福建师范大学福清分校 | 一种基于网格与无网格混合的软组织形变方法 |
CN105913718A (zh) * | 2016-07-08 | 2016-08-31 | 哈尔滨理工大学 | 一种埋线提升整形手术仿真系统 |
CN107146288A (zh) * | 2017-05-16 | 2017-09-08 | 南京信息工程大学 | 虚拟手术中支持实时按压形变的软组织模型建模方法 |
US20200368616A1 (en) * | 2017-06-09 | 2020-11-26 | Dean Lindsay DELAMONT | Mixed reality gaming system |
CN107330972A (zh) * | 2017-06-28 | 2017-11-07 | 华中科技大学鄂州工业技术研究院 | 模拟生物力学特性的实时软组织形变方法和系统 |
CN107688720A (zh) * | 2017-09-21 | 2018-02-13 | 北京众绘虚拟现实技术研究院有限公司 | 一种基于位置动力学和生物热传导方程的实时软组织灼烧仿真方法 |
US20210035347A1 (en) * | 2018-04-25 | 2021-02-04 | Seddi, Inc. | Modeling of nonlinear soft-tissue dynamics for interactive avatars |
CN109739360A (zh) * | 2019-01-07 | 2019-05-10 | 东北大学 | 一种力反馈装置对人体软组织仿真的控制系统与方法 |
CN110289103A (zh) * | 2019-06-19 | 2019-09-27 | 南京信息工程大学 | 软组织局部压缩形变模拟方法 |
CN110289104A (zh) * | 2019-06-27 | 2019-09-27 | 南京信息工程大学 | 软组织按压和形变恢复的模拟方法 |
CN111339654A (zh) * | 2020-02-24 | 2020-06-26 | 南京信息工程大学 | 一种虚拟手术系统中软组织按压及形变恢复方法 |
WO2023171413A1 (ja) * | 2022-03-08 | 2023-09-14 | ソニーグループ株式会社 | シミュレータ、シミュレーションデータ生成方法及びシミュレータシステム |
CN114724723A (zh) * | 2022-03-24 | 2022-07-08 | 苏州迪威视景数字科技有限公司 | 一种基于元球模型驱动的软组织变形方法 |
CN116741386A (zh) * | 2023-05-16 | 2023-09-12 | 华南理工大学 | 一种基于力反馈的椎间孔镜手术髓核夹取虚拟仿真方法 |
CN116631633A (zh) * | 2023-06-02 | 2023-08-22 | 爱尔眼科医院集团股份有限公司长沙爱尔眼科医院 | 一种软组织拉伸撕裂模拟系统、方法、设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117950504B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9330502B2 (en) | Mixed reality simulation methods and systems | |
US10297066B2 (en) | Animating a virtual object in a virtual world | |
Xu et al. | Pose-space subspace dynamics | |
US10529132B2 (en) | Method for real-time cutting of digital organ based on metaball model and hybrid driving method | |
US9449416B2 (en) | Animation processing of linked object parts | |
JP6095015B2 (ja) | 胸部4dctをシミュレートする方法 | |
EP2391988B1 (en) | Visual target tracking | |
CN107330972B (zh) | 模拟生物力学特性的实时软组织形变方法和系统 | |
CN101719284B (zh) | 一种基于层次模型的虚拟人皮肤物理变形方法 | |
US7872654B2 (en) | Animating hair using pose controllers | |
JP2008033940A (ja) | ランタイム・コンピュータ・グラフィックス・アニメーション・エンジンにおけるメッシュ用変形データからスケルトン用アニメーション・データへの変換、スキニング、およびシェーディング | |
EP1505546B1 (en) | Method for drawing a three-dimensional image by modeling a second object connected to a first object | |
JP7078596B2 (ja) | 画像生成プログラム、画像生成処理装置及び画像生成方法 | |
JP3866168B2 (ja) | 多重構造を用いた動作生成システム | |
CN111488670A (zh) | 一种非线性的质点弹簧软组织形变仿真方法 | |
CN116741386A (zh) | 一种基于力反馈的椎间孔镜手术髓核夹取虚拟仿真方法 | |
CN117950504B (zh) | 一种面向实时虚拟手术的软组织按压与夹取仿真方法 | |
CN111341449A (zh) | 一种虚拟血管介入手术训练的模拟方法 | |
Li et al. | Enriching triangle mesh animations with physically based simulation | |
Zhang et al. | Real-time simulation of deformable soft tissue based on mass-spring and medial representation | |
Sohn et al. | Applying human motion capture to design energy-efficient trajectories for miniature humanoids | |
Li et al. | Soft articulated characters in projective dynamics | |
JP3973995B2 (ja) | アニメーション作成システム | |
KR101635684B1 (ko) | 보행 동작 생성 및 제어 방법, 보행 컨트롤러 | |
WO2004081899A1 (en) | Method of generating a computer model of a deformable object |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |