心率是人体健康状况最重要的衡量标准之一,对其长期监测能有效地预防和诊断心脑血管疾病[1-2].目前基于视频的心率检测算法应用最为广泛,技术较为成熟[3].文献[4]提出血容量脉搏矢量(PBV)算法,主要是从色度模型构建、颜色空间转换等角度进行思考,对波形处理都是在时域和频域分别进行,滤波后运用滑窗法进行心率提取[5],但这种方法很难兼顾心率测量的灵敏度和准确度,难以在迅速检测心率的微小变化时保证良好的心率检测精确度.文献[6-7]提出使用色度模型算法(CHROM)可以在估计投影方向时,降低对用于脉搏提取先验知识的敏感性.但在采集人脸视频过程中,测量的镜面分量必须由假定的标准化肤色矢量进行补偿.目前主流的心率检测方案是拍摄人脸视频作为心率提取的先验知识,随后对视频进行分析从而实现心率检测[8-10].该方案涉及了强烈的隐私问题,人脸视频的拍摄与分析给被测者的个人隐私带来了威胁[11-13],为此本研究提出基于改进软签名的心率检测算法,并对算法的有效性进行测试.改进的软签名算法结合了色差法、VMD与非线性连续小波阈值函数衰减处理算法的优点,不仅能保护被测者隐私,而且最大程度地降低噪声对心率信号的影响,保证了心率的精确度.1 传统的软签名算法1.1 软签名算法理论软签名算法[14]的基本思想是建立一个软知识空间,允许在脉搏提取的假设中存在不确定性并应用质量度量来消除结果的不确定性.首先消除心率信号C对时间直流分量的依赖,由此可得Ci~=Ci/(μCi)-1,式中:Ci为C的第i个颜色通道;Ci~为无直流分量的心率信号;μ为计算信号平均值的平均算子.从M维的C~中提取一维心率信号可理解为将C~投影到M维空间中的方向W,即P=W⋅C~,其中:P为1×L的脉搏信号;W为1×M投影矢量,其目标是抑制C~中的非脉动失真.首先假设超过4个通道,然后返回到3个通道的情况.通过右移C~的转置可以得到P⋅C˜T=W⋅C˜T⋅C˜,(1)式中:等号左边为1×M向量;等号右边CT~⋅C~是无直流分量的颜色信号的M×M协方差矩阵.令V=P⋅C˜T,其中V为污染的血容量脉搏,混合了皮肤与背景.投影向量为W=V⋅(C˜T⋅C˜)-1,(2)带入式(1)可得最终的心率信号为P=V⋅(CT~⋅C~)-1⋅C~.对信号进行傅里叶变换(FFT)计算得出其脉搏波频谱图,其中频谱图的频率最高峰即为心率频率,通过计算可得1 min的心跳数为[14]N=60f,(3)式中f为心率频率.1.2 算法存在的问题软签名算法虽然能够实现隐私保护下的心率检测,但仍然存在以下问题:软签名算法依据PPG幅度曲线,设定G通道波长作为心率提取通道,但由于光信号较弱,且在传播途中易受到损耗,因此采集的心率信号微弱、周期性差,难以实现高精度的心率检测;优选算法的评价标准是能够有效区分噪声和心率信号.由于信号的提取缺乏前端知识(人脸视频或图像),心率信号中始终掺杂皮肤和非皮肤区域的信号,此噪声幅度将很低,单个像素无法在皮肤和非皮肤之间实现清晰的分离;因此,在进行带通滤波时,噪声信号不会出现频谱波动,分布不均匀且类似于高斯分布,进而导致傅里叶变化后的心率信号频谱图出现较多的毛刺且峰值不易辨认,最终影响心率检测精度.2 改进的软签名算法软签名算法的改进思路如下所示.步骤1 对采集的心率信号的信号使用RG通道色差法来增强心率信号强度;步骤2 对步骤1所得的色差信号进行多方向投影,选择噪声较小的心率信号输出;步骤3 使用VMD算法对所选信号进行分解,去除信号中存在的低频噪声;步骤4 采用基于峭度的方法选择含心率信号较多的IMF分量,并对其使用小波系数非线性连续函数衰减算法去除高频噪声后重构.10.13245/j.hust.210904.F001图1改进软签名算法流程图2.1 心率信号的增强传统的心率检测方式都是单独使用G通道来作为包含心率信号的信号进行处理.然而,光信号本身较弱,且在传播过程中易出现损耗,仅使用G通道作为心率提取通道存在心率信号微弱、周期性差等问题.因此提出将色差法引入心率信号处理中,其原理参考了PPG幅度曲线[14].皮肤对不同光波长的吸收敏感度不同,其中,绿色通道的信号幅度最强,光反射强度最大,而R通道信号强度略小于G通道且大于B通道,即γRγBγG,因此色差信号可表示为D(t)=Ii(t)αiβi-Ij(t)αjβj=(γi-γj)s0p(t)M(t)(i,j∈{R,G,B},i≠j),式中:p(t)为标准的心率信号;i,j为R,G或B通道;M(t)为理想信号运动模型;s0,αi,βi分别为散射光强度、第i个通道的实际光照功率强度和第i通道的满散射功率强度;γi为第i个通道的直流分量与交流分量的比值.选择G和R通道进行色差法,即D(t)=IR(t)αRβR-IG(t)αGβG=(γR-γG)s0p(t)M(t).(4)由于αRβR和αGβG是未知的,须对此进行进行估计,振幅γi,s0,p(t)的幅度很小可忽略不计,假设原始心率信号为It=αiβi(s0+γi+R0)M(t).(5)由式(4)可知,处理后的信号仅由αRβR和αGβG决定,因此红绿通道功率谱近似的估计为:αG~βG~(t)=IG(t)/IG2(t)+IR2(t)+IB2(t);(6)αR~βR~(t)=IR(t)/IG2(t)+IR2(t)+IB2(t).(7)将式(6)和(7)代入式(4)可得D(t)=IR(t)/(αR~βR~)-IG(t)/(αG~βG)~.使用色差法对心率信号的RG通道作加权相减,如图2所示,图中:T为采集时间;F为心率信号的幅度.由图2可见:原始的G通道信号提取法所采集的信号幅度较小,难以观测其主频.同时,信号存在较大噪声,周期性较差;经过色差法处理的信号与单个G通道信号相比,其幅度明显增大,信号呈现较好的周期性.10.13245/j.hust.210904.F002图2色差法与原始方法对比综上可见:将色差法引入改进软签名算法中,很好地提高了心率信号强度与周期性,为后续信号降噪和心率检测打下了坚实的基础.2.2 VMD算法VMD[15,17]算法是一个完全非递归变分模式分解模型,通过设置最佳K值将心率信号f分解成K个离散的子信号μk(t),能有效地抑制心率信号中的模态混叠,并滤除信号中存在的低频噪声干扰,同时具有较强的抗噪声鲁棒性.该算法的关键在于选取分解模态个数K,K值过大会导致信号被过度分解,从而导致心率信号出现模态混叠;K值过小则无法完全分解心率信号,因此参考中心频率迭代曲线可以选择最佳K值来进行心率信号分解[17].VMD算法具体实现步骤如下:首先对分解的子信号Uk(t)通过希尔伯特变换(Hilbert)计算相关的解析信号,以此获取其单边频谱为[δ(t)+j/(πt)]×μk(t).然后将子信号的频谱移动到基带,并估计每个模态的中心频率[δ(t)+j/(πt)]×μk(t)e-jωkt.得到的约束变分问题为min∑||∂t[(δ(t)+j/(πt))×μk(t)]e-jωk(t)||2;∑k=1kμk=f,式中{μk}:={μ1,μ2,...,μk}和{ωk}:={ω1,ω2,...,ωk}分别表示k个子信号和中心频率.引入二次惩罚参数和拉格朗日乘子来寻求无约束的最优解,这两个组合既得益于二次惩罚的良好的收敛性,又能严格执行约束,具体为 L({μK,ωK},λ):=ζ∑K||∂t[(δt+j/πt)μk(t)]⋅e-jωk(t)||22+||f(t)-∑μk(t)||22+〈λ(t),f(t)-∑kμk(t)〉,式中:ζ为惩罚参数;λ为拉格朗日乘子.通过上式估算K值即可得到频带划分清晰的模态分量.使用VMD算法对色差信号进行分解,如图3所示,图中Z为信号帧率.可见VMD算法分解后的心率信号滤除了部分低频噪声,呈现出较好的波形特征,且具有具有较好的周期性.10.13245/j.hust.210904.F003图3VMD算法分解前后的信号噪声对比2.3 基于峭度法使用基于峭度(Kurtosis)的方法[18]对VMD分解后得到的窄带本征模态分量(IMF)进行评估.其定义为k(x)=E(x-u)4/[E(x-u)2]2,其中:E为期望值;u为信号的均值.峰值的高低与噪声的大小成反比,根据峰值的高低可选择心率信号含量最多的IMF分量.2.4 小波系数非线性连续函数衰减算法心率信号经由VMD分解与峭度选择后所得到的IMF分量中仍然存在了大量高频噪声,该噪声会在心率信号上产生一个幅度较大的干扰信号,使心率信号产生尖峰突变,给后续基于频域的心率估计带来了误差,因此须消除此高频噪声.小波系数非线性连续函数衰减算法[19]结合了软、硬阈值函数降噪算法的优点,通过灵活选择阈值函数对心率信号进行多尺度分析,可以消除心率信号中残余的高频噪声,且能保持心率信号的原有特征,其阈值函数为ω̂=2sgn(|ω|n+1)/n+1+e|λ/ω|n-1]λn (|ω|λ);ω-λsgn(λ)+2λsgn(λ)/n+1+e|λ/ω|n-1(|ω|≥λ),式中:λ=σ2lnN/ej-1,阈值λ与分解尺度j成反比;n为调节参数且>0.当n→0+时,ω̂=ω,则该阈值函数趋近于硬阈值函数.当n→∞时,ω̂=ω+λ(ω≤λ);0(|ω|λ);ω-λ(ω≥λ).因此通过改变n来调节阈值函数即可达到最优的降噪效果.使用峭度法选择含心率信号较多的IMF分量,随后使用小波系数非线性连续函数衰减降噪算法进行降噪,由此完成了改进软签名算法的实现.如图4(a)所示,改进软签名算法处理的心率信号具有良好的周期性和主频,且很好地消除了信号中存在的高低频噪声;如图4(b)所示,未使用改进软签名算法处理的信号存在较多高低频干扰噪声,波形尖锐,可见改进软签名算法能有效增强心率信号强度,且具有良好的降噪效果.10.13245/j.hust.210904.F004图4改进软签名算法处理前后对比3 实验分析与验证3.1 实验设置实验将在受试者处于平静状态进行,要求所有受试者身体健康,并在测试之前未服用过影响心率的药物,未经过剧烈运动.使用市面上常见的心率仪分别测量受试者的心率值,以此作为实验的评估准则.实验设备为笔记本电脑,实验人数为随机挑选30名受试者.为保证实验公平性,所有实验均采用控制变量法,即在同一环境中,对同一个名受试者分别使用不同方法进行测试.3.2 算法有效性对比验证在自然光的照射下,使用PBV,CHROM、软签名与本文算法分别测量志愿者的心率信号,并绘制其脉搏波频谱图,以此验证改进软签名算法的有效性.令P为心率信号频率.如图5(a)所示,PBV算法所得的脉搏波频谱在第二个波峰后显示出较大的噪声干扰,因此该算法的降噪效果不佳,且难以准确判断频谱峰值;如图5(b)所示,CHROM算法所测得的脉搏波频谱同样受到了很大的噪声干扰,噪声使得频谱图出现伪峰值,从而导致难以准确计算志愿者的心率;如图5(c)所示,软签名算法所测得的脉搏波频谱较为光滑,受到噪声的干扰较小;如图5(d)所示,改进软签名算法所测脉搏波频谱噪声明显少于其他算法,频谱峰值准确.根据式(3)计算可得,志愿者的心率值为67 min-1.10.13245/j.hust.210904.F005图5改进软签名算法的有效性对比为了有效对比四种不同算法的心率测量结果准确度,根据式(3)计算每一位受试者的算法测量结果,并与心率仪测量结果进行平均绝对值误差|Me|、均方根误差αRMSE和平均准确率HRac,具体结果见表1所示.10.13245/j.hust.210904.T001表1四种不同算法及心率仪的心率检测结果分析方法|Me|/min-1αRMSE/min-1HRac/%心率仪0.000.00100.00PBV3.345.7487.12软签名1.001.7383.17CHROM6.397.1983.17改进软签名0.340.5798.163.3 改进软签名算法与心率仪的一致性评价Bland-Altman图(图6)常用来进行一致性评价,图中的三条横线分别是差值(纵坐标)的均值、均值±1.96的标准差,即95%一致性界限.平均值越大说明两种方法的差异性越强,反之则说明两种方法的差异性越小,一致性越好.根据95%一致性界限外的数据点个数、一致性界限内的最大差值以及临床上的可接受程度来验证本文方法测量结果的准确性与心率仪的一致性.10.13245/j.hust.210904.F006图6四种不同算法的一致性评价分别使用四种方法所测心率结果与同标准的心率仪所测结果来绘制Bland-Altman图.数据来自四种方法与心率仪所测的30名受试者的心率.由图6(a)和(b)可知:PBV方法与CHROM方法所测心率结果与平均值的偏差分别为1.7和3.2,95%的置信区间分别是[-4.7~8.0]和[-9.0~14.5].由图6(c)可知:软签名方法所测心率结果与平均值偏差为0.8,95%的置信区间是[-15.4~17.0].由图6(d)可知:本文方法的心率测量结果与心率仪所测结果偏差为0.2,95%的置信区间为[-3.2~3.6].4 结语提出了一种改进软签名的心率检测算法:引入RG通道色差法增强了心率信号强度;引入VMD与小波系数非线性连续函数衰减算法对心率信号降噪,很好地消除了信号中存在的低高频噪声.实验结果表明:改进软签名算法能有效地提高心率信号强度,降低信号噪声,实现高精度的心率检测,主客观指标均优于对比算法.
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读
复制地址链接在其他浏览器打开
继续浏览