基于人脸视频的非接触式心率测量系统研究

2024-06-01 22:43陈聪聪刘昱竹王海同缑奕轩郁翛然
现代信息科技 2024年4期
关键词:小波变换图像处理

陈聪聪 刘昱竹 王海同 缑奕轩 郁翛然

收稿日期:2023-08-07

DOI:10.19850/j.cnki.2096-4706.2024.04.007

摘  要:心率作为一项重要的生理特征信息,在医疗诊断方面有着不可替代的作用。非接触式心率检测无须与测试者直接接触即可测量出心率,避免了传统心率测量时测试者长时间接触仪器造成的不适,且成本更低,便携性更好。文章提出一种结合ICA和小波变换的算法,对摄像头输入的人脸视频依次进行颜色空间转换、降噪、时频域变换等操作,并搭建了一个基于人脸视频的心率测算系统,针对不同指标设计了多个实验。实验结果表明,系统能够快速实时检测人体心率数据,实现非接触式心率检测,滿足心率检测需求。

关键词:远程光电容积描记法;心率测量;图像处理;小波变换

中图分类号:TP391.4;Q632    文献标识码:A  文章编号:2096-4706(2024)04-0030-06

Research on Non-Contact Heart Rate Measurement System Based on Facial Video

CHEN Congcong, LIU Yuzhu, WANG Haitong, GOU Yixuan, YU Xiaoran

(School of Electronic Engineering, Beijing University of Posts and Telecommunications, Beijing  100876, China)

Abstract: As an important physiological characteristic information, the heart rate plays an irreplaceable role in medical diagnosis. Non-contact heart rate detection can measure heart rate without direct contact with the tester, avoiding discomfort of tester caused by prolonged contact with the instrument during traditional heart rate measurement, and has lower cost and better portability. This paper proposes an algorithm that combines ICA and wavelet transform to sequentially perform color space conversion, noise reduction, time-frequency domain transformation, and other operations on the facial video input from the camera. The heart rate measurement system based on facial video is built, and multiple experiments are designed for different indicators. The experimental results show that the system can quickly and real-time detect human heart rate data, achieve non-contact heart rate detection, and meet the needs of heart rate detection.

Keywords: remote photocapacitance plethysmography; heart rate measurement; image processing; wavelet transform

0  引  言

心率测量技术在医学诊断,健康监控和刑侦探测等多个领域上都有着广泛的应用[1]。目前市面上的测量技术,主要包括心电图(Electrocardiograph, ECG)技术、光电容积脉搏波描记法(Photoplethysmographic, PPG)以及远程光电容积脉搏波描记法(Remote Photoplethysmography, RPPG)。其中ECG通过检测人体不同部位电位差来计算心率[2],精确性高但需要专业设备,难以应用于日常生活。PPG通过检测身体部位因心动周期而产生的对不同波长的光照吸收或反射量的周期性变化来计算心率[3],价格相对较低,在智能手环或其他允许相对高误差的测量场景中被广泛应用。RPPG指利用摄像头等传感器来捕捉由心动周期造成的皮肤反射光周期性变化的技术,最早在2010年由Ming-Zher Poh等人提出[4]。这种技术从皮肤RGB图像中提取颜色变化,并使用基于独立成分分析(Independent Component Analysis, ICA)的盲源分离(Blind Source Separation, BSS)方法估计血液容积描记信号。RPPG的优点在于无须专业设备也无须与被检测者接触,便携性好,应用前景广泛。

本文提出了一种结合基于ICA的盲源分离算法以及小波变换的非接触式心率测量系统,从连续视频中分离人脸心率数据,获取一定时间内的实时心率曲线。通过不同场景下的实验验证,其结果表明本文所述方法能以非接触方式准确获取心率测量结果。

1  信号处理方法与过程

人类皮肤可划分为3层,表皮层,真皮层和皮下组织,其中真皮层和皮下组织中分布着丰富的毛细血管,毛细血管的血液容积随着心动周期发生周期性,血红蛋白对光信号的吸收也因此规律性变化[5],这种改变表现为能够被摄像头捕捉的微弱肤色变化,从而为通过视频来提取心率信息提供了可能。

如图1所示,本文心率检测算法的主要流程为:1)识别人脸,并使用基于图像特征点的跟踪算法KLT(Kanade-Lucas-Tomasi)克服人脸微小运动;2)将人脸图片由RGB颜色空间转换为YIQ颜色空间,减小环境光的影响,并对获取的数据进行基本的去趋势化,标准化处理,以排除系统噪声的影响;3)利用ICA盲源分离算法,提取心率特征信号;4)对提取出来的心率特征信号进行小波变换,滤除多余的低频噪声,并输出最终结果。

图1  算法流程图

1.1  感兴趣区域选取

通过检测肤色变化获取心率,首先要保证选取区域内包含足够的肤色区域,其次,本文的目标是实现实时心率分析,而人脸的运动会对运算结果产生影响,因此需要稳定面部特征点在感兴趣区域当中的相对位置。本文基于KLT稀疏光流追踪算法,进行面部特征稳定工作,以保证获取连续,稳定,有效的原始信号流。

KLT算法的基本原理建立在以下三个假设基础上:

1)亮度恒定。

2)极短时间内物体伴随的是微小运动。

3)相邻的临界点做的是相似运动。

在相邻几帧图像间,图像的亮度,人脸运动程度和人脸轮廓进行的相似运动都可以认为满足以上假设,KLT特征跟踪的主要步骤为:

1)使用Harris角点的特征检测器[6]在初始帧,即摄像头获取的视频流的第一帧中经识别的人脸区域M (x, y)中选取质量更高,更便于追踪的点。

2)获取角点后,用I (x, y, t)表示任一角点在第一帧的灰度值,到下一帧,假设它移动了(dx, dy)到下一个位置,用了dt时间,由于假设1),可以认为下一帧中的该像素的灰度值几乎无变化,即:

(1)

对该方程进行泰勒展开并两边消元可以得到:

(2)

令:

Ix,Iy,Iz分别表示图像中像素点的灰度对X,Y,Z的偏导数。由于条件3),假设在一个小方格里的所有像素位移相同,可以得到以下方程(3)的光流方程,求取的最小二乘解即求得像素间的位移矢量。

(3)

3)在获取了所有特征点的位移矢量后,本文对所有的位移矢量进行了平均,作为整个人脸区域的位移矢量,同原本的人脸框截取坐标相加,完成人脸识别工作。

1.2  颜色空间转换

YIQ颜色空间中,Y指代图像的亮度信息,即灰度值,I、Q代表色度信息。相较于RGB空间,YIQ空间可以直接对图片的色度信息进行处理,在后续ICA盲源分离中可以更精准地提取出信号源[7]。同时,YIQ空间将Y通道分离出来,一定程度上也消除了光的亮度对信号的影响。

YIQ和RGB的转换公式如下:

(4)

完成颜色空间转换后,本文去除Y通道的亮度信息,对I、Q通道进行空间平均,得到一段时间内的皮肤色度均值数据,并对数据进行去趋势化、标准化处理,以最大程度消除系统噪声的影响,同时将信号大小标准化。

用x表示I,Q两通道经空间平均后得到的数据序列,u表示数据序列的数据均值,δ是数据序列的标准差,用X表示得到的初始信号,标准化公式如下:

(5)

经过上述处理后,得到的初始信号(以Q_T为例)如图2所示。

图2  Q_T信号

本文在FPS固定的情况下,直接用帧数代替时间。图2显示初始的信号波形基线漂移大,高频噪声多,需要进一步的处理来提取出更精确的心率信号。

1.3  独立成分分析

1.3.1  ICA方法

拍摄过程中存在人脸自身的微小转动以及相机振动等因素,这类非线性移动所产生的噪声超过了KLT算法的捕捉能力。因此,为了进一步提纯心率特征信号,需要对初始信号进行盲源分离[8],本文中采用ICA方法。

ICA是由法国学者Herault和Jutten提出的一种基于高阶统计分析的数据分析方法[9],对于盲源分离有很好的效果。

设s (t)为信号源,接收到的信号x (t)为s (t)与混合矩阵A相乘后的结果,因此只需要找到A的逆矩阵B即可还原信号。在基于ICA信号源统计独立的前提下,我们将前文中处理后的I、Q通道作为初始信号,假设I、Q通道除了接收到两个固有的信号源信息外,还受到一个独立的噪声源干扰。即:

(6)

其中s1和s2为两个独立生理信号源,n为噪声源。解混合矩阵A的第一步是对待观测的数据进行中心化处理:

(7)

第二步是白化处理,即去相关性。求出中心化处理后信号的协方差矩阵Cx及Cx的特征值Λ和特征向量U,白化矩阵的公式如下:

(8)

信号X经过白化矩阵处理后,得到白化信号Z:

(9)

第三步是迭代。初始化随机的权重矩阵Wp并设定迭代次数和最大误差,本文中分别设定为10 000和0.000 01。Wp计算公式:

(10)

其中g (x)为非线性函数,本文中取:

(11)

迭代至Wp與上一次迭代的Wp之差小于最大误差时,停止迭代。此时:

(12)

SZ即为分离后的信号矩阵,由三个信号,包括独立信号源和噪声源组成。

实际的测试中分离出个信号源如图3所示。

s1~s3即为分离出的三个信号源,由于ICA方法得到的信号排序具有随机性,因此还需要进一步处理,以选择出其中最能代表心率特征的信号。

1.3.2  利用皮尔逊相关系数选取信号源

血红蛋白对波长在540~570 nm之间的黄绿光吸收更多,对于YIQ空间,黄绿色主要包含在Q通道中,所以将Q通道的信号作为心率参考信号对分离出的三个信号源进行筛选。

图3  ICA分离出的信号

本文采用皮尔逊相关系数,在三个信号源中选择与Q通道信号相关程度最高的信号源作为心率信号。皮尔逊相关系数计算公式如下所示:

(3)

在上面的三个信号源中选取相关程度最大的,即为较为纯净的心率信号s0(t)。

1.4  小波变换

由于外界光强变化以及摄像头CCD敏感度、呼吸带来的数据规律性变化等因素,1.3节中的心率信号s0(t)存在很明显的基线漂移[10]。去除基线漂移的方法通常有FIR滤波、中值滤波、小波变换滤波等。为了消除基线漂移对最后峰值检测的影响,此处采用精度较高的小波变换方法。

相对于传统的带通滤波器,小波变换具有多分辨率的特性,即在低频区域对时间的分辨率低而频率分辨率高,高频区域则与之相反。同时小波变换可以进行多层次分解,从而由粗到细地观测。小波分解过程如图4所示。

图4  小波分解流程

信号在每一层中都分解为近似部分A和细节部分D,近似部分即为低频部分。本文中,采用db5小波作为变换的基波,将s0(t)信号进行五层分解,再将每层的近似信号小波重构。小波重构即小波分解的逆过程,从分解的底层向上重构出原始信号。由于重构的数据长度与原信号不一致,因此小波重构需要隔值插零来增加数据量。重构结果如图5,x1~x5表示一到五层的近似信号。

图5  小波重构后的近似信号

图中显示第四层和第五层的近似信号与基线漂移的形态相似程度高,本文中选择将第四层近似信号从s0(t)中除去,即可得到比较纯净的心率信号s(t),如图6所示。

图6  去除基线漂移后的信号

至此,完成了信号的滤波、降噪处理工作。

1.5  FFT和峰值检测

为了从上述完成除噪的信号中提取出心率信息,通常采用快速傅里叶变换方法(FFT),将时域信号s(t)转为频域信号X ( f ),X ( f )即为心率信号的频谱。在纯净的心率信号中,心率信息所占的功率是最大的。因此将频谱转换为功率谱,功率谱中峰值对应的频率就是心跳频率。

2  系统架构及算法实现

系统包括UI界面、核心算法、数据库三个部分,如图7所示。

UI界面包括开始界面、测试界面、数据库界面。开始界面主要是对项目的介绍,用户在测试界面打开相机并正对摄像头,等待一段时间后,图像右侧即会显示相应的心率和心率折线图。数据库界面则用于历史数据。

核心算法部分由ROI选取、颜色空间转换、ICA盲源分离、小波变换和峰值检测五个模块组成。相机采集到的图像依序经过上述模块处理,并最终返回心率值显示在测试界面。

数据库部分,采用Python与MySQL数据库进行对接,通过UI界面对信息的输入,可以直接链接本地数据库,对测试者的姓名、年龄、性别、心率实时的保存与查看。

图7  系统框架

3  数据分析

3.1  准确度测试

为了测量上述每个步骤对整体方法准确率的提升,向系统输入7段时长为10 s的人脸视频,并记录下测试对象在同一时间段内,去除了不同模块后心率算法的计算结果。本文采用标准差(SD)、均方根误差(RMSE)和平均误差率r三种指标来验证。

通过表1可以看出,程序总体的准确率达到了93.7%以上,标准误差为3.77次/分,满足中华人民共和国医药行业规定的标准误差小于或等于5次/分,足以胜任日常的简单心率测量。此外,可以看出各部分的加入对算法的准确度都有所提升,颜色空间变换对于系统的稳定性和准确性有着明显作用。

表1  三种指标结果

测试情况 SD /(次/分) RMSE /(次/分) r

测量值 11.43

计算值 12.91 3.77 6.3%

无KLT 33.96 6.24 9.5%

无ICA 14.65 4.05 7.9%

无颜色空间转换 58.70 10.34 36.5%

将用准确值减去各计算值得出的各部分误差如图8所示,其中红线之间为测量值的95%置信区间,各点为不同数值的误差分布情况,有部分数据重叠,图8(a)为算法的整体测量误差,可以看出基本分布在置信区间内且相对集中地分布在误差为0的基准线两侧,有少数误差较大的特殊点。图8(b)为去除颜色空间转换的测量误差,明显有向上偏移的倾向,原因在于去除颜色空间转换后,本文将绿色通道作为ICA盲源分离中信号选择的参考信号,但单独的绿色通道信号作为参考混杂有较多的噪声信号,而红色通道和蓝色通道中包含的心率信号过少,导致最终分离出的信号有较大的误差。图8(c)为去除ICA盲源分离算法的误差情况,相较于整体值图中区别不明显,从表1中也可看出ICA盲源分离主要起到滤除轻微的非线性噪声的作用。圖8(d)为去除了KLT算法的误差分布情况,波形与准确值大致相当,但误差较大的情况较LT起到了有效的提高稳定性的作用。

(a)测量误差

(b)无颜色空间转换测量误差

(c)无ICA测量误差

(d)无KLT测量误差

图8  静止场景下误差分布图

3.2  运动干扰实验

本实验对15名测试对象在运动前后的状态分别进行测试,以检验算法在不同运动状态下的效果,其中男生7名,女生8名,年龄在12到60周岁不等。地点选择室内,时间是白天,光照为自然光。

实验采用的设备为罗技C920E摄像头和乐普动态心电记录仪ER2,帧率为30,分辨率为1 280×720。每名受试者测试两组数据,分别是平静状态和跳绳五十次后的运动状态。表中计算值和测量值取该时间段内的平均值。实验结果如表2所示。

表2  不同测试者的结果对比

性别 平静状态/(次/分) 运动结束状态/(次/分)

计算值 测量值 计算值 测量值

女 85.5 86 140.6 139

女 74.5 79 117.7 120

男 80.8 85 115.7 120

女 95.7 93 110.7 115

女 98.8 104 140.6 141

女 89.7 88 125.8 130

女 113.8 115 137.7 144

男 83.8 83 116.7 116

男 89.7 88 134.6 138

女 79.2 80 89.1 92

男 59.5 62 96.2 95

女 80.2 81 134.2 130

男 93.6 88 120.7 122

男 92.2 88 132.8 133

男 91.1 90 128.3 130

平均误差 2.5 2.6

均方根误差 3.03 3.12

从表中可知,平静状态下的平均误差为2.5,均方根误差为3.03,运动结束状态下平均誤差为2.6,均方根误差为3.12。运动前后的计算心率误差大致相当且都处于较低水平,因此可以认为算法的结果能够很好地反映人体的心率变化。

3.3  长时间的心率检测

为了验证本文所提出的方法具有稳定性,设计一组时长为5 min的心率测试实验,共计算得172个心率数据,其平均误差(MD)、均方根误差(RMSE)和平均误差率r如表3所示。

表3  指标结果

测试时状态 MD RMSE /(次/分) r

平静 2.34 4.34 5.9%

将实际测量值和计算值绘入同一坐标系下,如图9所示,可以看出本文算法的计算结果与接触式设备测量结果基本保持一致。

图9  长时间测量心率结果

4  结  论

本文针对受运动和光照变化干扰的人脸视频,提出了一种基于独立成分分析和小波变换的非接触式心率检测方法。对于追踪到的人脸,转换颜色空间后,利用ICA和小波变换除噪,以获得较为纯净的心率信号。并从各个模块方面解释了算法的编程实现。最后,从三个指标方面对算法的准确性进行了评估。

实验结果表明,无论是处于平静状态还是刚刚结束运动的状态,本文算法都能得到相对平稳且准确的结果,适用于日常情况下的心率检测。但是受限于KLT算法只在处理比较小的位移时有较好的跟踪效果,当目标对象进行较大幅度运动时,计算结果将不再准确。

目前非接触式心率检测仍然属于发展阶段,因此本文的算法依然有很大的提升空间。在未来的研究中,可以考虑结合深度学习,克服包括难以捕捉的面部微小运动以及大幅度运动下运动模糊、面部跟踪等干扰,进一步优化算法和提升准确度。

参考文献:

[1] 曹文静,张金萍,马建新,等.心率变异性临床应用的研究进展 [J].实用心电学杂志,2022,31(2):137-143.

[2] NOBLE D. The surprising heart:a review of recent progress in cardiac electrophysiology [J].The Journal of Physiology,1984,353:1-50.

[3] 张帆,王文廉,王玉.近场通信技术下的无源心率检测方法 [J].中国测试,2021,47(12):14-22.

[4] POH M,MCDUFF D J,PICARD R W,et al. Non-contact,automated cardiac pulse measurements using video imaging and blind source separation [J].Optics Express,2010,18(10):10762-10774.

[5] KOUSHKI E,TAYEBEE R,ESMDAEILI M. Nonlinear optical and photoacoustic properties of aqueous crystalline hemoglobin. Towards facile detection of hemoglobin concentration in blood [J/OL].Journal of Molecular Liquids,2020,325(6):115169.(2021-05-01).https://doi.org/10.1016/j.molliq.2020.115169.

[6] 陈白帆,蔡自兴.基于尺度空间理论的Harris角点检测 [J].中南大学学报:自然科学版,2005(5):37-40.

[7] 张富强.非接触式体征参数监测系统研究 [D].西安:西安电子科技大学,2021.

[8] 戴阳,郑婷婷,杨雪.基于视频放大与盲源分离的非接触式心率检测 [J].计算机系统应用,2021,30(1):228-234.

[9] 曾松德,钟清华.FastICA与小波包分解相结合的人脸视频心率检测 [J].激光杂志,2015,36(11):48-51.

[10] 杨竹青,李勇,胡德文.独立成析方法综述 [J].自动化学报,2002,28(5):762-772.

作者简介:陈聪聪(2002—),男,汉族,安徽芜湖人,本科,研究方向:图像处理。

猜你喜欢
小波变换图像处理
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
改进压缩感知算法的图像处理仿真研究
基于双树四元数小波变换的图像降噪增强
MATLAB在《数字图像处理》课程中的辅助教学
基于互信息和小波变换的图像配准的研究
基于图像处理的定位器坡度计算
心电信号压缩方法研究
Photo Shop通道在图像处理中的应用