一种基于深度神经网络的可穿戴心电图实时诊断系统

文档序号:1927699 发布日期:2021-12-07 浏览:10次 >En<

阅读说明:本技术 一种基于深度神经网络的可穿戴心电图实时诊断系统 (Wearable electrocardiogram real-time diagnosis system based on deep neural network ) 是由 袁烨 冉少林 周子恒 程骋 于 2021-08-23 设计创作,主要内容包括:本发明公开了一种基于深度神经网络的可穿戴心电图实时诊断系统,属于医疗器械技术领域,包括:信号采集模块和主控模块,所述信号采集模块,用于采集12导联心电图;所述主控模块包括嵌入FPGA的诊断模型,所述诊断模型为训练好的深度神经网络,所述主控模块,用于对12导联心电图进行实时诊断,在诊断过程中FPGA中的卷积加速器采用分时复用的方式为诊断模型中的每个卷积层配置参数完成卷积运算,得到诊断结果。本发明将诊断模型嵌入FPGA,减少对网络传输的依赖,实现了实时诊断,采用12导联心电图作为输入数据进行预测,提高诊断结果准确率,设计可重构卷积加速器,从而大大提高计算性能,满足可穿戴心电设备进行实时检测和准确诊断的要求。(The invention discloses a wearable electrocardiogram real-time diagnosis system based on a deep neural network, which belongs to the technical field of medical appliances and comprises the following components: the system comprises a signal acquisition module and a main control module, wherein the signal acquisition module is used for acquiring a 12-lead electrocardiogram; the main control module comprises a diagnosis model embedded in the FPGA, the diagnosis model is a trained deep neural network, the main control module is used for diagnosing 12-lead electrocardiograms in real time, and a convolution accelerator in the FPGA completes convolution operation for each convolution layer configuration parameter in the diagnosis model in a time-sharing multiplexing mode in the diagnosis process to obtain a diagnosis result. According to the invention, the diagnosis model is embedded into the FPGA, dependence on network transmission is reduced, real-time diagnosis is realized, a 12-lead electrocardiogram is used as input data for prediction, the accuracy of a diagnosis result is improved, and the reconfigurable convolution accelerator is designed, so that the calculation performance is greatly improved, and the requirements of real-time detection and accurate diagnosis of wearable electrocardiogram equipment are met.)

一种基于深度神经网络的可穿戴心电图实时诊断系统

技术领域

本发明属于医疗器械技术领域,更具体地,涉及一种基于深度神经网络的可穿戴心电图实时诊断系统。

背景技术

心电图是临床上广泛使用的诊断患者心脏健康状况的基本工具之一,它能够记录心脏疾病发作时的异常心电信号。因此,及时准确的心电图诊断可以为患者争取到宝贵的治疗时间。

随着深度学习的兴起,基于深度神经网络的心电图分类诊断方式占据了越来越关键的位置。然而,基于深度学习的心电图分类设备的硬件往往比较庞大且计算量冗杂,不适用于可穿戴式设备等用途。目前可穿戴式设备主要采取单导联的检测方式,但是准确度不够,且可诊断的疾病种类有限;且很多模型受限于较大的计算量通常采用云计算的方式进行实时诊断,从而增加对网络的依赖,当断网时可穿戴设备不能正常工作,对患者的健康监测造成严重的影响。

由此可见,现有技术存在准确度低、对网络依赖强、无法实时诊断的技术问题。

发明内容

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于深度神经网络的可穿戴心电图实时诊断系统,由此解决现有技术存在准确度低、对网络依赖强、无法实时诊断的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种基于深度神经网络的可穿戴心电图实时诊断系统,包括:信号采集模块和主控模块,

所述信号采集模块,用于采集12导联心电图;

所述主控模块包括嵌入FPGA的诊断模型,所述诊断模型为训练好的深度神经网络,所述主控模块,用于对12导联心电图进行实时诊断,在诊断过程中FPGA中的卷积加速器采用分时复用的方式为诊断模型中的每个卷积层配置参数完成卷积运算,得到诊断结果。

进一步地,所述深度神经网络依次包括:

输入层、预卷积模块、最大池化层、第一卷积块、第二卷积块、平均池化层、全连接层和分类器,

所述预卷积模块的卷积核大于第一卷积块的卷积核,第一卷积块的卷积核与第二卷积块的卷积核相等;所述预卷积模块、第一卷积块和第二卷积块中每个卷积层之后添加一个批量归一化层;所述全连接层中设置两个dropout层。

进一步地,所述系统还包括:

训练模块,用于将带类别标签的12导联心电图样本作为训练集,训练深度神经网络,训练输出为M个类别标签,M≥1,训练过程中分类器的损失函数Lω为:

其中,yj,c表示真实的类别标签值,表示预测的类别标签值,ωc为权重因子,与训练集中各类别样本的数量成比例,c为第c种类别,C为训练集中类别总数,j为第j个样本,N为训练集中样本总数。

进一步地,所述权重因子为:

其中,nc代表训练集中第c种类别的样本总数,nc≤N。

进一步地,所述诊断模型进行通道剪枝后嵌入FPGA,所述通道剪枝的具体实现方式为:

将批量归一化层中需要学习的参数γ作为网络压缩的比例因子,将损失函数修改为:L=Lω+λ∑g(γ),其中,g(γ)是对比例因子的稀疏诱导惩罚,λ为平衡参数;

利用修改后的损失函数对深度神经网络进行训练后,去除深度神经网络中γ较小的批量归一化层的通道以及与该通道相连的卷积核中的权重。

进一步地,所述利用修改后的损失函数对深度神经网络进行训练时,对于损失函数中不可微分的稀疏诱导惩罚项进行次梯度下降优化。

进一步地,所述诊断模型的参数、输入和中间数据均量化为无符号整数。

进一步地,所述主控模块还包括处理器,处理器用于运行分类器中输出数据的浮点运算,得到预测结果。

进一步地,所述主控模块还包括内部存储器,内部存储器包括输入缓存、权重缓存和输出缓存,分别用于缓存诊断模型的输入、权重和输出数据。

进一步地,所述输入缓存、权重缓存和输出缓存的缓存方式均采用乒乓策略,以覆盖通信延迟和计算延迟。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)本发明主控模块包括嵌入FPGA的诊断模型,减少对网络传输的依赖,实现了实时诊断,采用12导联心电图作为输入数据进行预测,提高诊断结果准确率,设计可重构卷积加速器,通过分时复用实现所述模型的正向推理过程。卷积加速器为诊断模型中的每个卷积层配置参数完成卷积运算,充分利用每个卷积层的逻辑资源,从而大大提高计算性能。本发明疾病诊断准确率高、实时性强,满足可穿戴心电设备进行实时检测和诊断的要求。

(2)本发明网络中全连接层中放置了两个dropout层,用来避免过拟合的问题。设计具有较大尺寸卷积核的预卷积模块,用于获得广泛的感受野和全局特征(心电图的全局波形状态),具有较小尺寸多块卷积神经网络,用于学习高层特征(用于后续分类的抽象特征);这是一个压缩数据量、简化运算的过程,在每个卷积层之后添加一个批量归一化层(BN),以减少内部协变量偏移,训练输出为M个类别标签,最终的结果可以是一个也可以是多标签分类结果。

(3)为解决数据不平衡问题,使得较大的样本数对应较小的权重,较小的样本数对应较大的权重。对于多类任务,引入一个与类别样本的数量成比例的权重因子将传统的二元交叉熵损失扩展。

(4)深度神经网络诊断模型计算量庞大且对硬件资源要求苛刻,本发明想要在嵌入式平台上利用有限的资源进行心脏疾病的实时诊断,因此提出了软硬件协同优化的方法。通过移除对分类结果贡献较小的通道来压缩模型,压缩后的模型不需要专用的稀疏矩阵操作库并减少了片上存储单元的消耗。将浮点算术运算转换为整数运算,以节省大量的片上硬件资源和外部存储带宽,同时降低计算和数据传输过程中的功耗。设计可重构卷积加速器,从而大大提高计算性能。采用乒乓策略,以覆盖通信延迟和计算延迟。为了缓解片上BRAM的不足,采用循环分块优化技术,将从内存中提取的数据划分成适合缓存的数据块,以保证在缓存中存储的计算区域中访问的数据可以重用。

附图说明

图1是本发明实施例提供的一种基于深度神经网络的可穿戴心电图实时诊断系统的结构图;

图2是本发明实施例提供的基于多尺度的深度卷积神经网络模型结构图;

图3是本发明实施例提供的硬件平台的系统架构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,一种基于深度神经网络的可穿戴心电图实时诊断系统,包括:信号采集模块和主控模块,

所述信号采集模块,用于采集12导联心电图;

所述主控模块包括嵌入FPGA的诊断模型,所述诊断模型为训练好的深度神经网络,所述主控模块,用于对12导联心电图进行实时诊断,在诊断过程中FPGA中的卷积加速器采用分时复用的方式为诊断模型中的每个卷积层配置参数完成卷积运算,得到诊断结果。

如图2所示,图中Input表示输入的心电数据,PreConv表示预卷积模块,ConvBlock1表示第一卷积块,Conv Block2表示第二卷积块,Max Pooling表示最大池化层,Average Pooling表示平均池化层,Convolution表示卷积层,BatchNorm表示批量归一化层,ReLU表示整流线性单元,Dense表示稠密块,Ch表示通道,Stride表示步幅。

本发明构建的大规模深度神经网络模型依次包括:

输入层、预卷积模块、最大池化层、第一卷积块、第二卷积块、平均池化层、全连接层和分类器。

具体地,在本实施例中,选择了21和5两种大小的卷积核。由于输入数据很长,大卷积核和32个滤波器被应用到具有2个步幅的前三个卷积层中的原始输入,以学习全局特征。后续层由具有内核大小为5的小内核和1个步幅的卷积层堆叠。

参照图2,在第一卷积块中,第一组中卷积滤波器的数量是64,然后增加一倍,直到达到256。最后一个卷积块(第二卷积块)使用三个最大池操作进行快速下采样。

所述全连接层中放置了两个dropout层,用来避免过拟合的问题。

具有较大尺寸卷积核的预卷积模块,用于获得广泛的感受野和全局特征,具有较小尺寸多块卷积神经网络,用于学习高层特征;在每个卷积层之后添加一个批量归一化层(BN),以减少内部协变量偏移,其激活函数采用ReLU;具有sigmoid函数的多标签分类器,用于最终的多标签分类结果。该分类器采用二元交叉熵损失函数在输出层输出对应标签的概率。

训练过程中分类器的损失函数Lω为:

其中,yj,c表示真实的类别标签值,表示预测的类别标签值,ωc为权重因子,与训练集中各类别样本的数量成比例,c为第c种类别,C为训练集中类别总数,j为第j个样本,N为训练集中样本总数。

进一步地,所述权重因子为:

其中,nc代表训练集中第c种类别的样本总数,nc≤N。

如图3所示,PS和PL分别表示处理系统部分和可编程逻辑部分;CPU表示通用处理器;DRAM表示外部储存器;PE0、PE1、PE2、PE3表示4个处理元件(Processing Elements);Input buffer、Weight buffer、Output buffer分别表示输入缓存、权重缓存、输出缓存。BRAM是使用FPGA单元实现的芯片上内存,control unit表示控制单元,on the fly logic表示动态逻辑。设计可重构卷积加速器,通过分时复用实现所述模型的正向推理过程。所述可重构加速器可以在给定硬件资源的情况下,通过配置某一层卷积的参数(包括卷积核大小、通道数、步长)而适应不同规格的卷积运算,充分利用芯片上每个卷积层的逻辑资源,从而大大提高计算性能。

PS部分主要用于数据的预测,且负责sigmoid函数的计算。PL负责卷积运算,芯片上的缓存部分包括输入缓存、输出缓存和权重缓存,负责数据准备和计算结果存储。每种类型的缓存都采用乒乓策略,以覆盖通信延迟和计算延迟。乒乓策略包括:将上一级的处理结果保存在pong路的缓存中,pong路的数据准备好的时候,ping路(下一级)的数据也处理完毕,下一级就可以无需等待直接处理pong路数据,上一级就可以将结果储存在ping路中。避免上一级要等下一级处理完数据才能发送新数据的情况,从而提高效率。

处理元件是卷积的计算引擎。所述PS部分包括一个通用处理器(CPU)和外部存储器。Sigmoid功能在CPU中实现,因为浮点运算在FPGA中会占用较多的资源开销且性能提升较少的,更适合CPU。所有模型参数和指令都存储在外部存储器DRAM中。

为了缓解片上BRAM的不足,采用循环分块优化技术,将从内存中提取的数据划分成适合缓存的数据块,以保证在缓存中存储的计算区域中访问的数据可以重用。同时采用循环展开策略,充分利用FPGA固有的并行性,加速卷积运算。

所述诊断模型进行通道剪枝后嵌入FPGA,所述通道剪枝的具体实现方式为:

将批量归一化层中需要学习的参数γ作为网络压缩的比例因子,将损失函数修改为:L=Lω+λ∑g(γ),其中,g(γ)是对比例因子的稀疏诱导惩罚,λ为平衡参数;

利用修改后的损失函数对深度神经网络进行训练后,去除深度神经网络中γ较小的批量归一化层的通道以及与该通道相连的卷积核中的权重。

进一步地,所述利用修改后的损失函数对深度神经网络进行训练时,对于损失函数中不可微分的稀疏诱导惩罚项进行次梯度下降优化。

采用L1范数作为稀疏性罚函数,L=Lω+λ||γ||1,λ为5*10-4。稀疏诱导训练后,需要微调来重新训练修剪后的模型,以恢复模型性能。

进一步地,将所述通道剪枝中的BN操作和卷积操作进行融合以减少计算资源的消耗。

将浮点算术运算转换为整数运算,即量化所述模型中的模型参数、权重和中间特征图,以节省大量的片上硬件资源和外部存储带宽,同时降低计算和数据传输过程中的功耗;所述量化方案,是将模型参数映射到相应的无符号整数。其中,模型的输入、模型参数和中间值均量化为8比特的无符号整数。

实施例1

网络训练包括:

步骤1,采集患者的标准12导联心电信号。

在本实施例中,通过贴片电极采集标准12导联心电数据,然后对数据进行预处理,包括低通滤波、高通滤波、陷波处理,并通过AD转换模块,最终得到高质量的心电信号的离散数据。

步骤2,通过构建的大规模心电数据集训练得到多标签心电诊断模型。

具体地,所使用的数据集中的心电信号采集自华中科技大学同济医院三个分院。所有的心电信号都是以500Hz的频率用标准12导联设备采集10s得到的。包含26中心脏节律:正常(N)、窦性心动过速(ST)、窦性心动过缓(SB)、房性早搏(PAC)、房性心律(AR)、加速房性心律(AAR)、房性心动过速(AT)、房扑(AFlutter)、心房颤动(AFib)、交界性早搏(PJC)、交界性心律(JR)、加速交界性心律(AJR)、阵发性室上性心动过速(PSVT)、室性早搏(PVC)、独特室性心律(IVR)、加速独特室性心律(AIVR)、室性心动过速(VT)、人工心房起搏心律(AAPR)、人工心室起搏心律(AVPR)右束支传导阻滞(RBBB)、一级房室传导阻滞(第一级AVB)、莫比兹一级二级房室传导阻滞(莫比兹一级AVB)、莫比兹二级二级房室传导阻滞(莫比兹二级AVB)、沃尔夫-帕金森-怀特综合征B型(WPW-B)和A型(WPW-A)。样本总数为206468。

从数据集中移除重复的患者,使得各组之间没有重叠。将数据集随机分为训练集、验证集和测试集,分别占比数据集的80%、10%和10%。

进一步地,将中国生理信号挑战赛(SPSC 2018)提供的独立外部公用数据用于外部验证。与所述同济医院的数据集相比,该数据集具有不同的心电信号异常和更长的记录时间,因此,裁掉该数据集中的前10个心电图来确保数据模式与本发明所述建议模型的输入格式一致。最后使用该数据集中的六类节律(正常节律与五种异常节律)的962条记录用于外部验证。

步骤3,构建大规模深度神经网络模型。

具体地,在本实施例中,选择了21和5两种大小的卷积核。由于输入数据很长,大卷积核和32个滤波器被应用到具有2个步幅的前三个卷积层中的原始输入,以学习全局特征。后续层由具有内核大小为5的小内核和1个步幅的卷积层堆叠。

在第一卷积块中,第一组中卷积滤波器的数量是64,然后增加一倍,直到达到256。最后一个卷积块(第二卷积块)使用三个最大池操作进行快速下采样。

所述全连接层中放置了两个dropout层,用来避免过拟合的问题。

在本实施例中,使用xavier初始化技术用随机权重初始化模型,并使用Adam优化器优化模型。

在本实施例中,采用灵敏度、特异性、F1分数以及准确率等评估指标来评价模型的性能。

然后将训练好的诊断模型嵌入FPGA,进行软硬件协同优化。

具体地,包括通道剪枝、模型参数量化以及可重构卷积加速器设计与硬件架构优化。

在本实例中,使用结构化剪枝的方法移除对分类结果贡献较小的通道。

基于剪枝通道数量与模型的折中分析,在本实施例中,最终修剪的模型以50%的修剪率生成。修剪后的模型被重新训练以在通道修剪后恢复性能。

在本实施例中,在剪枝模型的基础上,通过整数量化策略得到量化模型。

具体地,考虑到CPU的串行运行模式不适合CNN模型的并行计算;GPU的高利用率依赖大批量,使得实时推理不切实际。因此,在实施例中使用的是Xilinx Zynq XC-7Z020FPGA芯片。

在诊断模型推理过程中,对所设计的可重构卷积加速器进行分时复用,通过配置不同的参数从而进行不同卷积的硬件加速计算。使用Vivado HLS(2019.2)实现加速器的设计,对运作的大小进行了优化,达到大限度地重复使用数据并减少数据传输,从而充分利用BRAM。

实施例中所构建的嵌入式计算平台峰值功耗为2.81W。同时,实施例中一个心电样本分类的推断时间为2.895秒。

综上所述,本发明实施例构建的模型可以准确地诊断多标签的患者心电数据;本发明实施例优化得到的硬件平台可以实时诊断心电疾病;本发明实施例实现了基于深度神经网络的可穿戴心电图实时诊断系统。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种无辐射胎心仪

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!