一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度复数神经网络的超声血流测速方法及系统

2022-06-09 02:08:51 来源:中国专利 TAG:


1.本发明涉及超声血流测速技术领域,特别是涉及一种基于深度复数神经网络的超声血流测速方法及系统。


背景技术:

2.目前,计算血流速度主要分为参数化和非参数两类方法。参数化的方法直接从解调的超声回波信号中计算血流流速。其首先对超声回波信号进行数学建模,然后依据实际采样数据估计模型的参数。通过对估计的参数进行分析和筛选,最终得到期望的血流流速。早期采用的信号模型为零极点模型,其中最为常用的是自回归(autoregressive,ar)模型,ar模型将输入信号表达为过去时刻的采样值和白噪声的线性组合,并通过burg等算法求解其模型参数。由于成像帧率的限制,提供给ar模型的信号采样个数有限,导致参数估计精度不高。因为如果数学模型与回波数据之间存在较大差距,参数估计算法仍会引起很大的估计误差。此外,即使建立的模型能够逼近输入信号,经典的谱估计算法由于短数据的限制也往往不能精确地提取血流信号而估计血流速度。
3.由于参数化方法在血流信号提取上受到所建立数学模型的限制,由杂波滤波器和自相关技术组成的非参数化血流信号提取方法在实际中应用更广泛,如图2所示。即接收的超声回波首先通过一个杂波滤波器,滤波后的信号由自相关技术计算得到血流信号的多普勒频率,该频率最终转换为血流流速并用于成像。目前最为流行的杂波滤波器为基于特征分解的方法,该方法通过事先选定一个特征值阈值或者频率阈值,对应特征值大于给定特征值阈值的特征向量或者其自身频率低于频率阈值的特征向量被用于构建杂波子空间。输入信号在杂波子空间上的投影则被认为是杂波成分。最终,估计的杂波成分从输入信号中被移除。但此类方法存在如下缺点:一是基于经验选定的特征值阈值没有自适应性,导致杂波子空间的维数难以确定;二是对滤波器的参数设置不合理会导致错误滤除血流信号,进而导致计算的血流速度剖面不完整,使得估计精度大打折扣;三是先对整个回波信号进行壁滤波后使用自相关技术计算血流速度的方法大大增加了计算复杂度,实时性不高,这与临床诊断所需的高实时性不符。


技术实现要素:

4.本发明的目的是提供一种基于深度复数神经网络的超声血流测速方法及系统,以解决传统非参数化方法错误滤除低速血流而导致测速精度低的问题。
5.为实现上述目的,本发明提供了如下方案:
6.一种基于深度复数神经网络的超声血流测速方法,包括:
7.根据设定好的仿真参数搭建物理血管模型,并通过所述物理血管模型采集原始数据;所述原始数据为原始血流多普勒回波信号;
8.将所述原始数据划分为训练集、验证集和测试集,并对所述训练集进行标注;
9.构建深度复数神经网络模型;
10.通过标注后的训练集对所述深度复数神经网络模型进行训练;
11.通过训练好的深度复数神经网络模型进行血流测速。
12.可选地,在将所述原始数据划分为训练集、验证集和测试集之前,还包括:
13.对所述原始数据进行希尔伯特变换。
14.可选地,所述对所述训练集进行标注,具体包括:
15.通过设定好的仿真参数计算最大血流速度;
16.根据所述最大血流速度进行不同位置的血流速度;
17.基于所述不同位置的血流速度对所述训练集进行标注。
18.可选地,所述最大血流速度的计算公式如下:
[0019][0020]
其中,v
max
为最大血流速度,c为声速,f
prf
为脉冲重复频率,f0为中心频率,θ为束流角。
[0021]
可选地,所述不同位置的血流速的计算公式如下:
[0022][0023]
其中,v(d)为不同位置的血流速度,d为距离管腔中心线的距离,r为血管半径,v
max
为最大血流速度。
[0024]
可选地,所述深度复数神经网络模型由pytorch深度学习框架搭建一个三层卷积层和两层全连接层构成。
[0025]
可选地,还包括:
[0026]
通过所述验证集和所述测试集对训练好的深度复数神经网络模型进行验证和测试。
[0027]
本发明还提供了一种基于深度复数神经网络的超声血流测速系统,包括:
[0028]
原始数据采集模块,用于根据设定好的仿真参数搭建物理血管模型,并通过所述物理血管模型采集原始数据;所述原始数据为原始血流多普勒回波信号;
[0029]
划分及标注模块,用于将所述原始数据划分为训练集、验证集和测试集,并对所述训练集进行标注;
[0030]
模型构建模块,用于构建深度复数神经网络模型;
[0031]
训练模块,用于通过标注后的训练集对所述深度复数神经网络模型进行训练;
[0032]
血流测速模块,用于通过训练好的深度复数神经网络模型进行血流测速。
[0033]
根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0034]
本发明提供了一种基于深度复数神经网络的超声血流测速方法,包括:根据设定好的仿真参数搭建物理血管模型,并通过所述物理血管模型采集原始数据;所述原始数据为原始血流多普勒回波信号;将所述原始数据划分为训练集、验证集和测试集,并对所述训练集进行标注;构建深度复数神经网络模型;通过标注后的训练集对所述深度复数神经网络模型进行训练;通过训练好的深度复数神经网络模型进行血流测速。本发明使用深度复数神经网络将滤波与血流测速两步融合,提高了血流测速的准确性,降低了算法运行时间,提高了效率。解决了传统非参数化方法(即先滤波后使用自相关法测量血流速度的方法)易
导致血流速度准确性低、算法运行时间长、自适应性差的问题。
附图说明
[0035]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0036]
图1为本发明基于深度复数神经网络的超声血流测速方法的流程图;
[0037]
图2为非参数化血流测速法示意图;
[0038]
图3为本发明深度复数神经网络模型结构图;
[0039]
图4为本发明深度复数神经网络模型的复数卷积运算示意图;
[0040]
图5为本发明实施例提供的深度复数神经网络模型效果评估图;
[0041]
图6为本发明实施例提供的血流模型示意图;
[0042]
图7为本发明实施例提供的血流速度成像结果示意图。
具体实施方式
[0043]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044]
本发明的目的是提供一种基于深度复数神经网络的超声血流测速方法及系统,以解决传统非参数化方法错误滤除低速血流而导致测速精度低的问题。
[0045]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0046]
如图1所示,本发明提供的基于深度复数神经网络的超声血流测速方法,包括以下步骤:
[0047]
步骤101:根据设定好的仿真参数搭建物理血管模型,并通过所述物理血管模型采集原始数据;所述原始数据为原始血流多普勒回波信号。
[0048]
使用feild ii超声仿真软件,设定主要仿真参数如下:
[0049]
参数名称参数值换能器类型线阵阵元数128阵元间距0.3mm声速1540m/s脉冲重复频率4khz中心频率5mhz采样频率100mhz平面波角度间隔3
°
平面波角度个数3
平面波角度范围-3
°
—3
°
[0050]
根据以上设定的参数,搭建物理血管模型并随机放置散射点,然后发射平面波采集原始数据并存储于本地。
[0051]
步骤102:将所述原始数据划分为训练集、验证集和测试集,并对所述训练集进行标注。
[0052]
对步骤101所获取的原始数据(即原始多普勒回波信号)进行希尔伯特变换得到i/q解析信号,将解调之后的回波数据按照7:2:1的比例划分为训练集、验证集和测试集。
[0053]
根据所设定的参数计算最大血流速度v
max
:
[0054][0055]
其中,c为声速,单位为m/s,f
prf
为脉冲重复频率,f0为中心频率,θ为束流角。由于人体劲动脉血流符合层流分布,血流剖面呈抛物线型,根据计算的最大血流速度v
max
计算不同位置的血流速度v(d):
[0056][0057]
其中d为距离管腔中心线的距离,r为血管半径。通过v(d)对训练集尽心标注,并对训练集进行归一化处理。
[0058]
步骤103:构建深度复数神经网络模型。
[0059]
基于pytorch深度学习框架搭建一个三层卷积层,两层全连接层的模型架构,深度复数神经网络模型的整体结构如图4所示。
[0060]
步骤104:通过标注后的训练集对所述深度复数神经网络模型进行训练。
[0061]
设置好诸如隐藏神经元单元数、激活函数、损失函数、优化器、学习率、训练迭代轮次等超参数之后,使用jupyter notebook环境进行模型训练。
[0062]
步骤105:通过训练好的深度复数神经网络模型进行血流测速。
[0063]
对计算得到的血流速度进行彩色编码,获取视野内的二维血流速度图像。
[0064]
在步骤105之后还包括:
[0065]
步骤106:加载训练好的模型,将验证集数据输入模型对模型效果进行评估,评价指标为平均绝对误差(mae):
[0066][0067]
其中x(i)为预测值,y(i)为理论值。
[0068]
步骤107:加载训练好的模型,将测试数据输入模型得到血流速度值v。
[0069]
本发明将常规卷积神经网络的卷积算子映射到复数域,自动进行血流信号以及组织、管壁等非平稳杂波信号的特征提取,使用监督学习的思想以及基于优化的准则,将血流信号和杂波信号分别使用理论血流速度、零值进行标定,通过训练一个最优化的模型,从而对回波信号进行自动推理计算血流速度。本发明的主要优点是,保留低速血流信息,提高血流速度测量结果的准确性,同时将滤波与血流测速融合为一步,大大降低算法运行时间,提高了效率。
[0070]
具体实施例如下:
[0071]
(1)建立如图6所示的血流模型,图6中,1表示血流速度剖面,2表示血流速度剖面中的中心最大速度,3表示血管的倾斜角度。
[0072]
圆柱形血管位于皮下60mm,管腔半径为r=4mm,血管倾斜角度为72
°
,中心最大速度为v
max
=0.9967m/s,则上管壁至下管壁的血流速度剖面为
[0073][0074]
其中,1≤d≤r
[0075]
(2)发射平面波采集回波数据,分别对所有血流多普勒信号进行解调
[0076]
b(n)=r(n) j*i(n)
[0077]
其中,r(n)和i(n)分别是正交解调后的b(n)的同相分量和正交分量,j为虚数单位
[0078]
(3)将解调之后的回波数据按照7:2:1的比例划分为训练集、验证集和测试集。
[0079]
(4)根据步骤(1)中计算所得v(d)乘以束流角余弦值后对血管部分进行标注,组织与管壁部分以0进行标注,对标注好的数据进行标准化处理之后输入深度复数神经网络。
[0080]
(5)使用pytorch框架搭建一个三层卷积层,两层全连接层的深度复数神经网络,第一层卷积层由复数卷积层、批量归一化层(bn)、最大池化层以及sigmoid激活函数组合而成,第二层卷积层与第一层结构相同,第三层与前两层的区别在于激活函数使用复数激活函数(crelu)函数:
[0081]
crelu=max(0,x) j*max(0,x)
[0082]
第一层全连接层使用crelu激活,最后一层全连接层为输出层,使用线性函数激活。
[0083]
输入数据为复数向量h=x iy,复数卷积核为w=a ib,输入数据经过与复数卷积核卷积得到:
[0084]
w*h=(a*x-b*y) i(b*x a*y)
[0085]
深度复数神经网络模型的复数卷积运算如图3所示,卷积之后的信号特征经过最大池化层,最大池化层提取特征矩阵中对血流速度计算最主要的特征,主要特征经过非线性激活函数激活后由全连接层进行线性计算并最终输出。
[0086]
(7)选定均方误差(mse)作为损失函数、随机梯度优化(sgd)作为优化器、学习率设置为0.0001,设置以上超参数之后对模型进行100epoch的训练并保存最优模型。
[0087]
(8)加载步骤(7)中的最优模型,使用步骤(3)中划分的验证集数据对模型进行评估,效果图如图5所示。
[0088]
(9)加载步骤(7)中的最优模型,使用步骤(3)中划分的测试集数据进行测试,将测试数据输入模型得到血流速度值v。
[0089]
(10)彩色编码步骤(7)中计算的血流速度信息v,获取视野内的二维血流速度图像,结果如图7所示。
[0090]
由于深度复数神经网络模型在训练学习阶段充分考虑了管壁周围的低速血流,从而避免了错误消除低速血流而导致的血流速度剖面不完整的问题,提高了血流速度测量结果的准确性。
[0091]
本发明还提供了一种基于深度复数神经网络的超声血流测速系统,包括:
[0092]
原始数据采集模块,用于根据设定好的仿真参数搭建物理血管模型,并通过所述物理血管模型采集原始数据;所述原始数据为原始血流多普勒回波信号;
[0093]
划分及标注模块,用于将所述原始数据划分为训练集、验证集和测试集,并对所述训练集进行标注;
[0094]
模型构建模块,用于构建深度复数神经网络模型;
[0095]
训练模块,用于通过标注后的训练集对所述深度复数神经网络模型进行训练;
[0096]
血流测速模块,用于通过训练好的深度复数神经网络模型进行血流测速。
[0097]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0098]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献