基于双向GRU网络的肿瘤呼吸运动预测方法与流程

文档序号:19681320发布日期:2020-01-14 17:24阅读:768来源:国知局
基于双向GRU网络的肿瘤呼吸运动预测方法与流程

本发明涉及放疗机器人呼吸跟踪技术领域,具体涉及一种基于双向gru网络的肿瘤呼吸运动预测方法。



背景技术:

肺癌已经成为严重威胁全球人群健康的主要公共卫生问题之一,在肺部肿瘤的治疗手段中,放射治疗是使用率最高的治疗手段,其具有适用性广泛、治疗效果良好等优点。随着放射治疗设备的智能化与精密化,精准放疗的概念被提出并应用于肺部肿瘤的治疗。精准放疗是指将放疗医学与计算机网络技术、和物理学等相结合所进行的肿瘤治疗方式。在治疗过程中采用实时影像引导及同步呼吸追踪,保证治疗的准确度。

但是人体呼吸引起的肿瘤位置变化给精准放射治疗的呼吸跟踪部分带来了很大的困难,肿瘤运动完全破坏了适合三维静态靶区形状的剂量分布的作用。不仅使目标肿瘤实际的辐射剂量小于计划的剂量降低放疗的效率,并且肿瘤周围正常组织进入射野中心的高剂量区域从而引发并发症。与此同时,呼吸运动是一个无明显规律的复杂准周期运动,病人的呼吸模式在治疗过程中会发生变化,如频率改变、基线漂移和位置幅度偏移。因此需要引入一种呼吸运动的预测手段,对放射治疗设备进行肿瘤位置的补偿。

传统的呼吸预测手段,如lms、rls和卡尔曼滤波等方法,虽然算法构建简单,但是存在预测精度不高和鲁棒性较差等缺点;而基于lstm等rnn神经网络预测方法的网络更新时间过长,难以实现在周期性通过x射线获取肿瘤位置数据的基础上实现预测模型的在线更新。



技术实现要素:

本发明要解决的技术问题是提供一种基于双向gru网络的肿瘤呼吸运动预测方法,其能够预测肿瘤呼吸,具有较高的预测精度和鲁棒性。

为了解决上述技术问题,本发明提供了一种基于双向gru网络的肿瘤呼吸运动预测方法,包括以下步骤:

步骤一、获取肿瘤呼吸运动的历史数据,对所述历史数据进行平滑化处理和归一化处理,并对所述平滑化处理和归一化处理后的数据进行时相划分,获得预处理数据集;

步骤二、从所述预处理数据集中选定用于神经网络训练的训练集,并根据时相划分在训练集上打上呼气标签和吸气标签;

步骤三、构建双向gru预测网络,将训练集带入预测网络以更新网络的参数,获得训练后的预测网络;

步骤四、采集实时数据,将实时数据输入至训练后的预测网络,获得呼吸运动预测值的输出;

步骤五、定期获取实际的肿瘤呼吸运动数据,将实际的肿瘤呼吸运动数据与预测值进行比对,获得误差值;设定误差阈值,若误差值高于误差阈值,则将实际的肿瘤呼吸运动数据进行预测网络模型在线更新。

作为优选的,所述步骤一中,获取的肿瘤呼吸运动的历史数据为体外标记点运动数据。

作为优选的,所述步骤一中,“平滑化处理”采用滑动平均值方法。

作为优选的,所述步骤一中,“归一化处理”采用max-min归一化方法。

作为优选的,所述“对所述平滑化处理和归一化处理后的数据进行时相划分”具体包括:采用的是findpeak方法寻找吸气与呼气过程对应的分割点。

作为优选的,所述步骤二中,训练集被重构为(samples,timesteps,inputdim)的三维张量,samples维度是指所有输入网络的样本,timesteps是指采样步长,inputdim是指数据的输入维度。

作为优选的,所述步骤三具体包括:

s31、利用keras库设定gru网络层数、每层单元数、训练轮次、训练优化器和每次训练的数据长度,获得预测网络;

s32、将训练集数据输入s31的预测网络,并利用梯度下降法将误差反向传播回网络,对预测网络的参数进行修正。

作为优选的,所述步骤五中,所述误差阈值为均方根误差。

作为优选的,所述均方根误差为0.5mm。

本发明的有益效果:

1、本发明使用双向gru网络进行肿瘤呼吸运动预测,与传统预测方法如rls、lms、卡尔曼方法等,有较高的预测精度和鲁棒性。

2、本发明与其他神经网络预测方法相比,具有较快的网络更新速度,可以实现神经网络预测模型在放射治疗中进行实时的预测模型更新;由于治疗过程的连续性,预测模型在线更新不会打断治疗过程。

附图说明

图1为本发明的流程图;

图2为移动平均滤波进行数据平滑化之后的对比图;

图3为肿瘤呼吸运动时相划分的结果;

图4为gru网络结构示意图;

图5为预测结果与实际值对比图;

图6为在线更新预测模型的流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

参照图1所示,本发明公开了一种基于双向gru网络的肿瘤呼吸运动预测方法,包括以下步骤:

步骤一、获取肿瘤呼吸运动的历史数据,对所述历史数据进行平滑化处理和归一化处理,并对所述平滑化处理和归一化处理后的数据进行时相划分,获得预处理数据集。

其中,获取的肿瘤呼吸运动的历史数据为体外标记点运动数据。

而“平滑化处理”采用滑动平均值方法。移动平均滤波是基于统计规律,将连续的采样数据看成一个长度固定为n的队列,在新的一次测量后,上述队列的首数据去掉,其余n-1个数据依次前移,并将新的采样数据插入,作为新队列的尾;然后对这个队列进行算术运算,并将其结果做为本次测量的结果。假设输入为x,输出为y,则移动平均滤波器的计算公式如下所示:

图2为经过平滑化之后的数据与原始数据对比。

“归一化处理”采用max-min归一化方法。其原理是对原始数据进行线性变换,设mina和maxa分别是属性a的最小值和最大值,将a的一个原始值x通过最大-最小标准化映射到区间[0,1]的值y,那么公式如下:

其中,时相划分采用的是findpeak方法寻找吸气与呼气过程对应的分割点。其原理为:经过滤波平滑化后,首先遍历数组,找到满足(n-n,n)内是递增,且(n,n+n)是递减的;或者满足(n-n,n)内是递减,且(n,n+n)是递增的,则可认为其为呼吸的分界点。呼吸时相划分的结果如图3所示。

步骤二、从所述预处理数据集中选定用于神经网络训练的训练集,并根据时相划分在训练集上打上呼气标签和吸气标签。

具体的,选取整个治疗过程数据的10%作为训练集输入网络。并将其重构为形如(samples,timesteps,inputdim)的三维张量,samples维度是指所有输入网络的样本,timesteps是指采样步长,inputdim是指数据的输入维度。其中,根据上一步时相划分的结果,为训练集打上对应的标签,呼气过程标签为1,吸气过程标签为0。

步骤三、构建双向gru预测网络,将训练集带入预测网络以更新网络的参数,获得训练后的预测网络。

s31、利用keras库设定gru网络层数、每层单元数、训练轮次、训练优化器和每次训练的数据长度,获得预测网络;

s32、将训练集数据输入s31的预测网络,并利用梯度下降法将误差反向传播回网络,对预测网络的参数进行修正,直至网络输出误差最小。

步骤四、采集实时数据,将实时数据输入至训练后的预测网络,获得呼吸运动预测值的输出。

选定一段当前时刻至前k时刻的运动数据流,并将其重构为训练集一样的数据结构,输入至预测网络中。预测网络输出对下一时刻的运动位置预测值。预测结果与真实数据对比如图5所示。

步骤五、定期通过x射线获取实际的肿瘤呼吸运动数据,将实际的肿瘤呼吸运动数据与预测值进行比对,获得误差值;设定误差阈值,若误差值高于误差阈值,则将实际的肿瘤呼吸运动数据进行预测网络模型在线更新。或者,连续的预测误差有增大的趋势,则使用获取的真实肿瘤呼吸运动数据进行预测模型的在线更新。由于治疗过程的连续性,预测网络模型在线更新不会打断治疗过程。所述误差阈值为均方根误差。所述均方根误差为0.5mm。在模型更新的同时,肿瘤呼吸运动预测与放射治疗过程不会停止。预测模型更新结束后,转而使用新的预测模型进行预测输出,并重复比对获取的真实运动数据的步骤,实现循环。图5为在线更新预测模型的流程图。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1