CN114587373B - 一种基于硬件部署的心电采集、识别、存储一体化系统 - Google Patents
一种基于硬件部署的心电采集、识别、存储一体化系统 Download PDFInfo
- Publication number
- CN114587373B CN114587373B CN202210224440.XA CN202210224440A CN114587373B CN 114587373 B CN114587373 B CN 114587373B CN 202210224440 A CN202210224440 A CN 202210224440A CN 114587373 B CN114587373 B CN 114587373B
- Authority
- CN
- China
- Prior art keywords
- electrocardio
- list
- ecg
- dimensional
- convolution
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000003993 interaction Effects 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims abstract description 12
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 10
- 230000001133 acceleration Effects 0.000 claims abstract description 9
- 230000011218 segmentation Effects 0.000 claims description 34
- 238000012549 training Methods 0.000 claims description 23
- 238000011176 pooling Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 14
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 230000006793 arrhythmia Effects 0.000 claims description 12
- 206010003119 arrhythmia Diseases 0.000 claims description 12
- 238000010586 diagram Methods 0.000 claims description 8
- 230000003321 amplification Effects 0.000 claims description 6
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 claims description 4
- 238000013138 pruning Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000747 cardiac effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- PUAQLLVFLMYYJJ-UHFFFAOYSA-N 2-aminopropiophenone Chemical compound CC(N)C(=O)C1=CC=CC=C1 PUAQLLVFLMYYJJ-UHFFFAOYSA-N 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000009087 cell motility Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 208000019622 heart disease Diseases 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000028161 membrane depolarization Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002107 myocardial effect Effects 0.000 description 1
- 208000010125 myocardial infarction Diseases 0.000 description 1
- 208000031225 myocardial ischemia Diseases 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002336 repolarization Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
- A61B5/332—Portable devices specially adapted therefor
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
- A61B5/339—Displays specially adapted therefor
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
- A61B5/346—Analysis of electrocardiograms
- A61B5/349—Detecting specific parameters of the electrocardiograph cycle
- A61B5/352—Detecting R peaks, e.g. for synchronising diagnostic apparatus; Estimating R-R interval
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/7264—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
- A61B5/7267—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems involving training the classification device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Animal Behavior & Ethology (AREA)
- Veterinary Medicine (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Pathology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physiology (AREA)
- Psychiatry (AREA)
- Signal Processing (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Abstract
本发明公开了一种基于硬件部署的心电采集、识别、存储一体化系统,包括:心电采集模块、数据处理模块、算法加速模块、人机交互模块;其中,心电采集模块包括:三导联肢体夹、单导心电传感器和微型MCU;数据处理模块包括:ARM CPU、AXI总线、内部存储器DDR、USB串口接收模块;算法加速模块包括:DPU、轻量化VGG网络、AXI Interconnect接口;人机交互模块包括:触控电容屏。本发明能集成心电图采集、自动识别、报告生成功能,从而能实现心电信号的精准识别和存储展示。
Description
技术领域
本发明涉及医疗辅助电子设备领域,更具体得说,是一种基于硬件部署的心电采集、识别、存储一体化系统。
背景技术
ECG(electrocardiogram,心电图)是能够记录心脏每一个心动周期所产生的点活动变化,能对心律失常,心肌缺血,心肌梗死,心脏扩大等特殊信号进行有效识别。
医院传统心电监护仪功能包括心电波形的显示、针对异常心率的报警以及通过连续描记的方式记录在纸带上。此类设备通常体积庞大,仪器复杂,需要学习使用,且依靠医生人工分析,结果等待时间长,效率较低。目前市场上的便携心电检测器采用一些成熟的心电信号分类神经网络模型。但这些网络模型参数较多,计算量较大,缺乏算力支持,多使用采集和识别分离的处理方式,设备采集到心电信号后通过无线传输的方式传输到云端服务器,通过云端服务器的算力实现对心电的检测,实时性欠佳。另一方面,此类设备采用的网络多数只针对特定心脏疾病,不能实现心电信号全面识别效果。常规的心电监测仪设备为兼顾设备的便携性,电池容量较小,工作时间短,存储空间小,同时心电数据量大,但人体超过95%的心电信号都是正常的,监测设备往往只需要关注异常的心拍,云处理的方式会造成大量资源浪费。
发明内容
本发明是为了解决上述现有技术存在的不足之处,提出一种基于硬件部署的心电采集、识别、存储一体化系统,以期能在一台便携设备上实现心电采集、自动识别、报告展示的功能,从而能提高ECG数据处理速度、保证识别精度的同时缩减模型规模,以解决现有技术算法硬件化难、心电测量一体化难的问题。
本发明为达到上述发明目的,采用如下技术方案:
本发明一种基于硬件部署的心电采集、识别、存储一体化系统的特点在于,包括:
心电采集模块、数据处理模块、算法加速模块、人机交互模块;
所述心电采集模块包括:三导联肢体夹、单导心电传感器和微型MCU;
所述数据处理模块包括:ARM CPU、AXI总线、内部存储器DDR、USB串口接收模块;
所述算法加速模块包括:DPU、轻量化VGG网络、AXI Interconnect接口;
所述人机交互模块包括:触控电容屏;
所述心电采集模块利用所述三导联肢体夹采集心电电压信号后再利用所述单导心电传感器进行差分放大处理,得到放大后的心电电压信号;所述微型MCU利用自身的ADC模块对放大后的心电电压信号进行计算,得到ASCII数据格式的心电信号并通过自身USB接口输出;
所述ARM CPU基于嵌入式Linux操作系统向所述USB接口发送读信号read,从而通过AXI总线访问所述USB接口并读取ASCII数据格式的心电信号后进行二维化处理,得到二维心电分割图片并存储入所述内部存储器DDR中;
所述人机交互模块通过触控电容屏向所述ARM CPU发送读指令,所述ARM CPU根据所述读指令从内部存储器DDR卡中读取所述二维心电分割图片并写入外接的SD卡中;
所述DPU从所述内部存储器DDR中读取所述二维心电分割图片并利用所述轻量化VGG网络对二维心电分割图片进行异常识别,得到异常心电图的分类结果后经过所述AXIInterconnect接口存储到所述SD卡中;
所述人机交互模块向所述ARM CPU统发送show指令,从而通过AXI总线读取所述SD卡中的异常心电图的分类结果,并经过对比分析,生成识别报告后显示在触控电容屏。
本发明所述的一种基于硬件部署的心电采集、识别、存储一体化系统的特点也在于,所述ARM CPU是按如下步骤对ASCII数据格式的心电信号进行二维化处理,并得到二维心电分割图片:
步骤1,设置USB接口的地址、波特率、超时时间;
步骤2,读取ASCII数据格式的心电信号并保存其ECG电压值;
步骤2.1,建立空的列表ecg[],设置心电信号的采集时间sec,并且初始化计数时间i=0;
步骤2.2,以"utf8"解码方式读取一次USB接口的缓冲区并得到一个串口数据;
步骤2.3,用正则表达式匹配的方式判断串口数据的标记是否为'U2:'字符,如果是,则表示'U2:'字符后面的数据为心电数据,并顺序执行步骤2.4,否则,执行步骤2.6;
步骤2.4,去除字符'U2:',仅保留'U2:'字符后面的心电数据,并提取心电数据中的电压幅值后保存在所述列表ecg[]中;
步骤2.5,设置所述触控电容屏的刷新时间refresh_time,并初始化屏幕的刷新次数j=0;
步骤2.6,判断refresh_time×j小于采集时间sec且i=refresh_time×j是否成立,若成立,则刷新一次所述触控电容屏,并将j+1赋值给j后,执行步骤2.7;否则,直接执行步骤2.7;
步骤2.7,将i+1赋值给i后,判断i是否小于采集时间sec,若小于,则返回步骤2.2顺序执行,否则表示得到采集时间sec内所有心电信号的电压幅值并构成ECG电压值列表ecg;
步骤3,用分段最大值方法对所述ECG电压值列表ecg[]进行R波识别;
步骤3.1,起始位置的粗分割:
首先设定一个阈值TH,并建立空的暂时列表temp1;
历遍所述列表ecg中每一个电压幅值,当ecg[r]≤TH且ecg[r+1]>TH时,表示索引r为R波起始位置的一个粗分割点,并将索引r存入暂时列表temp1的末尾,从而得到R波起始位置的所有粗分割点并保存在暂时列表temp1中;ecg[r]表示所述列表ecg中索引r所指向的电压幅值,ecg[r+1]表示所述列表ecg中索引r+1所指向的电压幅值;
步骤3.2,定义并初始化分割次数k=0,建立空的列表peak_table和空的暂时列表temp2,
步骤3.3,将列表ecg[]中索引为temp1[k]到temp1[k+1]的电压幅值,即ecg[temp1[k]]到ecg[temp1[k+1] ]的电压幅值存入暂时列表temp2中;
步骤3.4,将暂时列表temp2中最大电压幅值所在的索引和temp1[k]相加后得到R波的最高位置点,并存入列表peak_table的末尾;
步骤3.5,将k+1赋值给k,判断k是否小于列表ecg[]的长度,若是,则返回步骤3.3顺序执行,否则,表示识别完R波的所有最高位置点;
步骤4,细分割并保存心电信号的二维心电分割图片;
步骤4.1,初始化分割次数k=0,建立空暂时列表temp3;定义周期perid;
步骤4.2,将peak_table [k+1]减去peak_table [k]赋值给周期perid;
步骤4.3,将列表ecg[]中索引为peak_table [j]-Δ×period到peak_table [j]+(1-Δ)×period的电压幅值存入暂时列表temp3中;Δ为所设定的参数;
步骤4.4,绘制所述暂时列表temp3的电压幅值图,并保存为心电信号的二维心电分割图片;
步骤4.5,将k +1赋值给k,判断k是否小于等于列表ecg[]的长度,若是,则清空暂时列表temp3后,返回步骤4.2顺序执行,否则,表示得到采集时间sec内所有的二维心电分割图片,并利用所述触控电容屏实时所有二维心电信号图像。
进一步地,所述轻量化VGG网络是按如下步骤生成:
步骤1,获取心率失常图片数据集并按一定比例划分为测试集和训练集;
步骤2,将所述训练集中的心率失常心电图片分别进行裁剪后再进行数据扩增,从而得到扩增后的训练集;
步骤3,构建类VGG网络,包括:L个卷积段和D个全连接层:
步骤3.1,将扩增后的训练集压缩到维度为a×a的输入数据集;
步骤3.2,搭建各卷积段:第1个卷积段和第L个卷积段结构均为:卷积层、BN层、卷积层、BN层、池化层;第2个卷积段至第L-1个卷积段结构均为:卷积层、BN层、池化层;各卷积层后连接有激活函数;
步骤3.3,维度为a×a的输入数据集顺序经过L个卷积段的特征提取后,得到维度为1×1的特征图集,再顺序输入D个全连接层中进行分类处理,并由第D层全连接层输出分类结果;
步骤3.4,利用梯度下降法对类VGG网络进行训练,并计算交叉熵损失,当迭代次数达到最大迭代次数或损失值满足所设定的阈值时,完成训练,并得到训练后的类VGG网络;
步骤3.5,利用开源工具对训练后的类VGG网络进行剪枝和编译处理,从而得到轻量化VGG网络。
与现有技术相比,本发明的有益效果在于:
1、超快速的数据处理:本发明使用自定义的R波识别方法以及心拍分割方法,不仅更恰合轻量化操作系统,而且相比于传统的小波去噪、峰值查找的R波识别,不必大量标准库支持,也避免了大量的调度和卷积平滑方法的使用,让系统工作量更小,速度更快;相比传统的心拍分割,使用了粗细分割的方式,对心拍进行预测,分割更加准确,为后续的识别提供必要基础。
2、超大规模模型的部署问题:本发明使用2D神经网络进行自动识别,现有心电分类模型在为保证精度多采用一维CNN单分类的形式。本发明相较于上述模型,使用大规模2D网络不仅可以硬件化,且达到多达8种分类的效果,每一分类预测准确度均达到88%以上。大规模网络的硬件部署一直面临很大困难,为实现硬件部署,需将网络轻量化处理。网络设计方面,在兼顾了VGGNet固定卷积核大小和卷积段形式设计的同时,经多次实验平衡了卷积层与滤波器个数,做到了大规模模型轻量化。硬件实现方面,使用开源工具Vitis-ai进行模型的固化,剪枝和编译,再次缩小网络并生成硬件可执行文件,从而得到轻量化的VGG网络。
3、一体化:本发明实现心电信号的采集,预处理,异常识别,分类存储,人机交互功能的一体化,采用轻量化Linux操作系统,实现了多任务管理,具有高可靠性,高稳定性。相比于市面上传统心电监测设备采集与识别分离,采用云端处理的缺陷,本发明设备将多功能集成在同一台设备上,具有更高的实时性和便携性。
附图说明
图1为本发明系统结构框图;
图2为本发明VGG网络结构图。
具体实施方式
本实施例中,一种基于硬件部署的心电采集、识别、存储一体化系统,如图1所示,包括:
心电采集模块、数据处理模块、算法加速模块、人机交互模块;其中,心电采集模块包括:三导联肢体夹、单导心电传感器和微型MCU;数据处理模块包括:ARM CPU、AXI总线、内部存储器DDR、USB串口接收模块;算法加速模块包括:DPU、轻量化VGG网络、AXIInterconnect接口;人机交互模块包括:触控电容屏;
心电采集模块利用三导联肢体夹采集心电电压信号后再利用单导心电传感器进行差分放大处理,得到放大后的心电电压信号;微型MCU利用自身的ADC模块对放大后的心电电压信号进行计算,得到ASCII数据格式的心电信号并通过自身USB接口输出;
具体实施中,前端的采样芯片选择AD8232,AD8232芯片内置一个专用仪表放大器,能有效抑制人体内的噪声信号,采集到心电信号。
ARM CPU基于嵌入式Linux操作系统向USB接口发送读信号read,从而通过AXI总线访问USB接口并读取ASCII数据格式的心电信号后进行二维化处理,得到二维心电分割图片并存储入内部存储器DDR中;本实施例中系统嵌入式Linux操作系统经过剪裁,仅包含USB接口、DDR、SD接口、DPU,从而减少了操作系统对于ARM CPU资源的占用,提高了数据的处理速度。
人机交互模块通过触控电容屏向ARM CPU发送读指令,ARM CPU根据读指令从内部存储器DDR卡中读取二维心电分割图片并写入外接的SD卡中;
DPU从内部存储器DDR中读取二维心电分割图片并利用轻量化VGG网络对二维心电分割图片进行异常识别,得到异常心电图的分类结果后经过AXI Interconnect接口存储到SD卡中;
具体实施中,DPU通过AXI Interconnect与 ARM CPU进行通信,在收到片外存储器发送的指令后,控制计算引擎操作,计算引擎中有卷积处理模块,包括乘法器,加法器,累加器等,并采用深度流水线设计从而实现高吞吐量和高效率。片上存储器用于数据缓冲,同时DPU中尽可能多的进行数据重用,以减小外部内存带宽。计算单元DPU通过直接调用DDR中的图片进行图像的分类识别,将最终的结果返回ARM CPU。
人机交互模块向ARM CPU统发送show指令,从而通过AXI总线读取SD卡中的异常心电图的分类结果,并经过对比分析,生成识别报告后显示在触控电容屏。
本实施例中,ARM CPU是按如下步骤对ASCII数据格式的心电信号进行二维化处理,并得到二维心电分割图片:
步骤1,设置USB接口的地址、波特率、超时时间;
步骤2,读取ASCII数据格式的心电信号并保存其ECG电压值;
步骤2.1,建立空的列表ecg[],设置心电信号的采集时间sec,并且初始化计数时间i=0;
步骤2.2,以"utf8"解码方式读取一次USB接口的缓冲区并得到一个串口数据;
步骤2.3,用正则表达式匹配的方式判断串口数据的标记是否为'U2:'字符,如果是,则表示'U2:'字符后面的数据为心电数据,并顺序执行步骤2.4,否则,执行步骤2.6;
步骤2.4,去除字符'U2:',仅保留'U2:'字符后面的心电数据,并提取心电数据中的电压幅值后保存在列表ecg[]中;
步骤2.5,设置触控电容屏的刷新时间refresh_time,并初始化屏幕的刷新次数j=0;
步骤2.6,判断refresh_time×j小于采集时间sec且i=refresh_time×j是否成立,若成立,则刷新一次触控电容屏,并将j+1赋值给j后,执行步骤2.7;否则,直接执行步骤2.7;
步骤2.7,将i+1赋值给i后,判断i是否小于采集时间sec,若小于,则返回步骤2.2顺序执行,否则表示得到采集时间sec内所有心电信号的电压幅值并构成ECG电压值列表ecg;
步骤3,用分段最大值方法对ECG电压值列表ecg[]进行R波识别;
步骤3.1,起始位置的粗分割:
首先设定一个阈值TH,并建立空的暂时列表temp1;
历遍列表ecg中每一个电压幅值,当ecg[r]≤TH且ecg[r+1]>TH时,表示索引r为R波起始位置的一个粗分割点,并将索引r存入暂时列表temp1的末尾,从而得到R波起始位置的所有粗分割点并保存在暂时列表temp1中;ecg[r]表示列表ecg中索引r所指向的电压幅值,ecg[r+1]表示列表ecg中索引r+1所指向的电压幅值;
步骤3.2,定义并初始化分割次数k=0,建立空的列表peak_table和空的暂时列表temp2,
步骤3.3,将列表ecg[]中索引为temp1[k]到temp1[k+1]的电压幅值,即ecg[temp1[k]]到ecg[temp1[k+1] ]的电压幅值存入暂时列表temp2中;
步骤3.4,将暂时列表temp2中最大电压幅值所在的索引和temp1[k]相加后得到R波的最高位置点,并存入列表peak_table的末尾;
步骤3.5,将k+1赋值给k,判断k是否小于列表ecg[]的长度,若是,则返回步骤3.3顺序执行,否则,表示识别完R波的所有最高位置点;
步骤4,细分割并保存心电信号的二维心电分割图片;一般根据心电信号的采集频率与需要分割时间长度的乘积来提取相应的采样点长度式中,sample=t×f,sample是采样点数目,t是采样时间(一个心拍的时间),f是采样频。已知正常的心拍周期在0.6-1s之间,然而个人体质、情绪变化等各种原因对心拍周期影响较大,采样时间瞬息万变无法确定。我们利用细分割时R波起始点的索引之差,对每一个心拍周期period进行预测,而后以R波所在处为定点以周期为长短做细分割。
步骤4.1,初始化分割次数k=0,建立空暂时列表temp3;定义周期perid;
步骤4.2,将peak_table [k+1]减去peak_table [k]赋值给周期perid;
步骤4.3,将列表ecg[]中索引为peak_table [j]-Δ×period到peak_table [j]+(1-Δ)×period的电压幅值存入暂时列表temp3中;Δ为所设定的参数,该参数是由心肌细胞运动电位的除极复极过程推算得到,本实施例中,Δ取值0.4;
步骤4.4,绘制暂时列表temp3的电压幅值图,并保存为心电信号的二维心电分割图片;
步骤4.5,将k +1赋值给k,判断k是否小于等于列表ecg[]的长度,若是,则清空暂时列表temp3后,返回步骤4.2顺序执行,否则,表示得到采集时间sec内所有的二维心电分割图片,并利用触控电容屏实时所有二维心电信号图像。
本实施例中,轻量化VGG网络是按如下步骤生成:
步骤1,获取MIT-BIN 心律失常图片数据集并按2:3划分为测试集和训练集,从而生成 24208 张心电图用于训练,8069 张心电图用于测试;
步骤2,将训练集中的心率失常心电图片分别进行裁剪后再进行数据扩增,在本实施例中,训练集中的心率失常心电图片维度为192×132,对其进行左上、中上、右上、左中、中、右中、左下、中下和右下的平移,在image[]函数中指定起始点,设定图片长宽分别为128,对其进行裁剪获得9个数据特征,从而得到扩增后的训练集;
步骤3,构建类VGG网络,包括:L=5个卷积段和D=2个全连接层,网络结构如图2所示:
步骤3.1,将扩增后的训练集压缩到维度为a×a=128×128的输入数据集;
步骤3.2,搭建各卷积段:第1个卷积段和第5个卷积段结构均为:卷积层、BN层、卷积层、BN层、池化层;第2个卷积段至第4个卷积段结构均为:卷积层、BN层、池化层;本实施例中,各卷积段具体参数如下:
第一卷积段:卷积层1,filter个数、Kernel大小、stride分别为16、3×3和1;卷积层2,filter个数、Kernel大小、stride分别为32、3×3和1;池化层1,最大池化,filter个数、Kernel大小、stride分别为 32、2×2和2;
第二卷积段:卷积层3,filter个数、Kernel大小、stride分别为32、3×3和1;池化层2,最大池化,filter个数、Kernel大小、stride分别为32、2×2和2;
第三卷积段: 卷积层4,filter个数、Kernel大小、stride分别为64、3×3和1;池化层3,最大池化,filter个数、Kernel大小、stride分别为64、2×2和2;
第四卷积段:卷积层5,filter个数、Kernel大小、stride分别为64、3×3和1; 池化层4,最大池化,filter个数、Kernel大小、stride分别为64、2×2和2;
第五卷积段:卷积层6,filter个数、Kernel大小、stride分别为128、3×3和1;卷积层7,filter个数、Kernel大小、stride分别为128、3×3和1;池化层5,最大池化,filter个数、Kernel大小、stride分别为128、2×2和2。每个卷积层中的激活函数为ReLU激活函数,其公式如下:
(1)
式(1)中,max为求最大值函数,x为神经元的输入,f(x)为激活函数输出;
步骤3.3,维度为a×a=128×128的输入数据集顺序经过5个卷积段的特征提取后,得到维度为1×1的特征图集,再顺序输入2个全连接层中进行分类处理,并由第2层全连接层输出分类结果,本实施例中,全连接层1,全连接层2(输出层Softmax)神经元个数分别为512,8;
步骤3.4,利用梯度下降法对类VGG网络进行训练,并计算交叉熵损失,当迭代次数达到2000时,完成训练,并得到训练后的类VGG网络;
步骤3.5,利用开源工具对训练后的类VGG网络进行剪枝和编译处理。本实施例中使用Vitis-ai开源工具将模型量化为8bit格式。Vitis-ai提供开源脚本quant.sh。在本系统中,指定模型输入、输出节点名称分别为input_1,dense_2/Softmax,输入图像大小为128×128×3,模型输入函数input_fn之后运行脚本量化,量化结束后模型大小约缩减为原来的四分之一。
Vitis-ai提供开源脚本tf_compile_for_v2.sh以供编译为指定板卡DPU的可执行文件。在本实施例中,指定板卡型号为ZCU102,指定对应板卡的编译文件ZCU102.json。执行脚本即可得到轻量化VGG网络。
具体实施中,基于ARM CPU的人机交互模块由两步骤组成:
步骤1,实时心电信号的展示,详细操作见基于ARM CPU的数据处理模块步骤2。
步骤2,识别结果展示
步骤2.1,读取二维心电分割图片,调用基于DPU的异常心电识别算法加速模块,输出的异常心电图分类识别结果,并按照类别将分类后的二维心电分割图片存储在各分类文件夹中;
步骤2.2,判别使用者测量结果是否正常,若是,则调取分类为正常类文件夹中三张图片在报告中进行展示并调取非正常类中最多的一类中三张图片在报告中进行展示;若否,则调取非正常类中最多的一类中三张图片在报告中进行展示并调取剩余非正常类中最多的一类中三张图片在报告中进行展示;
步骤2.3,弹出是否查询本次测量过程中详细心电图弹窗,若使用者选择是,则展示所有测量过程中详细心电图;若使用者选择否,则结束。
Claims (2)
1.一种基于硬件部署的心电采集、识别、存储一体化系统,包括:
心电采集模块、数据处理模块、算法加速模块、人机交互模块;
所述心电采集模块包括:三导联肢体夹、单导心电传感器和微型MCU;
所述数据处理模块包括:ARM CPU、AXI总线、内部存储器DDR、USB串口接收模块;
所述算法加速模块包括:DPU、轻量化VGG网络、AXI Interconnect接口;
所述人机交互模块包括:触控电容屏;
所述心电采集模块利用所述三导联肢体夹采集心电电压信号后再利用所述单导心电传感器进行差分放大处理,得到放大后的心电电压信号;所述微型MCU利用自身的ADC模块对放大后的心电电压信号进行计算,得到ASCII数据格式的心电信号并通过自身USB接口输出;
所述ARM CPU基于嵌入式Linux操作系统向所述USB接口发送读信号read,从而通过AXI总线访问所述USB接口并读取ASCII数据格式的心电信号后进行二维化处理,得到二维心电分割图片并存储入所述内部存储器DDR中;
所述人机交互模块通过触控电容屏向所述ARM CPU发送读指令,所述ARM CPU根据所述读指令从内部存储器DDR卡中读取所述二维心电分割图片并写入外接的SD卡中;
所述DPU从所述内部存储器DDR中读取所述二维心电分割图片并利用所述轻量化VGG网络对二维心电分割图片进行异常识别,得到异常心电图的分类结果后经过所述AXIInterconnect接口存储到所述SD卡中;
所述人机交互模块向所述ARM CPU统发送show指令,从而通过AXI总线读取所述SD卡中的异常心电图的分类结果,并经过对比分析,生成识别报告后显示在触控电容屏;其特征在于,所述ARM CPU是按如下步骤对ASCII数据格式的心电信号进行二维化处理,并得到二维心电分割图片:
步骤1,设置USB接口的地址、波特率、超时时间;
步骤2,读取ASCII数据格式的心电信号并保存其ECG电压值;
步骤2.1,建立空的列表ecg[],设置心电信号的采集时间sec,并且初始化计数时间i=0;
步骤2.2,以"utf8"解码方式读取一次USB接口的缓冲区并得到一个串口数据;
步骤2.3,用正则表达式匹配的方式判断串口数据的标记是否为'U2:'字符,如果是,则表示'U2:'字符后面的数据为心电数据,并顺序执行步骤2.4,否则,执行步骤2.6;
步骤2.4,去除字符'U2:',仅保留'U2:'字符后面的心电数据,并提取心电数据中的电压幅值后保存在所述列表ecg[]中;
步骤2.5,设置所述触控电容屏的刷新时间refresh_time,并初始化屏幕的刷新次数j=0;
步骤2.6,判断refresh_time×j小于采集时间sec且i=refresh_time×j是否成立,若成立,则刷新一次所述触控电容屏,并将j+1赋值给j后,执行步骤2.7;否则,直接执行步骤2.7;
步骤2.7,将i+1赋值给i后,判断i是否小于采集时间sec,若小于,则返回步骤2.2顺序执行,否则表示得到采集时间sec内所有心电信号的电压幅值并构成ECG电压值列表ecg;
步骤3,用分段最大值方法对所述ECG电压值列表ecg[]进行R波识别;
步骤3.1,起始位置的粗分割:
首先设定一个阈值TH,并建立空的暂时列表temp1;
历遍所述列表ecg中每一个电压幅值,当ecg[r]≤TH且ecg[r+1]>TH时,表示索引r为R波起始位置的一个粗分割点,并将索引r存入暂时列表temp1的末尾,从而得到R波起始位置的所有粗分割点并保存在暂时列表temp1中;ecg[r]表示所述列表ecg中索引r所指向的电压幅值,ecg[r+1]表示所述列表ecg中索引r+1所指向的电压幅值;
步骤3.2,定义并初始化分割次数k=0,建立空的列表peak_table和空的暂时列表temp2,
步骤3.3,将列表ecg[]中索引为temp1[k]到temp1[k+1]的电压幅值,即ecg[temp1[k]]到ecg[temp1[k+1] ]的电压幅值存入暂时列表temp2中;
步骤3.4,将暂时列表temp2中最大电压幅值所在的索引和temp1[k]相加后得到R波的最高位置点,并存入列表peak_table的末尾;
步骤3.5,将k+1赋值给k,判断k是否小于列表ecg[]的长度,若是,则返回步骤3.3顺序执行,否则,表示识别完R波的所有最高位置点;
步骤4,细分割并保存心电信号的二维心电分割图片;
步骤4.1,初始化分割次数k=0,建立空暂时列表temp3;定义周期perid;
步骤4.2,将peak_table [k+1]减去peak_table [k]赋值给周期perid;
步骤4.3,将列表ecg[]中索引为peak_table [j]-Δ×period到peak_table [j]+(1-Δ)×period的电压幅值存入暂时列表temp3中;Δ为所设定的参数;
步骤4.4,绘制所述暂时列表temp3的电压幅值图,并保存为心电信号的二维心电分割图片;
步骤4.5,将k +1赋值给k,判断k是否小于等于列表ecg[]的长度,若是,则清空暂时列表temp3后,返回步骤4.2顺序执行,否则,表示得到采集时间sec内所有的二维心电分割图片,并利用所述触控电容屏实时所有二维心电信号图像。
2.根据权利要求1所述的一种基于硬件部署的心电采集、识别、存储一体化系统,其特征在于,所述轻量化VGG网络是按如下步骤生成:
步骤1,获取心率失常图片数据集并按一定比例划分为测试集和训练集;
步骤2,将所述训练集中的心率失常心电图片分别进行裁剪后再进行数据扩增,从而得到扩增后的训练集;
步骤3,构建类VGG网络,包括:L个卷积段和D个全连接层:
步骤3.1,将扩增后的训练集压缩到维度为a×a的输入数据集;
步骤3.2,搭建各卷积段:第1个卷积段和第L个卷积段结构均为:卷积层、BN层、卷积层、BN层、池化层;第2个卷积段至第L-1个卷积段结构均为:卷积层、BN层、池化层;各卷积层后连接有激活函数;
步骤3.3,维度为a×a的输入数据集顺序经过L个卷积段的特征提取后,得到维度为1×1的特征图集,再顺序输入D个全连接层中进行分类处理,并由第D层全连接层输出分类结果;
步骤3.4,利用梯度下降法对类VGG网络进行训练,并计算交叉熵损失,当迭代次数达到最大迭代次数或损失值满足所设定的阈值时,完成训练,并得到训练后的类VGG网络;
步骤3.5,利用开源工具对训练后的类VGG网络进行剪枝和编译处理,从而得到轻量化VGG网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210224440.XA CN114587373B (zh) | 2022-03-09 | 2022-03-09 | 一种基于硬件部署的心电采集、识别、存储一体化系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210224440.XA CN114587373B (zh) | 2022-03-09 | 2022-03-09 | 一种基于硬件部署的心电采集、识别、存储一体化系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114587373A CN114587373A (zh) | 2022-06-07 |
CN114587373B true CN114587373B (zh) | 2024-06-14 |
Family
ID=81807159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210224440.XA Active CN114587373B (zh) | 2022-03-09 | 2022-03-09 | 一种基于硬件部署的心电采集、识别、存储一体化系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114587373B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1981002832A1 (en) * | 1980-03-31 | 1981-10-15 | Datamedix Inc | Medical monitor |
CN107951485B (zh) * | 2017-11-27 | 2019-06-11 | 深圳市凯沃尔电子有限公司 | 基于人工智能自学习的动态心电图分析方法和装置 |
EP3958743A1 (en) * | 2019-04-24 | 2022-03-02 | Ausculsciences, Inc. | Medical decision support system |
CN114145020A (zh) * | 2019-08-29 | 2022-03-04 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法和解码方法 |
CN110569970B (zh) * | 2019-09-12 | 2022-03-15 | 合肥工业大学 | 一种应用于卷积神经网络中硬件加速器的数据传输方法 |
CN111956211A (zh) * | 2020-07-29 | 2020-11-20 | 鲁东大学 | 单导联心电信号房颤自动检测方法 |
CN112617856A (zh) * | 2020-12-14 | 2021-04-09 | 上海交通大学 | 基于残差神经网络的冠心病心电图筛查系统及方法 |
-
2022
- 2022-03-09 CN CN202210224440.XA patent/CN114587373B/zh active Active
Non-Patent Citations (2)
Title |
---|
基于层次化总线的多处理器系统芯片设计与测试;杜高明;章伟;高明伦;;电子测量与仪器学报;20071015(第05期);第110-113页 * |
基于智能终端的心电信号采集系统设计;吴建;庄晓蕾;李康;庞宇;李雅涵;孙朋;;生命科学仪器;20150225(第01期);第54-57页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114587373A (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107714023B (zh) | 基于人工智能自学习的静态心电图分析方法和装置 | |
CN107837082B (zh) | 基于人工智能自学习的心电图自动分析方法和装置 | |
CN102697520B (zh) | 基于智能识别功能的电子听诊器 | |
CN110495872B (zh) | 基于图片及心搏信息的心电分析方法、装置、设备及介质 | |
CN106815570B (zh) | 一种基于动态模式识别的心电信号st-t段识别方法 | |
CN106725426A (zh) | 一种心电信号分类的方法及系统 | |
CN105769173A (zh) | 一种具有心电信号去噪功能的心电监测系统 | |
EP3716134B1 (en) | Parallel analysis device for ecg signals, and method and mobile terminal | |
Vemishetty et al. | Low power personalized ECG based system design methodology for remote cardiac health monitoring | |
CN111488793A (zh) | 心电信号分类方法、装置、电子设备和存储介质 | |
CN202801659U (zh) | 基于智能识别功能的电子听诊器 | |
CN109044340B (zh) | 心电数据分类方法、装置、电子设备以及存储介质 | |
CN113116321A (zh) | 基于pso-grnn神经网络的无创连续血压测量系统 | |
Ukil et al. | AFSense-ECG: Atrial fibrillation condition sensing from single lead electrocardiogram (ECG) signals | |
CN113693611B (zh) | 基于机器学习的心电数据分类方法及装置 | |
Liu et al. | Precise and efficient heartbeat classification using a novel lightweight-modified method | |
CN114587373B (zh) | 一种基于硬件部署的心电采集、识别、存储一体化系统 | |
Liu et al. | A fully-mapped and energy-efficient FPGA accelerator for dual-function AI-based analysis of ECG | |
Jembula et al. | Design of Electrocardiogram (ECG or EKG) System on FPGA | |
CN116172573A (zh) | 一种基于改进的Inception-ResNet-v2的心律失常图像分类方法 | |
CN115553784A (zh) | 基于心电、心音信号耦合分析的冠心病评估方法及系统 | |
Sá et al. | Heart disease detection architecture for lead I off-the-person ECG monitoring devices | |
CN115067967A (zh) | 心拍信号基准点确定方法、心拍类型识别方法及装置 | |
Lu et al. | Dual temporal convolutional network for single-lead fibrillation waveform extraction | |
CN114937488B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |