基于神经网络的心电信号识别系统研究论文

2020年12月1日10:59:45基于神经网络的心电信号识别系统研究论文已关闭评论

基于神经网络的心电信号识别系统研究论文

摘要

心脏病是威胁人类健康的重大疾病之一,可穿戴式智能心电监测设备可以实 时完成异常心电信号的识别,并通过预警提醒患者到医院就诊,从而降低患者的 生命和财产损失。对于此类系统,其关键要求在于保证高准确率的同时,实现较 低的系统功耗。然而,现有的可穿戴智能心电监测设备在异常心电识别和心电信 号传输中都存在高功耗的问题。在这项工作中,我们提出了一种低功耗的智能心 电信号识别系统,该系统包含事件驱动神经网络的人工智能心电识别算法和基于 智能识别的自适应心电信号压缩算法。与现有的技术方案相比,本文所提出的方 案在保持高准确率的同时,大大降低了异常心电的识别处理功耗与心电信号的传 输功耗。

首先,论文介绍了智能心电识别的意义,以及国内外研究现状,对该领域内 的现有工作做了简要的概述,并分析了它们的优缺点。然后介绍了心电识别相关 的背景知识,包括心电信号的基本概念,心电信号的数据库,以及神经网络的基 本原理及其在智能心电识别上的应用。

随后,论文介绍了心电信号的预处理方法,包括预处理方法的基本原理,心电 信号的除噪算法和R峰检测算法。其中,在除噪算法中,重点介绍了常见的几种 噪声滤除方法及效果,在R峰检测算法中,重点介绍了广泛采用的Pan-Tompkins 算法。

接下来,论文详细阐述了提出的事件驱动神经网络算法,以及适用于该架构 的偏向性训练方式。通过事件驱动型神经网络,有效的降低了智能心电识别的处 理功耗,并通过偏向性训练降低了对准确率的影响。同时,提出了基于智能识别 的自适应心电压缩算法,有效的降低了心电信号的传输功耗。

为了满足实时性要求,在提出的算法基础上,还设计了针对该算法的心电识 别专用神经网络处理硬件,并通过FPGA进行了实现,对其功能和实时性进行了 验证,同时评估了硬件资源开销,为下一步低功耗智能心电识别专用处理芯片设 计奠定了基础。

总结我们的实验结果,提出的智能心电识别算法达到了 98.4%的识别准确率, 与现有基于神经网络的智能心电识别算法,相比节省了 75.5%的运算量,与现有 的心电压缩算法相比,压缩比最高提升了 4.69倍。同时,实现了基于FPGA的心 电识别专用神经网络处理硬件,较好地满足功能和实时性要求。最后,总结我们 的研究内容,分析现有工作的不足,提出对后续工作的展望。

关键词:低功耗,ECG,可穿戴,智能诊断,端到端

ABSTRACT

Heart disease is one of the major diseases that threaten human health. Wearable smart ECG monitoring equipment can complete the identification of abnormal ECG signals in real time, and remind patients to go to hospital for treatment through early warning, thereby reducing the loss of life and property of patients. For such systems, the key requirement is to achieve low power consumption of system while ensuring high accuracy. However, the existing wearable smart ECG monitoring device has suffered from the problem of high power consumption in both abnormal ECG recognition and ECG signal transmission. In this work, we propose a low-power intelligent ECG signal recognition system that includes an artificial intelligence ECG recognition algorithm with an event-driven neural networks and an adaptive ECG signal compression algorithm based on intelligent recognition. Compared with the existing technical schemes, the scheme proposed in this thesis greatly reduces the power consumption of abnormal ECG recognition processing and the transmission power of ECG signals while maintaining high accuracy.

First, the thesis introduces the significance of smart ECG recognition and the current status of research at home and abroad. It briefly summarizes the existing work in this field and analyzes their advantages and disadvantages. Then it introduces the background knowledge related to ECG recognition, including the basic concepts of ECG signals, the database of ECG signals, the basic principles of neural networks and their applications in intelligent ECG recognition.

Subsequently, the thesis introduces the ECG signal pre-processing method, including the basic principles of the pre-processing method, the ECG signal denois algorithm and the R-peak detection algorithm. Among them, in denoise algorithm, several common noise filtering methods and effects are introduced. For the R-peak detection algorithm, the widely used Pan-Tompkins algorithm is introduced.

Next, the paper proposes the event-driven neural network algorithm and the biased training method applicable to the algorithm in detail. The event-driven neural network effectively reduces the processing power consumption of intelligent ECG recognitionand the impact on accuracy by biased training. At the same time, an adaptive ECG compression algorithm based on intelligent recognition is proposed, which effectively reduces the power consumption of ECG signal transmission.In order to meet the real-time requirements, based on the proposed algorithm, a dedicated neural network processing hardware for ECG recognition was also designed and implemented by FPGA. Its function and real-time performance were verified, and the hardware was also evaluated. The resource overhead lays the foundation for the nextgeneration low-power intelligent ECG special processing chip design.

To summarize our experimental results, the proposed smart ECG recognition algorithm achieves a recognition accuracy rate of 9&4 % which saves 75.5 % of the calculation amount comparing with existing neural network-based smart ECG recognition algorithms, and comparing with the existing ECG compression algorithm, the compression ratio is increased by up to 4.69 times. At the same time, FPGA-based neural network processing hardware for ECG recognition is implemented, which satisfies the requirements of function and real-time performance. In the end,the full thesis is summarized, the shortcomings and shortcomings of the proposed scheme are analyzed, and future work is prospected.

Keywords: Low-power, ECG, Wearable, Intelligent Diagnosis, End-to-End

缩略词表

英文缩写 英文全称 中文解释
ACC Accuracy 准确性
APB Atrial premature beat 房性早搏
BT Biased Training 偏向性训练
BP Back Propagation 反向传播
CR Compression Ratio 压缩比
CNN Convolutional Neural Network 卷积神经网络
DCU Data Calculation Unit 数据计算单元
DCT Discrete Cosine Transform 离散余弦变换
DWT Discrete Wavelet Transformation 离散小波变换
ECG Electrocardiogram 心电信号
EDNN Event Driven Neural Network 事件驱动神经网络
FPGA Field Programmable Gate Array 现场可编程门阵列
HRV Heart Rate Variability 心率变异性
MLP Multilayer Perceptron 多层感知机
PE Processing Element 处理单元
PRD Percentage RMS Difference 均方差值百分比
PVC Premature Ventricular Contraction 室性期前收缩
PPR Positive Predictivity Rate 精确性
SVM Support Vector Machine 支持向量机
SPE Specificity 特异性
SEN Sensitivity 灵敏性

 

第一草绪论

1.1研究工作的背景与意义

长期以来,心脏病一直是威胁人类生命的主要元凶之一,因此在医学领域,心 脏病及其相关研究一直有着备受重视的地位。《心脏病与卒中统计数据(2019)》 ⑴的报告显示,每年大约有84万人死于心血管疾病,大约每3人就有1人是因为 心血管疾病死亡。根据《中国心血管病报告(2018》)⑵报告显示,在中国,因心 血管疾病致死的人数在总死亡人数占有超过40%的比例,并且这个数据还在逐年 增长,如图1・1和图1・2所示,为中国城镇与农村居民死亡率逐年变化表⑵。

人体心电图代表着心电信号(ECG)是心脏活动通过生物电传播到体表的综合 表现,它可以反映心脏活动节律和其经生物电传导的病理、生理的多角度信息,所 以心电图分析是临床医疗中诊断各种心律不齐的主要手段,此外它也常被用于辅 助判断心脏的病变程度,辅助医生判断患者心脏是否出现了器质性病变。由此心 电图对于患者心脏病的确诊和治愈有着相当高的医学参考作用,是目前对心律失常 分析和鉴别问题中最精确且实用的手段。上个世纪前,弦线型心电图描计器在艾 因特霍芬的研究中现世,造福了整个人类世界,后来他因此创举被授予了 1924年 诺贝尔生理学及医学奖。

如今,心电图作为医生在临床阶段帮助病人监测其心脏状况的的最直观手段, 是医生诊断心脏疾病的得力助手。大量临床医学观察发现,大部分心律失常都是 突然发作或者是偶然发作的,发作的时间和频率并没有一定的规律可循,针对这 种情况,必需通过长时间的不间断监测才可能抓取心律不齐发生的瞬间,以此降 低漏诊的风险。医院检测心电图的常规方法是首先让待测者平躺,平复情绪后,直 接打印患者几分钟内的心电图,然而总会有些患者的异常心拍并不会在该检测阶 段出现,尤其对于轻度心脏病患者而言,这一问题尤为严重,因此常规心电图检测 对这种情况的处理存在着明显的不足,可能会漏掉患者的异常心拍。同时由于病 态心电图不仅类别众多而且畸变性极大,同种病因但出自不同患者身上的心电图、 甚至是单一患者在不同时刻的心电图都有着较大差异,要根据心电图对心律不齐做 出准确有效的判别,对医师具备的领域知识和积累的临床经验有着很高要求。除此 之外,当心脏内科医生长期工作在对大量心电图的识别判断时,身心的疲劳容易导 致漏检、误检的风险极速提高,无论是漏检还是误检,都会使得患者不能及时了 解自身的真实心脏问题,因此他们可能会错失了接受治疗的黄金时间。所以,为 了满足心电信号长期监测以及自动准确分类的需求,从而大幅度降低医生付诸在 繁琐的图像识别工作中的精力,更高效的挽救生命,业界普遍期望将智能分类技 术应用于心电信号动态监测场景的方法和设备出现,所以对具有识别功能的可穿戴 式ECG智能监测设备的研究工作有着深刻的时代和社会价值®5]。这种设备能够 自动识别心律不齐,在发出警告的同时保存异常的心电信号,这可以有效的提醒 患者前往医院进行检查,及时确诊自己的心脏疾病,保存下来的异常心电信号可 以供医生进一步分析,给挽救患者的生命争得宝贵的时间。这种设备拥有两个特 点,首先是识别高准确率,而且低功耗,可便携。

1.2国内外研究现状

智能识别心电信号的主要方法有两种。一种是基于特征的分类方法,在预处 理之后,许多特征被提取并发送到分类器以进行分类。比如C.Venkatesan使用离 散小波变换(DWT)预处理信号从而得到心率变异性(HRV)参数,计算HRV的频 域特征,并使用SVM进行分类,达到了 96%的准确度⑹,Minami通过傅里叶变 换直接针对QRS波群提取频域特征,然后送入神经网络进行分类⑺,Farhad Asadi 使用DWT对QRS复合波进行多级分解,提取高阶特征序列,之后送入分类器进 行分类[8], Naveen Kumar Dewangan通过小波系数和形态学特征送入分类器进行 判断多种心律不齐[刃,Majumdar提出了深度字典学习建立多级非线性字典,并使 用SVM与字典分类不同的心跳a】, XuSS将特征根据费希尔判别比的标准进行分 级,然后通过PCA对特征进行降维之后送入分类器Hi】, Osowski S提取QRS复合 波的高阶统计量以及厄米特特征联合SVM进行判断分类M2]。但是,此类方法的 问题在于它过于依赖特征工程。首先,分类的准确性受到人类知识或经验的限制。 其次,通常需要大量的人工特征辅助判断,这大大增加了计算复杂度和功耗。第 三,特征工程本身是一个复杂且耗时的过程。

另一种方法是将原始波形直接发送到神经网络进行分类,称为端到端分类方 法。在这种方法中,特征提取和分类均由神经网络自动执行。比如Zhai将单心拍 转化为二维输入分类器,提高灵敏度和SVEB阳性预测率2】。Kiranyaz将原始信 号进行拍切分之后,为了同时让网络学习到形态学特征和信号的时间相关性,将 信号的一拍和三拍数据送入网络网,Ting Yang先对患者的心脏进行建模,然后使 用两个CNN结构分别,一个判断心内膜和心外膜,一个判断区分心脏建模区域, 最后结合到一起来定位室性期前收缩(PVC)的原始位置QI。

这种方法能够避免人类知识和经验的局限,并获得更高的准确性。但是,由 于涉及到神经网络,因此计算复杂度仍然很高,导致相当大的处理功耗。这不仅 会影响电池寿命,而且还会影响可穿戴设备的小型化,因为电池会在设备中占用 较大空间。

不仅如此,传输功耗也是不可不考虑的一部分功耗,因为短时间的心电图波 形传输并不会消耗太多能量,而长时间的心电图波形传输是相当耗能的[⑹。之前 的技术有两个主要的弊端,首先是通过单纯的无损压缩方案将信号完整的传输出 去,虽然可以很好的保留信号的原貌,很难提高压缩比。第二,若只是有损压缩 方案将心电信号传输出去,虽然达到了高压缩比,但是要么压缩恢复出来的信号 质量差,丢失了重要的诊断信息,要么是很难进行无损压缩,比如压缩感知"I, 虽然也能较好的恢复出信号,但是由于其在采样的阶段进行压缩,且解压缩结构 较为复杂,导致其很难做到线上的无损压缩。曾经有些人想过混合有损压缩和无 损两种方式,比如Lian"】根据电池的电量来调整有损压缩模式还是无损压缩。但 是实际上这些方式都没有考虑过来自心电信号识别的信息,因为在医生诊断的过 程之中,其显然会更关注异常心拍,及异常心拍临近的正常心拍,这就是说其实 绝大部分的正常心拍是不必要进行无损压缩的,而正常心拍的数量至少会占到总 心拍数量的90%,根据心电信号的这个特点,将有损压缩和无损压缩结合到一起, 既保证重要信息不丢失,又能降低传输数据量,从而降低传输功耗,是一个值得 研究的点。

1.3本文的主要工作和结构安排

为了解决根据前文提到的问题,本文提出了一种适合可穿戴式设备使用的低 功耗智能心电信号识别系统。首先,本文提出了一种新的基于事件驱动神经网络 的心电信号智能识别算法,考虑到了在保证准确率的同时尽可能的降低运算量, 从而达到提高处理速度和降低处理功耗的目的。同时,本文提出了一个新的基于 智能识别的自适应压缩算法,根据识别结果采取不同的压缩方案,结合了有损压 缩和无损压缩,在保证重要信息不丢失的同时提高了压缩比,从而降低了传输功 耗,最终为了验证功能和实时性,完成硬件设计,将这套系统实现了在现场可编 程门阵列(FPGA, Xlinx-Artix-7)上。

本文的章节结构安排如下:

第一章,绪论:本章介绍了所研究的心电信号识别系统的课题背景和研究意 义,并概述了心电信号识别领域的国内外研究现状,分析了其优缺点后,引出了 本文的研究内容,充分说明选题的依据与目的。

第二章,心电信号与神经网络基础:首先介绍的是心电信号的基本常识概念包 括心电传导系统的构造和心电信号的各波段意义,以及所使用的心电信号数据库。 之后介绍了卷积神经网络的基本原理,为所设计的系统提供基础识别算法。

第三章,心电信号预处理方法:首先介绍心电信号的除噪,包括常见的噪声种 类,来源,以及除噪的方法,给出了除噪的效果图。之后介绍了所设计的系统在R 峰检测阶段米用的Pan-Tompkins算法,包括其算法的实现流程以及最后的R峰检 测效果图。

第四章,基于事件驱动神经网络的心电信号识别算法:介绍基于事件驱动神经 网络算法和其搭配的偏向性训练方法,以及基于智能识别的自适应心电压缩算法。 给出实验数据,并且对比了近几年其他先进的心电识别算法,突出了整套算法在 降低运算量上的优势。

第五章,基于事件驱动神经网络的心电信号识别硬件:介绍基于事件驱动神经 网络算法的硬件设计。为后续的芯片设计,完成功能验证,以及实时性的验证,给 出仿真波形证明功能实现,同时给出在FPGA上实现的实物图与真人佩戴的展示 图。

第六章,全文总结与展望:总结本文的研究内容,分析现有工作的不足,提出 对后续工作的展望。

第二章心电信号与神经网络基础

2.1心电信号基本概念

心脏作为哺乳动物维持正常生命活动最重要的内脏器官之一,它为血流循环 提供了必需的动力和压力,让血液将携带着的氧气和营养物质输送至身体的各个 部位,并收集代谢废物以集中排出。打个比方,心脏就像是水泵,通过持续为脏 器和其他身体器官泵血,来为它们提供必需的氧气和营养物质,带走细胞代谢产 生的废物,让身体能够维持正常的生命活动和功能;凭借着心脏的泵血以及进一 步形成的血液循环系统,哺乳动物才能在外界温度的持续变化中维持自身体温的 相对恒定;并且由内分泌系统所产生的生物激素等,大多也需要借助血液循环这 个搬运系统才能被送到相应的靶器官发挥作用。如果心脏发生功能性衰竭,甚至 发生心衰,随之而来的是人体缺血缺氧的症状,长期处于这种状态会形成恶性循 环,最终严重者会出现各大脏器功能衰竭的症状"I。

心脏的传导系统是由窦房结、房室结、房室束、左右房室束支和浦肯野纤维 组成,正常的心脏肌电活动的起始电位一般由窦房结产生,随后刺激兴奋心房,并 同时将其经过结间束传导至房室结,然后经过希氏束、左束支、右束支以及浦肯 野纤维依次传导,最后兴奋心房,引起一次心脏肌收缩活动,心肌的生理特性包 括自动节律性、兴奋性、收缩性和传导性,其中自动节律性、传导性和兴奋性是 以心肌生物电活动为基础的,属于电生理特性,而收缩性属于机械特性。这种因 心脏肌组织激动的时间顺序,将所产生的体表电位的变化依时序记录下来,最后 构成的连续曲线就是医疗中常见的心电图(Electrocardiogram,ECG)□ 一般当心脏传 导系统发生异常时,患者就会出现期前收缩、阵发性室上性心动过速、房颤等心 脏疾病,严重者甚至又可能发生室颤等严重问题而导致心脏性猝死。在不同的人 与人之间,即使是正常心电图都有着细微的差异,而且导联方式的选择和体表电 极放置位置的差异也会导致心电设备监听到的ECG的波形存在差异,但一般情况 下,通过侦听正常人得到的无异常ECG波形由一组特征波群和其对应的过渡间期 组成,其基本组成都有P波,QRS波群和T波,以及有可能在T波后出现的一个 小幅度波,被称为U波。如图2・1所示,标准心电波形可分为P波、QRS波群、T 波、U波、PR段、ST段、PR间期、ST间期。其中P波、QRS波群、T波分别与 各个心脏肌群的电刺激和传导活动相对应。窦房结是整个心动过程的起点,其给 出的兴奋及其兴奋的传播过程代表一个心动周期"I。

第二章心电信号与神经网络基础

图2・1标准心电波形

如图2・1所示,在一个心动周期中,P波最早出现且幅度较小,其代表着心房 肌除极的电位变化过程,随后的QRS代表心室肌除极的电位变化过程,最后的T 波代表心室快速复极的电位变化过程,有时在胸导联上可以采集到U波,其产生 的机理尚不明确。在兴奋的传播过程之中,PR间期为P波的起点到QRS波群的 起点,其意义在于反映心房开始除极到心室开始除极的时间,在老年人心动过缓 的情况下,可能出现PR间期的延长。QT间期指的是QRS波群的起点到T波的终 点,其意义在于反映心室肌除极到复极全过程所用的时间,QT段的长短与心律的 快慢有着密切的联系。ST段指的是QRS波群的终点到T波起点,其意义在于反 映心室的缓慢复极过程,ST的段的抬高和下降都对应着多种心脏病。J处于QRS 波群与ST段交界处的转折点,它反映着心室除极的结束,复极的开始点,处在等 电位线上。

2.2心电数据库介绍

美国的MIT-BIH心电数据库㈤]是心电领域全世界使用最多的数据库,国内 国外有非常多关于心电方向的研究是以该数据库为基础来做的。MIT-BIH心电数 据库创建于1999年,在美国的支持下在网上发布允许广大的科研人员进行下载, 同时其作为公益性质是完全免费,以便其可以灵活地读取该库中数据。接下来介 绍我们使用的数据库MIT-BIH心律失常数据库(MITDB)的具体情况。

表2-1 AAMI与MITDB心律不齐异常种类对照表

AAMI 类 MITDB 类
N N,L ,R
S A ,a ,J ,S ,e j
V V,r ,E
F F
Q /,f

在MIT-BIH心律失常数据库中,观测样本来自于47名受试者,总计48条 ECG记录。受试者中包含22名女性以及25名男性个体,所有的数据样本中每个 单独的样本都包含30分钟的真实采样心电数据,同时该数据库中心电数据样本的 采样频率均为360Hz,其采样精度为11位。其中,编号为201和202的ECG数据 样本来自同一受试者,编号以1开头的23条数据样本涵盖了日常临床上最容易出 现的心律不齐波形,这些信号非常具有非常强的代表性,而编号以2开头的25条 记录则包括那些并不十分常见,但却具有非常高临床价值的复杂心律不齐波形。

我们使用该数据库的原因在于,其数据量大,包含了常见的几种心律失常心 拍,例如如室性期前收缩(PVC),房性早搏(APE)、左右束支传导阻滞等。同时专 家将诊断信息也放在了数据的注释文件中,方便研究人员以此制作标签,测试算 法的性能十分方便。所以本文选取MIT-BIH心律失常数据库进行心电信号智能识 别验证工作。

实验阶段,我们统一使用数据库中第一通道的数据,数据库中每条记录都包 含两个通道的数据,第一通道采集自修正肢体二导联,其上的QRS波群在形态学 通常比较容易被辨识出来,而第二通道上的数据由于来自不同的导联,故不使用。

我们对心拍分类,将会根据美国医疗仪器促进协会(AAMI)01的分类标准, 此标准作为国际通用标准惯例,旨在统一不同数据库对于心拍的划分,由此提升 算法比较时的公平性,表2・1展示了 MITDB中的心拍标注类与AAMI标准的对应 关系。

2.3神经网络基本原理

近年来,卷积神经网络(CNN)是一种在图像识别和生理信号识别等前沿领域 中被广泛应用的分类器,得益于其卷积层叠加池化层的结构,使其具有对于二维 图像信号同时提取深层特征和浅层特征的能力,是智能识别领域应用当前最火热 的研究结构之一。

第二章心电信号与神经网络基础

在CNN的相关领域已经涌现了很多经典的CNN模型,比如LeNet-5?AlexNet? VGGNet和ResNet等,而且基于上述经典模型还出现了很多优秀的衍生模型。如用 于图像任务分类的大型深度残差网络ResNet、用于目标检测及人脸识别的YOLO 和FasterR-CNN>用于语音生成任务的WaveNet、用于生物医学图像处理与识别的 U-Net和用于车道线分割的LaneNet,由此值得一提的是得益于卷积神经网络的高 度可扩展性,依据场景化定制模型可以让CNN应用在众多分类任务中脱颖而出。 LeCun最早提出的LeNet-5国]是最早出现的CNN完整模型,当年很多银行用它来 识别支票上的手写字体,之后有很多不同场景的分类模型都是以它为起点而衍生 出来的。

CNN最早也最广泛被应用于图像识别领域,由于其卷积的工作方式,其对图 像的形状特征,图片的边缘特别的敏感。CNN中卷积核拥有高度可定制化的特点, 其形状可以根据待处理数据的维度进行专用设计,根据LeNet-5的设计理念,一个 典型的卷积神经网络的结构应当至少包括3种隐藏层:卷积层、池化层、全连接 层。图2・2〔22]显示了典型LeNet-5的结构,包括两个卷积层(C1和C3)、两个池化 层(S2和S4)、两个全连接层和一个输出层。

CNN有着单向流动、多层结构的特点,即网络有多个功能相同或不同的层级 组成,每一层包含若干神经元,即发挥功能的最小节点,特征单向流动,信息逐 层整合,因此,CNN也被称为由多个隐含层构成的前馈神经网络。如在图2・2中, 信息沿单一方向经输入层向后逐层处理传输并到输出层。CNN的最大的特点在于: 它的理论源自人类大脑对于图形信号的处理过程,模拟以神经元和突触构成的生 物神经系统感知、学习、认知事物的生命行为,使得该网络拥有像人类大脑类似 的逐层抽象和深度特征提取能力,进一步获得强大的对数据样本的信息挖掘能力。 而且CNN的信息挖掘能力是在不断模拟中自主获得的,这被称为网络模型的学习 过程,相比基于特征工程的方法,避免人为经验的干预,可以获得许多人类无法 感知到的特征。同时,CNN具有权值共享、局部感知和池化分组的算法特点,这有助于减少训练过程中的用到的参数量,加快整个模型在训练阶段的收敛过程。

其前向传播过程可以这样描述,如图2・2所示,以二维LeNetJS为例,在卷 积层中,通过训练之后的卷积核在输入上不断的滑动,同时进行卷积操作生成下 一张特征图,以供下一次使用。同理通过多个卷积核进行扫描可得到多张新的特 征图,以此构成卷积层的完整功能。其中显示了特征图片的形成原理,卷积核在 图中表示为小型方块,卷积核中的参数包括权重和偏置量,常常通过按一定分布 随机生成小数值来初始化权重,有利于加快模型收敛速度并防止模型伪收敛。在 网络的前向推理过程中,卷积核不断的滑动到新的局部感知区域上,形成局部感 受特征后,再经过激活函数的非线性处理,最终得到非线性的特征图,重复以上 步骤生成该层的特征非线性映射集合(即新的特征图)。

接下来介绍其数学原理,如公式2・1所示,其中*表示卷积操作,/表示网络中 第/层,2•表示卷积核中第7个权值,丿表示第丿个卷积核,M代表局部感受长度,w 表示权值系数(卷积核),b表示偏置系数,z表示进行卷积操作之后得到的结果,x 表示特征图,/()表示激活函数。

结合上述卷积层对数据的前向推理处理过程描述,可见每张特征图都是由按 矩阵排列的神经元生成,而这些神经元由同一卷积核的卷积运算加上非线性激活 函数组成,反言之就是卷积核滑动扫描的过程产生了若干神经元,所以输出值构 成的同一张特征图上的神经元通过相同的权值(卷积核)生成的,这称之为权值共 享。

2.4本章小结

本章系统的介绍了心电信号的基本概念,心电信号的传导系统,以及心电信 号各波段的意义,随后介绍了我们研究所使用的数据库MITBIH中的MITDB以及 AAMI发布的心电信号识别分类标准,这些数据是我们训练神经网络的基础。最 后我们介绍了神经网络的基本概念,典型组成部分以及基本计算流程,为后续搭 建智能心电信号识别的神经网络做好理论准备。

第三章心电信号预处理方法

由于通常卷积神经网络算法需要接收固定长的数据,所以我们需要给事件驱 动型神经网络模型提供对应的输入。如图3・1所示,心电信号进入系统会先进行预 处理,之后进行智能识别,最后经过压缩处理后输出系统,智能识别和压缩处理将 在下节进行详细介绍。采用的心电信号预处理阶段包括除噪(噪声滤除)、R峰检 测,心拍分割等阶段。本文采用的数据源均来自上一章介绍的MITBIH心律不齐 数据库,而非临床。预处理阶段对于整个心电信号智能识别处理十分重要,噪声 和心拍分割的质量也将直接影响后续算法的准确度。噪声滤除作为预处理阶段的 第一步,可以改善整个算法的实现效果,规避来自噪声导致的误判。随后的心拍 分割阶段,首先通过心拍中QRS波的峰值位置(即R峰),从心电信号中分割出具 有完整成分的心拍,以便让事件驱动神经网络(EDNN)接收到合适的输入。

图3-1系统总体流程图

3.1除噪处理

除噪阶段使用的噪声数据,基线漂移和肌电干扰来源于MIT-BIH中噪声压力 测试数据库(Noise Stress Test Database) [17],工频干扰使用生成的50Hz正弦波拟 合。正常的心电信号作为生理信号,是一种典型的低频生物电信号,其频率往往集 中在500Hz以下,而心电信号的频谱能量相对集中,90%左右会落在0.25Hz-40Hz 之间。而且由于心电信号是一种强烈的非线性、非平稳性和随机性的微弱信号,其 随机性表现为无法用确定的函数式表示,在对其采集的过程中,极易收到外界环 境的噪声干扰,因此采集到的心电信号常常伴随着大量的噪声。常见的噪声干扰 有工频干扰、基线漂移、肌电干扰等[2現 以下分开介绍几种常见的干扰噪声:

3.1.1工频干扰

在心电图机等医疗设备中,工频干扰是存在最为广泛的噪声,如果心电信号 受到了传输过程中的干扰,其幅值很大,心电信号就会质量越差,甚至被完全淹
没,表现为使波形整体图形模糊。究其产生原理,是由于不同国家的供电设备和 供电频率是不一样的,比如我国的供电频率是50Hz,而有些国家的供电频率是 60Hz,针对这种不同的供电频率,我们也需要调整相应的参数进行滤除。

图3-3加工频干扰的原始信号

3..2基线漂移

基线漂移主要是心电信号采集的过程之中,患者的呼吸引起的低频干扰信号, 或者是电极片的接触不良导致的。基线漂移会导致基线的上下动荡不稳,突然跳 跃,振荡或缓慢漂移。由于这种基线的漂移,使心电信号图像失真,或看不清心电信
号图像的各波段,甚至造成ST段抬高或压低的伪象,或类似于各种严重心律失常 等。若不去除,会对识别造成很严重的干扰。

3.1.3肌电干扰

在心电信号的采集过程中,来源于肌肉的收缩和颤动生成的噪声干扰信号就 是肌电干扰,这种噪声干扰幅值较小,大概在微伏级,发生具有很强的随机性,频 率较高,其频带范围在5Hz到2000Hz左右,表现为不规则快速变化的波形。这种 噪声也会对心电信号的识别造成不小的干扰。

图3・7加肌电干扰的原始信号

3.1.4除噪效果

我们采用MITBIH中的Noise Stress Test Database数据库[24]中提供的噪声,将 其加入到截取后的118号心拍中,制作了同时具备三种噪声的心跳数据。之后使 用FIR滤波器对噪声进行滤除,设置的通带为lhz到50hz,参数由matlab直接生 成,效果如下图所示

图3-9除噪后信号

可以看出绝大部分噪声已经被滤波器除掉了。

图3-10 R峰检测算法流程图

32 R峰检测与分窗

窗切分是心电识别的重要部分之一,如果不能正确的识别R峰,就会导致个 别节拍被遗漏,甚至被两个相邻的窗分割成两半,这样的信息会对智能识别产生 不良的影响,所以从时域波形特征来进行识别的网络一般都会进行窗切分。我们 以R峰为基础,左取133点右取266完成窗切分,接下来介绍R峰检测算法。

QRS波群是一个心电周期中最具显著特征的部分,它反映左、右心室除极电 位和时间的变化,R峰是QRS波群的峰值,往往作为一个独立心拍的标志出现。 1986年由W.J.Tompkins等人提出的Pan-Tompkins算法是最为经典的一种基于 阈值的R峰检测算法,其以高实时性,高检出率在业界广受推崇。我们采用经典 算法Pan-Tompkins来实现R峰检测功能,通常情况下,QRS波群的频率范围是在 10-25HZ,所以就需要有滤波器将不需要的干扰信号滤除。使用高通滤波器滤除P 波和T波的衰减以及基线漂移,使用低通滤波器滤除噪声信号。Pan-Tompkins算 法由两部分组成,如图3・10所示,分为预处理阶段和决策阶段。预处理阶段的四个 滤波器,ECG信号输入低通滤波器,输出作为输入给高通滤波器。而低通和高通 滤波器相当于组成了带通滤波器,输出带通信号,将其作为输入给导数滤波器,计 算信号的斜率,然后输入给幅度平方模块对斜率进行平方,得到的输出最后输入 给时间平均积分器。其中的时间平均信号为先前获得的32个采样值的均值。决策 阶段,尽管使用一个阈值就可以检测出峰值,但是由于噪声的影响,算法还是在 两个峰值都检测到之后才判定峰值检测成功。为了实现这一过程,采用双阈值的 方法来对时间平均信号进行峰值检测。阈值(Thl)是采用先前检测到的8个R峰 值的中值,当一个采样值大于Thl时,其后续的采样值进行相互对比,找到最大 值以及最大值所处的位置。当经过一段时间后,采样值逐渐减小时,如果出现某 一个采样值小于当前保存最大值时,就宣布峰值检测完毕。其中峰值和峰值位置 已被保留,且使用的最大值即为第二个阈值(Th2)o在实现对先前检测到的8个峰 值取其中值的步骤,需要将这8个中值按顺序存入数组中,输出中值。然后每到 达一个新的峰值,最旧的峰值就需要被删除,还需要将新的峰值排序进峰值顺序 数组中,并输出新的中值阈值。

完成上述计算后,便可找到R峰位置,我们以此为基础切割出400点一窗的 心电信号。如图3・11所示,为经过窗切分(Segmentation)的心电信号。

3.3本章小结

本章介绍了心电信号的预处理方法,首先介绍除噪处理的方法,包括几种常 见的噪声包括工频干扰,基线漂移,以及肌电干扰的滤除,随后介绍R峰检测算 法,详细介绍了 PamTompkins算法的技术原理和工作流程,预处理部分将作为后 续心电信号智能识别的基础。

第四章 基于事件驱动神经网络的心电信号识别算法设计

心律不齐通常指的是心脏未按照固有的节律进行跳动。随着便携式智能心电 监测设备的不断升级与心电信号智能识别算法的不断完善,使得便携式智能心电 监测设备检测心律不齐成为一种发展的趋势,究其原因在于,便携式心电信号监 测设备可以有效的捕捉心律不齐,从而起到非常好的预警作用,高效的提醒患者 去往医院就医,有效的保护患者的生命健康安全。心律不齐的重要表现便是异常 心电信号的出现。由此,基于智能识别算法全自动捕捉患者的异常心电信号逐渐 成为学界的重要研究方向之一。经验丰富的心脏内科医生可通过观察心电图得到 患者的心脏状况,而在心电信号智能识别领域,由于不同患者心电信号的多样性, 甚至是相同患者不同时间测到的心电信号都是多样的,这对心电信号的自动识别 构成了巨大的挑战。

4.1传统的基于神经网络的心电智能识别算法

关于心电信号的自动分类识别技术,现存的分类算法的主要有两种,一种是 先进行预处理,完成特征提取,之后将特征送入分类器完成识别。另一种方案就 是直接将采集到的原始波形只进行非常简单的预处理之后直接送入神经网络,由 神经网络自己提取特征完成识别。

4.1.1基于人工特征提取的心电智能识别算法

传统的心电信号波形的自动分类技术从使用的分类原理上来看,首先出现的 基于人工特征提取的心电智能识别算法,其中较有代表性为模板匹配,结构描 述[26,27]等方法。模板匹配法的原理在于使用事先生成好的模板与检测到的心电 信号进行匹配比较,判断正常异常。这类方法的可解释性通常比较强,易于理解, 但是由于心电信号的形态学特征比较复杂,不同的人或者是相同的人不同的时间, 采集到的心电信号均存在差异,这使得该类方法的泛化能力较差,极容易出现过 拟合的问题,如果仅仅依靠几个简单人工特征,几乎无法解决识别问题,而且这 种方法对于噪声也十分的敏感。

后来出现了基于特征的分类算法,这种算法是通过在分类器之前加入特征提 取模块,即特征工程,然后把特征传入分类器进行判断这类心电分类算法通常较 为灵活,可以选择的特征数量较多,也可以使用不同的分类器进行组合。相对于 前一类方法,这类方法具有较高的准确率,但它的这种方案有局限性在于:首先

在于,就算是相同的病人在不同的阶段,其心电图都是有变化的,如果单纯依赖 特征工程提取既定的这些特征,可能降低整套算法的泛化能力。特征工程本身可 能需要很复杂的结构,因为不同的方法采取不同的特征提取方式,如果提取的特 征较为简单则无法得到较高的准确率。如果特征很复杂且数量很大,则需要非常 大的运算量,甚至无法在便携式设备中实现。

4.1.2基于端到端神经网络的心电智能识别算法

目前最先进的方法是端到端(end-to-end)的结构,这种结构依赖机器学习算法, 直接将原始的波形信号经过非常简单的预处理送入神经网络,由神经网络提取特 征,完成最后的识别任务。这种方案通过训练,让网络全自动的提取特征,规避了 很多人的主观判断带来的错误特征,这样使得整个模型拥有更强的泛化能力。这 种结构虽然能带来更高的准确度,但是其计算复杂度高,计算量大,这也需要很 大的功耗。下面来介绍一下适用于心电信号处理的典型的一维卷积神经网络的实 现,如图4・1所示。

一维卷积操作的示意图如图4・2所示,卷积操作实际上就是将对应位置的数相 乘之后相加,这样就得到了一个输出值,多个卷积核与相同的输入做卷积操作之 后,将会得到多个输出值,将这些输出值相加之后,加上偏置后,便是输出的特 征图的一个点,其中卷积核的长度便是感受野的大小,大的感受野应用范围更广, 小的感受野更加细节,由于生理信号时间的相关程度较高,所以大的卷积核长度 效果往往更好。
一维卷积。

  1. 激活函数

激活函数(Activition Functions)本质是一种应用在神经网络中的特殊函数,它 将神经元输入映射到非线性空间。神经网络中使用的激活函数一般都是非线性的, 从而使得神经网络拥有拟合非线性空间的能力,这有助于网络找到更加高级的特 征。将原始心电信号送入网络中,通过卷积过程提取特征,再经过激活函数处理 后传导到下一层。在生物意义上的神经元中,只有通过树突传递进来的生物信号 达到某一特定的条件的时候,神经元才会被激活把信号传递到下一神经元。所以 激活函数功能在于可以对神经元输出的判定和再加工,在数学中意义就是提供非 线性拟合能力。只有达到一定的激活条件,该神经元的输出才会被继续传递给下 层网络,若是没有达到相对应的激活条件则使该神经元的输出置0即不会被激活, 也存在一些激活函数会把这些值非线性缩小到0值附近。所以一般情况,激活函 数会被安排在卷积层的后面,使卷积层的输出可以被映射到非线性高维空间,激 活函数如公式4・1所示。

/(x) = max (0,x) (4-1)

  1. 池化

池化(Pooling)是卷积神经网络减小运算量,增强模型泛化能力的重要手段, 一般情况下,大部分模型会将池化层放在卷积层之后,所以池化层的处理对象都是 经卷积层提取出的特征图,在基本处理规则方面池化操作与卷积操作类似,也是 控制一个窗口在处理对象上进行滑动,按一定规则取操作区域的数据集的特定值。 如图4・3所示为一维池化操作,使用池化层可以筛选出特征图中最有代表性的特征, 减小特征图的尺寸,并且有着扩大感受野范围的功能。最大池化(Maxpooling)和 均值池化(Averagepooling)是卷积神经网络最常用的池化函数。最大池化可用公 式4・2表示,其操作原理为取得连续区域内的最大值。均值池化可用公式4・3表示, 其操作原理在于取得连续区域内特征的均值。

(4-3)(4-2)

  1. 全连接

全连接层(FC,Fully Connected) 一般作为网络的最后几层出现,对前面的层提 取的特征做加权融合,一般经过多个全连接层逐层过渡到输出层,在整个卷积神 经网络中起到类似分器的作用。全连接的核心操作就是矩阵向量乘积,本质就 是由一个特征空间线性变换到另一个特征空间。

4.2事件驱动神经网络智能识别算法
卷积层的作用主要是提取特征,而全连接层的作用是将这些来自卷积层的特 征进行整合,将高维信息转化为低维信息,保留有用的信息后,做最后的汇总,得 到分类器的判断结果。

在这项工作中,本文提出了两种方法来减少可穿戴智能ECG监测设备的功 耗。第一种是事件驱动型神经网络(Event-Driven Neural Network,EDNN)的端到端 智能识别方法,第二种是基于智能识别的自适应压缩方法。这些方法有助于降低 处理功耗和传输功耗,同时保持较高的分类精度和压缩比(Compress Ratio,CR)o

提出的系统架构如图4・5所示。

4.2.1事件驱动型神经网络

在这项工作中,本文首先提出了一种基于EDNN的端到端智能ECG诊断新 方法。如前所述,根据AAMI标准0],心跳可分为5种类型,包括N, S, V, F, Q,其中N表示正常心跳,S, V, F, Q表示异常心跳。如图4・1所示,常规的端到 端分类使用单级神经网络进行分类。每种心跳类型的分类都需要计算整个神经网 络。但是,在ECG信号中,超过90%的心跳是正常心跳,极少出现异常心跳,这 可以从MITBIH心律失常数据库(MITDB)记录的心跳类型的汇总表中看到㈤】。因 此,在大多数情况下,激活整个单级神经网络以对每个心跳进行分类会导致运算 功耗和运算时间的浪费。根据这一特点,本文为高性能神经网络的激活设计了事 件,将较小的网络用于心跳大致类型的分类,这种心跳类型的发生频率更高,以 节省计算量。出于这一考虑,本文设计了 EDNN其分为两个阶段,以降低计算复 杂度,从而降低端到端分类的运算功耗。如图4・5所示,第一阶段的神经网络是一 个小型多层感知器(MLP)网络,用于仅对正常和异常心跳进行分类。然后,被分 类为异常的心跳将会触发异常事件从而被将被发送到第二阶段,该阶段是卷积神 经网络(CNN),用于进一步分类(即S, V, F和Q)。MLP的计算复杂度远低于 CNN,因为它仅用于对正常和异常进行分类。由于正常的心跳比异常的心跳更频
繁地发生,因此大部分时间不需要激活CNN,因此与传统的端到端神经网络算法 相比,计算量就被显著的降低了。本文设计的EDNN的训练是通过分别训练MLP 阶段和CNN阶段来进行的,其网络结构如下表4・1。首先,通过将带有两类标签 (即正常和异常)的所有心律送给MLP来训练MLP阶段。其次,将相同的心跳送 入CNN,但带有不同的标签(即N, S, V, F, Q)进行训练。

表4-1事件驱动型神经网络结构表

层类型 尺寸 通道 参数量
输入 400*1 1 -
事件阶段:
MLP1 400*200 - 80200
MLP2 200*50 - 10050
MLP3 50*2 - 102
第二阶段:
卷积1 1*15 16 256
池化1 4*1 16 -
卷积2 1*9 32 4640
池化2 2*1 32 -
全连接1(FC1) 50*32*64 - 102464
全连接2(FC2) 64*5 - 325

4.2.2神经网络偏向性训练

EDNN的问题是MLP阶段(第一阶段事件)的分类精度可能会限制整个EDNN 的分类精度。有两种情况要考虑。在MLP阶段,如果正常的心跳被错误地分类为 异常,则仍有机会被CNN阶段纠正。但是,如果将异常心跳错误地分类为正常, 则不会将其发送到CNN阶段,这将导致分类错误。为了最大程度地减少由于该问 题导致的准确率损失,我们提出了一种偏向性训练方法(Biased Training?BT)o偏向 性训练的基本思想是对MLP阶段的训练过程施加偏向性系数,以便将较少的异常 心跳归为正常心跳,而允许将更多的正常心跳归为异常心跳。这可以通过修改用 于反向传播训练算法(BP算法)的交叉爛损失函数来实现。详细方法如下:

公式4・4给出了用于MLP训练的损失函数,其中尹⑺是第i个样本的标签值,

°⑺是第7•个样本的输出值,〃是样本总数,炉是权重。

丿(旳=—± A⑺In (卩⑺)+ (1 —尹⑺)山(1 —卩⑺)) (4-4)

i=l

为了实现偏向性训练,我们在损失函数上增加一个偏向性系数加,得到4・5:

丿(%) = — f A⑺山(卩⑺)*m+ (1 -j(z))ln(l (4-5)

i=l

在训练过程中,损失函数的第一项乘以m会变得更大。因此,训练过程将倾向于 使第一项最小化,从而使分类结果偏向于异常。这将减少将异常心律归为正常心 律的可能性。同时,这也会增加将正常心律归为异常心律的机会。但是,后者对 整体精度的影响可以忽略不计,因为大多数错误可以通过后续的CNN阶段进行纠 正。结果,它几乎消除第一阶段MLP 7对整个EDNN的限制。

4.3基于智能识别的自适应心电压缩算法

传统的心电信号(ECG)压缩方案可分为有损压缩和无损压缩。比如变换域 的压缩算法比较好,JiaLiMa使用自适应傅里叶分解和符号置换进行压缩曲, SangJoonLee通过检测不同的ECG数据的峰值,然后在数据流的当前峰值和先前 峰值之间执行DCT,实现实时压缩⑶,Cheng-Tung Ku使用一维可逆舍入非递归 离散周期小波变换来克服了字长增长的影响[29】。M Pallavi使用经验模态分解也取 得了很好的效果卩切,Hossein Mamaghanian通过压缩感知的方式,Jeevan K.Pant通 过最小化信号一阶和二阶差分混合伪范数改进了压缩感知,二者都取得了很好的 压缩效果国。这些方法虽然达到了较高的压缩比,但是临床医学的特殊要求使得 重要的异常心电数据必须采用无损压缩,以保证重构的心电波形能完整地保留原 有的波、波群、波的特征。因此,心电压缩技术首先以可信度作为前提,因此不能 采用单纯的有损压缩方案,因为这样可能会把医生需要的关键信息处理掉了。所 以这些有损压缩方案永远无法在保持着较高的均方差值百分比(PRD)的情况下, 还能提高CR,这将导致系统的整体功耗依旧无法下降。单纯的无损压缩方案,通 常是通过在设备内部添加有损压缩的重建结构,在本地恢复出一个有损重建的信 号,然后取得和原信号之间的残差,分开传输。或者是直接调低有损压缩的CR, 达到令人满意的PRD之后传输,来达到一个近无损压缩的目的。总的来讲,有 损和无损各有各的优点和缺点,最好是能将二者结合起来,既保证重要信息不丢 失,又达到较好的压缩比。而上述这些方案并没有考虑到来自智能识别的重要信 息,也就是异常心拍信息,所以不能十分灵活的处理异常心拍。

一般而言,有损压缩方案能够以信号质量为代价获得较高的压缩比(CR),而 无损压缩方案会以CR为代价牺牲信号质量。为了利用智能诊断并结合有损和无 损压缩的优点,本文为可穿戴式智能ECG监测设计出了一种基于诊断的自适应压 缩方案。该方案背后的原理在于,与正常的心跳相比,医生通常对异常的心跳更 感兴趣。凭借智能诊断功能,本文可以通过无损压缩来压缩异常心跳,并通过有 损压缩来压缩正常心跳。由于异常心跳的次数通常比正常心跳的次数少得多,因 此这将显着提高CR,同时保留异常心跳的全部信息以供医生以后进行分析。为 了证明提出的基于诊断的压缩方案,在本设计中,我们选择FAN算法作为基本压 缩算法,因为它已被证明能够保证低复杂度高硬件亲和力的同时,维持良好的性 能阴。如图4・6所示,我们将ECG信号(ECG-Signal)发送到有损压缩模块,首先 获得有损压缩信号。然后,如果检测到正常的心跳,则有损压缩信号将直接发送 出去。如果检测到异常心跳,则激活有损压缩解压模块,并通过减法器计算解压 缩的ECG信号与原始ECG信号之间的残差。残差值将与有损压缩信号通过发送 器模块一起发送出去,以便可以在接收器侧无损地恢复ECG信号。这样,对于智 能诊断模式和仅记录模式,使用有损压缩来压缩正常心跳,而使用无损压缩来压 缩异常心跳。在这种基于诊断的自适应压缩方案中,可以将FAN压缩算法替换为 任何其他压缩算法,并且效果相似。所提出的自适应压缩方案能够显着降低传输 功率消耗,并联合所提出的EDNN方法,以实现整个系统的低功耗。

图4・6自适应压缩结构图

自适应压缩系统可以使用带有无损压缩功能的压缩算法,以FAN算法为例, 其作为一种基于拐点的压缩算法,无需在程序执行过程中存储最后一个发送点和 当前点之间的所有实际数据点。此外,它在起点和终点之间绘制了尽可能长的线, 以便所有中间样本均在指定的误差容限内。

Sample Index

图4-7 Fan算法原理示意图

Fan方法的图示如图4・7 Ml所示,Keep代表保留的点,Eliminate代表丢弃的 点。Fan算法通过将第一个数据点S1作为接受并作为原点开始。在起始点和下一 个样本之间加上指定的阈值,绘制了两条斜率(Ul, L1)直线。一个上斜率U1通 过一个比第二个采样点S2值大一个阈值 的点来绘制,而另一个下斜率L1通过一 个小于第二个采样点S2值一个阈值的点来绘制。如果第三采样点S3落在两个 斜率直线所限定的区域内,则在起始点与大于第三采样点之间计算新的斜率直线 (U2, L2)o将这些新的斜率直线(U2, L2)与先前存储的斜率直线(Ul, L1)进行比 较,并且保留最收敛的斜率直线(Ul, L2)o重复该过程,从而将将来的样本值与 最收敛的斜率的值进行比较。每当样本值落在收敛斜率所限制的区域之外时,该 样本点之前的样本将保存为下一个永久样本。此采样点也将成为新的原始点,并 且算法将重复。

4.4实验结果对比与分析

4.4.1心电信号智能识别算法准确率分析

在实验中,我们将MITBIH心律不齐数据库㈤]中随机抽取50%的数据用作 训练数据,其余50%用作测试数据。EDNN的详细参数显示在表4・1中,包括MLP 阶段和CNN阶段。在训练过程中,偏向训练用于MLP阶段,而传统的:BP训练用 于CNN阶段。首先介绍我们的算法性能指标,在公式4・6,公式4・7,公式4・8,公 式4・9,公式4・10中,TP表示真阳性,FN表示假阴性,FP表示假阳性,TN表示真阴性。Acc表示准确性,Spe表示特异性,Sen表示灵敏度,Ppr表示精确率。

表4・2比较了所提出的方法(EDNN和其搭配的:BT)的分类准确性,基础版 (Base)以及一些最新(State-of-art)方法的分类准确性。基础版代表的是端到端方法 的单阶段CNN,既我们的第二级CNN网络。为了公平地比较,在设计过程中,我 们首先通过优化单阶段CNN来获得基础版,以实现高精度,然后基于基础版的 结构来构建我们的EDNN。从表4・2可以看出,基础版具有比其他最新技术更高的 分类准确性,这表明我们的优化是有效的。所提出的使用了:BT(偏向性训练)的 EDNN具有第二高的精度,该精度略低于基础版,但它可显着降低运算复杂度并因 此降低功耗,这将在本节下一部分中详细讨论。最后一列代表未使用偏向性训练 的EDNN达到的效果,关于偏向性训练的效果,将在下节进行详细的介绍。同时 我们还研究了心室异位搏动和室上性异位搏动的分类性能(Acc, Sen, Spe, Ppr), 其中VEE指室性异位心律,而SVEB指室上性异位心律0]。女口4・2所示,与大多 数比较工作相比,我们提出的EDNN具有更高的VEB和SVEB分类性能。

表4-2 EDNN与其他State-of-art算法准确率对比表

  TBME

2015 [14]

TBME

2017[31]

TBME

2017 [32]

EMBC

2018 [33]

ACCESS

2019 [34]

Base EDNN w/o BT EDNN w/BT
VEB Acc 99 - 9&9 99.6 99.9 99.1 9&8 99.1
Sen 93.9 4&6 88 9&8 99.6 92.8 85.6 91.8
Spe 9&9 93.6 9&9 99.6 99.9 99.6 99.8 99.6
Ppr 90.6 - 92.6 95.5 9&9 94.3 96.8 95.3
SVEB Acc 97.6 - 99.4 99.1 99.3 99.5 99 99.4
Sen 60.3 13.6 85.5 92.7 99.1 88 60 79.5
Spe 99.2 100 99.4 99.3 99.8 99.8 99.9 99.9
Ppr 63.5 - 92.3 80.2 97.2 94.1 97.9 96.3
Overall

Accuracy

96.5* 92 95 - - 98.6 97.6 9&4

:该值是通过文章网所提供的混淆矩阵得出。

4.4.2心电信号智能识别算法运算量与功耗分析

与现有方法相比,所提出的EDNN方法能够降低计算复杂度并因此降低功耗, 同时保持较高的分类精度。为了估算功耗,我们根据乘法和加法的数量计算了所 提出方法的计算复杂度,如表4・3所示,我们首先分别计算MLP和CNN阶段的 复杂度,然后将CNN部分乘以异常心律的比率(通过将所设计的EDNN应用于 MIT-BIH心律失常数据库,约为90%),以获得有效的总计算复杂度,其中MLP 代表第一级的事件,CNN代表第二级神经网络。

表4-3 EDNN运算量表

  MLP CNN
卷积 全连接  
参数量 90352 4896 102789 107685
乘法次数 90100 556800 102720 659520
加法次数 90100 556800 102720 659520

表4-4 EDNN与其他State-of-art算法运算量对比表

  TBME

2015 [14]

MEMEA

2018 [35]

EMBC

2018 [33]

ACCESS

2019 [34]

基础版 EDNN
乘法次数 929650* 12718080* 3244023812* 1289312* 659520 156052
加法器 929650* 12718080* 3244023812* 1289312* 659520 156052
神经网络输入 512 720 1805 200 400 400
卷积层数量 3 31 6 2 2 2
卷积核数量 64 31 768 96 48 48
全连接层数量 2 1 2 2 2 5
* :该值是通过文章Z33-35]所提供白勺 1网络结构得出。

在表4・4中,将所提出的EDNN方法的计算复杂度与我们的基础版和最新方 法进行了比较。为了公平地比较,仅比较具有相似准确性的方法(即[14] [35] [33] [34], 基础版和表V中提出的方法)。注意,对于现有技术,由于没有给出详细的预处理 算法,因此计算复杂度不包括预处理部分(去噪和R峰检测)。因此,现有技术方 法的计算复杂度仅包括神经网络智能识别部分,从表4・4中可以看出,该方法的运 算复杂度在比较工作中最低。

4.4.3偏向性训练性能分析
我们可以基于典型的每乘加法(MAC)能耗来估计所提出方法的功耗。根据文 献㈤],对于神经网络处理器,每个MAC的能耗约为6.84x10-6 mJo假设所设计的 ECG监视设备具有12条导线(通道),则估计功耗将约为6.84x10-6x1.64x105x12 二13.4 mWo表4・5比较了该方法与几种商用ECG智能监测设备的估计功耗3-38]。 由于商用产品的功耗还包括其他模块,例如触摸屏,模拟前端和ADC,为了公平 比较,我们从商用产品的总功耗中减去了这些模块的典型功耗,以获得仅用于处 理的功耗。根据Ho,",触摸屏(占20%占空比为70 mW)和模拟前端+ ADC (17 mW)的典型功耗约为87 mW,可从触摸屏的总功耗中扣除。商业产品。如表4・5所 示,所提出的方法的处理功耗远低于所比较的商业产品。对于建议的方法,如果 包括触摸屏,模拟前端和ADC的功耗,则估计的总功耗将约为100 mWo电池容 量为2300 mAh,可以持续66小时。所以我们的方案适用于低功耗可穿戴智能心 电监测设备。

上一节中表4・2还显示,通过偏向性训练,分类准确度从97.6%进一步提高到

98.4% o

我们实验的混淆矩阵如表4・6和表4・7所示,横排为分类结果,纵列为标签类 别,表4・6代表不加入偏向性训练,表4・7代表加入偏向性训练之后。图4・8显示了 有偏向性训练和无偏向性训练时的灵敏度。可以看出,这4种心跳类型的灵敏度 均有提高了,其中S型提高了 19.5%。作为代价,将正常心跳分类为异常的可能 性仅略微增加了 0.2% o

表4-6未使用偏向性训练的EDNN的分类混淆矩阵

  分类结果
真实类别 N S V F Q
N 39778 444 411 92 75
S 7 683 6 1 0
V 44 9 2656 27 6
F 4 0 21 252 0
Q 3 1 8 0 3782

在损失函数中,随着ni的增加,所提出的EDNN的准确性将提高,如图4・9所 示。原因在于,随着ni的增加,第一阶段MLP的分类结果将更加偏向于异常。这 将减少在第一个MLP阶段将异常心跳分类为正常的错误,并提高所设计的EDNN 的总体准确率。

表4-7使用偏向性训练的EDNN的分类混淆矩阵

  分类结果
真实类别 N S V F Q
N 39699 221 215 64 42
S 29 905 5 0 0
V 93 6 2848 34 7
F 10 0 21 274 0
Q 5 5 13 0 3814

■无偏向性训练 ■有偏向性训练

+0.8% -0.2%

图4-8偏向性训练效果示意图

尽管其他类型的错误(正常心跳被分类为异常的情况)增加了,但是可以在 CNN的第二阶段进行纠正,因此不会影响总准确性。

因此,较大的m是更有效果的。但是,随着m的增加,更多正常的心跳被分 类为异常,并传递到第二阶段CNN阶段以进行进一步处理,如图4・10所示。因此, 第二阶段CNN阶段被更频繁地激活,这将增加功耗。考虑到以上两个因素,我们 需要选择一个ni值以在精度和功耗之间取得很好的平衡。我们绘制了 m与所提 出的EDNN的精度之间的关系。在图8中可以看到,当m达到某个值(即m = 6) 时,由于第二阶段CNN阶段的精度限制,所设计的EDNN的精度开始饱和。因
此,我们决定选择m = 6以获得较高的分类准确率,同时保持低功耗。

98.5%

98.0%

97.0%

96.0%

95.0%

94.0%图4・11显示了使用提出的基于诊断的自适应压缩方法压缩的ECG波形,N代 表正常,V代表异常(VEB)O根据心电信号智能识别结构,使用有损压缩来压缩异 常心跳,而使用无损压缩来压缩正常心跳。图中还给出了未压缩之前的原始心电 信号以进行比较,从图中可以看出,压缩的心电信号和原始心电信号,波形之间 的差异可以忽略不计。
4.4.4基于智能识别的自适应心电压缩算法性能分析原始心电信号

表4・8比较了针对来自MIT-BIH心律失常数据库的不同ECG信号。基于诊断 的自适应压缩的CR与无损压缩(FAN算法)的CR。与无损压缩相比,CR最高提 升了 4.69倍,这将按比例的减少发射功率的消耗。

表4-8压缩性能表

记录编号 PRD 有损CR 无损CR 总CR CR提升(倍数)
100 5.2% &4 2 8.28 4.14
101 7.7% 9.1 2.1 9.08 4.32
103 7.4% &7 2 8.69 4.34
105 8.4% 10 2.1 9.85 4.69
106 9.9% 9.7 2.2 7.77 3.53
108 9% 8.8 2 8.65 4.32
119 5% 10.1 2.2 8.33 3.78

4.5本章小结

本章详细的阐述了基于事件驱动神经网络的心电识别算法及其搭配的偏向性 的训练方法,着重介绍了其算法的原理与技术指标,对比心电识别领域其他作者 的工作,展现出了所设计的系统在降低运算量,也就是降低智能识别功耗上的优 势。之后介绍了基于智能识别的自适应压缩方式,介绍了硬件亲和度高的FAN压 缩算法,给出压缩之后的波形及压缩比,展示了算法结合了有损压缩和无损压缩 方式,降低传输功耗上的优势。

第五章 基于事件驱动神经网络的心电信号识别硬件设计

如果将心电信号传感器采集的数据直接上传至云端,对心电信号进行处理与 智能识别,会出现网络波动的风险,难以保证系统的实时性和用户数据的隐私性, 由此我们在FPGA Xilinx Artix-7上实现了整套硬件系统,其中包含能够支持本地 运算的心电信号智能识别处理器。这一心电信号智能处理器满足了神经网络的算 力需求,使我们整套系统能实时地运行在本地,考虑实际的工程需求,算法需要 不断的迭代升级,神经网络的结构随时都会更新变化,因此我们对硬件架构进行 了可重构设计的调整。最终所设计的一款可编程人工智能处理器不仅可以在低成 本、低功耗的条件可以取得较高的运算能力,同时该款心电信号人工智能处理器 可以根据不同用户指令灵活配置成不同的网络架构,满足不同应用场景需求。

5.1总体硬件架构

整个硬件系统在FPGA上完成搭建,该处理器架构如下图5・1所示。

图5-1整体系统硬件框架

首先原始心电信号进入除噪模块(1),完成除噪后进入数据缓存模块(2)。该架 构采用两阶段数据传输模式,先用数据缓存模块缓存实时传入的生理信号,同时 对信号进行分窗前的R峰检测预处理,当R峰检测模块(3)计算出心跳信号峰值位 置时,便可得出分窗位置,此时窗内后一半数据还未到达,所以数据送入神经网络 可分为两个阶段,第一阶段在预处理模块得到分窗位置后从缓存中一次性读入之 前存好的峰前一半窗的数据,第二阶段直接实时接收峰后一半窗的数据,而不是 继续等缓存存完后半窗再从缓存中读数,从而节省了后一半窗数据从缓存读入神 经网络智能处理模块(4)内部缓存的功耗。在凑齐一窗数据后,数据就已经进入了 神经网络计算单元的内部ram中,神经网络智能处理模块(4)开始运算,完成后, 压缩模块(5)会依据判断结果,来决定使用有损压缩还是无损压缩。大规模存储交 互模块(6)为了支持超大规模网络而设计,同时也负责整套系统的初始化流程,其 原理在下文详细介绍。

5.2神经网络智能处理模块

神经网络智能处理模块设置两种模式,第一种为初始化模式,在这种模式下, 外界可以对神经网络计算模块的ins(指令),b(偏置),w(权值)进行初始化,同时整 窗数据传入神经网络计算模块也是在此模式下进行。第二种模式为神经网络智能 处理模块的计算模式,在神经网络工作模式下给出使能信号,模块便会工作,首 先对指令进行解析,之后传入地址生成模块,生成相应的地址取得数据后送入数 据计算单元进行运算,将特征图送如特征缓存之中,给下一次卷积运算备用,当 前层运算完成后会产生层完成信号(layerdown),继续解析下层指令,卷积层计算 完成后,数据会进行全连接层运算,将数据直接送入数据计算单元中计算,之后 给出判断结果。其重要单元为:

5.2.1神经网络控制单元

神经网络控制单元为系统的核心控制单元,其控制指令解析单元,地址生成 单元,负责对各运算结构传递运算所需要的参数,其状态转移图如图5・2所示。

SO:初始待机状态,等待EN信号到达之后,工作启动,进入下一状态。

S1:指令解析状态,首先从RAM里读取用户预存好的指令,之后逐条解析, 可以得到运算需要使用的参数,例如当前层的类型,卷积核的长度,输入特征图 以及输出特征图的尺寸,读写数据量。

S2:卷积层参数配置态,用于将卷积层计算过程中所需参数,配置到相应的 寄存器中,同时准备启动运算功能。

S3:全连接层参数配置态,用于配置该全连接层计算过程中所需参数,配置 到相应的寄存器中,同时准备启动运算功能。

S4:卷积层运算态,通过预先配置的参数,从神经网络模块内部特征缓存中读 取数据,同时从权值RAM中读取权值送入PE中进行计算。

S5:全连接层运算态,开始该层全连接向量运算,从神经网络模块内部特征 缓存中读取数据,同时从权值RAM中读取权值送入PE中进行计算,此处的权值 地址生成单元,和特征地址生成单元不相同。

S6:中转数据等待态,读数据已经读空,判断是否为最后一层,若非最后一 层则跳转到指令解析态,否则跳入分类态。

S7:分类态,将全连接层输出结果进行比较,计算结果较大的被认为是此次 运算的分类结果,分类完成后跳转到初始待机状态,等待下一次启动。

5.2.2神经网络指令解析单元

表5・1指令表

位宽 描述
3bit 步长
8bit 输入通道数
8bit 输出通道数
8bit 卷积核大小
lbit 是否使用激活函数
12bit 输入尺寸
12bit 输出尺寸
4bit 池化尺寸
lbit 是否为最后一层
lbit 当前层类型

负责将读入的指令解析,从指令中可以得知当前层的输入特征图(Featuremap) 大小,数量,卷积核大小,步长,池化尺寸,输出特征图大小等重要网络计算参 数,同时确认当前层是否为最后一层,其指令表5・1,由表可知,该神经网络智能 处理模块最大支持8的步长,256的输入输出通道数,16的池化尺寸。

5.2.3神经网络内部特征缓存单元

该内部缓存的作用在于存储输入图片和特征图(Featuremap),存储单元为双储 存架构,既Pingpangbuffer,当其中的一个处于写状态时,另一个为读状态,当前 层计算完成之后,会对调读写身份,其接受地址生成器的控制,配合其发出特征 图数据。其写入方式为串行写入单张特征图,这种写入方式与心电信号作为一维 信号的特征相契合,其特征图的存储方式如5・3。

5.2.4神经网络运算地址生成单元

分为读地址生成器和写地址生成器,写地址生成器负责计数,数据计算单元 的计算结果,根据预先配置好的输出图片大小和数量与生成相应的写地址,驱动 神经网络计算模块内部的特征缓存,存储特征图。读地址生成器同时包括权值读 地址生成器和特征图读地址生成器。特征图读地址生成器会对当前层模式进行区

图5・3特征图数据排布示意图

分,若是卷积层计算,在第一张特征图写入结束之后,会重新返回上次读地址的位 置,重新读出原有的特征图与新的权值进行卷积操作,直到当前卷积层运算结束。 而当前层为全连接层,特征图的读地址生成器会顺序读出,并不会返回,其原因 在于全连接层的特征都只会对应一个权值进行全连接操作。读地址生成器需要产 生权值的读地址,以及Feature的读地址,同时在地址读空后,需要产生Para-req 信号来告知大规模存储交互模块将权值送入。外部存储 交互单元

图5-4交互模块结构示意图

5.2.5神经网络大规模存储交互单元

该模块有两项主要功能,第一是负责对insbw做初始化操作,其工作流程 为,初始化阶段系统整体并未使能,首先交互模块从外界获取需要配置的参数量, 之后交互模块将ins, b, w依次从外界RAM搬入内部RAM完成初始化操作。当 需要进行超大规模网络运算的时候,首先将系统的RAM填满,之后当网络运算 到RAM内数据读取完成后,会发出Para-req信号,交互模块便会通过门控时钟 (Clk-en)的方式将神经网络计算模块的时钟暂停,开始将外界大规模存储器中的数 据搬运到神经网络计算模块内部权值存储RAM中,在传送的过程中对于神经网 络计算模块就像时间暂停,之后再将时钟恢复,神经网络计算模块继续读取权值 存储RAM中的数据进行计算。

5.2.6神经网络数据计算单元

神经网络数据计算单元(Data Calculation Unit, DCU)包含PE模块(Processing Element),池化模块,激活函数模块(Relu)以及图累加模块。数据计算单元主要由 一些乘加器与比较器构成,其架构如图5・5所示。

图5-5 DCU内部组成示意图

  1. PE单元

PE单元是神经网络处理器核心数据计算单元,其任务是将特征值和权值进行 卷积运算,工作方式为,利用乘法器对输入值相乘后进行累加之后输出,其内设 计了 25个乘法器和5个加法器,由此最大支持最长为25的一维卷积核,乘法器 与加法器连接,加法器完成卷积核内部累加运算。设计5个加法器的原因在于此 处为流水线结构,分四组分别相加之后,在最后一个加法器汇总,若直接将25个 操作数相加,会使数据的传播路径过长,限制整个系统的频率。上述PE处理流程 可以很好的适应生理信号处理器低功耗低资源的要求。

  1. 池化单元

池化单元内部包含比较器,由于使用了最大值池化,其会对输入的数据根据 池化的尺寸取其中的最大值,并输出。

  1. 激活函数单元

激活函数采用RELU激活函数,其内部拥有一个比较器,通过比较当前值是 否大于0,若大于0,则将当前值直接输出,若小于0,就将0直接输出,该计算 原理可有relu激活函数的公式4・1得知。

  1. 图累加单元

图累加单元的作用在于将来自不同卷积核的特征图进行汇总,在卷积模式下, 每张输出的特征图都与前层的所有特征图有关,所以计算过程中,每当一个卷积 核与上一层特征图生成的特征图中间量都会进入图累加模块进行缓存,其内部 拥有一块图累加BRAM(BlockRam),当前层的下一张特征图中间量进入图累加模 块,就会从图累加BRAM中取走上次的特征图进行加和。由于是PE给出的数据 是串行到来的,当对应点的相加操作,将结果重新放入图累加BRAM的相同位置 上,通过计数器,当得知这是最后一张特征图中间量之后,图累加模块会将最后 一张特征图中间量与之前已经存在图累加BRAM里的特征图中间量加和,相加之 后直接输出,由此产生了一张新的输出特征图。这种特征图的输出方式可以有效 的避免前层特征图反复读取消耗的功耗,其代价为一块小的图累加BRAM,这块 BRAM的尺寸仅仅需要大于单张特征图的大小。

5.3心电信号数据缓存模块

心电信号数据缓存模块的功能在于缓存即将送入神经网络计算模块的数据, 不同于神经网络计算模块的内部缓存,其在神经网络计算模块工作时依旧可以存 入数据,同时其数据也可供压缩模块读取,向外发送。其接收R峰检测模块的控 制,当R峰检测模块发送当前点为R峰信号的时候,数据缓存模块会先将当前窗 数据的前半段送入神经网络计算模块的内部特征缓存,同时将当前窗的首地址传 送给数据压缩模块,数据压缩模块会在神经网络计算单元完成判断之后来读取数 据,压缩后发送,完成上述操作后继续接收后续滤波之后的单点信号。

5.4心电信号除噪模块

心电信号除噪模块,其内部为一个FIR滤波器,该带通滤波器的通带为 0.5hz-45hz,直接由matlab生成滤波器系数,通过外部初始化操作写入模块的滤波 器系数缓存中,支持最大200阶的FIR。其内部包含10个加法器和一个加法器以 及两块BRAM,每当数据送入除噪模块,会先存入数据缓存,之后计算流程为每 次读出相对应的滤波器系数和数据进行乘法操作产生乘法结果,送入加法器,之
后等待下次进入的乘法结果完成加法操作进行循环,当达到预先配置好的阶数后, 会输出滤波之后的结果。

5.5心电信号R峰检测模块

神经网络算法只能接收定长数据,所以本文以R峰为标志分割心拍形成一窗 一窗的数据送给神经网络计算单元进行处理,在实现软件R峰检测的研究过程中, 一个经典的算法实现框架一直受到众多算法的青睐,这便是Pan-tompkins算法。我 们将其实现在硬件之中,实现过程可以将其分为三个部分。第一部分是预处理,由 滤波器构成,第二部分是通过有限状态机实现峰值检测,第三个部分是中值阈值 的产生。具体过程如图5・6所示:

5.5.1预处理单元
图5-6 R峰检测流程示意图

该部分的主要任务是排除干扰信号对R峰值检测的干扰,采用多个滤波器滤 除不需要的信号信息。对应上图的预处理部分,依次对应低通滤波器和一个高通 滤波器,导数滤波器,平方模块。

5.5.2峰值检测单元

对于由预处理部分输出的时间平均信号,在这一部分,通过使用有限状态机

来检测其峰值和峰值位置。该有限状态机的实现如图5・7所示:

8个峰值
的中值

图5-7峰值检测单元状态机示意图

正如上述所描述的,当时间平均信号开始输入有限状态机,采样值对比中值 阈值Thl,由先前检测到的8个峰值的中值产生的阈值,当出现一个采样值大于 中值阈值Thl时,其后的采样值开始相互对比,找到最大值并记录其位置。经过 一段时间后,采样值开始减小,当出现一个采样值小于记录的最大值时,宣布记 录的最大值即为新产生的峰值,并将其输入给中值模块,计算新的中值作为下一 次检测的新阈值。同时,在检测到新峰值后,设置一个200ms的不应期用于排除 T波对峰值检测的干扰。当然,在检测过程中,也会出现一些意外情况,当上一次 峰值检测完成后,在上一次峰值检测间隔的166范围时间内,没有检测到有新的 峰值出现,在这种情况下,就需要对这段时间间隔内的采样值进行重新检测,将 其中的最大值作为新的峰值,以及保留其相应的位置作为峰值位置,这被称为回 检测,使用的阈值为Th2。这是为了保障不会丢失峰值信息所做的预防手段。

5.5.3中值阈值产生单元

对于在峰值检测过程中采用的中值阈值(Thl),在接下也是用有限状态机实 现,如图5・7所示:

图5-8中值检测状态机示意图

在峰值检测过程中,当检测到一个新的峰值后,将其输出给中值模块用计算 新的阈值。在模块中,需要准备两组8个16位寄存器分别用于存储和排序。先需 要等待到存入8个峰值,按到达顺序存入第一组寄存器,然后将其在第二组寄存 器中进行排序,计算其中值并输出作为下一次峰值检测的新阈值。当新产生一个 峰值输入,进入删除模块,首先使用第一组寄存器中存储的最旧的峰值比较第二 组寄存器中排序好的峰值,将其中最旧的峰值去掉,并将其后的所有峰值前移一 个寄存器。然后再删除第一组寄存器中的最旧的峰值,然后将剩下的所有峰值前 移一个寄存器。然后进入加和模块中,将新产生的峰值存入第一组寄存器中空出 的位置。然后再将新峰值于第二组寄存器中排序好的峰值进行逐一对比,将其按 序排入其中,产生一个新的中值序列。最后进入中值模块,计算其中值并输出作 为下一次峰值检测的新阈值Thl, Th2是Thl的一半,在一段时间未发现R峰后, 使用Th2回检测。

5.6心电信号自适应压缩模块

原始数据经过有损压缩模块进行压缩,如果根据神经网络计算模块的判断结 果需要无损压缩的信号,系统也会在本地进行有损压缩的解压缩模块,这样经过 减法器与原始信号相减得到残差信号,将残差信号同时传出就可以实现无损压缩。 由于残差信号是正常信号幅度值的百分之二以内,所以残差信号使用的位宽更小, 由此输出有损压缩数据和残差信号的位宽不同。

Fan压缩算法的实现在一个有限状态机下进行。

SO: IDLE态,待机状态,当使能EN信号启动跳转到下一状态,否则保持原o

S1:初始化当前点,可暂停依据在于有没有下一点数据

超过阈值,重新初始化

图5-9压缩模块内部状态机示意图

S2:下一点到来后初始化,初始化上阈值与下阈值。

S3:判断下一点到来后是否超过上阈值和下阈值,并且更新最新的阈值。

S4:如果超过最大设置线长或超过阈值,回到S1态。否则回到S3态。

图5-10 AD8232采集套件

5.7心电信号采集模块

AD8232是一款用于心电信号采集的模拟采样前端M2】,其包含除噪功能,可 以在有噪环境下提取出微弱的生物电信号,该器件曾获最佳电子产品设计奖以及 EDN百款热门产品奖。本文使用网上购买的AD8232心电采集套件,如图5・10所 示,包含AD8232模拟采样前端,心电导联线,心电贴。我们采集将心电贴贴到受 试者的左胸右胸以及右下腹,来采集II导联信号,与MITBIH数据库对患者采集 信号的方式基本一致,同时也使用了 AD7705(模数转换器)将该模拟信号转化成数 字信号。

5.8心电信号无线数据收发模块

无线数据收发模块由片上和片下两部分组成,在FPGA中实现的片上部分即 串口模块发送部分,完全采用标准的串口协议。串口是嵌入式系统的一种十分重 要的数据通信接口,其功能是作为一种处理器和串行设备间的编码转换器。当源 于CPU的数据经过串行端口发送出去时,字节数据转换为串行的位;在其接收数 据时,串行的位被转换为字节数据。在串口通信中,最关键的参数是数据位、停 止位、波特率和奇偶校验。波特率的意义是每秒钟传送的比特个数,可以用来衡 量通信的速度,数据位是用来表示是通信中实际数据位的参数,其值的设定取决 于你的要求。而当计算机发送一个信息包,典型的值是5, 7或8位;停止位用来 标识一个包的结束,并且提供主机校正时钟同步的机会。

图5・11蓝牙模块

而校验位的作用在于检查传输过程中是否出现了偏差,在常见的使用中,奇 偶校验较为常用,也可以不使用校验位。

片下部分借助蓝牙模块完成无线传输,如图5・11所示为HC-05蓝牙模块。 HC-05蓝牙串口通信模块,是基于蓝牙2.0的带EDR蓝牙协议的数传模块,采用 的封装方式为邮票孔方式,较小的尺寸能够便于客户将其部署在嵌入应用系统之 内,自带LED灯,可根据此灯来判别模块连接的状态,其无线工作频段为2.4G。 将此模块连接到微控制器的串行端口,通过以上连接使得微控制器其他设备进行 通信成为可能。此模块支持AT指令集,可以选择在主模式或者从模式下使用,因 此可以用于各种不同环境下的应用,比如,远程家电控制,智能探测车应用,数 据探测记录应用,机器人,监控系统等。总的来说,当蓝牙设备之间配对成功就 代表无线信道建立成功,为了简化设计时的思考,我们可以不考虑蓝牙模块本身 的设计原理以及内部的协议栈配置,只要配对成功后可以直接认为两个蓝牙设备 之间的串口已经接在了一起,一方发数据,另一方就能接收到,双方便建立起了 无线连接。

5.9实验结果及分析

5.9.1功能实现展示

  1. 神经网络智能处理模块(NN-top)结果,下图5・12为其仿真波形图,mode为 0的时候,神经网络智能处理模块进行初始化状态,而mode等于2的时候,神经 网络智能处理模块进行神经网络的运算处理,第一段mode为0的时间,心电信号 由外部送入后,mode置成2,系统开始进行运算,之后第二段mode为0的时刻, 神经网络智能处理模块正在进行数据的交互,图中mode在0和2之间反复切换是 以为在进行与外界权值的交互,当该心拍运算完毕,结果为nn-out,使能信号为

inferencedone。

图5-12神经网络运算过程波形图

为了证明神经网络处理器的功能,本文将卷积神经网络的输出层的五个值 (五分类)截取了出来,采取Q10量化的方式与软件模型进行比较,如图5・13至 图5-18,dout为输出结果。

图5-15卷积神经网络输出结果3波形图

7 ・ NN_top           o
> V nn_out!2:O] 0 i i
U inference_done 0        
> V mode[1:0] 2 —i        
> V ram_selI1:0] 3  
> V din[15:O] 0.193359:  
1JJ wen 0 !        
> V parameter..,req[1:i 0        
U elk 0          
* gated_clk 0   hrQmm      
3 rst_n 1   I      
M en 0   I I I    
M output_en 0   n        
> ■ doutI15:0] -0.410156 J \ -3. 2060546875
      I 丨 丨 丨I

图5-16卷积神经网络输出结果4波形图

图5-17卷积神经网络输出结果5波形图

  0 1 2 3
___L 5.21104 -2.51144 -2.15451 _ .20073 -5.401 04

图5-18卷积神经网络软件仿真结果

可以看出硬件和软件存在误差,究其原因是由于硬件是定点数Q1O的运算方 式,而软件是浮点数。

  1. 心电信号数据缓存模块结果,emmeni置高时,会向databuf存入一个数据 memdatao en-seg为接收到的R峰标志信号,seg-bios作为偏移信号,donefront为 前半段传输完成标志,seg为传输给NN内部特征缓存的信号,如图5・19展 示databuf正在传输窗的前半段给神经网络内部缓存,其中valid-nn表示数据有效 信号。

图5-19数据缓存模块传前半段窗波形图

图5・20代表数据缓存模块配合压缩模块工作,add-peak代表当前心拍的窗首地 址,add-c为压缩模块的取数据地址,outputs为压缩模块取到的数据,当压缩模 块开启压缩功能之后,会给出En-r来接管整个databuf将数据读出。

  1. 心电信号除噪模块结果,如图5・21所示,din为输入的心电信号,flr・out为 输出的除噪之后的信号,macout为计算的中间结果,本文统一使用16bit位宽的数 据做乘法和加法,心电数据为Q10量化。

7 > denosing

ii din_valid

  • y din[15:0]
  • V macoufBOiO]
  • Wfir_outl15:0]

ii fir_out_en

  • 心电信号自适应压缩模块,当神经网络智能处理模块给出判断结果后,压 缩模块去数据缓存模块搬移数据output-c,进行压缩处理,lossysigal为有损压缩 信号,而resduial为残差信号。如图5・23所示,代表模块正在进行有损压缩,此时 resduial-valid 为 0心电信号R峰检测模块,如图5・22所示,其中din为除噪之后的心电信号, 可以看出emseg为模块发现了 R峰位置,由于其内部含有比较过程,心电R峰位 置未必是当前点,所以输出seg-bios作为偏移信号,则由当前点减掉偏移,则为真 实的R峰位置。

图5・23有损压缩波形图

如图5・23所示,代表模块正在进行无损压缩,此时resduial-valid为1。

图5・24无损压缩波形图

心电信号无线数据收发模块是实质是应该串口通信,如图5・25所示,数据传 输模块在工作时,数据会并行的进入串行的输出,本文将信号拆解为个位,十位,
百位,线长(FAN算法压缩格式)。本文加入了起始位0x33,同时将每个数都化为 了相同的asicc格式,例如其中的0x31实际上代表1。图中txd为发送的数据,为 串行格式,只占用lbit。

  0                          
年 rstn 1                            
code_en 0                       1    
> din[15:0] 307                       X    
1ft data_ready 0 L   1   1   1 1   1   —1   ~\
•4 data_in[7:0] 33     X   X   7 3 3 X   X   X    
1 tx_ready 0     1   1   1 1   1   1   1
1ft txd 0   M in ■ I MLJHHL _nL_n_r __1 f ■ ■■ _J—u~ 1__■__1 _HLJH__ __1  

图5・25串口数据传输

由上述波形图可以看出整个系统可以正常工作,满足本地处理的神经网络运 算的功能需求。

5.9.2硬件资源开销

图5・25和图5・27来自vivado的布局布线后的资源使用情况。synth代表综合后 的资源使用情况,不包含ip核的资源,所以BRAM显示为0o Imp代表布局布线 后的资源使用情况,从图中可以看出,系统占用的资源比较小。

Name Constraints v 丨 Status LUT FF BRAfvls □ SP Part
y V synth_1 (active) constrs_1 synth_design Complete! 6346 4253 O.OT 26 xc7a35ticsg324-1L
<4 impl_1 constrs_1 route_design Complete! 6086 4262 28.50 26 xc7a35ticsg324-1L

图5-26资源使用情况

Utilization Post-Synthesis | Post-Im pl &m&ntati on

Graph | Table

图5-27资源使用情况示意图

5.10演示系统设计与实现

本文将整个系统布置在真人身上进行功能演示,图5・28为系统的示意图,实时 处理平台将会布置在受测者的腰间,在此之前需要将心电贴贴在人的胸前以及腹 部。系统开始工作后,会将实时处理的数据通过演示系统上的蓝牙模块传到手机 上进行展示。

图5・28演示系统示意图

图5・29和图5・30为受测者佩戴该套展示系统的效果图,受测者带了一个腰包在 腹部,用以将整个演示系统装入。

・30装入腰包内的实时处理平台

图为受试者采集到的心跳在手机APP端的心电信号实时显示效果,绿色代表 正常心跳,红色代表异常心跳,需要注意的是受试者的异常心跳是通过拍打胸部 的心电贴模仿出来的,形态比较夸张。

图5-31正常心跳

图5-32异常心跳

从上图的演示系统可以看出,该硬件满足了整个心电信号智能识别的实时性 要求。

5.11本章小结

本章系统的介绍了基于事件驱动神经网络的硬件设计过程,重点讲解了神经 网络智能处理单元的处理流程及其重要模块的设计原理,在章节的末尾给出了实 验的仿真波形图和硬件资源开销,最后给出实物的展示图,说明完成了其功能和 实时性进行了验证,为下一步低功耗智能心电识别专用处理芯片设计奠定了基础。

第六章全文总结与展望

6.1全文总结

可穿戴式智能心电监测设备可以实时进行自动异常心电识别,并在报警的同 时传输异常心电信号。这样可以使患者尽早发现心脏问题,然后提醒患者尽快前 往医院就医,保护患者的生命和财产。而现有的可穿戴智能心电信号监测方案在 心电信号识别和传输过程中都存在功耗高的问题。由此本文以心电信号智能处理 为研究背景,主要对心电信号智能识别系统进行了研究,设计了一套针对穿戴式 设备的高能效心电信号识别算法,着重于降低系统的神经网络识别处理功耗和心 电信号传输功耗。第一章和第二章首先介绍了智能心电识别的意义,和相关的背 景知识。随后第三章介绍了心电信号的预处理方法。在第四章中,详细阐述了事 件驱动神经网络结构通过事件驱动的方式,有效的减小了神经网络的激活次数, 从而有效降低了整个算法的运算量。与其搭配的偏向性训练方法,有效降低了增 加事件对于神经网络的准确率影响。之后给出的基于智能识别的自适应压缩算法, 根据心电信号智能识别的结果,有机的将有损压缩方式和无损压缩方式结合到了 一起,既大大的提升了压缩比又保留了医生感兴趣的异常心电信号。与该领域的 其他工作相比,本文提出的算法大幅降低了运算量,并且将压缩比最高提升4.69 倍,识别准确率达到98.4% ,对异常心电信号进行无损压缩。之后在第五章,详 细介绍了针对心电识别算法的专用神经网络处理系统硬件,对其功能性和实时性 都做了验证,最后还给出了系统的软件仿真波形和硬件实现展示图。

6.2后续工作展望

所提出的系统方案能够在保障高的分类精度的同时实现低功耗,但在以下方 面仍然可以继续改进。

  1. 虽然已经使用著名的MIT-BIH心律失常数据库对其进行了测试,但是为了 更好的临床应用,需要使用更多的心电数据进行更多测试,接下来,与当地医院合 作,收集更多的心电图数据,以测试所提出的方法,增强神经网络模型的泛化能 力,并根据测试结果,对其进行进一步优化。
  2. 本文仅仅是在FPGA完成了功能验证和实时性验证,所以其功耗实际上不 足以支撑其部署在可穿戴设备之中,所以将在芯片中实现整个系统,以求超低的 功耗,最终部署在可穿戴心电监测设备中。
  3. 硬件设计中,滤波器的运算方式实际上与卷积神经网络的操作十分类似都是乘法和加法操作,而且心电信号的频率非常低,只有200hz,所以可以尽可能的 复用神经网络中的乘法器和加法器完成滤波器的操作,最大限度的节省资源消耗。

致谢

三年的硕士生涯在这个季节画上了句号,三年来的求学旅途,虽然艰辛,但 也收获颇丰,这其中离不开我的师长亲友的大力支持。我最感谢的人就是我的导 师周军教授,是他对我悉心的教导,我的能力才有了逐步的提升。老师不但教我 技术,还教我做人的道理,让我整个研究生阶段有了质的改变,这段难忘的经历 会让我一生铭记。

参考文献

  • https://www.ahajournals.Org/doi/10.1161/CIR.0000000000000659
  • http://www.nccd.org.cn/
  • Lee, J. Kim, M. Lee. A real-time ecg data compression and transmission algorithm for an e-health device [J]. IEEE Transactions on Biomedical Engineering, 2011, 58(9): 2448-2455
  • S. Winokur, M. K. Delano, C. G. Sodini. A wearable cardiac monitor for long-term data acquisition and analysis [J]. IEEE Transactions on Biomedical Engineering, 2013, 60(1): 189-192
  • Hooshmand, D. Zordan, T. Melodia, et al. Surf: Subject-adaptive unsupervised ecg signal compression for wearable fitness monitors [J]. IEEE Access, 2017, 5(): 19517-19535
  • Venkatesan, P. Karthigaikumar, A. Paul, et al. Ecg signal preprocessing and svm classifierbased abnormality detection in remote healthcare applications [J]. IEEE Access, 2018, 6(): 9767- 9773
  • Minami, H. Nakajima, T. Toyoshima. Real-time discrimination of ventricular tachyarrhythmia with fburier-transform neural network [J]. IEEE Transactions on Biomedical Engineering, 1999, 46(2): 179-185
  • Garcia, G. Moreira, E. Luz, et al. Improving automatic cardiac arrhythmia classification: Joining temporal-vcg, complex networks and svm classifier[C]. 2016 International Joint Conference on Neural Networks (IJCNN), 2016, 3896-3900
  • K. Dewangan, S. P. Shukla. Ecg arrhythmia classification using discrete wavelet transform and artificial neural network[C]. 2016 IEEE International Conference on Recent Trends in Electronics, Information Communication Technology (RTEICT), 2016, 1892-1896
  • Majumdar, R. Ward. Robust greedy deep dictionary learning for ecg arrhythmia classifica- tion[C]. 2017 International Joint Conference on Neural Networks (IJCNN), 2017, 4400-4407
  • Sean shensheng Xu, Man-Wai Mak, Chi-Chung Cheung. Deep neural networks versus support vector machines for ecg arrhythmia classificationfC]. 2017 IEEE International Conference on Multimedia Expo Workshops (ICMEW), 2017, 127-132
  • Osowski, L. T. Hoai, T. Markiewic乙 Support vector machine-based expert system for reliable heartbeat recognitionfJ]. IEEE Transactions on Biomedical Engineering, 2004, 51(4): 582-589
  • Zhai, C. Tin. Automated ecg classification using dual heartbeat coupling based on convolutional neural network [J]. IEEE Access, 2018, 6(): 27465-27472
  • Kiranyaz, T. Ince, M. Gabbouj. Real-time patient-specific ecg classification by 1-d convolutional neural networks [J]. IEEE Transactions on Biomedical Engineering, 2016, 63(3): 664-675
  • Yang, L. Yu, Q. Jin, et al. Localization of origins of premature ventricular contraction by means of convolutional neural network from 12-lead ecg[J]. IEEE Transactions on Biomedical Engineering, 2018, 65(7): 1662-1671
  • Zheng, Z. Li, L. Shen, et al. Detection of qrs complexes based on biorthogonal spline waveletfC]. 2008 International Symposium on Information Science and Engineering, 2008, 502- 506
  • http://physionet.mit.edu/physiobank/database/nstdb/
  • J. Deepu, C. Heng, Y. Lian. A hybrid data compression scheme for power reduction in wireless sensors for iot[J]. IEEE Transactions on Biomedical Circuits and Systems, 2017, 11(2): 245-254
  • 萧明第,吕志前.心脏血管外科学[J].中华老年医学杂志,1999, 018(5): 281-282
  • https://www.physionet.org/physiobank/database/html/mitdbdir/tables.htm/allbeats
  • Wang. Proposed new requirements for testing and reporting performance results of arrhythmia detection algorithms[C]. Computing in Cardiology 2013, 2013, 967-970
  • LeCun, L. Bottou, Y. Bengio, et al. Gradient-based learning applied to document recogni- tion[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324
  • 赵晴,赵捷,魏珑.基于小波变换的心电信号去噪算法[J].現代生物醫學進展,2007, 7(10): 1566-1568
  • https://www.physionet.org/physiobank/database/nstdb/
  • Jiapu, T. W. J. A real time qrs detection algorithm [J]. IEEE transactions on biomedical engineering, 1985, (3): 230-236
  • Koski. Modelling ecg signals with hidden markov models [J]. Artificial intelligence in medicine, 1996, 8(5): 453-471
  • Laguna, R. Jane, P. Caminal. Automatic detection of wave boundaries in multilead ecg signals: Validation with the cse database [J]. Computers and biomedical research, 1994, 27(1): 45-60
  • Ma, T. Zhang, M. Dong. A novel ecg data compression method using adaptive fourier decomposition with security guarantee in e-health applications [J]. IEEE Journal of Biomedical and Health Informatics, 2015, 19(3): 986-994
  • Ku, K. Hung, T. Wu, et al. Wavelet-based ecg data compression system with linear quality control scheme [J]. IEEE Transactions on Biomedical Engineering, 2010, 57(6): 1399-1409
  • M, C. HM. Study and analysis of ecg compression algorithms[C]. 2016 International Conference on Communication and Signal Processing (ICCSP), 2016, 2028-2032
  • Gogna, A. Majumdar, R. Ward. Semi-supervised stacked label consistent autoencoder for reconstruction and analysis of biomedical signals [J]. IEEE Transactions on Biomedical Engineering, 2017, 64(9): 2196-2205
  • Li, Y. Wang, J. He, et al. High-performance personalized heartbeat classification model for long-term ecg signal [J]. IEEE Transactions on Biomedical Engineering, 2017, 64(1): 78-86
  • Xie, G. Wang, C. Zhang, et al. Bidirectional recurrent neural network and convolutional neural network (bircnn) for ecg beat classificationfC]. 2018 40th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), 2018, 2555-2558
  • Xia, Y. Xie. A novel wearable electrocardiogram classification system using convolutional neural networks and active learning [J]. IEEE Access, 2019, 7(): 7989-8001
  • Murugesan, V. Ravichandran, K. Ram, et al. Ecgnet: Deep network for arrhythmia classificationfC]. 2018 IEEE International Symposium on Medical Measurements and Applications (MeMeA), 2018, 1-6
  • http://www.healfbrce.com
  • https://fccid.io/2ABOGPM10/User
  • http://www.contecmed.com
  • Tu, S. Yin, P. Ouyang, et al. Deep convolutional neural network architecture with reconfigurable computation patterns [J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2017, 25(8): 2220-2233
  • https://www.alldatasheet.com
  • Kim, R. F. Yazicioglu, S. Kim, et al. A configurable and low-power mixed signal soc for portable ecg monitoring applications[C]. 2011 Symposium on VLSI Circuits - Digest ofTechnical Papers, 2011, 142-143
  • https://www.analog.com/cn/products/ad8232.html