虚拟手术中质点弹簧模型研究
2018-12-21高玮
高 玮
(云南师范大学 信息学院,云南 昆明 650500)
虚拟手术系统是基于虚拟现实技术的,而且虚拟手术是多学科交叉的技术,因此虚拟手术是技术高层次的融合。传统的手术模拟能给医生的术前参考少之又少,医生只能对着CT图片思考手术方案,这种方法缺乏可行性,凭空形象又缺乏真实性,尤其在培养缺乏实战经验的年轻医生时,会无限期拉长培养周期,而且容易带来不必要的医疗事故[1]。由于虚拟手术系统的出现,可以让医生在虚拟手术平台中进行手术模拟,与之前传统的手术训练相比,降低了训练样本的成本,根据真实可靠的病灶信息,医生可以在术前进行手术方案的构思与制定,以及术中导航提供医生在手术过程更为可靠的途径。例如,北京航空航天大学潘俊君教授的团队自主研制的虚拟手术系统[2],用户通过操作手柄对人体软组织模型进行手术模拟。目前该手术训练系统提供的虚拟训练包括基础训练、消化外科和肝胆外科等模块,基础训练模块主要是熟练操作力反馈器,通过移动物体来适应手术器械,消化外科模块主要是进行胃束带手术模拟等,这些功能能够流畅地运行并且取得了良好的效果。
1 虚拟手术系统结构
形变技术作为虚拟手术系统的核心技术之一,围绕着形变技术建立的虚拟手术系统。
该系统主要包括力反馈器模块、软组织形变模块等,用户通过操作力反馈器,真实的触碰软组织,形变后通过计算机图像图形反馈给用户。
力反馈器模块,该模块主要由力反馈器组成,它是一个力觉软件设计平台。触觉反馈渲染是基于OpenHaptics实现的,包含Haptic Library API(HLAPI)、HapticDevice API(HDAPI)和API引用。基于OpenHaptics的程序主要有4层。硬件层是TOUCH力反馈设备,驱动层是GEOMAGIC驱动程序,OpenHaptics层是函数接口或者自定义模块接口。该力反馈设备具有6个自由度,能够用三维力和对象进行交互,而不只是二维。操作者操作机械手手杆,设备会获取坐标位置。6个自由度能够实现空间3个方位的运动,在X,Y,Z轴上也能够进行旋转。
软组织形变模块,该模块常用的方法有弹簧—质点方法和有限元方法[3]。质点弹簧方法运算效率高、计算量小、易于编程实现,并且对于软组织拓扑结构变化的适应能力较好,后面会详细介绍该方法。
2 虚拟手术中的形变技术
虚拟手术是模拟真实的手术场景,为了使医生在模拟手术时有沉浸感,是否逼真、实时的模拟软组织器官在受到外力下的形变则成为整个虚拟系统的关键所在。其中软组织的变形计算一般分为以下几个步骤[4]:(1)人体器官软组织和手术器械的建模。(2)当虚拟手术器械和软组织器官发生碰撞时,获取碰撞点。(3)建立物体的力学本构方程和系统的运动方程。(4)根据手术器械的刺入深度得到碰撞点和影响区域各点的位移。(5)将部分点的已知位移量代入力学方程和运动方程中,同时施加边界条件,得到所有点的应力、应变和位移,更新反馈力。(6)计算形变点的法向量,将发生移动的点重新渲染出来。
基于虚拟现实的手术模拟器已经出现,以促进微创手术的学习过程,作为手术模拟器中的重要组成部分,软组织变形已引起许多研究人员的关注。邹艳妮[4]在每个时间步采用无网格匹配算法为每个Splat计算新位置,该方法能实现软组织线性、二次型及塑形形变的实时仿真。汪军[5]在表面网格质点弹簧模型的基础上,增加一个弹簧,将胆囊网格面上质点与内部表示骨架的最近虚拟填充球连接起来,模拟内部组织对胆囊网格面的作用力,以增强模型的稳定性。
无网格法计算耗时过长,会影响虚拟手术中人体组织的实时变形仿真。Marquardt算法来拟合问题域边界处的节点位移,并得到表面变形与力之间的关系。当施加不同的外力时,基于这种关系可以快速获得软组织的变形。Müller等[6]在2006年的VRIPHYS会议上提出一种位置动力学(Positional Dynamics,PBD),其原理是忽略速度,直接在位置上操作其主要优点是其可控性,可以避免在基于力的系统中显式集成方案的过度问题。邹艳妮等[7]采用无网格的物理形变算法验证了无网格算法的正确性和有效性。采用伽辽金无网格法[8]来模拟形变,这种方法是通过使用从参数空间映射到物理空间的无网格形状函数来提高无网格方法的效率。该属性有助于节省计算无网格形状函数所需的运行时间,这是一项耗时且复杂的任务。然而,无网格形状函数需要在边界附近以及映射后的一些其他位置再生,不需要重新生成边界附近的网格函数,从而提高了运算效率。
3 虚拟手术中最常见的两种形变模型
3.1 有限元模型
有限元模型的仿真精度较高,能够真实仿真虚拟手术中的组织形变过程[9]。它具有更好的伸缩性,使用相同的网格来实现不同复杂度和精度的计算是很方便的。模型的参数可以很容易地调整,这有助于方便地实现各种属性。然而,主要问题是它涉及许多复杂的计算。计算的复杂性非常大,以至于它不适用于实时交互应用,特别是当几何模型非常精细时。基于有限元网格的人体软组织建模,通常包括四面体、五面体、长方体等,最常用且最近简单的是四面体单元结构,四面体的大小和形状决定了仿真的逼真程度,但在虚拟手术中软组织的网络拓扑结构不断地重新组合,之前的数据都要重新计算与储存,有限元法势必会给系统实时更新造成困扰(触觉反馈要求更高的更新率通常为300~1 000 Hz)[10],相比之下质点弹簧模型在虚拟手术中扮演着重要的角色。
3.2 质点弹簧模型
质点弹簧模型是物体表面被划分为三角形或矩形网状结构,用弹簧作为网状节点之间的连接。基于这个假设建立的模型由于弹簧的存在而产生内力。当外力施加在模型表面时,模型的变形将被阻止,并且当外力消失时,原始形式的物体将由于内部势能而恢复,各质点一直在重复这个过程。从软组织建模的角度来划分,软组织模型分为面模型和体模型。网格划分的密度应根据仿真要求的精度以及实时性要求来确定。当要求精度较高而实时性要求不高时网格应密集,否则可稀疏。模型的拓扑结构也可根据软组织的要求采用不同的方式。
4 结语
基于质点弹簧模型的虚拟手术系统在一定程度上可以解决医生的视觉需求,在模拟的过程中,可以对病灶有个直观的了解。本文从虚拟手术仿真系统中软组织形变技术出发,针对质点弹簧模型这个关键形变技术,与各学者的研究进行对比分析,软组织表面模型的几何拓扑结构根据软组织的要求采用不同的方式,最常见的是表面网格结构,但它仅适用于皮肤表面建模,对于其他人体软组织,像肝脏、脾、肺等软组织要采用四面体或者其他的模型建模,然后建立基于质点—弹簧模型的虚拟人体软组织形变系统。对于弹簧质点模型的改进,大多学者通过数值计算方法改进运算过程中用到的微分公式,进而缩短质点的计算时间以及变形效果,其他学者则是在发现CPU处理大量数据出现瓶颈的情况后,转战研究NVIDIA推出的并行计算平台CUDA,利用GPU加速,成百倍地加快了变形过程中由于计算量大使模拟仿真不实时的问题。总之,采用改进的质点弹簧模型大大地改善了软组织形变计算效率,保证了形变的实时性。