发明内容:
本发明的目的在于提供一种用于血管介入手术医生训练系统的导管轨迹预测方法,能够解决现有技术的不足,是一种可以提前预测导管下一时刻的位置,保证实时动态路径规划的实时性并且给医生的操作进行提前警示来达到提高手术安全性和成功率的目的的预测方法,且简单易行容易实现。
本发明采用的技术方案:一种用于血管介入手术医生训练系统的导管轨迹预测方法,其特征在于它包括以下步骤:
(1)以虚拟环境中导管尖端为研究对象,根据血管介入手术的导管尖端的运动学公式,如式(1)~式(6)所示:
vx,n=vx,n-1+ax,n-1T (2)
ax,n=ax,n-1 (3)
vy,n=vy,n-1+ay,n-1T (5)
ay,n=ay,n-1 (6)
其中,xn是第n时刻的x轴方向的位置,xn-1是第n-1时刻的x轴方向的位置;vx,n是第n时刻x轴方向的速度,vx,n-1是第n-1时刻x轴方向的速度;ax,n是第n时刻x轴方向的加速度,ax,n-1是第n-1时刻x轴方向的加速度;yn是第n时刻的y轴方向的位置,yn-1是第n-1时刻的y轴方向的位置;vy,n是第n时刻y轴方向的速度,vy,n-1是第n-1时刻y轴方向的速度;ay,n是第n时刻y轴方向的加速度,ay,n-1是第n-1时刻y轴方向的加速度;T为预测模型的采样周期;
利用位移、速度、加速度的运动学公式,则可得到导管尖端的轨迹预测的状态转移矩阵,如式(7)所示,该状态转移矩阵描述了导管尖端位置信息的实际值与预测值之间的关系;
为了实现对血管介入手术医生训练系统中的导管轨迹的预测,需要对虚拟环境中导管进行重新建模,采用对导管尖端与导管整体分段建模的方法,根据导管的柔软、可弯曲的特性,利用3Dmax中的IK链对导管进行分段建模;然后导出模型的.FBX类型文件,再将.FBX文件导入到虚拟环境中;由于在虚拟环境中预测导管尖端的轨迹需要导管尖端的当前位置,所以导管分段建模的方法有利于C#脚本对导管的尖端的位置直接提取。
所述利用3Dmax中的IK链对导管进行分段建模是先利用建模软件3Dmax对导管的整体建模,然后对导管的尖端建模,再利用该软件中的链接功能,将导管的尖端与整体连接起来;
(2)在血管介入手术医生训练系统中采集导管尖端的当前时刻的状态值;
所述步骤(2)中导管尖端的当前时刻的状态值是由虚拟环境中的C#脚本采集得到,即导管尖端的第n-1时刻的状态矩阵Xn-1如公式(8)所示:
其中,Xn-1为导管尖端的第n-1时刻的状态矩阵;xn-1为导管尖端在第n-1时刻的x轴方向的位置;vx,n-1为导管尖端在第n-1时刻的x轴方向的速度;yn-1为导管尖端在第n-1时刻的y轴方向的位置;vy,n-1为导管尖端在第n-1时刻的y轴方向的速度;ax,n-1为导管尖端在第n-1时刻的x轴方向的加速度;ay,n-1为导管尖端在第n-1时刻的y轴方向的加速度;
(3)将步骤(2)采集到的数据通过导管尖端的轨迹预测模型计算出导管尖端的下一时刻的最优状态估计值,即为导管尖端的下一时刻的状态信息;
所述步骤(3)中的最优状态估计值获取的具体方法由以下步骤构成:
(i)利用虚拟环境中的摄像机对零时刻的导管尖端的测量值进行采集,并将其作为第零时刻的最优状态估计值;
(ii)根据步骤(1)得到预测模型的状态转移矩阵,根据零时刻的最优状态估计值,可以得到第一时刻的预测状态值;
(iii)由于步骤(ii)中得到的预测状态值值的误差较大,则需要卡尔曼增益修正预测结果,进而得到第一时刻的最优状态估计值;
(iv)同理,已知第n时刻的最优状态值,同样可以预测出第n+1时刻的最优状态估计值。
所述步骤(3)中导管尖端的轨迹预测模型是基于卡尔曼滤波算法建立虚拟环境中导管尖端轨迹的预测模型,具体是指:
(3-1)以血管介入手术医生训练系统的导管尖端在世界坐标系x轴方向的位置、速度、加速度,以及在世界坐标系y轴方向的位置、速度、加速度作为预测模型的输入信号;
(3-2)以导管尖端在世界坐标系x轴方向位置和在世界坐标系y轴方向位置的最优状态估计值作为预测模型的输出信号;
(3-3)利用步骤(1)中得到的如式(7)所示的状态转移矩阵与步骤(2)得到的如式(8)所示的第n-1时刻的状态矩阵,即得到第n时刻导管尖端的预测状态矩阵
其中,为n时刻的预测状态矩阵;Xn-1为n-1时刻的状态矩阵;wk为系统噪声,从而得到n时刻的预测状态矩阵/>
(3-4)利用步骤(1)中得到的如式(7)所示的状态转移矩阵A计算n时刻的误差相关矩阵Pn,如式(10)所示,误差相关矩阵可以用来度量估计值的精确度:
Pn=A*Pn-1*AT+Q (10)
其中,Pn是一个6*6的方差矩阵,表示为n时刻的导管尖端的6个状态(x轴方向的位置、x轴方向的速度、y轴方向的位置、y轴方向的速度、x轴方向的加速度、y轴方向的加速度)的方差;Pn-1表示为n-1时刻的导管尖端的6个状态的方差;A为状态转移矩阵;AT为状态转移矩阵的转置;Q为系统噪声的协方差矩阵;
(3-5)由于步骤(3-3)得到的n时刻的预测状态矩阵误差较大,根据步骤(3-4)得到的如式(10)所示的误差相关矩阵Pn,选取如公式(11)所示的该预测模型的卡尔曼增益作为一个反馈值来修正步骤(3-3)得到的第n时刻导管尖端的预测状态矩阵/>
其中,Pn是误差相关矩阵;H表示观测矩阵;HT表示观测矩阵的转置;R为测量噪声误差矩阵;
(3-6)将步骤(3-3)得到的第n时刻导管尖端的预测状态矩阵和步骤(3-5)得到的卡尔曼增益K代到公式(12)中,即可得到n时刻的最优预测状态矩阵X′n:
其中,X′n为导管尖端第n时刻的最优预测状态矩阵,为导管尖端第n时刻的预测状态矩阵,K为卡尔曼增益,zn为n时刻的观测值,H为观测矩阵;
此时,将修正后得到的导管尖端的状态值作为最优状态估计值,预测的导管尖端的最优状态矩阵与真实的状态矩阵误差较小,误差在允许误差范围内;
(3-7)根据步骤(3-6)得到导管尖端的预测最优状态,将位置信息变换成导管尖端运动的实际位置信息,即:最后的输出值为导管尖端X轴方向位置x′n和Y轴方向位置的最优状态估计值y′n,其计算方法如公式(13)所示:
Yn=H*X′n (13)
其中,Yn为是预测模型最后的输出;H为观测矩阵;X′n为n时刻导管尖端的最优预测状态矩阵;
(3-8)利用C#语言编写轨迹预测算法的脚本以实现虚拟环境中导管尖端轨迹预测的功能。
(4)将步骤(3)预测得到的导管的下一时刻的位置信息与已规划好的全局路径之间的距离作为预警的依据,以达到提高手术安全性和成功率的目的。
本发明的工作原理是:利用虚拟环境中的导管尖端的运动学公式可以的到预测模型中的状态转移矩阵;利用虚拟环境软件unity得到导管尖端的状态值为预测模型的输入;利用已得到的状态转移矩阵和输入的状态值可以的到下一时刻的预测值;最后利用卡尔曼增益修正预测值可以得到下一时刻的最优状态估计值,使预测结果更为准确。提高血管介入手术的安全性和成功率。
本发明主要的递进关系:步骤(1)和步骤(2)是建立预测模型前的准备工作。步骤(1)中计算的状态转移矩阵A是预测模型中的一个必要的参数;步骤(1)中的导管重新建模是可以使步骤(2)中可以直接用C#语言提取导管尖端的当前时刻的状态值,步骤(2)中提取的状态值是预测模型的输入值。当准备工作完成后,步骤(3)具体描述的是预测模型。
预测模型的递进关系:
步骤(1)和步骤(2)计算出状态转移矩阵A和导管尖端的状态值矩阵Xn-1;
(3-3)根据上一步的得到的A和Xn-1进行状态预测得到n时刻的状态预测矩阵此时的预测结果不准确,需要反馈值修正
(3-4)计算相关误差矩阵P,该矩阵为下一步计算卡尔曼增益做数据准备
(3-5)根据上一步得到的相关误差矩阵P,可以得到卡尔曼增益K
(3-6)根据(3-3)得到的n时刻的状态预测矩阵和(3-5)得到的卡尔曼增益K可以得到n时刻得最优状态预测矩阵
(3-7)最后的预测模型的输出为x轴方向位置和y轴方向位置,所以根据步骤(3-6)中的最优状态预测矩阵和观测矩阵可以得到最后得模型输出值Yn。
模型中各种参数之间的逻辑关系说明如下:
首先计算状态转移矩阵A和导管尖端n-1时刻的状态矩阵Xn-1是预测模型的前期的数据准备。
计算n时刻的预测状态矩阵误差相关矩阵Pn、卡尔曼增益K、n时刻的最优预测状态矩阵X′n和预测模型最后的输出Yn是预测模型的预测步骤。
状态转移矩阵A:根据步骤(1)中的公式(1)到(6)得到的,该矩阵描述的是上一时刻和预测下一时刻的导管尖端状态值之间的关系。状态转移矩阵A是预测模型中的一个重要的参数。
导管尖端n-1时刻的状态矩阵Xn-1:根据步骤(2)中利用C#脚本采集到的矩阵,该矩阵描述的是导管尖端的状态,是预测模型的输入矩阵。
n时刻的预测状态矩阵根据步骤(1)中的状态转移矩阵A和步骤(2)中的导管尖端n-1时刻的状态矩阵Xn-1,通过步骤(3-3)的公式得到的。
误差相关矩阵Pn:根据步骤(3-4)的公式得到的,该矩阵用来度量估计值的精确度,它是计算卡尔曼增益K的一个必要参数。
卡尔曼增益K:卡尔曼增益K是预测模型的反馈值,它可以修正n时刻的预测状态矩阵它是利用步骤(3-4)中的误差相关矩阵Pn,根据步骤(3-5)的公式计算得到的。
n时刻的最优预测状态矩阵X′n:最优预测状态矩阵是通过卡尔曼增益的修正后的得到的导管尖端的最优状态矩阵,该矩阵中预测的导管尖端状态值与实际中的导管尖端状态值误差小。它是利用步骤(3-3)中的n时刻的预测状态矩阵和步骤(3-5)中的卡尔曼增益K根据步骤(3-6)中的公式得到n时刻的最优预测状态矩阵X′n。
预测模型最后的输出矩阵Yn:最后的输出矩阵Yn中包含的两个值:导管尖端X轴方向位置x′n和Y轴方向位置的最优状态估计值y′n,它是利用步骤(3-6)中的n时刻的最优预测状态矩阵X′n,根据步骤(3-7)中的公式计算的到的。
本发明的优越性:对虚拟环境中的导管的轨迹进行预测的方法,计算简单,处理的数据较少,可以保证实时性;预测的轨迹与已有的全局路径规划之间的距离作为依据,对医生的操作进行警示,能够大大提高血管介入手术的安全性和成功率,具有较高的研究及应用价值。
具体实施方式:
实施例:一种用于血管介入手术医生训练系统的导管轨迹预测方法,如图2、图3所示,其特征在于它包括以下步骤:
(1)以虚拟环境中导管尖端为研究对象,如图1所示,根据血管介入手术的导管尖端的运动学公式,如式(1)~式(6)所示:
vx,n=vx,n-1+ax,n-1T (2)
ax,n=ax,n-1 (3)
vy,n=vy,n-1+ay,n-1T (5)
ay,n=ay,n-1 (6)
其中,xn是第n时刻的x轴方向的位置,xn-1是第n-1时刻的x轴方向的位置;vx,n是第n时刻x轴方向的速度,vx,n-1是第n-1时刻x轴方向的速度;ax,n是第n时刻x轴方向的加速度,ax,n-1是第n-1时刻x轴方向的加速度;yn是第n时刻的y轴方向的位置,yn-1是第n-1时刻的y轴方向的位置;vy,n是第n时刻y轴方向的速度,vy,n-1是第n-1时刻y轴方向的速度;ay,n是第n时刻y轴方向的加速度,ay,n-1是第n-1时刻y轴方向的加速度;T为预测模型的采样周期;
利用位移、速度、加速度的运动学公式,则可得到导管尖端的轨迹预测的状态转移矩阵,如式(7)所示,该状态转移矩阵描述了导管尖端位置信息的实际值与预测值之间的关系;
为了实现对血管介入手术医生训练系统中的导管轨迹的预测,需要对虚拟环境中导管进行重新建模,采用对导管尖端与导管整体分段建模的方法,根据导管的柔软、可弯曲的特性,利用3Dmax中的IK链对导管进行分段建模;然后导出模型的.FBX类型文件,再将.FBX文件导入到虚拟环境中;由于在虚拟环境中预测导管尖端的轨迹需要导管尖端的当前位置,所以导管分段建模的方法有利于C#脚本对导管的尖端的位置直接提取。
所述利用3Dmax中的IK链对导管进行分段建模是先利用建模软件3Dmax对导管的整体建模,然后对导管的尖端建模,再利用该软件中的链接功能,将导管的尖端与整体连接起来;
(2)在血管介入手术医生训练系统中采集导管尖端的当前时刻的状态值;
所述步骤(2)中导管尖端的当前时刻的状态值是由虚拟环境中的C#脚本采集得到,即导管尖端的第n-1时刻的状态矩阵Xn-1如公式(8)所示:
其中,Xn-1为导管尖端的第n-1时刻的状态矩阵;xn-1为导管尖端在第n-1时刻的x轴方向的位置;vx,n-1为导管尖端在第n-1时刻的x轴方向的速度;yn-1为导管尖端在第n-1时刻的y轴方向的位置;vy,n-1为导管尖端在第n-1时刻的y轴方向的速度;ax,n-1为导管尖端在第n-1时刻的x轴方向的加速度;ay,n-1为导管尖端在第n-1时刻的y轴方向的加速度;
(3)将步骤(2)采集到的数据通过导管尖端的轨迹预测模型计算出导管尖端的下一时刻的最优状态估计值,即为导管尖端的下一时刻的状态信息;
所述步骤(3)中的最优状态估计值获取的具体方法由以下步骤构成:
(i)利用虚拟环境中的摄像机对零时刻的导管尖端的测量值进行采集,并将其作为第零时刻的最优状态估计值;
(ii)根据步骤(1)得到预测模型的状态转移矩阵,根据零时刻的最优状态估计值,可以得到第一时刻的预测状态值;
(iii)由于步骤(ii)中得到的预测状态值值的误差较大,则需要卡尔曼增益修正预测结果,进而得到第一时刻的最优状态估计值;
(iv)同理,已知第n时刻的最优状态值,同样可以预测出第n+1时刻的最优状态估计值。
所述步骤(3)中导管尖端的轨迹预测模型是基于卡尔曼滤波算法建立虚拟环境中导管尖端轨迹的预测模型,具体是指:
(3-1)以血管介入手术医生训练系统的导管尖端在世界坐标系x轴方向的位置、速度、加速度,以及在世界坐标系y轴方向的位置、速度、加速度作为预测模型的输入信号;
(3-2)以导管尖端在世界坐标系x轴方向位置和在世界坐标系y轴方向位置的最优状态估计值作为预测模型的输出信号;
(3-3)利用步骤(1)中得到的如式(7)所示的状态转移矩阵与步骤(2)得到的如式(8)所示的第n-1时刻的状态矩阵,即得到第n时刻导管尖端的预测状态矩阵
其中,为n时刻的预测状态矩阵;Xn-1为n-1时刻的状态矩阵;wk为系统噪声,从而得到n时刻的预测状态矩阵/>
(3-4)利用步骤(1)中得到的如式(7)所示的状态转移矩阵A计算n时刻的误差相关矩阵Pn,如式(10)所示,误差相关矩阵可以用来度量估计值的精确度:
Pn=A*Pn-1*AT+Q (10)
其中,Pn是一个6*6的方差矩阵,表示为n时刻的导管尖端的6个状态(x轴方向的位置、x轴方向的速度、y轴方向的位置、y轴方向的速度、x轴方向的加速度、y轴方向的加速度)的方差;Pn-1表示为n-1时刻的导管尖端的6个状态的方差;A为状态转移矩阵;AT为状态转移矩阵的转置;Q为系统噪声的协方差矩阵;
(3-5)由于步骤(3-3)得到的n时刻的预测状态矩阵误差较大,根据步骤(3-4)得到的如式(10)所示的误差相关矩阵Pn,选取如公式(11)所示的该预测模型的卡尔曼增益作为一个反馈值来修正步骤(3-3)得到的第n时刻导管尖端的预测状态矩阵/>
其中,Pn是误差相关矩阵;H表示观测矩阵;HT表示观测矩阵的转置;R为测量噪声误差矩阵;
(3-6)将步骤(3-3)得到的第n时刻导管尖端的预测状态矩阵和步骤(3-5)得到的卡尔曼增益K代到公式(12)中,即可得到n时刻的最优预测状态矩阵X′n:
其中,X′n为导管尖端第n时刻的最优预测状态矩阵,为导管尖端第n时刻的预测状态矩阵,K为卡尔曼增益,zn为n时刻的观测值,H为观测矩阵;
此时,将修正后得到的导管尖端的状态值作为最优状态估计值,预测的导管尖端的最优状态矩阵与真实的状态矩阵误差较小,误差在允许误差范围内;
(3-7)根据步骤(3-6)得到导管尖端的预测最优状态,将位置信息变换成导管尖端运动的实际位置信息,即:最后的输出值为导管尖端X轴方向位置x′n和Y轴方向位置的最优状态估计值y′n,其计算方法如公式(13)所示:
Yn=H*X′n (13)
其中,Yn为是预测模型最后的输出;H为观测矩阵;X′n为n时刻导管尖端的最优预测状态矩阵;
(3-8)利用C#语言编写轨迹预测算法的脚本以实现虚拟环境中导管尖端轨迹预测的功能。
(4)将步骤(3)预测得到的导管的下一时刻的位置信息与已规划好的全局路径之间的距离作为预警的依据,以达到提高手术安全性和成功率的目的。
下面通过附图结合具体实施例对本发明作进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本发明的保护范围。
一种用于血管介入手术医生训练系统的导管轨迹预测方法的研究。我们主要需要三步来实现。
第一步,我们需要通过图1所示的导管尖端位置、速度、加速度的x轴方向和y轴方向的分解图可以得到虚拟环境中导管尖端的状态值X,其中,圆圈代表虚拟环境中导管尖端,圆圈对应的x轴坐标和y轴坐标为导管尖端当前时刻x轴方向和y轴方向的位置,a代表加速度,v代表速度,这些状态值是轨迹预测模型中的输入量。根据(1-1)中的运动公式可以得出这些状态值之间的关系以及该预模型中的状态转移矩阵A。
第二步,通过图2所示建立导管轨迹预测的预测模型,该预测模型的输入量是当前时刻的最优状态估计值,输出为下一时刻的最优状态估计值,该模型中利用了卡尔曼增益进行反馈,以修正预测结果,其预测结果更为准确。
第三步,根据图3所示的导管轨迹预测的流程图,将零时刻虚拟环境中的摄像机对导管尖端的测量值作为第零时刻的最优状态估计值为该流程图的输入,其通过预测模型依次迭代可以的到导管任意时刻的下一个时刻的最优状态估计值,当测量值到达导管的病变处,则退出循环,表示该训练过程已经结束。
尽管为说明目的公开了本发明的实施例和附图,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的范围内,各种替换、变化和修改都是可能的,因此,本发明的范围不局限于实施例和附图所公开的内容。