CN111772619B - 一种基于深度学习的心搏识别方法、终端设备及存储介质 - Google Patents

一种基于深度学习的心搏识别方法、终端设备及存储介质 Download PDF

Info

Publication number
CN111772619B
CN111772619B CN202010564435.4A CN202010564435A CN111772619B CN 111772619 B CN111772619 B CN 111772619B CN 202010564435 A CN202010564435 A CN 202010564435A CN 111772619 B CN111772619 B CN 111772619B
Authority
CN
China
Prior art keywords
heart beat
sub
model
electrocardiogram
segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010564435.4A
Other languages
English (en)
Other versions
CN111772619A (zh
Inventor
李熙
徐拥军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nalong Health Technology Co ltd
Original Assignee
Xiamen Nalong Health Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Nalong Health Technology Co ltd filed Critical Xiamen Nalong Health Technology Co ltd
Priority to CN202010564435.4A priority Critical patent/CN111772619B/zh
Publication of CN111772619A publication Critical patent/CN111772619A/zh
Application granted granted Critical
Publication of CN111772619B publication Critical patent/CN111772619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7203Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/725Details of waveform analysis using specific filters therefor, e.g. Kalman or adaptive filters
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • A61B5/7267Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems involving training the classification device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Psychiatry (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Animal Behavior & Ethology (AREA)
  • Surgery (AREA)
  • Medical Informatics (AREA)
  • Physiology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Pathology (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Fuzzy Systems (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

本发明涉及一种基于深度学习的心搏识别方法、终端设备及存储介质,该方法中包括:S1:采集心电图数据组成训练集;S2:构建心搏识别模型并设定模型的损失函数,对模型进行训练使得损失函数最小后,得到训练后的最终模型;构建的心搏识别模型由编码器和解码器组成;所述编码器包括一个卷积层和多个改进残差网络,改进残差网络采用多个不同尺度的卷积核路径并行编码;所述解码器包括一个带注意力机制的循环神经网络和两个全连接网络,两个全连接网络分别用于识别心搏类型和心搏位置;S3:将待识别心电图进行预处理后得到的多个子片段依次输入最终模型,得到识别结果。本发明克服手工设计算法的局限性,具有准确率高、抗干扰能力强、速度快的优点。

Description

一种基于深度学习的心搏识别方法、终端设备及存储介质
技术领域
本发明涉及心电图自动识别领域,尤其涉及一种基于深度学习的心搏识别方法、终端设备及存储介质。
背景技术
心电图对于心血管疾病的诊断具有重要的价值,它是临床最常用的无创检查手段之一。心电图数据由采集设备从人体采集得到,然后在心电图分析系统进行预处理后展示给医生进行诊断。预处理的主要工作是进行QRS波识别,QRS波是心电图上周期性出现的尖峰状信号,是心脏电活动的最主要特征。
业界识别QRS波的传统方法主要有:自适应阈值法、小波变换法、模板法等。这些方法对于采集质量较高、心搏形态和节律比较常见的图可以满足要求。然而,QRS波的形态因人而异,即使同一个人也容易受高频噪声、基线漂移、运动伪迹、个体差异等的影响而造成失真,使得识别变得困难。尤其是动态心电图领域,心搏形态和节律变化非常复杂,传统方法识别的效果与医生的要求还有较大差距。医生需要手动修改大量的错误标记,或者添加很多漏检的QRS波,严重降低了工作效率。究其原因,这些方法还远远不能模拟人类大脑的工作过程,它们是基于一套人为制定的决策规则来进行模式识别,而QRS的模式很难用有限的规则去涵盖。
深度学习技术利用大数据训练深度神经网络,在计算机视觉领域取得了革命性的突破。现有技术中已有一些方案把深度学习应用于心搏分类,但前提是需要传统QRS识别算法先将心搏位置定位出来,然后再将定位到的心搏片段数据送入神经网络。这样做存在两个缺陷,第一是QRS检出的准确度受传统方法限制,二是单个心搏片段提供的信息有限,无法综合心电图上下文信息,从而分类能力也很难提升。
发明内容
为了解决上述问题,本发明提出了一种基于深度学习的心搏识别方法、终端设备及存储介质。
具体方案如下:
一种心电图心搏识别方法,包括以下步骤:
S1:采集心电图数据组成训练集;
S2:构建心搏识别模型并设定模型的损失函数,对模型进行训练使得损失函数最小后,得到训练后的最终模型;
构建的心搏识别模型由编码器和解码器组成;
所述编码器包括一个卷积层和多个改进残差网络,改进残差网络采用多个不同尺度的卷积核路径并行编码;
所述解码器包括一个带注意力机制的循环神经网络和两个全连接网络,两个全连接网络分别用于识别心搏类型和心搏位置;
所述心搏识别模型的损失函数由分类损失和位置损失两部分组成;
S3:将待识别心电图进行预处理后得到的多个子片段依次输入最终模型,得到最终模型输出的每个子片段对应的心搏类型和心搏位置的预测序列;将多个预测序列依次连接,组成该待识别心电图的识别结果。
进一步的,步骤S1具体包括:采集多个心电图数据并将每个心电图数据截取为多个额定时间长度的子片段,对每个子片段进行心搏类型和心搏位置标记后,将每个心电图数据对应的所有子片段叠加后的数据和所有子片段标记后的数据叠加后的数据共同组成该心电图数据的训练样本,将采集的所有心电图数据的训练样本组成训练集。
进一步的,采集的心电图数据需符合:对应的时间大于时间阈值且满足包含室性心搏、包含房性心搏、包含伪差心搏和诊断结论为异常这四种条件中的至少一种。
进一步的,子片段的截取方法为:根据心电图数据横坐标的时间设定采样点,设定额定时间长度为m,从第1个采样点开始,截取时间长度为m的区间组成第1个子片段,从第1+m-w个采样点开始,截取时间长度为m的区间组成第2个片段,依次类推,直到某个片段达到心电图数据的结尾,其中w表示重叠的范围,且满足w<=0.5*m。
进一步的,步骤S1还包括对心电图数据进行预处理,所述预处理为以额定频率进行重新采样后再进行滤波处理。
进一步的,标记包括以下步骤:
S11:读取心电图数据中的心搏标记信息,提取心搏标记信息中的标签序列和位置序列;
S12:构造心搏类型标记张量label_cls,将每个子片段对应时间范围内的心搏类型标记依次编码后写入心搏类型标记张量label_cls中;
S13:构造心搏位置标记张量label_pos,将每个子片段对应时间范围内的心搏位置标记依次进行位置编码后写入心搏位置标记张量label_pos中。
进一步的,心搏类型标记张量label_cls表示为[a,5],其中,a表示心搏个数,5表示心搏类型编码为5位;心搏位置标记张量label_pos表示为[a,1]。
进一步的,子片段中标记在t秒的QRS波对应的位置编码的计算公式为:(t-offset)/m,其中,offset表示该子片段的起始位置相对于该子片段对应的心电图数据的起始位置的偏移时间,m表示该子片段对应的时间范围。
进一步的,改进残差网络结构包括三路不同尺度的ResidualBlock,输入经过三路不同尺度的ResidualBlock后的输出合并作为改进残差网络的输出,每路ResidualBlock的卷积核大小依次增加2。
进一步的,解码器中带注意力机制的循环神经网络的结构表达公式为:
St=tanh(yt+1·U+St-1·V+b1)
Figure GDA0002635150640000041
Figure GDA0002635150640000042
ek=Code·Si T
Figure GDA0002635150640000043
Figure GDA0002635150640000044
其中,S表示循环神经网络的内部状态张量,St-1和St分别表示循环神经网络的t-1时刻和t时刻的状态;y表示循环神经网络的输出张量,yt+1和yt分别表示循环神经网络的t+1时刻和t时刻的输出张量;U和V为参数矩阵;tanh为双曲正切函数;b1、b2、Wc和Ws均为参数张量;C表示上下文向量;上标T表示转置,αj表示t时刻对Code编码中j时间点的注意力系数;L表示Code的长度;j和k均为变量参数;ej表示t时刻的状态和Code在j时间点的注意力得分;exp表示e为底的指数函数;
Figure GDA0002635150640000051
表示修正状态;[C,St]表示把Code和St在最后一个维度堆叠。
进一步的,解码器中对应于心搏类型的全连接网络为:循环神经网络的输出经过第一个两层全连接神经网络MLP1后,再经过Softmax函数进行归一化变换得到每种心搏类型的概率。
进一步的,解码器中对应于心搏位置的全连接网络为:循环神经网络的输出经过第二个两层全连接神经网络MLP2后,再经过Sigmoid函数变换得到心搏的位置。
进一步的,两层全连接神经网络MLP1和MLP2的数学表达式均为:
y=(x·W1+b1)·W2+b2
其中,x表示输入张量,y表示输出张量,W1、W2、b1和b2均为可学习的参数张量。
进一步的,分类损失采用多分类交叉熵损失函数,位置损失采用L2损失函数。
一种心电图心搏识别终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现本发明实施例上述的方法的步骤。
本发明采用如上技术方案,并具有有益效果:
1.克服手工设计算法的局限性,充分利用大数据的威力。随着数据量增多,模型可以不断的自动进化趋于完善,而手工算法是不行的。
2.充分利用心电图前后上下文信息,相比之前的技术,识别准确率高,抗干扰能力也更强。
3.速度块,由于是端到端的技术,可以通过GPU硬件加速,识别一份动态心电的时间可以从数分钟缩短到数秒钟。
附图说明
图1所示为本发明实施例一的流程图。
图2所示为该实施例中系统网络结构示意图。
图3所示为该实施例中改进残差网络的结构示意图。
图4所示为该实施例中ResidualBlock的结构示意图。
图5所示为该实施例中残差路径执行的流程图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
现结合附图和具体实施方式对本发明进一步说明。
实施例一:
本发明实施例提供了一种心电图心搏识别方法,如图1所示,所述方法包括以下步骤:
S1:采集心电图数据组成训练集。
该实施例中训练集的组成方法具体为:采集多个心电图数据并将每个心电图数据截取为多个额定时间长度的子片段,对每个子片段进行心搏类型和心搏位置标记后,将每个心电图数据对应的所有子片段叠加后的数据和所有子片段标记后的数据叠加后的数据共同组成该心电图数据的训练样本,将采集的所有心电图数据的训练样本组成训练集。
在采集的过程中,可以对心电图数据库中各数据的平均心率进行直方图统计,该实施例中设定直方图栅格的宽度为5次/分钟,统计的范围为40次/分钟~300次/分钟。对于在每个直方图栅格范围内的心电图数据,根据其长度、心搏标记和诊断结论进行筛选。筛选条件是满足以下一条或者多条,并且对应的时间大于时间阈值,该实施例中设定时间阈值为10秒钟。
1)包含室性心搏
2)包含房性心搏
3)包含伪差心搏
4)诊断结论为异常
需要说明的是,该实施例中在采集训练集中的样本时没有选择正常心电图,是因为其占比巨大且没有多少学习的价值;也没有单独考虑窦性,因为偶发室性和房性早搏的心电图里面会大量包含窦性。
由于模型的输入应为额定长度,而采集的心电图数据往往长度不等,因此,该实施例中预处理还包括将心电图数据截取为多个额定长度的子片段。
子片段的截取方法为:根据心电图数据横坐标的时间设定采样点,设定额定时间长度为m,从第1个采样点开始,截取时间长度为m的区间组成第1个子片段,从第1+m-w个采样点开始,截取时间长度为m的区间组成第2个片段,依次类推,直到某个片段达到心电图数据的结尾,其中w表示重叠的范围,且满足w<=0.5*m。标签的截取和数据截取按相同规则进行。该实施例中设定额定时间长度为10秒,即每个子片段对应的时间范围均为10秒。
进一步的,还包括对采集的心电图数据进行预处理,即以额定频率进行重新采样后再进行滤波处理。
其中,重采样可以通过线性插值法进行,通过重采样将所有心电图数据的采样率进行统一。所述额定频率本领域技术人员可以根据经验和实验进行设定,通常大于200Hz,该实施例中以250HZ的额定频率进行重采样。
所述滤波处理用于去除噪声,该实施例中进行0.1HZ~15HZ的带通滤波。
进一步的,还包括对心电图数据进行归一化处理,即针对每个导联,通过标签提供的R波位置,求得每个R波前后60毫秒范围内电压的最小值和最大值,然后对最小值进行平均得到数值lo,对最大值求平均得到hi。针对该导联内的每一采样点电压v,根据以下公式进行变换:
v’=(v-lo)/(hi-lo)
其中,v’表示变换后的电压。这样,所有的电压均被映射到0.0~1.0的数值区间。
对心电图数据进行心搏类型和心搏位置标记的过程包括以下步骤:
S11:读取心电图数据中的心搏标记信息,提取心搏标记信息中的标签序列和位置序列。
S12:构造心搏类型标记张量label_cls,将每个子片段对应时间范围内的心搏类型标记依次编码后写入心搏类型标记张量label_cls中。
该实施例中设定心搏类型标记张量label_cls表示为[a,5],其中,a表示子片段中包含的心搏的个数,5表示心搏类型编码为5位。该实施例中心搏类型包括窦性、房性、室性、伪差和休止符,对应的编码映射分别为:窦性为[1,0,0,0,0],房性为[0,1,0,0,0],室性为[0,0,1,0,0],伪差为[0,0,0,1,0],休止符[0,0,0,0,1]。
该实施例中心搏类型标记采用one-hot编码。
进一步的,设定当子片段中包含的心搏的个数不超出a时,不足a的部分填入休止符编码,如果超出那么放弃该片段。
S13:构造心搏位置标记张量label_pos,将每个子片段对应时间范围内的心搏位置标记依次进行位置编码后写入心搏位置标记张量label_pos中。
该实施例中设定心搏位置标记张量label_pos表示为[a,1]。如果子片段中包含的心搏的个数不超出a时,不足a的部分填入-1,如果超出那么放弃该片段。
该实施例中设定子片段中标记在t秒的QRS波对应的位置编码的计算公式为:
(t-offset)/m
其中,offset表示该子片段的起始位置相对于该子片段对应的心电图数据的起始位置的偏移时间,l表示该子片段对应的时间范围。t应满足t>=offset且t<=offset+m。
标记完成后,将每个心电图数据的所有子片段按照[2500,lead_dim]的维度转换为张量数据,并叠加起来得到[train_set_size,2500,lead_dim]维度的张量,记为x_train。
将所有的label_cls叠加起来得到[train_set_size,50,5]维度的张量,记为y1_train。
将所有的label_pos叠加起来得到[train_set_size,50,1]维度的张量,记为y2_train。
S2:构建心搏识别模型并设定模型的损失函数,对模型进行训练使得损失函数最小后,得到训练后的最终模型。
S21:构建主干神经网络。
由于需要模型的输入为电压序列,输出为QRS波标记序列,因此,该实施例采用“编码器-解码器”框架,主干网络可以是任何具备编码-解码能力的架构。
1.编码器部分由一维卷积神经网络(CNN)进行序列变换,解码器由循环神经网络(RNN)进行解码输出。
常规的seq-to-seq的学习由一个RNN做编码器生成隐变量,再由另一个RNN做解码器输出目标序列。但由于心电图采样精度高,包含若干个心搏的序列一般很长,若直接用RNN做编码会导致剧梯度消失或者爆炸,而且RNN不能并行,训练会非常耗时。该实施例中采用CNN做编码器不仅效率高,而且在提取范围较大的语义特征(比如P和QRS)上具有先天优势。
2.编码器网络采用了多尺度融合的残差网络(Resnet)改进结构。
心电图上的特征信息会随着心率和采集电压变化发生尺度的变化,为了适应这些变化,在残差网络结构基础上引入了一种多路机制,用多尺度的卷积核路径进行并行编码,以达到多种分辨率特征图相融合的目的。
3.解码器部分引入了基于注意力模块的上下文推理机制。
人类专家判别心搏需要上下文信息,那么机器也应该如此。根据这个假设,在解码端引入了注意力模块来提供上下文信息。注意力模块学习根据当前解码码器状态和编码器输出的编码向量得到一个上下文向量,让后编码器参考这个向量预测下一个序列值。
下面介绍模型的构建过程:
1.搭建深度学习模型。
可以使用任意支持计算图自动微分的软件,比如Pytorch和Tensorflow。启动开发环境,建立一个空的计算图,记为G。
2.在G中创建模型的输入张量节点,如图2(图2中的Input)所示,记作Input1,其维度与步骤S1中训练样本中所有子片段叠加后的数据的维度相同,即为[batch_size,2500,dim_lead],其中,batch_size表示批处理样本量,大小加载数据时决定,后续所有维度描述中将省略该batch_size,即将维度记为[2500,dim_lead];2500表示数据时间维度,以250Hz的采样频率、采样时间为10秒;dim_lead表示心电图的导联数,一般为1~12之间的数值。
3.构建编码器。
编码器包括一个卷积层和多个改进残差网络的级联。每个残差(Resnet)网络又由多个感受野不同的ResidualBlock组合而成,下面自顶向下逐一描述每个功能模块的构建。
3.1、在G中创建一个Conv1D(32,5,1)操作节点,节点的输入为Input1,输出记为X1。Conv1D(K,f,s)函数由开发环境提供或者自己实现,其数学表达式如下:
Figure GDA0002635150640000111
i∈{0,1,...,Ll+1},
Figure GDA0002635150640000121
其中,Zl+1和Zl分别表示输入和输出张量,Ll+1和Ll分别表示输入和输出张量的时间轴尺寸。Kl+1参数表示输出特征图通道数(等于上面定义中的参数K),Kl表示输入张量的通道数。参数f表示特征图尺寸,参数s表示卷积核的步进值,p表示填充值,该实施例中所有p值统一为‘same’型填充值,即p=(f-1)/2。σ、Wl+1、b1和b2为可以学习的参数矩阵,其维度分别为[Kl+1,K]、[f,K]、[f,1]、[Kl+1,K]。
3.2、Resnet结构。
如图3所示。Resnet网络需要三个参数K、f、s,分别表示网络的输出特征图数目,最小卷积核的大小和步进值,如果步进值为2则表示对输出的时间尺度下采样到1/2。在Resnet中,输入并行经过三个ResidualBlock简称RB,每个每个RB的卷积核大小依次增加2,最后把这些ResidualBlock的输出进行通道维度的合并(Concact)就完成了对多尺度感受野信息的融合。
ResidualBlock的结构如图4所示,它接收Resnet提供的三个参数K,f,s,其输入张量分两路进行变换,分别为:
(1)In->Relu->BN->Conv1D(K,f,1)->Conv1D(K,f,s)
(2)残差路径(Bypass)。
将以上两条路径输出进行元素相加即得到ResidualBlock的输出。
其中激活函数Relu的数学表达式如下:
f(x)=max(0,x)
其中,x表示输入张量,f(x)表示输出张量。
批量归一化(BN)函数数学表达式如下:
Figure GDA0002635150640000131
Figure GDA0002635150640000132
Figure GDA0002635150640000133
Figure GDA0002635150640000134
B={x1,x2,...,xm}
其中,B表示输入张量,Y表示输出张量,γ和β均为可以学习的参数。
残差路径的逻辑如图5所示,其中最大池化函数MaxPool1D的数学表达式如下:
Al+1(i)=max(Al(2i+x),Al(2i+x+1))
i∈{0,2,...,LL/2}
其中,Al+1和Al分别表示输出和输入张量,LL表示输入张量的时间维度的尺寸。
根据上面定义的功能模块,在G中建立编码器部分的完整计算图,输入为X1,输出记为Code,流程如下:
X1->Resnet(16,7,1)->Resnet(16,7,2)->Resnet(16,7,1)->Resnet(16,7,2)
->Resnet(32,5,1)->Resnet(32,5,2)->->Resnet(32,5,1)->Resnet(32,5,2)
->Resnet(64,3,1)->Resnet(64,3,2)->->Resnet(64,3,1)->Resnet(64,3,2)
->BN->Relu->Code
至此,输入的心电图信号已经经过编码器的特征提取,变化为Code张量,其维度为[79,192]。
4.构建解码器。
解码器的核心是一个带注意力机制的循环神经网络(ARNN)。它的单元(Cell)定义如下(其中变量都是张量,乘法运算为矩阵相乘):
St=tanh(yt+1·U+St-1·V+b1) (1)
Figure GDA0002635150640000141
Figure GDA0002635150640000142
ek=Score(Si,Code) (4)
Score(Si,Code)=Code·Si T (5)
Figure GDA0002635150640000143
Figure GDA0002635150640000144
其中,公式(1)定义了ARNN如何从上一个序列输出和内部状态,转移到下一个内部状态。其中S是ARNN的内部状态张量,维度为[1,192]。St-1和St分别表示ARNN的上一时刻状态和当前时刻状态,需要说明的是,t表示当前时刻,t-1表示上一时刻,t+1表示下一时刻。y表示RNN的输出张量维度为[1,64],U和V是可以学习的参数矩阵,维度分别为[64,192]和[192,192],b1是可以学习的偏置参数向量,维度为[192]。
公式(2)定义了上下文向量C,它是使用不同时间点的注意力系数对Code在时间轴上进行线性组合,从而达到使公式(6)重点关注Code的某些时间范围。其中αj是当前状态对Code编码中j时间点的注意力系数,维度为[1,tCode]。tCode是输入Code张量的时间维长度,若根据上文,tCode等于79。L表示Code的长度。
公式(3)定义了如何计算S对Code时间点j的注意力系数,其中ej是指当前状态和Code在j时间点的注意力得分。e的维度为[1,tCode]。这里将S与Code在某个时间点的得分与所有时间点的得分进行Softmax运算,得到归一化的比例系数。
公式(4)(5)定义了注意得分及算法,这里使用了点乘法,用Code乘S转置。
公式(6)定义了结合上下文的修正状态
Figure GDA0002635150640000151
tanh为双曲正切函数,Wc是可学习的参数矩阵,维度为[256,192],[C,St]表示把Code和St在最后一个维度堆叠,即组和一个[1,256]的张量。
公式(7)定义了ARNN如何生成当前时刻的输出,其中Ws和b2是可学习的参数张量,维度分别为[192,64]和[64]。
根据上述单元的定义,在G中建立解码器模块,其输入为Code,输出对记作X2,对应于公式(7)中的yt。需要注意的是,以上的公式仅定义了ARNN输出序列中一个元素的计算过程,而整个序列需要ARNN从Code和初始状态开始,依次按照以上步骤输出,直到输出的分类是休止符。如果无法预测输出序列的长度,那么在构建计算图时需要依赖动态循环神经网络的机制,或使用静态循环神经网络展开并手工限定允许输出的最长序列,该实施例中采用后一种方案,即限定ARNN的状态数为50,这意味着允许10秒内的心率上限为300次/分钟。
最终在G中构建的RNN模块的过程包括以下步骤:
步骤1:在G中创建U、V、b1、b2、Wc、Ws、St,设定变量t=1。
步骤2:判断t是否小于50,如果是,进入步骤3;否则,结束。
步骤3:根据公式(1)~公式(7),计算yt并保存在G中,令t=t+1,返回步骤2。
RNN的输出记作X2,其包含了当前心拍的信息,因此再使用两个全连接网络分别进行性质分类和位置回归,流程如下:
性质分类:X2->MLP1->Softmax->probs
位置回归:X2->MLP2->Sigmoid->offset
MLP1为两层全连接神经网络,其数学表达式为:
y=(x·W1+b1)·W2+b2
其中,x表示输入张量,根据上文可得其维度为[1,64],W1和W2是可学习的参数张量,维度分别为[64,64]和[64,5],b1和b2为可学习的参数张量,维度为[1,64]。y是输出张量,维度为[1,5]。MLP1的输出经过Softmax归一化变换到概率分布probs,对应4种心拍加一个休止符的分类概率,维度为[1,5]。
Softmax数学表达式如下,
Figure GDA0002635150640000161
其中,Vi表示输入张量,Si表示输出张量。
MLP2和MLP1形式类似,只不过其中的W1的维度是[164,1],b2的维度为[1],这样对应的输出就是[1,1]的张量,即为一个标量。MLP2输出经过Sigmoid函数变换成offset,表示当前QRS波相对2500个点的偏移百分比。Sigmoid函数的数学表达时如下:
Figure GDA0002635150640000162
这样G的全部计算节点都创建完毕,G的输入为心电图信号,输出为序列{(probs1,offset1),(probs2,offset2),...,(probs50,offset50)}。
5.确定损失函数
模型的损失函数包括两部分,分别为QRS位置损失loss_pos和QRS分类的损失loss_cls。
QRS位置损失loss_pos采用L2距离,即:
Figure GDA0002635150640000171
其中,N=50。
QRS分类的损失loss_cls采用多分类交叉熵,即:
Figure GDA0002635150640000172
其中,n=50,m=5。
则模型的损失函数loss=loss_cls+loss_pos。
在模型训练过程中,以减少损失函数为目标,对模型采用随即梯度下降方法进行训练。
S3:将待识别心电图进行预处理后得到的多个子片段依次输入最终模型,得到最终模型输出的每个子片段对应的心搏类型和心搏位置的预测序列;将多个预测序列依次连接,并将每个心搏位置从偏移百分比转换成绝对位置,组成该待识别心电图的识别结果。
假设第k个片段的某个心搏位置标记为0.2,那么其绝对位置为(k-1)*10+0.2*10秒。
本实施例具有以下有益效果:
1.克服手工设计算法的局限性,充分利用大数据的威力。随着数据量增多,模型可以不断的自动进化趋于完善,而手工算法是不行的。
2.充分利用心电图前后上下文信息,相比之前的技术,识别准确率高,抗干扰能力也更强。
3.速度块,由于是端到端的技术,可以通过GPU硬件加速,识别一份动态心电的时间可以从数分钟缩短到数秒钟。
实施例二:
本发明还提供一种心电图心搏识别终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
进一步地,作为一个可执行方案,所述心电图心搏识别终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述心电图心搏识别终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述心电图心搏识别终端设备的组成结构仅仅是心电图心搏识别终端设备的示例,并不构成对心电图心搏识别终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述心电图心搏识别终端设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述心电图心搏识别终端设备的控制中心,利用各种接口和线路连接整个心电图心搏识别终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述心电图心搏识别终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
所述心电图心搏识别终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)以及软件分发介质等。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

Claims (8)

1.一种基于深度学习的心搏识别方法,其特征在于,包括以下步骤:
S1:采集心电图数据组成训练集,训练集的构建过程包括:采集多个心电图数据并将每个心电图数据截取为多个额定时间长度的子片段,对每个子片段进行心搏类型和心搏位置标记后,将每个心电图数据对应的所有子片段叠加后的数据和所有子片段标记后的数据叠加后的数据共同组成该心电图数据的训练样本,将采集的所有心电图数据的训练样本组成训练集;标记包括以下步骤:S11:读取心电图数据中的心搏标记信息,提取心搏标记信息中的标签序列和位置序列;S12:构造心搏类型标记张量label_cls,将每个子片段对应时间范围内的心搏类型标记依次编码后写入心搏类型标记张量label_cls中;S13:构造心搏位置标记张量label_pos,将每个子片段对应时间范围内的心搏位置标记依次进行位置编码后写入心搏位置标记张量label_pos中;
S2:构建心搏识别模型并设定模型的损失函数,对模型进行训练使得损失函数最小后,得到训练后的最终模型;
构建的心搏识别模型由编码器和解码器组成;
所述编码器包括一个卷积层和多个改进残差网络,改进残差网络采用多个不同尺度的卷积核路径并行编码;
所述解码器包括一个带注意力机制的循环神经网络和两个全连接网络,两个全连接网络分别用于识别心搏类型和心搏位置;
所述心搏识别模型的损失函数由分类损失和位置损失两部分组成;
S3:将待识别心电图进行预处理后得到的多个子片段依次输入最终模型,得到最终模型输出的每个子片段对应的心搏类型和心搏位置的预测序列;将多个预测序列依次连接,组成该待识别心电图的识别结果。
2.根据权利要求1所述的基于深度学习的心搏识别方法,其特征在于:子片段的截取方法为:根据心电图数据横坐标的时间设定采样点,设定额定时间长度为m,从第1个采样点开始,截取时间长度为m的区间组成第1个子片段,从第1+m-w个采样点开始,截取时间长度为m的区间组成第2个片段,依次类推,直到某个片段达到心电图数据的结尾,其中w表示重叠的范围,且满足w <= 0.5 * m。
3.根据权利要求1所述的基于深度学习的心搏识别方法,其特征在于:改进残差网络结构包括三路不同尺度的ResidualBlock,输入经过三路不同尺度的ResidualBlock后的输出合并作为改进残差网络的输出,每路ResidualBlock的卷积核大小依次增加2。
4.根据权利要求1所述的基于深度学习的心搏识别方法,其特征在于:QRS位置损失loss_pos采用L2距离,QRS分类损失loss_cls采用多分类交叉熵。
5.根据权利要求1所述的基于深度学习的心搏识别方法,其特征在于:解码器中对应于心搏类型的全连接网络为:循环神经网络的输出经过第一个两层全连接神经网络MLP1后,再经过Softmax函数进行归一化变换得到每种心搏类型的概率。
6.根据权利要求1所述的基于深度学习的心搏识别方法,其特征在于:解码器中对应于心搏位置的全连接网络为:循环神经网络的输出经过第二个两层全连接神经网络MLP2后,再经过Sigmoid函数变换得到心搏的位置。
7.一种基于深度学习的心搏识别终端设备,其特征在于:包括处理器、存储器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~6中任一所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1~6中任一所述方法的步骤。
CN202010564435.4A 2020-06-19 2020-06-19 一种基于深度学习的心搏识别方法、终端设备及存储介质 Active CN111772619B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010564435.4A CN111772619B (zh) 2020-06-19 2020-06-19 一种基于深度学习的心搏识别方法、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010564435.4A CN111772619B (zh) 2020-06-19 2020-06-19 一种基于深度学习的心搏识别方法、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN111772619A CN111772619A (zh) 2020-10-16
CN111772619B true CN111772619B (zh) 2022-09-20

Family

ID=72757285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010564435.4A Active CN111772619B (zh) 2020-06-19 2020-06-19 一种基于深度学习的心搏识别方法、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN111772619B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112587147A (zh) * 2020-11-11 2021-04-02 上海数创医疗科技有限公司 一种基于卷积神经网络的房性早搏目标检测方法
CN112587149A (zh) * 2020-11-11 2021-04-02 上海数创医疗科技有限公司 一种基于卷积神经网络的房性早搏目标检测装置
CN112890795B (zh) * 2021-01-15 2022-07-15 宁波善德电子集团有限公司 一种基于多分辨率信号的心跳和呼吸检测方法
CN113180690B (zh) * 2021-04-21 2022-12-09 上海数创医疗科技有限公司 一种心电诊断模型的判断方法及心电检测装置
CN113598782B (zh) * 2021-08-02 2024-07-26 储慧民 预测室性心律失常起源位置的系统、电子设备和存储介质
CN113855042B (zh) * 2021-08-29 2023-10-03 北京工业大学 融合深度和医学特征的基于序列标注的多导联心电信号分类方法
CN115956924A (zh) * 2021-10-11 2023-04-14 中国科学院微电子研究所 一种心电信号处理方法、装置、电子设备及介质
CN113855038B (zh) * 2021-10-15 2023-04-11 南方医科大学 基于多模型集成的心电信号危急值的预测方法及装置
CN113892955B (zh) * 2021-10-18 2024-03-29 上海乐普云智科技股份有限公司 基于人工智能模型定位qrs波并进行分类的方法和装置
CN115105084A (zh) * 2022-04-29 2022-09-27 重庆康如来科技有限公司 基于深度学习的心搏定位分类方法、系统、介质及设备
CN114886437A (zh) * 2022-05-10 2022-08-12 广西师范大学 基于改进的ShuffleNetV2的室性早搏识别方法
CN114831643B (zh) * 2022-07-04 2022-10-04 南京大学 一种心电信号监测装置和可穿戴设备
CN115486855B (zh) * 2022-09-15 2024-05-03 浙江好络维医疗技术有限公司 一种基于qrs波群不定次循环叠加的心电图心搏分类方法
CN117898740B (zh) * 2024-02-20 2024-07-09 北京信心相联科技有限公司 一种心电图的处理方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871742A (zh) * 2018-12-29 2019-06-11 安徽心之声医疗科技有限公司 一种基于注意力循环神经网络的心电信号定位方法
CN110946566A (zh) * 2019-12-16 2020-04-03 成都天奥电子股份有限公司 一种基于U-Net网络的心拍分类方法、装置、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107358196B (zh) * 2017-07-12 2020-11-10 北京卫嘉高科信息技术有限公司 一种心搏类型的分类方法、装置及心电仪
US10973468B2 (en) * 2018-07-12 2021-04-13 The Chinese University Of Hong Kong Deep learning approach for long term, cuffless, and continuous arterial blood pressure estimation
CN109859120B (zh) * 2019-01-08 2021-03-02 北京交通大学 基于多尺度残差网络的图像去雾方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871742A (zh) * 2018-12-29 2019-06-11 安徽心之声医疗科技有限公司 一种基于注意力循环神经网络的心电信号定位方法
CN110946566A (zh) * 2019-12-16 2020-04-03 成都天奥电子股份有限公司 一种基于U-Net网络的心拍分类方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111772619A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN111772619B (zh) 一种基于深度学习的心搏识别方法、终端设备及存储介质
US11562222B2 (en) Systems and methods of identity analysis of electrocardiograms
CN107822622B (zh) 基于深度卷积神经网络的心电图诊断方法和系统
CN111134662B (zh) 一种基于迁移学习和置信度选择的心电异常信号识别方法及装置
CN111759345B (zh) 基于卷积神经网络的心脏瓣膜异常分析方法、系统和装置
CN110664395B (zh) 图像处理方法、图像处理装置以及存储介质
CN109620210B (zh) 一种基于自编码模式的cnn与gru结合的心电信号分类方法
CN110619322A (zh) 一种基于多流态卷积循环神经网络的多导联心电异常信号识别方法及系统
CN111488793A (zh) 心电信号分类方法、装置、电子设备和存储介质
CN111626114A (zh) 基于卷积神经网络的心电信号心律失常分类系统
CN112270212B (zh) 基于多导联心电信号生成心搏标签数据序列的方法和装置
CN114041800B (zh) 心电信号实时分类方法、装置及可读存储介质
CN115568860B (zh) 基于双注意力机制的十二导联心电信号的自动分类方法
Ullah et al. An End‐to‐End Cardiac Arrhythmia Recognition Method with an Effective DenseNet Model on Imbalanced Datasets Using ECG Signal
CN111291727A (zh) 一种光体积变化描记图法信号质量检测方法和装置
CN112070067A (zh) 一种光体积描计信号的散点图分类方法和装置
CN115281676A (zh) 基于gru神经网络和ecg信号的疲劳检测方法
CN113491523B (zh) 一种心电信号特征点检测方法及系统
CN113180623B (zh) 无袖式血压测量方法、系统、设备及存储介质
Liu et al. Semantic segmentation of qrs complex in single channel ecg with bidirectional lstm networks
CN110786847B (zh) 心电信号的建库方法和分析方法
CN116269426A (zh) 一种十二导联ecg辅助的心脏疾病多模态融合筛查方法
CN112001481B (zh) 一种基于对抗学习的p波识别方法、终端设备及存储介质
KR20230096392A (ko) 심장 박동 분류 방법 및 장치, 그리고 심장 박동 분류 모델의 학습 방법
CN113143204A (zh) 心电信号质量评估方法、计算机装置和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 361000 203, No. 18, guanri Road, phase II, software park, Xiamen, Fujian

Applicant after: Xiamen Nalong Health Technology Co.,Ltd.

Address before: 361000 203, No. 18, guanri Road, phase II, software park, Xiamen, Fujian

Applicant before: XIAMEN NALONG SCIENCE & TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: No. 203, No. 18 Guanri Road, Phase II, Software Park, Siming District, Xiamen City, Fujian Province, 361000

Patentee after: Nalong Health Technology Co.,Ltd.

Address before: 361000 203, No. 18, guanri Road, phase II, software park, Xiamen, Fujian

Patentee before: Xiamen Nalong Health Technology Co.,Ltd.

CP03 Change of name, title or address