计算机系统应用  2021, Vol. 30 Issue (10): 171-179   PDF    
基于振动相位信号分解的非接触式心率检测
宋正伟1,2, 陈鲸1, 杨学志2,3, 吴克伟1,2, 方帅1     
1. 合肥工业大学 计算机与信息学院, 合肥 230009;
2. 工业安全与应急技术安徽省重点实验室, 合肥 230009;
3. 合肥工业大学 科研院, 合肥 230009
摘要:心率是反映人体心血管系统状态的重要依据. 基于视频的非接触式心率检测凭借其场景适应能力强、成本低等优势, 得到了广泛应用. 然而, 这种检测方法容易受到光照变化、目标运动等噪声干扰. 针对该问题, 本文提出了一种基于振动相位信号分解的腕部表皮视频心率提取方法, 其核心思想是设计方向选择的复可控金字塔搜索出脉搏信号的带通范围, 使用信噪比进行脉搏信号的感兴趣选择, 使用鲁棒主成分分析从混合信号中分离出脉搏信号, 从而最终实现脉搏信号抗噪的心率检测. 本文自行采集了心率检测数据集, 并使用脉搏检测仪作为真值进行方法验证. 在干扰场景下准确率为97.80%, 与3种主流方法对比准确率提升均大于5%.
关键词: 复可控金字塔    微振动    心率    非接触式    相位    
Non-Contact Heart Rate Detection Based on Decomposition of Vibration Phase Signals
SONG Zheng-Wei1,2, CHEN Jing1, YANG Xue-Zhi2,3, WU Ke-Wei1,2, FANG Shuai1     
1. School of Computer Science and Information Engineering, Hefei University of Technology, Hefei 230009, China;
2. Key Laboratory of Industry Safety and Emergency Technology of Anhui Province, Hefei 230009, China;
3. Institute of Scientific Research, Hefei University of Technology, Hefei 230009, China
Foundation item: S & T Program of Anhui Province (201903c08020010)
Abstract: Heart rate is an important basis for reflecting the status of the cardiovascular system in humans. Video-based non-contact heart rate detection has been widely applied due to its advantages of strong scene adaptability and low cost. However, this method is susceptible to noise interference such as illumination change and target movement. To solve this problem, this study proposes a method based on the decomposition of vibration phase signals to extract the video heart rate on the wrist skin. Its core idea is to find the band range of pulse signals by designing a direction-selective complex steerable pyramid. The signal-to-noise ratio is used to select the pulse signals of interest and the robust principal component analysis is employed to isolate pulse signals from the mixed signals. Finally, the heart rate of noise-resistant pulse signals is detected. In this study, the data set of heart rate detection is collected, and the output from a pulse detector is taken as the true values to verify the method. The accuracy is 97.80% in the interference scene, which is over 5% higher than that of the three mainstream methods.
Key words: complex steerable pyramid     micro-vibration     heart rate     non-contact     phase    

心率可以反映人体的心血管健康状态, 是当代医疗领域中一项重要的生理参数, 对人体的健康检测具有重大意义. 随着心脏的间歇性收缩和舒张, 血液压力、血流速度和血流量的脉动在血管系统中的传播引起了血管壁的变形和振动, 进而形成了搏动的特征[1]. 脉搏波反映了这些波形的变化特征, 从这些变化特征中我们可以观测出人体的心血管健康状况.

当人体血液流经皮肤表面的心血管时, 会引起皮肤表面的两种变化: 一种是颜色变化[2], 一种是振动变化. 皮肤颜色变化是由于人体血液中包含的血红蛋白对不同光的折射率不同, 所以通过皮肤表面的光强变化, 就可以检测血管中血液容积的变化, 进而检测血管壁的波动情况. 而振动变化是因为血液流经动脉对血管壁产生振动[3], 进而传播到皮肤表面产生了微小运动. 通过基于视频的非接触式脉搏波检测方法可以有效远距离从人体的面部、颈部、腕部提取出脉搏波.

基于视频的非接触式心率检测的原理是借助外界的光源照射人体, 通过远程测量光信号的变化, 间接检测人体心率. 视频法解决了传统接触式心率检测需要传感器与受试者肢体接触, 应用场所有限, 难以方便、快捷地进行心率检测的问题. 然而视频法检测心率易受光照干扰以及人体晃动的干扰, 这是视频法检测心率不能忽视的问题.

Poh等人[4]提出了一种通过分析视频中人脸变化从而估计心率的方法. 该方法将人脸区域图像分离为RGB 三通道, 分别计算区域内灰度均值. 经过一段时间后可得到随时间变化的3个观测信号R, G, B. 使用独立成分分析(Idependent Component Analysis, ICA)[5]对R, G, B 三个信号进行ICA分析, 得到3个相互独立的源信号, 再进行功率谱估计, 取其中第1个基向量为脉搏波. 但是有时血液容积脉搏波(Blood Volume Pulse, BVP)信号可能是其他基向量, 结果误差较大. Wu等人[6]提出了欧拉视频放大算法(Eulerian Video Magnification, EVM), 该算法可以将人眼所观测不到的微小振动进行放大处理, 实现肉眼可视化, 这种算法给我们非接触式的脉搏波检测提供了新的思路. Miljkovic等人[7]使用EVM来提取人脸视频中的心率, 将人脸上血液流经皮肤时所产生的颜色变化进行放大, 但是该算法需要受测者配合实验, 不能有轻微移动, 准确性才能保证. 戚刚等人[8]提出了一种基于EVM的抗运动干扰脉搏波提取算法, 该算法首先检测出人脸区域, 使用Kanade-Lucas-Tomasi (KLT)技术对视频序列中的人脸进行跟踪和倾斜校正, 减少人体运动的干扰, 之后进行颜色放大, 提取心率. 在非合作的复杂场景下可以准确检测, 但是滤波器使用了理想滤波器, 没有较好的保留脉搏波的细节. 在算法上由于使用了KLT, 运算量较大, 速度相比其他算法要慢, 且受光照干扰也比较大, 实际应用还有许多困难. 李晓媛等人[9]同样使用KLT算法跟踪识别人脸图像, 并转化到YCbCr颜色空间进行皮肤检测并同时转换到Cg颜色通道来提取脉搏波, 用Morlet复小波作为母波绘制能量谱图. 苏培权等人[10]提出使用EVM运动放大来放大人体腕部桡动脉的振动幅度, 通过对放大后腕部桡动脉的振动定位, 最后使用亮度加权求和来提取脉搏波. 虽然在一定程度上避免了光照干扰, 但是需要受测对象配合实验且腕部位移幅度较大时误差较大, 对运动干扰缺少鲁棒性. 李江山等人[11]对苏培权等人[10]的方法进行了改进, 在对腕部表皮进行放大处理以后, 选取感兴趣区域(Region Of Interest, ROI)为待处理区域, 利用独立成分分析算法来分离腕部区域中的脉搏波信号和环境噪声, 再通过功率谱估计对脉搏波信号进行分析. 但是上述方法都是基于亮度来对信号进行处理的, 抗光照变化能力差, 受目标微运动的干扰较大.

针对上述文献提出的算法中存在抗光照干扰能力弱, 抗运动干扰能力弱的问题, 本文提出了一种基于相位[12,13]变化的视频心率检测算法, 通过提取腕部表皮振动信息的方法来选取脉搏波, 可以有效避免光照干扰; 通过复可控金字塔的方向分解, 滤除了其他方向的运动噪声, 只保留了腕部表皮的振动信息; 对视频采用显著区域选择和鲁棒主成分分析进行噪声抑制. 因此, 本文的贡献如下:

(1) 针对拍摄视频时人体轻微晃动产生的运动干扰问题, 本文设计了具有方向选择的复可控金字塔的滤波器, 用于筛选出脉搏振动信号.

(2) 针对传统脉搏振动信号受到噪声干扰问题, 本文估计局部的脉搏信号信噪比, 实现脉搏信号的感兴趣区域筛选.

(3) 本文进一步使用鲁棒主成分分析, 对脉搏振动信号进行信号分离, 提取出可靠的脉搏信号, 用于实现准确的心率检测.

1 振动信号分解的心率提取算法

本文提出了一种基于相位变化的腕部桡动脉视频脉搏波提取方法. 首先, 采集腕部桡动脉的视频, 选取垂直于手臂轮廓的方向作为复可控金字塔的方向, 之后进行分解得到每一个像素点的相位, 选取每个像素第一帧相位为标准, 与后续每一帧对应像素的相位相减得到相位差信号, 选取ROI信噪比最高的区域为待处理区域, 通过时域带通滤波提取感兴趣频段内的相位差信号; 最后使用鲁棒主成分分析算法提取脉搏波信号, 使用功率谱估计法计算心率值. 算法流程图如图1所示.

图 1 基于振动相位信号分解的心率检测算法流程图

1.1 复可控金字塔方向选择与分解

由于人体桡动脉的脉搏振动强度比较微弱, 易受人体其他振动噪声干扰, 为了能够准确提取到脉搏波信号, 我们采用复可控金字塔在指定方向上进行方向分解提取相位信号, 这样在减少其他方向运动干扰的同时也减少了计算量. 复可控金字塔示意图如图2所示.

图 2 复可控金字塔示意图

复可控金字塔的本质就是一个尺度-方向带通滤波器组[13]. 各层带通滤波器(频域)均是通过低通滤波器与高通滤波器相乘的方式实现, 高通滤波器的实现公式为:

$\begin{split} & HiMask =\\ &\left\{ \begin{aligned} & 1;rad \ge r \\& \left| {\cos\left( {\frac{\pi }{{2 \times twidth}} \times \left[ {\log_2{\left(rad\right)} - \log_2r} \right]} \right)} \right|;\\ & r \times {2^{ - twidth}} < rad < r \\& 0;rad \le r \times {2^{ - twidth}} \end{aligned} \right. \end{split}$ (1)

低通滤波器的实现公式为: $LoMask = \sqrt {1 - HiMas{k^2}}$ 其中, $rad$ 表示极径图, $r$ 的取值范围为 ${{r}} \in [ 2^{- MaxHeight}, \;2^{0} ]$ , 用来控制带通滤波的有效范围, $MaxHeight$ 为金字塔层数. $twidth$ 用来调整高通滤波器的无效频带范围和低通滤波器的有效频带范围, 人为设定为1, 将上述低通滤波器和带通滤波器公式相乘, 就实现了二维带通滤波器, 如图3所示.

图 3 带通滤波器(频域)

方向滤波器的模板如式(2)所示.

$\begin{split} & AngleMas{k_b} =\\& \left\{ \begin{aligned} & 2 \times \sqrt {const} \times {\left[ {{\rm{cos}}\left( {angle - \frac{{\pi - (b - 1)}}{k}} \right)} \right]^{order}};\\& \;\;\;\;\;\;\;\; \left| {angle - \frac{{\pi \times (b - 1)}}{k}} \right| < \frac{\pi }{2}\\& {0;{\rm{others}}} \end{aligned} \right. \end{split}$ (2)

其中, $k$ 表示总方向个数, $b$ 取值 $\left[ {1,\;k} \right]$ . $order$ , $const$ 为常量, $order = k - 1$ , $const = \dfrac{{{2^{2 \times order}} \times {{[(order)!]}^2}}}{{k \times (2 \times order)!}}$ . 每个方向 $b$ 下的方向模板为 $AngleMas{k_{b}}$ , 将上述方向滤波器模板与尺度带通滤波器相乘, 即可得到尺度-方向带通滤波器. 设计公式:

$BaMas{k_b} = HiMask \times LoMask \times AngleMas{k_b}$ (3)

在本文中, k值取为8, 方向 $b$ 取值为2, 这样可以更好的减少其他方向运动噪声干扰. 将视频的第一帧经过复可控金字塔处理提取出腕部轮廓, 在轮廓上选取标定点AB, 滤波器方向取垂直于点所在直线的方向. 这里,复可控金字塔的方向选择如图4所示.

图 4 复可控金字塔方向选择

视频序列信号为二维信号, 输入视频的像素矩阵表示为 $H(x,y,t)$ , $x$ 代表其横坐标, $y$ 代表其纵坐标, $t$ 代表视频帧数. 将视频矩阵 $H(x,y,t)$ 经过尺度-方向带通滤波器滤波后得到具有方向特征的脉搏波相位差信号 $G(x,y,t)$ . 如式(4)所示.

$G(x,y,t) = [H(x,y,t) - H(x,y,0)]×BaMas{k_b}$ (4)
1.2 ROI区域选择

在使用复可控金字塔对腕部桡动脉相位差信号进行提取后, 若对视频整体进行处理, 不仅会引入噪声干扰还会大大增加后续的运算量, 所以要将视频区域分成大小一致的若干子块, 选取一个子块作为ROI区域来进行后续处理. 由于桡动脉振动信号的强度要远大于环境噪声, 所以含有桡动脉振动的区域会具有更高的信噪比, 选取腕部信噪比最高的区域有利于脉搏波的提取. 最终输入相位差矩阵表示为 $G(x,y,t)$ , 选取步骤如下:

(1) 区域分块

将整个视频区域以长度 $l$ 为步长分成大小一致的若干正方形区域. 其中子区域相位差信号 ${G_{mn}}(x,y,t)$ 表示第( $m$ , $n$ )个子区域的相位差信号. 对第( $m$ , $n$ )个子块相位差求和取平均表示为 ${V_{mn}}(t)$ .

(2) 信噪比计算与ROI区域选择

求其每个子区域的信噪比, 并且得出信噪比最大的子区域的坐标. 信噪比计算公式如式(5)所示. 求取ROI区域坐标如式(6)所示.

$\begin{split} & SNR({V_{mn}}(t)) = \\&10\lg{}\left(\frac{{{{max}}(abs(fft({{{V}}_{mn}}({{t}}))))}}{{\displaystyle\sum\limits_{f = 0}^\infty {abs(fft({{{V}}_{mn}}({{t}})))} - {{max}}(abs(fft({{{V}}_{mn}}({{t}}))))}}\right) \end{split}$ (5)
$(u,v) = ma{x_{m,n}}(SNR({V_{mn}}(t)))$ (6)

式中, ${{max}}(abs(fft({{{V}}_{mn}}({{t}}))))$ 表示相位差信号经过傅里叶变化后的频谱峰值, $\displaystyle\sum\limits_{f = 0}^\infty {abs(fft({{{V}}_{mn}}({{t}})))}$ 表示整个频谱的幅值和, $abs$ 表示信号的幅值, $max$ 表示求取最大值函数. 式中 $(u,v)$ 为求取信噪比最大子区域的坐标, 即为ROI区域坐标.

1.3 鲁棒主成分分析提取脉搏波

在提取到相位差信号之后, 进行时域带通滤波处理, 频带范围为0.8–2 Hz, 滤波器采用无限脉冲响应(Infinite Impulse Response, IIR)滤波器. 最后将选取 $(u,v)$ 子区域的相位差信号作为最后的样本输入矩阵I.

${I_{u,v}} = {G_{u,v}}(x,y,t)$ (7)

主成分分析算法(PCA)可以有效的去除数据中的噪声和冗余的干扰, 将原有的复杂数据降维. 找到一组新的基底能表示原有的数据的线性关系. 但是主成分分析只能解决被高斯分布噪声污染的信号分离问题, 无法处理高幅度尖锐噪声. 而腕部的桡动脉的运动信息最易受到人体非自主性的运动尖锐噪声的影响. 鲁棒主成分分析(robust PCA)[14]解决了这一缺陷. 将输入相位差矩阵I写成式(8)的形式, A是低秩的脉搏波信息矩阵[15], E是稀疏的运动噪声[16].

$\mathop {\min }\limits_{A,E} {\left\| A \right\|_*} + \lambda {\left\| E \right\|_{1,1}}\;\;{\rm{ s.t. }}\;\;I = A + E$ (8)

其中, ${\left\| \cdot \right\|_ * }$ 表示求核范数, ${\left\| \cdot \right\|_{1,1}}$ 表示求(1, 1)范数.

这里使用增广拉格朗日乘子法[15]来求解上述问题. 构造增广拉格朗日函数如下:

$L(A,E,Y,\mu ) = {\left\| A \right\|_*} + \lambda {\left\| E \right\|_1} + \left\langle {Y,I - A - E} \right\rangle + \frac{\mu }{2}\left\| {I - D - E} \right\|_F^2$ (9)

式中, Y是乘子量, $\left\langle {Y,I - A - E} \right\rangle $ 表示求二者的数量积, $\;\mu $ 是正参量, ${\left\| \cdot \right\|_F}$ 用来计算 $(I - A - E)$ 中元素评分和总量的平方根. 使用精确拉格朗日乘子法交替迭代矩阵AE, 直到满足终止条件为止.

$ \begin{split} A_{k + 1}^{j + 1} &= \mathop {\arg \min }\limits_A L\left( {A,E_{k + 1}^j,Y{}_k,{\mu _k}} \right) \\& = \mathop {\arg \min }\limits_A {\left\| A \right\|_*} + \frac{{{\mu _k}}}{2}\left\| {A - \left(I - E_{k + 1}^j + \frac{{{Y_k}}}{{{\mu _k}}}\right)} \right\|_F^2 \end{split} $ (10)
$ \begin{split} E_{k + 1}^{j + 1}& = \mathop {\arg \min }\limits_E L\left(A_{k + 1}^{j + 1},E,{Y_k},{\mu _k}\right) \\& = \mathop {\arg \min }\limits_E \lambda {\left\| E \right\|_1} + \frac{{{\mu _k}}}{2}\left\| {E - \left(I - A_{k + 1}^{j + 1} + \frac{{{Y_k}}}{{{\mu _k}}}\right)} \right\|_F^2 \end{split}$ (11)

$A_{k + 1}^{j + 1}$ $E_{k + 1}^{j + 1}$ 分别收敛于 $A_{k + 1}^*$ $E_{k + 1}^*$ , 则矩阵Y的更新公式为:

${Y_{k + 1}} = {Y_k} + {\mu _k}(I - A_{k + 1}^* - E_{k + 1}^*)$ (12)

最后更新参数 $\mu $ :

${\mu _{k + 1}} = \left\{ \begin{array}{l} \rho {\mu _k},{\mu _k}{\left\| {E_{k + 1}^* - E_k^*} \right\|_F}/{\left\| I \right\|_F} < \varepsilon \\ {\mu _k} \end{array} \right\}$ (13)

其中, $\;\rho > 1$ 为常数, $\varepsilon $ 为大于0但趋近于0的数.

经过上述过程我们得到了低秩的脉搏波矩阵 $A$ , 这里我们对每一行的脉搏波向量求和取平均值处理, 最后的结果即为脉搏波. 脉搏波提取结果如图5所示. 在提取脉搏波之后, 使用快速傅里叶变换(Fast Fourier Transform, FFT)提取出脉搏波的功率谱, 将功率谱[17]最大值对应的频率 ${f_{HR}}$ 作为人体的心率. 心率的准确性可以很好评估脉搏波提取的准确性.

$HR = {f_{HR}} \times 60$ (14)

HR就是我们最后的心率检测结果.

2 实验结果与分析

本节将设计4组对比实验来验证本文提取脉搏波算法的准确性和鲁棒性. 首先以传统接触式力康Prince-100F型脉搏检测仪作为真值, 同时与文献[911]三种非接触式脉搏波检测方法在无干扰场景下与本文算法进行对比, 验证本文方法提取脉搏波结果的准确性. 然后进行了各步骤实验来证明复可控金字塔、ROI区域选择和鲁棒主成分分析3个子步骤对本文心率提取方法的贡献度. 之后再与3种心率检测方法在光照干扰与运动干扰的条件下进行对比, 验证本方法在干扰场景下心率检测的准确性和鲁棒性. 最后对受测者进行6 min的心率检测.

图 5 脉搏波提取结果图

2.1 实验设计

实验过程如图6所示, 使用惠普笔记本电脑连接摄像头进行视频采集, 其中摄像头距离人体腕部0.4 m左右, 需要受测者配合将手臂平放朝上, 尽可能减少自身上半身与手臂的晃动. 在采集视频的同时, 我们也使用接触式力康Prince-100F型脉搏检测仪同步采集来自指尖的脉搏波. 该设备基于PPG原理, 利用血管中血红蛋白对不同波长的光谱的吸收能力[18]不同, 以及心脏搏动时候血流量的不同获取搏动信号, 将该检测设备得到的结果作为人体心率的真值.

图 6 心率检测实验过程示意图

实验装置为惠普笔记本电脑, CPU为英特尔i7, 内存8 GB, 操作系统Windows 10; 摄像头型号为罗技HD 1080p. 采用软件Matlab 2019b进行装置控制, 实验采集视频为RGB彩色空间, 分辨率为640×480, 视频帧率30帧/s, 每位受测者拍摄时长为10 s, 总计300帧图像. 受测者共计15人, 包括12名男性3名女性. 年龄从21到45岁不等.

2.2 实验结果分析

为了验证本文方法的准确性与鲁棒性. 本文复现了文献[911] 三种非接触式心率提取算法作为对比分析. 采用平均误差Me、标准差SDe、均方误差RMSE、准确率HRac和皮尔森相关系数r作为算法的评价指标.

2.2.1 各步骤实验结果

为了研究每个步骤对整体方法准确率的提升度. 进行各步骤心率检测实验, 证明复可控金字塔的特征提取与ROI区域选取和rPCA去噪是本文方法不可或缺的. 本次实验中, 光照环境为自然光, 志愿者保持静止状态坐在摄像机前, 对15位志愿者进行非接触式心率检测, 实验步骤按照表所示分别进行, 每种实验步骤进行一次, 采集3组视频, 同时使用脉搏波检测仪同步检测心率信息.

通过表1可以看出, 复可控金字塔这一步起到了显著作用, 单独使用的准确率都达到了85%以上, 而ROI区域选取和rPCA分别将方法准确率提升了7%和3%. 这是因为复可控金字塔在主要方向上提取的相位差信号有效避免了运动噪声. ROI区域选取避免了采集视频内的无关噪声, 最后使用rPCA有效滤除了已选区域内运动的尖锐噪声干扰. 本次实验验证了复可控金字塔在特征提取方面的有效性, 验证了显著区域选择、鲁棒主成分分析在噪声抑制上的有效性.

2.2.2 无干扰场景下的心率检测

在本次实验中, 首先在无干扰场景下进行心率检测, 无干扰场景要求受测者在自然光下配合实验人员保持腕部静止进行视频测量[19]采集. 首先验证本文算法提取脉搏波的准确性, 通过本文方法提取的脉搏波所计算的心率结果与接触式力康Prince-100F型脉搏检测仪同步采集的来自指尖的心率进行对比. 15名受测者每人分别进行3组实验, 每组包括接触式与非接触式检测各一次. 共计45组数据. 实验结果如表2所示.

图7(a)散点图中, 横坐标 $x$ 轴表示的是心率检测值, 由本文脉搏波提取方法得出. 心率测检测值由纵坐标 $y$ 轴表示的是心率参考值, 由接触式力康Prince-100F型脉搏检测仪提取结果得出, 每组输入数据对应的是散点图中的一个红色点(测量值, 真实值), 而参考值应该是图中横贯整个坐标轴斜率为1的蓝色实线. 在图7(b)的Bland-Altman图中: 横坐标代表由人脸视频测得的心率值, 纵坐标代表心率检测值和参考值之间的误差, 黑点是由测量值和误差组成的坐标点, 蓝线是通过这些坐标点计算出的误差均值, 两条红线代表95%置信范围, 蓝线越接近于0且两条红线之间的距离越小, 说明心率的测量值和参考值之间的误差越小. 从图7中可以看出, 本文红色点的分布较其他两种方法相比更接近于蓝色实线, 证明了本文方法更接近于心率的真实值.

表 1 算法各步骤心率检测结果

表 2 无干扰场景下心率检测结果

表2可以看出, 4种方法的 ${\textit{Me}}$ 均低于2 bpm, ${\textit{SDe}}$ ${\textit{RMSE}}$ 均低于2.5 bpm, HRac高于96%, $r$ 接近1. 以上这些数据表明, 在无干扰场景下, 3种方法都可以有效准确的检测心率. 本文方法略好于其他方法. 其可能原因是: 在实验过程中受测者的腕部不可能保持绝对静止状态, 存在着干扰, 而本文提出的方法具有良好的鲁棒性, 所以在实验时表现出了更好的性能.

2.2.3 干扰场景下的心率检测

为了证明本文方法具有良好的抗光照干扰与抗运动干扰能力, 实验将在光照干扰和运动干扰两种不同实验条件下与文献[911]进行对比试验. 光照干扰场景下采用自然光与日光灯混合拍摄, 以日光灯的光照强度变化模拟光照干扰的实验条件, 光照强度在100–600 lx内连续不断的变化. 运动干扰场景下以腕部区域竖直向上为基准, 受测者腕部左右轻微晃动模拟运动干扰场景, 腕部左右摆动角度为5°.

图 7 无干扰场景下心率检测结果

文献[9]采用的是YCbCr颜色空间进行皮肤检测并同时转换到Cg颜色通道来提取脉搏波, 用Morlet复小波作为母波绘制能量谱图. 文献[10], 文献[11]采用的是欧拉运动放大, 将血液流经腕部桡动脉时所引起的振动变化进行放大进而提取脉搏波. 本次实验视频分辨率640×480, 帧率30帧/s, 拍摄时长为10 s, 总计300帧图像.

干扰场景下的心率检测结果见表3, 在干扰场景下其他两种方法的检测性能明显下降, 3种心率检测方法在两种干扰场景下准确率均低于90%, 而本文方法在光照干扰下准确率HRac达到了91.16%, 运动干扰条件下则为88.48%, 平均误差Me、标准差SDe、均方误差RMSE等指标也远小于3种主流方法. 实验结果表明, 在光照和运动两种干扰场景实验条件下, 本文方法均体现了良好的鲁棒性. 其中, 心率检测的准确率随着光照强度的增加而降低, 随着腕部左右摆动幅度增加而降低. 这是因为拍摄视频提取相位信息的过程中也会受到光照强度的影响, 光照干扰影响着提取相位信息的准确性; 而腕部摆动角度越大, 复可控金字塔提取竖直方向的脉搏波信息就越少, 相位信息里蕴含的噪声就越多. 本文与文献[9]提取脉搏波的结果见图8, 文献[10], 文献[11]脉搏波提取结果与文献[9]的类似. 本文提取的脉搏波很好地保留了脉搏波的细节而文献[9]等的脉搏波部分已经明显失真.

表 3 干扰场景下心率检测结果

本文方法在各项心率检测指标上都优于3种主流方法, 其主要原因如下:

(1) 文献[9]主要通过采集人体面部视频提取脉搏波, 将RGB通道转化为YCbCr通道, 其中, 亮度信息对光照变化最为敏感[20], 在光照干扰的条件下提取脉搏波噪声加大, 误差较大. 并且没有选定最优ROI区域, 人脸微表情或是温度的不同也会产生干扰, 而本文方法是通过提取振动信息来选取脉搏波, 可以有效避免光照干扰. 而且自动选定了处理区域, 通过复可控金字塔的方向分解在相位域上处理降低运动干扰.

图 8 脉搏波提取结果对比图

(2) 文献[10], 文献[11]和本文都采取了对腕部进行处理提取脉搏波的方式, 但是上述两种方法仅仅采用了运动放大之后利用亮度提取脉搏波信号的方式, 不仅仅受到其他运动噪声的干扰, 最后提取脉搏波也会受到光照影响, 而本文采用方向分解的方式滤除了其他方向的噪声只保留了桡动脉的振动信息, 最后的相位差提取的方式也避免了光照的影响.

(3) 本文方法的算法复杂度与文献[10], 文献[11]相同, 均为 ${\rm{O}}({n^2})$ , 但是后面两种方法采用的欧拉视频放大, 经过金字塔分解后进行多尺度重构, 而本文方法采用金字塔的一层进行操作, 虽然算法复杂度相同, 但是本文方法的运算量相比少得多; 文献[9]由于使用了KLT进行稳像处理, 算法复杂度达到了 ${\rm{O}}({n^3})$ , 且稳像算法运算量更为庞大, 难以实际应用.

2.2.4 长时间的心率检测

为了验证本节所提出的方法所具有的稳定性, 本次设计了一组长时间心率检测的实验来进行测试. 实验设定视频时长为6 min, 摄像头对准受测者的腕部, 同时使用脉搏波检测仪来检测心率, 并保存数据. 实验中以10 s为间隔计算一次心率值, 同时取10 s内脉搏波检测仪心率的平均值. 如图9所示. 图中蓝色虚线代表脉搏波检测的平均值, 红色实线代表本文算法测量值. 从图9可以看出, 本文所提出的方法与接触式设备测量结果基本保持一致.

图 9 长时间心率检测结果

3 结论

本文提出了一种基于相位变化的腕部桡动脉视频脉搏波提取方法. 首先, 通过对腕部桡动脉视频进行复可控金字塔分解获取每个像素点的相位值. 然后, 根据相位随时间的变化规律构建相位信号, 并通过显著区域定位和带通滤波对其进行预处理. 在此基础上, 通过鲁棒主成分分析算法从相位信号中提取脉搏波, 并结合功率谱估计方法计算心率值. 本文以接触式检测设备提取的脉搏波为真值, 与3种主流的心率检测方法进行对比. 实验结果证明本文方法具有较高的抗光照和运动干扰能力, 提高了心率检测的精度.

参考文献
[1]
Hartley CJ, Reddy AK, Entman ML, et al. Noninvasive assessment of vascular mechanics in mice. Proceedings of the Second Joint 24th Annual Conference and the Annual Fall Meeting of the Biomedical Engineering Society [Engineering in Medicine and Biology]. Houston: IEEE, 2002. 1236–1237.
[2]
Liu XN, Yang XZ, Jin J, et al. Self-adaptive signal separation for non-contact heart rate estimation from facial video in realistic environments. Physiological Measurement, 2018, 39(6): 06NT01. DOI:10.1088/1361-6579/aaca83
[3]
罗志昌, 张松, 杨文鸣, 等. 脉搏波波形特征信息的研究. 北京工业大学学报, 1996, 22(1): 71-79.
[4]
Poh MZ, McDuff DJ, Picard RW. Non-contact, automated cardiac pulse measurements using video imaging and blind source separation. Optics Express, 2010, 18(10): 10762-10774. DOI:10.1364/OE.18.010762
[5]
Delorme A, Makeig S. EEGLAB: An open source toolbox for analysis of single-trial EEG dynamics including independent component analysis. Journal of Neuroscience Methods, 2004, 134(1): 9-12. DOI:10.1016/j.jneumeth.2003.10.009
[6]
Wu HY, Rubinstein M, Shih E, et al. Eulerian video magnification for revealing subtle changes in the world. ACM Transactions on Graphics, 2012, 31(4): 65.
[7]
Miljković N, Trifunović D. Pulse rate assessment: Eulerian video magnification vs. electrocardiography recordings. 2014 12th Symposium on Neural Network Applications in Electrical Engineering (NEUREL). Belgrade: IEEE, 2014. 17–20.
[8]
戚刚, 杨学志, 吴秀, 等. 非合作面部晃动情况下的心率检测. 中国图象图形学报, 2017, 22(1): 126-136. DOI:10.11834/jig.20170114
[9]
李晓媛, 武鹏, 刘允, 等. 基于人脸视频的心率参数提取. 光学精密工程, 2020, 28(3): 548-557.
[10]
苏培权, 许亮, 梁永坚. 基于欧拉影像放大的非接触式心率测量方法. 计算机应用, 2018, 38(3): 916-922. DOI:10.11772/j.issn.1001-9081.2017071808
[11]
李江山. 基于视频放大的脉搏波提取方法研究[硕士学位论文]. 合肥: 合肥工业大学, 2019.
[12]
Wadhwa N, Rubinstein M, Durand F, et al. Phase-based video motion processing. ACM Transactions on Graphics, 2013, 32(4): 1-10.
[13]
Portilla J, Simoncelli EP. A parametric texture model based on joint statistics of complex wavelet coefficients. International Journal of Computer Vision, 2000, 40(1): 49-70. DOI:10.1023/A:1026553619983
[14]
赵晓宇, 李艳萍, 付颜龙, 等. 几种时频分析方法的研究和对比. 信息通信, 2019(8): 99-100.
[15]
史加荣, 郑秀云, 魏宗田, 等. 低秩矩阵恢复算法综述. 计算机应用研究, 2013, 30(6): 1601-1605. DOI:10.3969/j.issn.1001-3695.2013.06.001
[16]
Mostafaiy B, Faridrohani MR, Chenouri S. Optimal estimation in functional linear regression for sparse noise-contaminated data. Canadian Journal of Statistics, 2019, 47(4): 524-559. DOI:10.1002/cjs.11511
[17]
陈健, 段田东, 徐文艳, 等. 基于谱再生逆分析的信号细微特征提取. 信号处理, 2016, 32(3): 349-354.
[18]
徐菁, 朱敏. 基于三轴加速度信号的心率修正算法. 计算机应用与软件, 2017, 34(12): 289-294. DOI:10.3969/j.issn.1000-386x.2017.12.055
[19]
周双, 杨学志, 金兢, 等. 采用自适应信号恢复算法的非接触式心率检测. 中国图象图形学报, 2019, 24(10): 1670-1682. DOI:10.11834/jig.190013
[20]
王伟江, 彭业萍, 曹广忠, 等. 面向机柜表面缺陷检测的不均匀光照和低亮度图像增强方法. 仪器仪表学报, 2019, 40(8): 131-139.