Abstract
光容积描记图(PPG)是一种低成本、无创的心率测量技术,目前已经广泛应用于智能可穿戴设备中。然而PPG信号本身极易受到运动噪声的干扰,导致在剧烈运动状态下的心率计算准确率较低。针对这一问题,本文提出一种基于自适应心率搜索模型的心率提取算法。算法首先对加速度信号以及PPG信号进行预处理,之后分别从两种信号中提取出步频信息与历史心率信息,根据两种信息与当前心率间的关系建立自适应模型,以此动态输出心率在频域的可能出现范围,通过缩小真实心率在频域的查找范围来排除剧烈噪声干扰。在2015年IEEE信号处理杯十二组公开数据中,本文算法结果平均绝对误差为1.12次/分(皮尔森系数:0.996;一致性误差:−0.184次/分);在十组自测运动数据中,本文算法结果平均绝对误差为3.19次/分(皮尔森系数:0.990;一致性误差:1.327次/分)。结合实验结果来看,本文提出的算法能有效提取运动噪声干扰下的心率信息,在智能臂带设备中具有投入使用的潜能。
Keywords: 光容积描记图, 自适应心率搜索模型, 加速度信号, 强运动噪声
Abstract
Photoplethysmography (PPG) is a non-invasive technique to measure heart rate at a lower cost, and it has been recently widely used in smart wearable devices. However, as PPG is easily affected by noises under high-intensity movement, the measured heart rate in sports has low precision. To tackle the problem, this paper proposed a heart rate extraction algorithm based on self-adaptive heart rate separation model. The algorithm firstly preprocessed acceleration and PPG signals, from which cadence and heart rate history were extracted respectively. A self-adaptive model was made based on the connection between the extracted information and current heart rate, and to output possible domain of the heart rate accordingly. The algorithm proposed in this article removed the interference from strong noises by narrowing the domain of real heart rate. From experimental results on the PPG dataset used in 2015 IEEE Signal Processing Cup, the average absolute error on 12 training sets was 1.12 beat per minute (bpm) (Pearson correlation coefficient: 0.996; consistency error: −0.184 bpm). The average absolute error on 10 testing sets was 3.19 bpm (Pearson correlation coefficient: 0.990; consistency error: 1.327 bpm). From experimental results, the algorithm proposed in this paper can effectively extract heart rate information under noises and has the potential to be put in usage in smart wearable devices.
Keywords: Photoplethysmography, Self-adaptive heart rate separation model, Acceleration signal, Strong motion noise
引言
心率作为人体四大生理指标之一,其值的变化可以反映出人体心脏在日常活动以及运动过程中的健康程度。在运动中进行实时心率监测可以帮助运动者了解自身身体机能,制定合理运动计划,减少患病风险[1],尤其是针对自身已经患有心血管疾病的患者,在运动中进行实时心率监测就显得更加重要。目前常见的运动心率监测设备主要基于两种心率计算方法:① 使用心电信号的心电描记法(electrocardiography,ECG),通过统计ECG信号中“R”波的个数来确定心率。该方法检测准确率高,但是基于心电信号的运动心率测量设备会受限于使用场景、佩戴方式、价格等因素,因此ECG方法主要应用于心率带产品,普及率不高。② 基于光电容积脉搏波信号的光电容积描记法(photoplethysmography,PPG)。该方法检测PPG信号经过人体组织与血液吸收后的强度变化,描记出血管容积在心跳周期内的波动,从脉搏波形中计算心率[2-3],由于其在心率检测方面具有极高的连续性、无创性与舒适性且成本较低[4],与智能可穿戴设备的设计使用理念高度契合,因此是目前最常用的心率检测方法,也是本文的研究对象。
虽然PPG信号与心跳周期、脉搏变化有很强的关联性,可以在安静或轻微运动状态下获得准确度较高的心率,但是其信号质量容易受到运动噪声的干扰,在奔跑时身体的震动会导致PPG信号传感器与皮肤之间发生相对位移,有时产生的运动噪声会完全掩盖PPG信号,导致计算心率与真实心率出现较大误差[5-6]。如何在噪声干扰中提取有效的心率信息,尽可能获取准确度高的心率,一直是通过PPG信号计算心率的难题。对此,Zhang等[7]提出了TROIKA心率计算框架,使用信号分解、稀疏重构、谱峰追踪等策略来消除运动伪影,提高测试准确度。徐菁等[8]进一步提出将加速度信号估算出的心率与TROIKA框架计算出的心率相结合,使用卡尔曼滤波得到最终心率的方法。Su[9]与Girard[10]两个团队则另辟蹊径,提出了基于跑步机运动的心率计算模型,使用温度、出汗量、跑步机速度等变化量估算心率值。而近来,Temko[11]提出了WFPV算法,使用相位角修正以及维纳滤波滤除噪声干扰,对周期性运动具有很好的降噪效果,其算法性能和在公开数据集上的计算结果准确度要优于大部分基于PPG信号的心率检测算法。
上述方法提供了很多解决问题的思路,但是也存在一些不足,其中TROIKA心率计算框架提出时间较早,在12组走路与跑步运动公开数据集的平均绝对误差(mean absolute error,MAE)为2.34次/分(beat per minute,bpm),算法准确度方面不及后来的WFPV等算法,仍有改进空间。使用卡尔曼滤波的方法在其文章中的测试结果无法满足本文对准确度的要求。根据速度估计心率变化的方法需要跑步机来确定速度变化,应用场景受到限制,不适用于一般跑步环境。而本文在使用计算准确度最高的WFPV算法从实验数据中提取心率时发现,其计算结果两极分化比较严重。在慢跑身体震动不剧烈的情况下,WFPV算法拥有较高的准确率,但在跑步运动幅度较大时,心率计算结果与真实值相差甚远。
针对以上问题,本文提出一种基于自适应心率搜索模型的心率提取算法。该算法对PPG信号与加速度信号进行预处理。提取步频与历史心率信息作为关键参数,以sigmoid函数作为模型主体,使用改进粒子群算法(improved particle swarm optimization,IPSO)对模型参数进行优化[12-13],经过30组数据离线训练后得到了适用性较强的模型参数。随后使用该模型在经过滤波处理的PPG信号频域中对真实心率进行动态追踪,通过缩小真实心率可能出现的范围来提高心率测量的准确度。
1. 方法
基于自适应心率搜索模型的提取算法主要包含以下两个部分的处理。
(1)数据预处理:PPG信号与加速度信号通过时间窗口位移传入算法[14]。时间窗口长度为8 s,步长2 s(窗口内包含6 s历史数据)。数据传入算法后,首先通过0.4~4 Hz的带通滤波进行平滑处理;接着对传入的PPG信号与加速度信号进行快速傅里叶变换,截取1~3 Hz的频域数据,对应心率变化区间60~180 bpm;最后使用维纳滤波进行滤波处理,以加速度信号为噪声参考得到较为干净的PPG信号。
(2)自适应心率搜索获取最终心率:使用自适应心率搜索模型缩小当前时间窗内心率在频域的可能出现范围。在该范围中找到主频乘以60作为当前心率。
上述步骤(1)数据预处理部分也是标准的PPG信号频域分析方法,本文论述重点在于步骤(2)中自适应心率搜索模型的搭建与实现以及算法最终的作用效果与测试结果。算法流程如图1所示。
图 1.
The flow chart of the method in this paper
本文方法流程图
1.1. 自适应心率搜索模型
自适应心率搜索模型的介绍将通过以下三个方面进行:① 步频计算方法;② 自适应心率搜索模型搭建原理及实现方法;③ IPSO优化模型参数方法。由于在第3部分中,确定非线性模型参数的过程是离线的,IPSO仅作为一种优化方法帮助优化参数,因此该部分内容以及参数优化结果将在1.2节单独介绍。
1.1.1. 步频计算
步频计算依赖于加速度信号的处理。三轴加速度传感器中包含了X轴、Y轴、Z轴的运动数据,为了防止仅使用某一轴数据而丢失部分运动信息的情况,首先根据式(1)对三轴加速度数据求标量和,消除方向影响,最大程度上保留有效的三轴运动信息。其中Acc为处理后的加速度数据,x、y、z代表单个时间窗口内加速度计采集的三个轴数据。本文算法设置时间窗口长度为8 s,采样频率100 Hz,因此每800个样本点处理一次加速度数据。
![]() |
1 |
之后使用0.5~5 Hz的带通滤波过滤加速度信号得到图2所示的加速度时域波形,选择Python科学运算库SciPy中的find_peaks函数统计当前时间窗口内加速度信号的波峰个数。由于加速度传感器型号以及采样率设置的不同,导致采集到的信号变化范围不同,因此需要根据硬件的实际使用情况,灵活设定波峰高度阈值以及连续波峰波谷间的高度差阈值来排除手部运动或局部身体晃动产生的加速度波峰干扰,保留有效的运动波峰[15]。在图2中,8 s时间窗口内包含21个波峰,意味着此窗口内步数为21,步频为2.625步/秒。
图 2.
Acceleration signal
加速度信号
1.1.2. 自适应心率搜索模型原理及搭建
心率搜索模型的自适应性通过对步频与历史心率信息的动态调节实现。其原理包括以下三点:
(1)步频与心率的联系:通过步频反映运动剧烈程度,进而体现心率变化趋势[16],是自适应心率搜索模型建立的第一要素。结合实验发现,步频变化能在很大程度上体现与影响心率变化。
图3是自测数据subj.5与subj.8两次计算结果的双坐标系图。在subj.5测试中,为了体现步频对心率的影响,在跑步过程中多次变换步频,可以看到心率曲线也与步频曲线一样呈三个波峰状,通过步频的变化可以完整体现心率的变化。而在正常跑步的subj.8测试中,心率曲线与步频曲线高度吻合,皮尔逊相关系数达到0.933,两个变量间具有很强的相关性。由于自适应心率搜索模型仅使用步频信息作为参数,进而得到一个大致的心率变化趋势和心率追踪范围,因此在使用步频信息调节模型的过程中,步频与心率相关性不必达到subj.8一样的高度吻合状态,能体现心率变化趋势即可。
图 3.

Cadence and heart rate change curve
步频与心率变化曲线
(2)历史心率与当前心率的联系:通过历史心率确定当前心率的出现范围是自适应心率搜索模型建立的第二要素。基于一个事实,即人体心率的变化量是有一定范围的,新计算出的心率与之前一个心率的差值不会太大[14]。该事实在频域中表现为当前心率所在频率应当以上一次计算心率对应的频率为基准点进行变化。
(3)人体运动心率自身变化的特点:通过运动心率的变化特点预测心率变化梯度是自适应心率搜索模型建立的第三要素。在日常活动中,人体心率变化范围基本维持在60~180 bpm之间。据此,文献[9]提出,运动心率变化曲线符合“四边形”变化,即满足“低心率区间—上升—高心率区间—下降—低心率区间”这一过程。在“上升”与“下降”两个阶段,心率的变化幅度大;在高低心率区间中,心率变化幅度很小。可理解为在历史心率与当前心率同增同减的情况下,历史心率越接近人体心率变化的上下限,当前心率可同向变化的空间就越少。因此在模型搭建时,本文选用sigmoid函数[式(2)]作为模型主体。该函数在值域上下限附近梯度最小(对应心率在高低区间中的变化),在中间部分梯度最大(对应心率处于上升和下降阶段时的变化),其梯度变化符合运动心率的变化特点。
![]() |
2 |
结合上述观点,本文通过式(3)~(7)计算时间窗口内心率,可以看出该心率计算是一个循环迭代的过程。
![]() |
3 |
![]() |
4 |
![]() |
5 |
![]() |
6 |
![]() |
7 |
式(3)与式(4)中以历史谱峰索引Mid(t − 1)为基准,使用历史心率搜索范围Ns(t − 1)乘以上下界变量φed(t)、φst(t)这一形式,决定当前时间窗口内搜索下界St(t)向PPG信号频域低频的变化程度与搜索上界Ed(t)向高频的变化程度。式(5)则根据下界St(t)与上界Ed(t)得到当前时间窗的心率搜索范围,为下一次心率计算做准备。式(6)、(7)是最终的心率计算结果,在PPG信号频域中,以[St(t),Ed(t)]为界(1 Hz ≤ St(t) < Mid(t − 1) < Ed(t) ≤ 3 Hz),得到该频率限制范围内的谱峰对应频率Mid(t)并乘以60作为当前时间窗口的计算心率HR(t)。实际上,在式(3)~(7)中,只有下界变量φst(t)与上界变量φed(t)是根据自适应心率搜索模型求出的自变量,其余变量均是因变量。因此,φst(t)与φed(t)实际决定了心率搜索范围大小与心率搜索区间,进而影响了每一次迭代计算出的心率准确度与最终结果,其中φst(t)作为下界变量关注的是心率在低频区间(更多发生在心率下降过程中)的界限探索,φed(t)作为上界变量关注的是心率在高频区间(更多是发生在心率上升过程中)的界限探索
为了得到作用效果好的φst(t)与φed(t),本文搭建了自适应心率搜索模型。其中加入八个待IPSO拟合的权重参数Parami (i=0, 1,
, 7),并使用sigmoid函数作为模型主体。由于心率在上升阶段更容易受到噪声干扰,计算情况更加复杂,因此首先介绍模型中上界变量φed(t)的计算方法,使用负责φed(t)的计算部分[式(8)~(10)]对其进行拟合。
![]() |
8 |
![]() |
9 |
![]() |
10 |
式(8)中,结合待IPSO学习参数Param0、Param1与当前时间窗口内步频信息Step(t)对参数φ1(t)进行拟合。由于在不考虑历史心率影响的情况下,步频变化与心率变化呈正相关(步频上升导致运动剧烈程度上升进而导致心率上升),因此设定式(8)为常数项与包含步频参数的未知数项相加的形式,体现φ1(t)与Step(t)同向变化。在式(9)中,使用Param2、Param3与历史心率参数HR(t−1)相结合对关键参数φ2(t)进行拟合。之所以将该公式设置成常数项与未知数项相减的方式,是因为在历史心率与当前心率同处于上升过程的情况下,历史心率的值越接近人体心率的上限,当前心率可变化的空间就越小,所以可看作历史心率与当前心率可变化梯度呈负相关。其中式(8)、(9)的常数项与分子项在文中以经验常数的方式给出,也可以将其设置为IPSO算法的待学习参数进行拟合。最后根据关键参数φ1(t)与φ2(t),计算出二者均值作为当前时间窗口内自适应心率搜索模型输出的φed(t)。φed(t)随Step(t)与HR(t−1)的变化关系如曲面图4所示。
图 4.
The curve of φed with step frequency and historical heart rate
φed随步频与历史心率变化曲线
图4中,当历史心率HR(t−1)较高而步频Step(t)较低时,上界变量φed(t)偏低,根据式(4)可知此时的上界Ed(t)减小,代表此时心率搜索模型的搜索重心向低心率段偏移,可理解为人体活动趋势从运动转变为静止的过程;当历史心率处于较低水平而步频较高时,φed(t)值增加,式(4)中Ed(t)增大,此时心率搜索模型的搜索重心向高心率段偏移,人体活动趋向于从静止转变为运动,真实心率更有可能出现在高心率段;当步频与历史心率同处于较低水平时,φed(t)维持在一个较小值附近,搜索模型的重心减少偏移,重点在低心率区间寻找真实心率;相反情况下,当步频与历史心率值同处于较高水平,φed(t)会维持在一个较大值附近,重点在高心率区间寻找真实心率。
针对下界变量φst(t),使用模型中式(11)~(13)进行计算。其计算方法与φed(t)相同,只是根据模型使用经验对公式结构进行了调整,其中4个参数Parami (i=4,5,6,7)同样作为待学习参数由IPSO算法进行拟合。
![]() |
11 |
![]() |
12 |
![]() |
13 |
φst(t) 随Step(t)与HR(t − 1)的变化关系如曲面图5所示。在图5中可以看出,φst(t)在变化上主要受到Step(t)的影响,与步频变化趋势相同,这是由于φst(t)主要影响心率在下降阶段中的搜索下界变化。而心率下降阶段往往出现在运动程度减缓的过程中,在该过程中随着运动噪声干扰的减少,PPG信号质量会逐渐上升,因此自适应心率搜索模型只需要根据步频信息将搜索下界稳步向低频变化即可。同时根据式(4)可知,Step(t)下降导致φst(t)减小进而使搜索下界St(t)更加靠近历史谱峰索引Mid(t − 1),该表现符合“人体心率越接近心率变化区间的上下限,当前心率与历史心率可同向变化空间就越小”的理论依据。
图 5.
The curve of φst with step frequency and historical heart rate
φst随步频与历史心率变化曲线
优化后的自适应心率搜索模型在频域的实际作用效果如图6所示。图6是实验自测数据subj.5第47次时间窗口中经过预处理的PPG信号在频域的表现。为了方便观察,将横坐标从频率转换为了心率(本文后续频域图的横坐标做了相同处理),其中垂直于X轴的实线代表当前时间窗口内的真实心率,虚线代表计算心率。在图6a中,经过传统谱峰追踪方法得到的PPG信号主频对应心率为77 bpm,而真实心率为133 bpm,二者相差56 bpm,且真实心率不在任何一个明显波峰附近,表明当前时间窗内包含心率信息的PPG主频已经被噪声掩盖,只进行谱峰追踪无法获取有效心率。而在图6b中,经过自适应心率搜索模型对心率出现范围的预测与限制(限制范围上下限如图6b中点线所示),得到的计算心率为135 bpm,已经十分贴近真实心率的133 bpm。
图 6.
PPG signal spectrum fragment of self-test data subj.5
自测数据subj.5的PPG信号频谱片段
a. 谱峰追踪;b. 自适应心率搜索+谱峰追踪
a. spectrum peak tracking; b. spectrum peak tracking method based on adaptive heart rate search

1.2. IPSO参数优化
1.2.1. 目标函数设计
本文使用IPSO算法的目的是为了减少计算心率与真实心率间的差值,因此在目标函数的设计上,使用平均绝对误差体现粒子与目标的距离。
![]() |
14 |
![]() |
15 |
式(14)中n代表计算出的心率个数,x(i)表示计算心率值,y(i)表示真实心率值,真实心率值由数据采集时同时佩戴的Polar心率带测得。Polar心率带由芬兰博能公司制造,其心率计算准确度一直处于业界领先水平,本文所用产品型号为H10。式(15)是粒子优化的目标,在每次迭代过程中取平均绝对误差的最小值。
1.2.2. IPSO作用过程
在IPSO的使用过程中,设定粒子数为20,最大迭代次数1 000次,根据待确定参数的个数,设定每个粒子的维度为8,结合对采集数据的使用经验设定粒子运动范围如表1所示。
表 1. Particle range of motion.
粒子运动范围
| 参数范围 | Param 0 | Param 1 | Param 2 | Param 3 | Param 4 | Param 5 | Param 6 | Param 7 |
| 最小值 | 0.01 | 5 | 0.01 | 0 | 0.1 | 5 | 0.01 | 0 |
| 最大值 | 3 | 25 | 3 | 200 | 3 | 25 | 3 | 550 |
在经过预处理的数据中提取步频信息与历史心率信息,将二者加入到自适应心率搜索模型中与随机初始化的粒子
相结合,计算并得到测试心率与真实心率的平均绝对误差。随着多次迭代这一过程,以式(15)为目的,评估每个粒子的适应度,储存每个粒子的个体最优解pbest以及全部pbest中的最佳值gbest,在迭代时,IPSO通过更新速度vt+1来对粒子位置xt+1中的每个维度进行建模,并根据pbest与gbest的线性组合移动粒子。当粒子各维度的移动超出表1对应的范围时,舍弃该粒子,加入新的随机粒子以提高IPSO的运行效率。
![]() |
16 |
![]() |
17 |
1.2.3. 参数优化结果
IPSO算法参数设置为C1 = C2 = 1.8,R1 = R2 = Random,ω = 0.8。IPSO算法优化后的
如表2所示。
表 2. Parameter optimization results.
参数优化结果
| 权重参数 | 优化结果 |
| Param 0 | 2.224 |
| Param 1 | 7.836 |
| Param 2 | 0.280 |
| Param 3 | 93.602 |
| Param 4 | 0.917 |
| Param 5 | 9.354 |
| Param 6 | 0.368 |
| Param 7 | 375.353 |
2. 实验设计与结果
2.1. 数据来源
实验所用的第一部分数据是2015年IEEE信号处理竞赛的12组走路与跑步运动公开数据[14],竞赛课题为“Heart Rate Monitoring During Physical Exercise Using Wrist-Type Photoplethymographic Signals”。该部分数据由12位18~35岁间的健康男性受试者采集得到。每组数据中包含2路PPG数据、3路加速度数据和1路ECG数据。在对12组公开数据的PPG信号原始数据进行绘图观察后发现,其中大部分数据片段的波形变化都能体现出标准PPG信号的变化特点(如图7a所示),其所受运动噪声干扰程度较小。同时对比现有几种算法在公开数据集的处理结果后发现,不同算法在公开数据集上的计算误差相差较小,不能很好地体现算法在强运动噪声干扰下的处理效果,因此在实验设计中,本文加入10组自测数据作为第二部分数据来源。
图 7.
Signal quality contrast
信号质量对比
a. 公开数据库subj.1数据片段;b. 实验室自测数据subj.5数据片段
a. public database subj.1 data fragment; b. laboratory self-test data subj.5 data fragment
实验室采集的10组自测数据由五位受试者测得,包括四名男性和一名女性,年龄分布在25~33岁之间,身体健康无心脏方面疾病。每位受试者的上臂处无纹身、疤痕,可正常佩戴数据采集装置(上臂处松紧度满足测试设备使用要求,受试者对测试设备没有过敏)。测试前已与受试者签订了知情同意书,提倡测试的公正互助性以及保密性。测试过程中尊重受试者的自主自愿原则,在不损害受试者身体健康的前提下完成了数据采集。测试使用的数据采集装置内主要集成一颗型号为MAX86160EFN+的PPG信号传感器,一颗型号为LIS2DH12TR的三轴加速度传感器,通过低功耗蓝牙模块DA14580向移动端传送传感器数据,供电由3.7 V锂电池提供。
在测试时使用绑带将该装置固定在上臂处,模拟智能臂带的工作方式,之所以选择在上臂处采集PPG信号,是因为在奔跑摆臂时上臂的肌肉会产生收缩与舒张,影响PPG信号的采集质量,在此处采集的PPG信号要比腕部采集的PPG信号更加难以处理。每组测试采集的数据包含1路PPG信号和3路加速度信号,数据采样率100 Hz。真实心率由测试时同时佩戴的Polar心率带采集得到。数据采集过程中要求测试人员满足以下几点测试要求:
(1)佩戴好设备并开始测试后首先静待30 s,保证算法初始运行所使用数据的可靠性,之后开始跑步运动。
(2)由于测试环境为真实路跑环境,因此不预先指定跑步速度,但要求受测人员在自身可承受范围内提高跑步速度,使心率出现较大梯度变化,不可全程慢跑进行测试。
(3)受测人员在一次数据收集过程中至少保证1次急停、1次急跑和4次转向,不限制受测人员跑步时的摆臂方式,但是不可为了配合测试而故意减少身体震动幅度与摆臂幅度,同时要在测试过程中模拟抬手擦汗与看表。
(4)运动数据采集结束后,受测人员需要在心率持续监测的情况下进行休息,待心率降至90 bpm以内结束测试,保留完整的心率上升、下降过程。
为了体现本文采集数据的强噪声干扰性,选择一组自测运动状态下的PPG信号,截取其中8 s长度的时间片段进行观察,可以看到图7b中运动状态下的PPG信号在时域表现出多个不规则尖峰,尖峰形态以及尖峰间隔不具有规律性,无法从中分辨出有效的PPG信号波形。从频域来看同样存在多个伪峰,且伪峰幅值相近,在谱峰检测方面很难根据每个谱峰的特点筛选出包含有效心率的谱峰。
对比图7a与图7b的信号质量表现,发现在时域中:公开数据库的运动数据片段波形变化比较规律,而自测数据很难从信号波形中找到周期性的规律变化,且波峰多为不规则尖峰,受噪声污染更加严重;在频域中:公开数据库运动数据片段谱峰孤立,伪峰数量少且在形态上与主峰存在明显差别,容易识别出谱峰并得到准确度较高的心率,而自测数据在频域中包含多个伪峰,伪峰间幅值、形态相近,很难判断出真实心率所在频率。因此使用本文采集的运动数据进行心率计算的难度更大,更能体现不同心率算法的性能优劣。
2.2. 实验结果
本文在各类算法的计算结果对比中使用平均绝对误差与平均绝对误差百分比(mean absolute percentage error,MAPE)作为评价标准。平均绝对误差定义如式(14)所示,平均绝对误差百分比定义如式(18)所示,x(i)表示计算心率值,y(i)表示真实心率值。
![]() |
18 |
在公开数据库的十二组走路与跑步运动公开数据对比中,本文选择同样使用该数据集体现算法准确度的TROIKA[14]、JOSS[17]、自适应滤波器算法(recursive least squares + normalized least mean square,RLS+NLMS)[18]、Random Forest算法[19]、经验模态分解法(ensemble empirical mode decomposition,EEMD)[20]、WFPV[11]等算法与本文算法相比,统计结果如表3所示。从结果来看,本文算法计算心率的平均绝对误差为1.12 bpm,平均绝对误差百分比为0.90%。与其他算法相比:经典算法TROIKA与需要长时间运算的EEMD算法平均绝对误差分别达到了2.42 bpm与1.83 bpm,计算准确度较低;新近提出的RLS+NLMS算法与Random Forest算法的计算准确度较高,但是仍不及本文算法与WFPV算法;而对周期性运动有很好降噪效果的WFPV算法以平均绝对误差1.02 bpm优于本文算法。在其中6组数据的计算结果对比上,本文算法计算准确度更高,但是由于在subj.6与subj.10两组数据的计算结果上与WFPV算法差距较大,导致整体计算结果略差于WFPV算法。
表 3. Comparison of MAE and MAPE between the algorithm proposed in this paper and various algorithm on public data.
本文算法与各类算法在公开数据的MAE、MAPE对比
| 样本编号 | MAE*(MAPE) | ||||||
| TROIKA[14] | JOSS[17] | RLS+NLMS[18] | Random Forest[19] | EEMD[20] | WFPV[11] | 本文算法 | |
| 注:* MAE在表中单位为bpm | |||||||
| Subj.1 | 2.87(2.18%) | 1.33(1.19%) | 1.22(−) | 1.61(1.37%) | 2.06(1.66%) | 1.25(1.15%) | 1.10(1.07%) |
| Subj.2 | 2.75(2.37%) | 1.75(1.66%) | 1.64(−) | 1.39(1.34%) | 3.59(3.50%) | 1.41(1.30%) | 1.31(1.23%) |
| Subj.3 | 1.91(1.5%) | 1.47(1.27%) | 0.63(−) | 0.73(0.57%) | 0.92(0.73%) | 0.71(0.59%) | 0.65(0.53%) |
| Subj.4 | 2.25(2.0%) | 1.48(1.41%) | 1.51(−) | 1.48(1.33%) | 1.54(1.41%) | 0.97(0.88%) | 0.73(0.68%) |
| Subj.5 | 1.69(1.22%) | 0.69(0.51%) | 0.78(−) | 0.77(0.60%) | 0.97(0.72%) | 0.75(0.57%) | 0.64(0.92%) |
| Subj.6 | 3.16(2.51%) | 1.32(1.09%) | 1.46(−) | 1.34(1.10%) | 1.64(1.24%) | 0.92(0.75%) | 1.30(1.24%) |
| Subj.7 | 1.72(1.27%) | 0.71(0.54%) | 0.94(−) | 0.59(0.48%) | 2.25(1.55%) | 0.65(0.50%) | 0.68(0.53%) |
| Subj.8 | 1.83(1.47%) | 0.56(0.47%) | 0.79(−) | 0.63(0.54%) | 0.63(0.53%) | 0.97(0.83%) | 1.12(0.77%) |
| Subj.9 | 1.58(1.28%) | 0.49(0.41%) | 0.60(−) | 0.57(0.48%) | 0.62(0.51%) | 0.55(0.48%) | 0.52(0.46%) |
| Subj.10 | 4.00(2.49%) | 3.81(2.43%) | 2.95(−) | 3.50(2.22%) | 4.62(2.83%) | 2.06(1.29%) | 3.15(2.00%) |
| Subj.11 | 1.96(1.29%) | 0.78(0.51%) | 1.00(−) | 1.07(0.70%) | 1.30(0.84%) | 1.03(0.68%) | 1.13(0.72%) |
| Subj.12 | 3.33(2.30%) | 1.04(0.81%) | 0.83(−) | 1.04(0.83%) | 1.80(1.25%) | 0.99(0.70%) | 1.07(0.73%) |
| 均值 | 2.42(2.42%) | 1.28(1.03%) | 1.20(−) | 1.23(0.96%) | 1.83(1.40%) | 1.02(0.81%) | 1.12(0.90%) |
图8展示了本文算法计算结果的皮尔逊相关系数图,相关系数为0.995 533 98,已经十分接近于1,表明本文算法计算出的心率与真实心率间存在很强的线性相关关系。图8还展示了Bland-Altman图,其一致性界限为[−4.425,4.057],误差均值为−0.184 bpm,有95.6%的数据样本落在置信区间内,表明计算心率与真实心率的一致性极强。
图 8.

The statistical results of the proposed algorithm in the 12 sets of training data of IEEE Signal Processing Cup
本文算法在IEEE信号处理杯12组训练数据的统计结果
在实验室自测数据的结果对比分析中,选择前述算法中在公开数据集表现最好且具有复现性的WFPV算法与本文算法进行对比,平均绝对误差与平均绝对误差百分比如表4所示。
表 4. Comparison of MAE and MAPE between the algorithm proposed in this paper and the WFPV algorithm on self-test data.
本文算法与WFPV算法在自测数据的MAE、MAPE对比
| 样本编号 | MAE*(MAPE) | |
| WFPV | 本文算法 | |
| 注:* MAE在表中单位为bpm | ||
| Subj.1 | 2.89(2.74%) | 1.65(1.31%) |
| Subj.2 | 3.59(2.84%) | 2.78(2.63%) |
| Subj.3 | 2.83(2.09%) | 2.83(2.16%) |
| Subj.4 | 6.14(5.94%) | 4.46(3.20%) |
| Subj.5 | 18.42(14.24%) | 5.22(4.10%) |
| Subj.6 | 7.17(6.30%) | 4.91(3.90%) |
| Subj.7 | 9.47(7.73%) | 4.95(3.41%) |
| Subj.8 | 2.76(2.78%) | 1.27(1.25%) |
| Subj.9 | 2.66(2.20%) | 2.29(2.24%) |
| Subj.10 | 2.37(2.35%) | 1.56(1.45%) |
| 均值 | 5.83(4.92%) | 3.19(2.57%) |
根据表4十组自测数据的处理结果来看,本文算法的平均绝对误差与平均绝对误差百分比分别为3.19 bpm与2.57%,明显优于WFPV算法的5.83 bpm与4.92%。在subj.4~7四组数据中,本文算法的计算精确度虽然有所下降,但总体误差仍保持在5.5 bpm的可接受范围内,而WFPV算法则出现了大量计算异常的数据样本,其中在subj.5测试中的平均绝对误差更是达到了18.42 bpm。此外,在十组数据共3 174个样本的t检验对比中,本文算法计算得到的心率与真实心率的差异没有统计学意义(t = 1.931,P = 0.053 5),而WFPV算法计算得到的心率与真实心率的差异具有统计学意义(t = −2.670,P = 0.007 6)。统计结果表明在同样的强噪声干扰环境下,本文算法的计算结果与真实心率间的差异更小、一致性更高,更加接近真实心率。
图9是本文提出算法在自测数据的皮尔森相关系数图与Bland-Altman图,其中皮尔森相关系数计算为0.989 675 16、一致性界限为[−6.535,9.191],误差均值1.327 bpm,有94.3%的数据点落在了置信区间内。
图 9.

The statistical results of the algorithm proposed in this paper on 10 sets of self-test data
本文算法在10组自测数据的统计结果
3. 结论
从实验结果来看,本文提出的基于自适应心率搜索模型的心率提取算法具有较强的抗运动噪声干扰性,在PPG信号主频不突出的情况下,能通过限制其真实心率谱峰的出现范围来排除噪声干扰。在十二组公开数据上表现良好,平均绝对误差均值1.12 bpm,相较于WFPV算法的1.02 bpm仍有改进空间,但是对比TROIKA等心率算法准确率有较大提升。在十组自测运动噪声较大的数据中,本文提出算法平均绝对误差均值为3.19 bpm,明显优于WFPV算法的5.83 bpm。总体来看,本文提出算法能够在剧烈跑步运动中提取出有效心率信息,具有较高的心率计算准确率与较强的抗噪声干扰能力,其对于智能臂带等在上臂处采集PPG信号的心率监测设备具有一定应用前景。
重要声明
利益冲突声明:本文全体作者均声明不存在利益冲突。
作者贡献声明:孟戎昊主要负责算法设计、数据采集与分析、论文编写工作;李卓识主要提供实验指导、理论分析指导、论文写作指导及审阅修订工作;于合龙为基金项目负责人,主要负责算法分析指导、协调沟通实验所需资源及落实计划安排等工作;钮旗超主要负责数据处理、算法训练、实验平台及设备搭建工作。
Funding Statement
国家自然科学基金(U19A2061);吉林省科技发展项目(20190301024NY)
National Natural Science Foundation of China; Science and Technology Development Project of Jilin Province
Contributor Information
卓识 李 (Zhuoshi LI), Email: lizs323@163.com.
合龙 于 (Helong YU), Email: yuhelong@jlau.edu.cn.
References
- 1.吴学思 心率在心血管疾病中的意义. 中华内科杂志. 2006;(7):601–602. doi: 10.3760/j.issn:0578-1426.2006.07.033. [DOI] [Google Scholar]
- 2.Foroozan F 基于MUSIC的算法利用腕上PPG信号提供按需心率估算. 中国电子商情(基础电子) 2018;(4):22–24. [Google Scholar]
- 3.洋洋, 陈小惠, 王保强, 等 脉搏信号中有效信号识别与特征提取方法研究. 电子测量与仪器学报. 2016;30(1):126–132. [Google Scholar]
- 4.陈暘. 基于PPG的去运动伪影及心率估计方法研究. 成都: 电子科技大学, 2019.
- 5.Kajita M, Hara S Motion artifact canceling PPG heart rate sensor based on an adaptive filter algorithm with variable tap length// Annu Int Conf IEEE Eng Med Biol Soc (EMBC) Montreal: EMBC. 2020:4410–4413. doi: 10.1109/EMBC44109.2020.9176715. [DOI] [PubMed] [Google Scholar]
- 6.Shao Hanyu, Chen Xiaohui Motion artifact detection and reduction in PPG signals based on statistics analysis//第29届中国控制与决策会议论文集. 重庆: IEEE. 2017:1351–1356. [Google Scholar]
- 7.Zhang Z, Rao B D Sparse signal recovery with temporally correlated source vectors using sparse Bayesian learning. IEEE J Sel Topics Signal Process. 2011;5(5):912–926. doi: 10.1109/JSTSP.2011.2159773. [DOI] [Google Scholar]
- 8.徐菁, 朱敏 基于三轴加速度信号的心率修正算法. 计算机应用与软件. 2017;34(12):289–294. doi: 10.3969/j.issn.1000-386x.2017.12.055. [DOI] [Google Scholar]
- 9.Su SW, Huang S, Wang L, et al Optimizing heart rate regulation for safe exercise. Ann Biomed Eng. 2010;38(3):758–768. doi: 10.1007/s10439-009-9849-0. [DOI] [PubMed] [Google Scholar]
- 10.Girard C, Ibeas A, Vilanova R Robust discrete-time linear control of heart rate during treadmill exercise// 2016 24th Iranian Conference on Electrical Engineering. Shirazi: ICEE. 2016:1113–1118. [Google Scholar]
- 11.Temko A Accurate heart rate monitoring during physical exercises using PPG. IEEE Trans Biomed Eng. 2017;64(9):2016–2024. doi: 10.1109/TBME.2017.2676243. [DOI] [PubMed] [Google Scholar]
- 12.Lv Xueying, Wang Yitian, Deng Jjunyi, et al Improved particle swarm optimization algorithm based on last-eliminated principle and enhanced information sharing. Comput Intell Neurosci. 2018;2018:5025672. doi: 10.1155/2018/5025672. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 13.Esmaeili A, Ibeas A Particie Swarm Optimization modelling of the heart rate response in treadmill exercise// 2016 20th International Conference on System Theory Control and Computing. Sinaia: ICSTCC. 2016:613–618. [Google Scholar]
- 14.Zhang Z, Pi Z, Liu B TROIKA: A general framework for heart rate monitoring using wrist-type photoplethysmographic signals during intensive physical exercise. IEEE Trans Biomed Eng. 2015;62(2):522–531. doi: 10.1109/TBME.2014.2359372. [DOI] [PubMed] [Google Scholar]
- 15.王岚, 彭敏, 周清峰. 基于自适应双阈值的计步算法. 计算机应用研究, 2020, 37(6): 1741-1744, 1773.
- 16.Cheng T M, Savkin A V, Celler B G, et al Nonlinear modeling and control of human heart rate response during exercise with various work load intensities. IEEE Trans Biomed Eng. 2008;55(11):2499–2508. doi: 10.1109/TBME.2008.2001131. [DOI] [PubMed] [Google Scholar]
- 17.Zhang Z Photoplethysmography-based heart rate monitoring in physical activities via joint sparse spectrum reconstruction. IEEE Trans Biomed Eng. 2015;62(8):1902–1910. doi: 10.1109/TBME.2015.2406332. [DOI] [PubMed] [Google Scholar]
- 18.Arunkumar K R, Bhaskar M CASINOR: Combination of adaptive filters using single noise reference signal for heart rate estimation from PPG signals. Signal Image Video Process. 2020;14:1507–1515. doi: 10.1007/s11760-020-01692-6. [DOI] [Google Scholar]
- 19.Fujita Y, Hiromoto M, Sato T PARHELIA: Particle filter-based heart rate estimation from photoplethysmographic signals during physical exercise. IEEE Trans Biomed Eng. 2018;65(1):189–198. doi: 10.1109/TBME.2017.2697911. [DOI] [PubMed] [Google Scholar]
- 20.Zhang Y S, Liu B Y, Zhang Z L Combining ensemble empirical mode decomposition with spectrum subtraction technique for heart rate monitoring using wrist-type photoplethysmography. Biomed Signal Process Control. 2015;21(1):119–125. [Google Scholar]























