郑小涵,朱岩,杨越琪,李晓欧,周志勇
1.上海理工大学医疗器械与食品学院,上海 200093;2.上海健康医学院医疗器械学院,上海 201318;3.上海电机学院设计与艺术学院,上海 200240
心脏作为人体循环系统的核心器官,承担着维持新陈代谢的重要功能[1-2]。传统上用来进行心脏活动监测的设备主要是心电(Electrocardiogram, ECG)监护仪,该设备需要专业人员操作,同时粘贴的电极片有造成皮肤过敏的风险,增加被测者额外的痛苦和二次医疗成本[3-4]。近年来,基于心冲击描记图(Ballistocardiogram,BCG)的非接触心脏监护方案受到了研究人员的关注,BCG 信号来自于血液在人体内流动产生的一系列机械冲击力,能够体现心脏的工作情况,可以为心血管疾病的早期预防及临床诊断提供参考[5-8]。
非接触式检测装置能够在人体无感的状态下完成测量,这无疑为日常监护提供了便利,但同时也增加了原始信号包含信息的复杂性,测量过程中传感器作为支撑被试者身体的一部分,除心脏活动外,任何压力变化来源都可能加入到振动信号中构成伪迹。现有的BCG信号心率提取算法有频谱法、模板匹配法和波形法[9-12]。频域上使用倒频谱可以计算一段时间内的平均心率,相比于基于时域的逐拍检测方式,频域分析不能够很好地反映心跳的实时变化情况。匹配法通过无监督学习聚类获得心跳模板,其效果取决于模板提取的质量,该过程往往需要大量样本训练为支撑,算法复杂度较高,难以实现模板的及时更新。波形法依据波形特征提取相邻波峰间距,算法结构相对简单,但较之于ECG信号中特征显著的QRS波群,BCG信号的形态更加复杂多变。首先,心跳时产生的BCG形状主要取决于被试者生理状况,个体间差异较大,此外,由于一个完整的BCG脉冲响应周期略长于心跳周期,两次心搏间波形也存在着一定短时变异性[11],这些都对从BCG信号中进行逐拍心跳分析提出了挑战。
针对上述问题,本研究设计一套改进的基于心冲击信号的心率检测模型,该模型对存在局部干扰的信号段作出合理估计,以修正由信号非平稳特性带来的误差,然后不经过模板演算过程,直接对特征波形进行增强处理后识别心拍,并对可能出现的误检漏检现象进行纠正,以达到从非标准BCG 信号中快速、准确、鲁棒地进行心率检测的目标。
本研究选取PVDF 薄膜实现BCG 信号到压电信号的转化[13]。PVDF 是一种新型聚合材料,具有灵敏度高、柔韧性好、使用寿命长的特性,同时避免了使用加速度传感器存在的固有机械噪声问题[14]。通过将10 片压电薄膜并列排布在采集装置上,实现了多路信号的同步收集,然后通过电荷放大电路与50 Hz的陷波电路,在屏蔽工频干扰的同时放大有效信号,并使用STM32F103ZE 的12 位AD 模块转换为数字信号,最后经串口通讯以每秒250 包的速率向PC 端传输数据,完成对原始BCG信号的采集过程。
心室将血液泵出时,对主动脉弓形成一股向上的冲击力,在整个BCG 信号的产生过程中,这段冲击最为短促有力,对应于标准BCG 波形中幅度最大、变化最陡峭的J波位置[15]。由J波与心脏活动周期的高度一致性可知,在心率检测中无需得知心跳发生的具体时刻,便可通过获取J-J间隔TJ-J估算出心率:
参考临床中以15 s 内的心拍计数乘4 得到心率的做法,本研究将原始数据划分成长度为15 s的帧片段[16]。并结合一系列数据整合、过滤与特征提取算法,以实现对心跳位置的准确定位,最后实现心率值输出。信号整体处理流程如图1所示。
图1 心率检测模型流程图Fig.1 Flowchart of heart rate detection model
由人体动作造成的压电变化幅度远大于心脏活动,此时产生的数据将不再包含有效生理信息。为避免无意义波形对分析过程的误导,本研究首先对传感器获得的原始信号进行质量评估,标记出体动发生的时刻,并设计模板补偿策略以填补体动段的数据缺失。图2a 表示一段存在体动状态的原始信号,从中可以看出当有肢体动作产生时,往往会引发多个通道信号的饱和或截止现象。同时,由于体动信号还存在着一定谐振及衰减过程,从一次动作发生到结束至少需要2~3 s的时间波形才可恢复至平稳状态,故此处采用窗长为3 s 的滑动窗口作为检测体动状态的区间宽度,在单位区间内分析数据的截止情况。已测得从采集装置获取的信号幅值范围为[0,3 715],现将超过3 710 或小于5 的数据点记为截止点,分别计算出当前窗口各通道中截止数据占总数据的比例Pcuti,以及出现截止点的通道数目Count,进行基于规则的体动判别如下:
式中,N为总通道数10,本研究根据多次实验结果分析,当选取阈值Thp1= 0.2,Thc= 5,可有效判断当前窗口的体动发生情况。
躺卧时的体动干扰通常来自于人体不自觉的姿势调整,如蹬腿、翻身等,此类动作并不属于一般意义上会导致心率加快的运动,所以可以作出假设,在相对静息状态下,人体的真实生理参数并不受肢体活动影响,因此选取体动发生前相应长度的信号作为模板进行补偿。经补偿后的波形如图2b 所示,其中缺失的数据段已得到重建,维持了信号的连续性。
图2 体动信号的识别与补偿Fig.2 Recognition and compensation of body motion signals
本研究所用信号采集装置采取多传感器并列的方式同步采集和上传信息,但并非对所有通路数据都有分析的必要。由BCG 信号的产生机制可知,理论上位于心尖正下方处传感器获得的BCG 信号强度最高,越往边缘处通道所包含有效信息越少[17]。在实际采集的过程中,人体所处位置并不固定,同时,由呼吸运动引发的胸廓容积变化较大,在电信号上表现为对应通道的数据截止失真,也掩盖了部分生理波形的真实形态。综合上述因素,本研究采用阈值筛选结合方差分析的方法,从全部原始数据中选择出一组最优通道。
新疆要求,各地要坚持问题导向,依法规范教育经费统计行为,建立制度规范统一、流程分工合理、数据质量可控、数据公布及时、结果有效运用、保障措施有力的教育经费统计工作体系,严格依法做好教育经费统计工作。
在2.1 节体动识别算法中,已经得到各通道内失真点数所占比例Pcuti,现设定Thp2= 0.1,当Pcuti超过此阈值时则认为此通道有效数据损失过多,不再适合于特征分析,故对其执行剔除操作。在经过阈值筛选后的候选通道中,可以通过计算各路信号的方差来描述其数据波动情况,进而反映出此通道包含信息的丰富程度,从中选择具有最大方差的一组进行后续的信号处理。如图2b 所示的10 通道原始波形,计算对应的失真数据比例与方差Var 如表1所示。其中通道5、6中含有大量截止波峰,其失真比例已超过阈值,将这两路数据进行舍弃后,通道7 在剩余组中具有最大方差,因此被选作最优通道。可以看出,经过通道选择算法获取的电平信号波动中BCG 成分占比较高,表现出明显的周期性,可作为进一步提取生理特征的可靠数据源。
表1 各通道信号失真比例与方差Tab.1 Signal distortion ratio and variance of each channel
心冲击信号属于弱生物信号,采集过程中易受外界干扰,由传感器获取的原始信号实际上是呼吸运动、心脏活动与各类噪声的叠加,需经过一定条件的滤波来保证分析信号的纯净度。其中正常人的呼吸频率约12~25次/min,而BCG信号的形成有着更加复杂的物理过程,其带宽也相对较广,能量在0.9~20.0 Hz均有分布[18]。考虑到信号处理的实时性要求与滤波器的频率响应特性,通常使用运算量较小,在其通频带内具有最大平坦限度的巴特沃斯滤波器进行预处理。
图3a 表示一段被选择通道的波形,尝试使用BCG 全部频率范围[0.9,20.0]Hz 作为通带进行滤波后发现,虽然原始信号中的低频呼吸成分已经得到了衰减,但仍存在一些对特征提取不利的冗余信息,即分布在非J波位置的大量尖峰,如图3b所示。为了使预处理后信号尽可能地突出目标特征,本研究使用分段滤波的方式对信号进行梯度式分解,对比结果中J 峰形态后发现,能够对构建J 峰起正向作用的谐波大都集中在一个更窄的频段1~9 Hz 内,而其余非J峰谐波的存在则是造成信号毛刺甚至削减J峰的主要原因[19]。图3c给出了使用此较窄频段去噪后的效果,可以看出相比于保留BCG 信号整体带宽的做法,基于J 峰频带的滤波器通带设计在最大程度上保持了目标波形特征,同时有效抑制了非J 峰谐波的影响,滤波后的波形形态更加平滑、清晰。
图3 BCG信号预处理Fig.3 Ballistocardiogram(BCG)signal preprocessing
为了进一步放大J 峰与非J 峰间差异的显著性,本研究基于以下步骤实现BCG信号的特征增强:
(1)参考连续函数中一阶导数体现函数变化率的性质,计算离散原始信号的中值一阶差分y'(n),如式(3)所示:
经过差分运算后的波形含义转化为相邻波峰波谷的差值,可以更好地体现BCG 信号在某一点处的变化急缓情况。
(2)将差分运算后的结果缩放到[-α,α]区间内,然后通过式(4)所示的非线性映射函数进行特征放大:
由函数的凹凸性可知,定义域参数α越大,映射后的J 峰就越突出,但同时也会放大不同幅值J 峰之间的差异。本研究综合多次实验结果选取α= 2,可以较好地平衡放大效果。
图4给出了对2.3 节中去噪后信号作增强差分处理的过程。总体而言,相比于滤波后的BCG 信号,增强的差分处理进一步放大了波形变化剧烈区域与平缓区域的对比,使目标波形更加尖锐,为特征提取提供了良好的条件。
图4 BCG信号的增强差分处理Fig.4 Enhanced differential processing of BCG signal
本研究使用改进的峰值检测算法完成对心跳点的定位。由于心跳形状的幅度会随呼吸变化而产生波动,导致信号中J 波的突出程度并不固定,此外相邻的H 波、L 波也偶有表现出幅度较高的现象,改进的算法在依据幅度阈值寻峰的基础上增加了对心跳间隔的检验策略,对可能出现的误检漏检状况进行及时修正。具体实现步骤如下。
2.5.1 寻找所有波峰将经过特征增强后的连续信号记作x(n)。比较x[n]与前后两点的幅度大小,当符合条件x[n]>x[n- 1]且x[n] 2.5.2 幅度阈值筛选在2.4 节中,已对每帧信号的差分结果进行了规范化处理,因此不同区间内的的幅度阈值应由对当前窗口波形自学习得到,使用步骤1得到的序列Peak1_val,舍弃其中的最大值后求算术平均,依据此结果进行筛选,将超过阈值的波峰加入新一轮候选序列Peak2中。 2.5.3 间隔检验成年人的正常心率为50~150次/min,相对应的心跳间隔极限值为T1= 0.4 s,T2= 1.2 s。以此作为检验的初始标准,对于序列Peak2,计算其与前一处已确定心跳点之间的时间间隔Tgap,若Tgap满足Tgap> T1且Tgap< T2的条件,则将此候选波峰加入确定的J 峰序列中,否则需进行修正处理如下:当Tgap< T1时,表明此点不可能为真实的心跳发生位置,因此将其视为误检点进行舍弃;当Tgap> T2时,表示当前位置与已确定J 峰间出现了候选波峰的丢失。漏检现象的发生是由幅度阈值设置偏高,真实J 峰被误筛导致,为找回遗漏位置,需重新查找当前间隔内所有波峰并根据幅值大小进行冒泡排序,按降序依次计算新的间隔值Tgap',寻找达到Tgap'>T1条件的第一个波峰,作为新的J峰定位点。 2.5.4 阈值更新间隔检验的初始标准仍是一个较宽松的区间,随着J 峰序列在检测过程中不断更新,当其数量超过10 个时,可以为后续过程提供先验值作为参考。通过比较参考值与极限心率间隔的大小并进行决策,可以实现阈值动态更新来提高对误差检验的敏感度,间隔阈值的更新规则如下: 其中,Taver是最近10 个J-J 间隔的算术平均,0.3 是由多次实验结果得到,与实际中邻近心率变化范围通常不超过30%的经验相吻合。 图5给出了J 峰检测算法的识别过程,图中黑色“+”标记表示2.5.1节中得到的全部波峰Peak1。平行于坐标轴的横线意为幅度阈值,超出此阈值的波峰Peak2 将被标记为红色,随后进行间隔检验,符合检验条件的候选波峰由“o”圈出,如图5a 所示,采样点2 200 附近的误检点将被移除,而图5b 中采样点2 400 附近出现的漏检点也被准确识别出来,并使用“*”进行补充标记。 图5 J峰定位示意图Fig.5 Schematic diagram of J-peak localization 为检验本研究设计心率检测模型的有效性,本研究选取5 名健康成年人进行测试,其中男性2 名,女性3名,年龄22~26岁,测试时长约为10 min。为增强试验过程中心跳周期的多变性,指导试验人员在测试前进行适量有氧活动以提高心率。正式测量过程中则模拟真实睡眠环境,受试者以平躺姿势在采集装置上进行休憩,期间不排除体动事件的发生。同时,使用医用指夹式血氧检测仪同步记录血氧波形,从中提取脉搏间隔信息及脉率作为基准值进行参考。试验场景如图6所示。 图6 试验验证现场环境Fig.6 Site environment of experimental validation 随机抽取一个样本使用该模型的检测结果,对比其与标准值的分布情况如图7所示,其中图7a为全部心动周期间隔的比较,从中可以看出两组波形在趋势上表现出高度的一致性,除个别尖峰外,绝大部分范围数据均处于重合状态。图7b 表示每隔15 s 输出的平均心率计算结果,在总长10 min 测试时间所得的40 个平均心率值中,仅有两处输出与参考值间出现了超过1次/min的偏差,展现了较高的准确性。 图7 1号受试者测试效果Fig.7 Test results of No.1 subject 为进一步量化评估模型性能,本研究记录了5组试验得到的J 峰数量与实际发生的心跳次数,并将正确识别的心跳点记为TP,未检出的心跳记为假阴性点FN,误差超过100 ms 的记为假阳性点FP,然后计算覆盖率CR(检测到J 峰个数与实际心跳次数的比例)和准确率PR(正确的心跳个数占全部检出结果的比例)作为衡量检测质量的指标。经统计得到平均覆盖率为98.3%,平均准确率为98.4%,全部统计结果如表2所示。总体而言,本研究所使用的检测方法可以准确检出大部分心跳节点,即使在原始信号质量受损的情况下,也能作出合理的心拍估计,保持较高的覆盖率。当某些体动导致主通道位置产生转移时,会造成短期内假阳性结果增多,这一状况会在重新进行通道选择后得到修正,并不会造成误差累积影响余下检测过程。最终平均心率输出误差范围维持在±5%以内,达到了监护设备的行业检测标准。 表2 5名受试者的心跳检测结果Tab.2 Heartbeat test results of 5 subjects 本研究提出一种鲁棒的基于BCG 信号的心率检测方法,通过信号补偿方式对受体动干扰的数据段进行重构,提高模型的抗干扰性能,同时以J 峰为特征波形,融合多种信号处理方法进行特征增强与提取,以达到从不同情形下波形中准确定位心跳点的目的。模型整体结构简单,无需设计心跳模板,运算实时性好。经试验验证,使用本研究方法得到的心率输出结果与金标准之间呈现出高度的一致性,即使从存在干扰的非标准BCG 信号中,也能作出有效的心拍估计,使误差维持在较低水平,可以为长期监测心脏活动提供准确度高、稳定性好且便捷舒适的解决方案。3 模型评估
3.1 试验验证
3.2 结果分析
4 结论