资源描述:
《基于bp神经网络的虚拟手术实时仿真技术研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于BP神经网络的虚拟手术实时仿真技术研究2007正第28卷12月第4期郑州大学(工学版)JournalofZhengzhouUniversity(EngineeringScience)Dec.2007Vo1.28No.4文章编号:1671—6833(2007)04—0043—04基于BP神经网络的虚拟手术实时仿真技术研究张峰峰,孙立宁,杜志江,贾志恒(哈尔滨工业大学机器人技术与系统国家重点实验室,黑龙江哈尔滨150001)摘要:在人体腿部的虚拟仿真研究中,建立有限元模型并进行生物力学特性分析是一种有效的方法.但由于有限元模型数据量大,解算时间长,并且难以与
2、既有系统融合,因此不适合在实时的手术培训和手术预演中应用.为了提高虚拟手术仿真系统进行实际作业的能力,笔者提出了以BP神经网络模型来代替有限元模型,实现实时的生物力学响应.并结合已有的医疗机器人辅助接骨虚拟现实仿真手术系统,构建了系统实验平台.实验结果证明,人体腿部的BP神经网络模型能够完全满足手术仿真所需的实时性要求.关键词:BP神经网络;虚拟手术仿真;有限元模型;医疗机器人中图分类号:TP391.9文献标识码:A0引言近年来,以计算机辅助医疗外科技术为主要研究内容的虚拟手术(VirtualSurgery)受到越来越多的学者和研究机构的关注,并在临床上得到
3、了广泛的应用.通过建立人体腿部的数字化模型来分析研究矫形外科手术中人体腿部的生物力学特性,成为虚拟手术研究中的一项重要研究内容.人们通常通过有限元(FEM)方法对人体腿部进行建模.由于人体软组织功能的非线性特性,因此FEM被证明是一种有效的生物力学建模分析方法.但是由于有限元模型数据量大,解算时间长,并且难以与既有系统融合,因此不适合在实时性要求比较强的手术培训和手术预演中应用.BP神经网络作为目前应用最广泛的神经网络模型,通过非线性插值节点的学习,能够逼近任意非线性函数,特别对于三元及三元以上的非线性函数,更能显示传统插值方法无法比拟的优点.虽然笔者研究的
4、是接骨手术操作时,断骨间距离与牵引力之间的非线性关系模型问题,此模型通过传统的非线性插值方法照样可以得到很好的建立.但是牵引力不仅与断骨间距离有关,还与手术过程中的腿部牵引速度,腿部固定位置等因素有关,为了将来进一步研究需要,笔者在既有的已经通过FEM对人体腿部建模并分析的基础上,提出了以BP神经网络模型来代替FEM模型,以实现实时的生物力学响应.BP神经网络模型建立以后,结合已有的实际机器人辅助医疗接骨仿真系统,构建了虚拟手术仿真实验验证平台,并进行了实时力反馈实验.实验过程中,利用并联主手输入运动信息,提供力反馈,而虚拟环境则负责提供视觉和计算对抗牵引力
5、的大小.实验完成后,对结果进行了分析.1基于神经网络的生物力学模型1.1BP神经网络算法分析BP算法是一种有监督式的学习算法,其学习的过程包括正向和反向传播两部分组成.输入学习样本之后,如果不能在输出层得到期望的输出,那么将转入反向传播过程,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,逐次地向输入层传播去进行计算,再经过正向传播过程,由此进行反复的调整训练,使输出的向量收稿日期:2007—07—03;修订日期:2007—10—08基金项目:国家"863"计划资助项目(2004AA421030);国家自然科学基金资助项目(60505016);长江
6、学者创新团队计划(IRT0423).作者简介:张峰峰(1979一),男,山东日照人,哈尔滨工业大学博士研究生,研究方向:生物医学建模及仿真,网络遥操作技术研究.44郑州大学(工学版)2007焦与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络的权值和偏差.其神经元网络结构如图1所示.具体步骤如下:(1)初始化,选定权系数及阈值的初值,设置学习步长叼,允许误差,网络结构(即网络层数L和每层节点数n1);(2)根据学习样本进行正向传播计算过程,计算隐含层和输出层各单元节点输出.对于网络中的第f(f=1,2,…,L一1)层中第个神经
7、元的操作特性为:出隐含层图1基于BP算法的神经元网络结构Fig.1TheneuralnetworkstructurebaseonBPAlgorithmj一1net)p"=∑")_i=l0"=(net(jp")(1)(2)式中:为神经元到神经元.『的连接权值;n是第2—1层的结点数;0(t为神经元的当前输入;0为神经元的输出.为网络节点单元特性函数,一般取为s型函数,即()(3)而对于输出层则有nL—I=(net)p~:∑0.一(4)计算第P个样本的输出的误差E和网络的总误差E,其中:E=÷∑(一),(p=1,2,…,P)一』=I(5)式中:m为输出结点个数;
8、却,分别为输出层第个节点的期望输出和实际输出.PE=