基于3D技术的医学模型教学辅助系统的设计与实现

来源:网络 时间:2022-03-19

  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)11-2655-07

  1 概述

  本系统实现的关键技术为:面模型和体模型的几何建模技术、专用引擎开发技术。实现依据如下:人体器官采用体模型,通过3DSMAX构建。手术器械采用面模型,通过PRO/E实现。碰撞检测通过优化传统的AABB碰撞检测算法实现[01]。组织形变反正[02]基于传统的质点-弹簧模型[03]实现。

  所采用的工具和模型均为成熟技术,我们所做的工作是将上述的单元技术进行优化,集成组装。在根据临床教学模型训练方案,结合完整的人体器官解剖实际,开发出医学模型教学辅助系统。

  2 系统的整体设计

  该系统由3D虚拟现实的实现多种腔内治疗性微创手术的医教培训平台的软件部分(主要含3D物理引擎模块、3D模型模块等)、数据采集及通信电路部分、力反馈控制模块电路(含力反馈装置模块等)部分、与操作手柄及其控制模块组成。结合医学实际情况,设计了多种腔体中三维仿真手术医学教育的基本过程,系统将基于优化的碰撞检测算法的力反馈技术,开发多种腔内治疗性内镜手术医教培训平台,与微创手术器械仿真模拟手柄相结合,使用矢量位移传感器装置方式,空间定位传感器固定于手术器械模拟器上,微创手术器械模拟手柄的空间移动经空间定位传感器转换成电信号,经过数据采集及通信处理后发送至数据处理中心服务器,数据处理中心服务器对数据处理后产生三维仿真图像,并在显示器上显示。能实时的反馈虚拟场景的手术器械的控制,通过该系统实现了器械物理模拟碰撞检测、流血、器官纹理色彩、电刀火花、烟雾和冲洗等渲染效果,培训医生可使用仿真手柄控制虚拟内镜灵活动作,调整或更换手术器械,达到完成一整套手术方案培训过程,学习过程更加真实高效,系统整体设计见图1。

  3 系统功能设计

  本系统是为了实现普外科仿真模型的运行平台,包括模型包加载,任务调度,对外服务接口,错误预警和任务重调度[04],并且模型运行状况提供监控页面和结果分析。这里给出系统启动流程图,见图2。

  在系统启动时,模型控制器配置在web.xml文件中,web服务器启动时被加载。具体流程图见图1-3所示。线程池ThreadPool和任务调度器Scheduler为全局变量,可通过getThreadPool()和getScheduler()得到。

  工作任务:任务接口仿真模型任务调度的统一接口,实现任务Job接口,执行流程见图3所示:

  外部Webservice调用接口流程见图4。

  4 系统管理

  1)用户管理

  系统能够提供统一的管理用户的方案,主要用于用户的新增操作、可以对用户进行分组、修改用户信息及删除用户等。

  用户定义

  用户是系统的最终使用者,因此必须对用户的身份进行鉴别,建立身份鉴别机构,登记保存用户的身份信息。在系统能否定义可登录的用户操作是系统是否安全的重要因素,同时也是人与系统的接口。

  用户组定义

  为了使系统能够适用于分散式的权限管理,在系统中加入了用户组的概念,用户组是指许多用户的集合[05],为了方便系统的权限管理,用户组也可以进行委派角色的工作,当用户加入用户组的时候,系统可以自动的对用户所在的用户组拥有的角色进行委派。这样就实现了分散式的权限管理,系统同时还支持对部分组的用户权限进行下发方式处理,可以给特定的用户授权对用户组的用户权限进行管理。

  权限的管理

  系统的模型应用场景可以提供完善的权限管理功能,对用户的权限进行比较细致的定义。同时,权限的定义可以分为以下几个层次:

  定义对模型应用场景的使用权限

  定义对数据操作模块的使用权限

  定义具体的数据操作功能(新增、删除、修改、查询、统计等)的使用权限

  定义执行数据交换功能的权限。

  2)系统配置

  提供交换路由表的维护、中间件参数配置维护、本地信息维护等和传输相关的所有配置表的维护功能[06],具体包括:

  定义交换系统之间的连接关系(即数据交换路由表);

  设置交换系统各类功能所需的参数;

  定义和配置支持交换系统自身运行所需的各种参数。比如,定时启动任务单的增加、修改和删除等;

  系统配置既可通过交互方式实现,也可通过后台程序及服务程序实现;

  根据新增业务类型和业务系统的配置要求,提供友好的配置界面;

  3)数据备份

  显然,作为一个完整的模型应用场景,备份功能的提供是必不可少的。通过数据备份功能,可以有效的避免由于不可预见的故障导致的对系统数据可能造成的破坏,加快系统恢复速度[07],备份功能又可以分为自动定时备份和手工备份两种方式,以适应不同的需要。

  对于信息资源数据库中的数据,既可以使用数据库管理系统提供的备份工具进行备份,也可以使用模型应用场景的备份功能进行备份;对于数据恢复,既可以使用数据库管理系统提供的恢复工具进行恢复,也可以使用模型应用场景的恢复功能进行恢复。

  4)运行监控

  运行监控

  主要监控系统中的各种软件的运行情况(如进程、队列等),用户的使用情况,特别在在线考试的过程中,我们可以实时的掌握考生的考试情况。

  远程监控

  通过使用监控命令的交换,对不是本地的交换系统实施上述监控功能,并对异常情况提供报警功能。   5)日志管理

  为了保证系统的安全性、稳定性,我们将在模型应用场景的层面提供日志功能,日志系统记录数据的传输事件和流程,整合事件以备后期分析和跟踪使用[50],对所有的申请及其处理过程进行追踪调查、记录并进行分类已备后期的统计分析使用。有了日志管理功能一方面保证了系统的安全性;另一方面,通过对用户操作的记录,有助于在发生突发故障后,方便对系统数据恢复整理工作的进行。日志记录功能记录了包括用户的登录时间、用户的名称、用户所执行的操作、用户退出系统的时间、信息的传输量等。

  系统提供了强大的日志查询和分析功能。比如,在指定时间内按照进入/转出、目的地/来源地、数据文件名称/数据文件大小等项目进行查询和统计,或是在指定的时间段内按照已成功传输/未成功传输对原始数据文件进行查询和统计。通过对模型数据文件交换状态(如等待处理、正在进行、处理完毕、回执收到、处理中断等)的监控,追踪某个指定模型数据文件的状态。

  5 系统模型建模

  针对微创手术中所呈现的器械移动、器官变形为代表的粒子效果和碰撞检测等应用特点,在优化虚拟人体器官碰撞检测算法、组织形变仿真计算模型、粒子效果呈现、3D驱动等各项单元技术的基础上[08],集成组装了专用的底层开发引擎。其主要原理包括以下几个方面:

  1)专用引擎内窥镜微创手术培训场景中对象的碰撞检测

  AABB( axis -aligned bounding boxes )碰撞检测算法使用的最为广泛[09],在该系统中,我们需要系统对碰撞检测的计算量小,反映比较快速,以前的很多算法都是在研究刚体之间的碰撞,对于人体器官和手术器械模型之间的碰撞研究的较少,这是因为在软体的碰撞中会受到很多因素的影响。

  2)虚拟人体器官的组织形变仿真计算模型的原理

  1)人体器官组织的力学特性

  大部分的人体器官组织像心脏、肝脏、肌肉等都是有软组织构成的,人体器官的软组织在生物力学范围内有着其特有的特点,我们必须首先了解他的特点,然后根据他的特点制作出人体器官的组织形变,人体器官组织具有以下几个特点:

  a)非线性特征

  人体器官软组织的形变规律一般都不服从胡克定律[10],如果给软组织表面加上一定的重量,这时候,软组织就会产生形变(如图5所示),因为力量是逐渐加大的,在刚开始的时候,人体组织的变形是指数关系,随着力量的不断增大,在BC段,变形关系就出现了线性规律,在随着力量的增大,规律又是非线性的,最后,随着力量的再增大,软组织器官就会被拉断。

  b)具有粘弹性特征

  人体软组织的形变在力量逐渐增加的过程所展现出来的规律和在力量逐渐减小的过程所展现出来的规律是不一样的,如图6所示,由图所见,在相同力量的情况下,力量加载过程中出现的伸长比要小于在力量卸载过程中出现的身长比,也就是说,组织器官要恢复到原来的状态,在卸载的过程中要减少更多的力量。并且,在软组织表面,如果给他加上一定的压力,在一段时间内,我们保持压力不变,但在软组织表面所承受到的压力会随着时间的延长减少;同样,如果我们在软组织的表面增加一定的压力,在一段时间内,我们保持压力不变,但在软组织表面所产生的变形会随着时间的延长逐渐增加。

  c) 在循环压力下的趋进性

  在受到循环压力的作用下,人体软组织的变形规律在每个循环周期里是不一样的,在循环次数不断增加的情况下,这种加压所产生的曲线和减压所产生的曲线的不同就会变小;

  d) 每个方向上特征不一样并且不均匀

  人体器官的软组织是由很多因素构成的,比如说有细胞、纤维等结构组成,并在每一个点的所有方向和不同点的力学特性是不一样的,一般软组织力学性能都具有各向异性和不均匀性等特征。

  (2)人体组织器官的物理模型构建方法

  在研究仿真模型的初步阶段,为了能够表现出人体器官的形变所具有的特点,人们设计了很多的变形模型,利用3D中的曲面来描述人体模型的形状,通过使用编辑曲面和FFD自由变形等修改器调整模型的顶点、线段、自由变形进行设计,通过这种方法实现的模型,都是通过用户自己所理解的器官规律进行设计的,模型的计算量很小,但是在反映器官变形方面不是很准确,使用者也很难理解操作控制方法,所以现在我们都使用人体器官的物理变形特征来描述人体软组织的变形规律。

  人体器官模型所具有的特殊的形状类似于一个具有弹性的物体,我们可以利用弹性模型来描述他的变形特征,因为线性弹性模型比较简单、实时性高,计算比较少且容易实现,所以在本系统中,我们利用线性弹性模型给人体器官进行物理建模。

  线性弹性模型是比较容易实现的模型,具有计算量小并且容易实现的特点,利用这种模型,对于一个高为H ,直径为L 的,受到的压力为τ的人体软组织模型样本,有下图(见图7)的式子[11]:

  具有弹性的物体,在一定压力的作用下,物体点的运动产生形变效果,随着压力强度的不断增大,物体的形变的效果与压力呈现出一条直线的线性关系。因为具有这样的特点,在对速度和实时性要求比较高的系统中,这种模型常被采用。因此本系统中也使用了这种模型。

  要利用线性模型来描述物体,该物体必须具有下面的一些特征:(1)在压力的作用下具有小的位移; (2)该模型在压力的作用下所产生的形变规律是线性的;(3)模型具有一定的边界,并且在压力的作用下边界保持不变。如果其中有一个特征不满足,那就不可以用线性模型来进行描述[12]。

  3)本系统采用的计算模型

  在现在的很多种计算模型中都是用网格来表示人体器官的组织结构,我们可以用一个基本的算法来模拟网格在一定压力的作用下所产生的变形。现在应用比较广泛的两个模型是有限元模型(Finite Element model of elasticity ,简称FEM )和质点-弹簧(Mass-spring )模型[03]。   在有限元模型中,人体器官组织被当做连续的物体:利用连续的力学方程来实现。在这种模型中,计算量非常的大,尤其是当物体和复杂时,网格节点就非常的多,在手术系统中,所需的计算量就非常大,对系统的运行速度会产生影响。

  在质点一弹簧模型中,人体模型中的网格点弹簧来连接,人体模型所受到的压力都分布在网格点上,并且具有一定的规律,因为弹簧的受力规律,我们可以用它来模拟人体组织器官的形变特征。

  和有限元模型比较,质点一弹簧模型的设计实现过程比较简单,所需要的计算量也比较小,并且也能够描述人体局部因为受力所产生的形变情况,在系统中使用此模型,能够加快系统的速度,并且效果也很真实。因此在本系统中,我们采用了该模型来虚拟实现人体器官软组织的形变规律,其原理图参见图8。在图中我们可以看到,人体器官的网格点是由弹簧相连并且还有阻尼器的作用,当手术的器械和某个网格点发生碰撞时,在器官表面就会产生一定的变形。

  在该模型中,人体器官是由很多网格点组成,我们保存的也是各个网格点而并不是器官的整个连续模型,当人体器官因外力产生变形时,这些变形便反映在网格点上,本系统采用包含了惯性和阻尼力的二阶微分方程来对软组织变形进行动态仿真[13],对每个节点N 都有以下方程(见图9)

  本系统在建模的过程中还增加了弹簧的质量、弹簧的阻尼系数等来描述在人体器官软组织中出现的变形规律。

  6 仿真模型过程设计

  结合医学实际,设计普外科仿真三维显示的基本过程,然后把这些步骤分为独立的模块进行详细的讲述。

  完成普外科仿真三维显示的基本步骤如下:

  1) 数据准备。即获取实现使普外科中的器官实现仿真三维可视化工作所需的基本的仿真数据。

  2) 启动数据模型,校正控制点,可通过手工校验或自动校验。

  3) 透视投影变换。 对于平面上的一些数据,为了将所有的点都反映出来,需要进行适当的透视投影变换,即建立三维图像点间的透视关系.

  4) 光照(Camera)模型。为了逼真地反映普外科仿真表面明暗,颜色变化,需要根据光照方向和结点的法向量逐点计算每个象素的颜色和灰度。然后反映到生成的普外科仿真三维模型上去,可手工校验。

  5) 消隐和裁剪。根据视口的大小确定图片的显示范围,把图片中三维不可见的部分给裁剪掉。

  6) 图像的绘制和保存。对于普外科的仿真图,进行绘制并且用文件的形式对图片进行保存。

  7) 图像的处理。在三维模型的基础上,给模型赋予具体的材质,例如模型表面的颜色和灯光等。

  8) 普外科模型仿真。在三维图片的基础上,根据所获得的数据和有关算法来进行模型仿真处理。

  下面针对几个重要过程进行分析:

  1)数据模型的生成(格网)

  在普外科仿真图形的绘制过程中,我们利用3D MAX中的三角形曲面来进行绘制,这样可以实现图像的真实度,并且为后期的处理也提供了方便。

  我们对所获得的描述人体器官软组织的格网中的每个格网进行细分,用两条对角线分,一个格网一次细分就分成了4个子格网,然后再重复上述操作,最后经过n次细分后,我们得到了4的n次方个格网,当每个格网在显示器上的投影在4像素以内,我们结束细分。每个格网的节点通过算法我们记录了它的高程值。

  2)透视投影变换方法

  我们假设在模型中任一点M在仿真坐标系Ot-XtYtZt中的坐标为(Xm,Ym,Zm),它在投影面P上的像点为m,见图1-10,则m点的投影坐标系o-xy的坐标(xm,ym)由下式计算求得[14]

  还要将像点m的坐标(xm,ym)通过进行平面相似变换(见图1-11),最后变换为屏幕坐标(xc,yc):

  通过上述的设置,我们实现了模型的投影变换,并且在此模型中,只要适当的改变视点的位置,我们就可以绘制出不同角度的三维图形;如果观察的位置不变,我们可以通过视图的旋转来生成各种方位上的透视图。

  3)消隐与裁剪

  根据视图的大小来确定三维图形的显示范围是利用计算机技术绘制图形时要注意的重要问题,对图形的消隐可以通过一些算法来实现,目前比较常用的算法有:(1)优先度算法;(2)深度缓冲器法;(3)光线跟踪法[15];

  顾名思义,优先度法便是首先画到屏幕上图形的应该先显示出来。另外一种理解是,我们给每一个要绘制的图元都设定一个优先度,在计算机绘图的过程中,如果遇到在屏幕的同一区域中有两个图元要同时显示,那么他将比较这两个图元的优先度,优先度高的显示,优先度低的消隐。

  深度缓冲器法首先对于屏幕上的每个像素点我们设置一个初始值并把该初始值记录下来,然后,在绘制该点的时候,先检查该点所具有的初始值,如果该初始值大于该象素点目前的地表深度时,该点就不会被绘制。否则,该点被显示出来,并且这个初始值将会被重新刷新。该方法理论操作简单,容易被硬件实现,目前被广泛采用。但是该方法需要具有比较大的内存存储空间,如果进行一个复杂图形的绘制,可能会需要几小时甚至几天的时间。

  光线跟踪法是:从观察视点S(View-point)开始进行,屏幕上的点向场景中产生投影,在场景中显示的点,我们对他的光亮度进行设置,从而绘制出一幅完整的图形。该算法原理比较简单,容易实现,并且可自动实现消隐,能够模拟出整体的光照效果(如透明、折射、反射等),通过此方法可以获得真实感的三维图形 。

  本项目采用的消隐处理是先做一次快速简单的光线跟踪法扫描消隐,然后结合Z-buffer算法处理,最后当视点切换移动的时候启用画家算法消隐,体现图片的真实性。

  裁剪就是图形的不可见的部分自动裁剪掉,从而可以显示出一幅完整的三维图形。   4)光照模型camera

  所谓光照(camera)模型,是按照光学物理的有关定律来计算画面上景物表面上的各点投影到观察者眼中的光亮度和色彩组成的公式[16];

  在光照模型的发展史上,研究人员先后提出了很多种模型,实现了很多效果,在系统中,如何能选择到一个好的光照模型是一个比较难的问题应该说,对于仿真的人体器官模型而言,一个好的光照模型应该具有:在模型的表面有仿真的立体效果;在理论上可以用具体的算法能够实现;并且在模型的生成过程中所要求的计算量较小,这样才可以快速准确的实现图像的绘制。

  我们在绘制模型表面的时候,应该考虑到光照的强度和光源的位置,我们观察图片的角度;场景中的漫反射光等的影响。

  实际的开发过程中,我们先在3DSMAX获得基础的数据模型加工,在设置虚拟camera来手工验证,并校正。

  5)材质叠加

  为了增加普外科三维仿真图的真实感和实用性,在已生成三维图形的基础上,叠加显示区域内一些主要器官的皮肤材质或血管特征是十分必要的,需要在3DSMAX建立材质库支撑下实现。

  6)虚拟现实展示

  在三维图成功显示后,可以在此基础上实现一些基于普外科M3D模型的分析功能。由于能把现实虚拟到计算机屏幕上,所以这种分析的优点便是直观。对于手术结果可以明了的展现在用户的面前。

  7 小结

  在我国现行的医学教育过程中,特别是在普外科教育、解剖教育和微创手术教育过程中,由于缺乏真实的人体器官资源,学生掌握知识的途径主要都是通过教师的讲授和书本知识的获取,微创手术也大多是通过观看视频及现场观摩,实际的动手能力没有得到训练。对于刚刚走上工作岗位的实习医生,他们迫切需要锻炼自己的动手技能,通过本系统就可以使学生真实、直观的了解人体器官,可以在系统中进行微创手术的训练和测试,能够更好的掌握自己所学的知识。

上一篇:浅谈医学信息创新人才的培养

下一篇:没有了

网站声明 | 联系我们 | 代写价格 | 常见问题 CopyRight@2008 - 2022 左翼论文中心 本站所有的文章都是来自网络,并不是我们写作的文章,属于免费文章,只供游客观看,并不用于出售。

毕业论文写作 硕士毕业论文写作 毕业论文写作 学位论文写作 定制论文 硕士论文指导 硕士毕业论文写作 如何写论文 本科专科论文写作 毕业论文写作网 毕业论文写作 文章写作 医学职称论文写作 毕业论文写作 定做毕业论文