APP下载

基于机器视觉的非接触式心率测量系统开发

2022-06-10魏泽巍何为田春洋成雄帆

电子制作 2022年11期
关键词:人脸心率信号

魏泽巍,何为,田春洋,成雄帆

(武昌首义学院,湖北武汉,430064)

0 引言

心率(Heart Rate,HR)是指心脏一分钟跳动的次数,是最重要的人体参数之一。正常的心率在 60~100 次/分,心率过高和过低都是异常表现。能够实现准确的日常心率检测对人体健康的评估和监护起着至关重要的作用。

当今社会大量使用的心率检测方法为接触式测量,这在操作简便性和设备便携性上存在局限,而接触式心率测量难以满足日常心率监护的需求,非接触式心率测量应运而生,它应用图像捕获技术,通过摄像头,对使用者脸部进行视频图像捕捉,从脸部皮肤细微反射中,提取出一个有关人体生理功能的细微周期性信号。通过综合运用算法,对信号进行分离、提取、分析等操作,准确计算出被检测目标的心率。图像心率计量在技术上可结合多种设备,还能应用于多种场景,对于心脏病突发等各种疾病,具有警示和预防的作用,能够全方位的为大众健康保驾护航。

本文研究和探索了非接触式心率测量的基本原理,基于机器视觉的基础上完成了非接触式心率测量的完整步骤。

1 方法

1.1 机器视觉技术

机器人视觉主要利用信息电子学和计算机等技术手段来实现模拟机器人的各种基本视觉处理功能,但并不是对模拟人眼的简单功能扩展,更因为是它们已经具有了属于人脑的某些组成部分,它们甚至可以对各种客观事物直接影响,尤其是主观图像中直接获得这些信息,进行各种综合分析处理并对其性质加以了解和理解,最终被广泛应用于现场安全检测、衡量和现场监督。

一个非常典型的基于数字化和融合现代化的工业图像机器人的视觉控制应用技术系统,其中主要技术包括各种数字化的工业图像数字信号视频处理控制技术、机械工程控制技术、过度曝光管理控制技术、光源数字照明管理技术、光学数字成像处理技术、传感器控制技术、模拟和融合数字视频处理技术、计算机软硬件融合技术、人机接口控制技术等。

图1 典型的机器视觉系统

机器视觉系统主要是一种泛指使用者通过各种机器视觉设备或产品(即图像拍照装置,分 cmos 和 ccd 两种)把所有的图像都捕捉并存储起来,然后将该机器图像发送至相应的处理单位,通过各种数字化的处理,根据其像素的分布及其亮度、颜色等相关信息,来对其进行大小、形状、颜色等相关信息的判别。进而依靠判别结果控制现场设备动作。

1.2 整体方案

本论文的非接触式心率测量整体步骤为:(1)使用普通工业摄像机在光源照射或自然光照射的条件下,拍摄包含人体皮肤区域(感兴趣区域主要是人脸区域)的彩色视频。(2)采用自动算法来定位以及追踪彩色视频中的感兴趣区域。(3)沿着时间轴的方向,从感兴趣区域中计算单个或者是多个颜色通道的均值,得到原始的PPG信号。(4)将信号处理相关算法(如带通滤波、盲源分离算法和基于色差模型的算法等)应用于原始PPG信号,用来提取出心率信号。(5)使用快速傅里叶变换(FFT)来计算心率信号对应的心率数值。

1.3 图像采集

非接触式心率测量的硬件只需要普通的工业摄像头或者是手机摄像头,只需要一个光源和一个普通摄像头就可以完成非接触式心率测量的图像采集。

普通工业摄像头或相机进行视频采集人脸,然后提取感兴趣区域的信号,再经过信号处理分析,然后显示设备呈现结果。

图2 非接触式心率测量示意图

视频影像的拍摄过程是整个心率监控中的关键。为了检测心率,需要使用设备收集自然光照射在人类脸部感兴趣地点区域的皮肤表面后,经过反射或者散射返回来的光线,然后将这些光电设备的信息直接转化成计算机所能处理的数字信号。

1.4 人脸检测算法实现

人脸皮肤特征区域检测或者人脸特征定位,是一种通过系统采用特定具有人脸特征物体的特定数学特征模型与电脑图形系统中的特定人脸信息模型进行数据比较综合分析后用来进行计算和分析确定所可能需要的一个人脸特征区域的一种检测技术,确定了所可能需要的一个人脸特征区域后,人脸特征检测处理系统就会自动返回所可能需要进行检测的物体结果,而这是该应用程序系统设计工作中的一个非常重要的技术操作步骤。

1.5 PPG原理及应用

PPG技术的原理是通过成像设备,记录由血容量变化导致的皮肤反射光照信息变化,通过对光照变化的进一步分析,能够获得相应的心率参数。因此,皮肤的组织结构是PPG技术的生理学基础。

人体皮肤最外侧的表皮层部位仅能够吸收光线,无法对光线进行散射;而皮肤中对光吸收和散射的主要部位是位于表皮层以下的真皮层[3]。

图3为人体皮肤组织结构,真皮层内丰富的血管是 PPG信号的信号源,真皮层中血管容积量变化脉冲信号是记录心率变化的源信号[2]。

图3 人体皮肤组织结构图

因为动脉在光的作用下吸收发生了改变,而其它组织在光的作用下吸收发生了根据不同频率的光,从而获得的信号就会被划分为直流 dc 信号和交流 ac 信号。通过提取其中 ac 信号,就可以能够准确地反应出人体血液在细胞中流动的情况。该项技术称之为光电容积式脉搏波扫描方法 ppg[4]。

ppg射频信号的交流波形改变具有控制交流波形分量改变幅值和交流波形频率改变两个重要的技术特点。ppg射频信号的各组成部件和主要成分基本结构及其组成波形情况图表如波形图4所示。通过合适的高频电子信号滤波器和信号放大器便于就能够把整个ac和其中dc的声波分量全部准确提取计算出来,用于对此项新技术首先进行的和后续的心脏脉搏超声波测量分析。

图4 PPG信号各成分组成

ppg反射技术的两种光学反射原理主要分别是朗伯-比尔定律(lamber-beerlaw)理论和光学的散射光学理论。

由郎伯-比尔定律可知,当波长为λ的单色光垂直射入吸光物质时,透光强度Ⅰ与入射光强度有如下关系:

其中,ε(λ)其浓度值得大小用来描述特定波长的阳光吸收能力的强弱;c的值是对吸光介质的反射浓度的反映;L用来反映物质的厚度。在PPG技术中,人体真皮层里的血管血液的容积与光照强度是相互影响的,其中任何一个发生了变化,那么剩下的那一个也会随之改变;在视频采集设备所监测到的光照强度信息中,其中就包括了对应的心脏周期活动信息[5]。

1.6 信号的变换及处理

1.6.1 信号的处理原理

本系统在对心率计算上所采集到的视频数据以队列这种数据结构形式为主,其队列为600帧数据。在对心率的计算上,如果长度达到600帧那么就将这些数据存到计算队列来实现心率的计算,然后将这些数据予以删除,之后如果后续的队列长度再次达到90帧时,那么就将这些数据存入其队尾然后进行心率计算,然后再将这些数据进行删除。

在对已获取的视频数据进行预处理时,主要是通过matlab工具进行仿真为带通滤波和标准化处理,带通滤波主要是用于抑制BVP信号以外的噪声,在下一步盲源分离中首先需要标准化处理。在对BVP信号的提取上所使用的方法主要包括G-BVP方法和ICA-BVP两种方法。

将得出的BVP信号进行傅里叶变换,然后得出对应的频谱图,最后把频率值*60这个数值作为心率计算过程中得出的结果。

如果在对信号进行采样的过程中,是满足香农定理的,就能完整并且正确的将时域中的每一个信号展示出来,并且把原点作为对称地点进行重复发生,对 ppg 信亏的波形图进行博且叫做预 p 区频域中的波形图我们只需要选择其中的对称波形的一半进行分析[9]。

当处理完成这些心率信号的滤波后,保存之后的信号即心率阶段的信号,这个状态下的信号在经过频域转换后,在频谱图上会有一些特征体现出来,可以根据与图5中的最高点相对应的纵向坐标得出频率平均值1. 267Hz ,这个数值即为每一秒钟心脏跳动的次数,换算到工程上心率信号的单位,次/分钟(bpm),就能得出在正常情况下,心率为76.02~76(次/分钟)[12]。

图5 PPG信号频谱图

在人眼和视频的人眼心率检查系统中,采用的是基于 viola _ jones 的算法来检测人眼,有两个原因,一是viola _ jones 算法在计算机应用中的目标心率检测技术较成熟,有较高的准确率,能够在人眼以及视频在面部目标的检测上有较突出的表现和精准的结果;二是该算法中结合了adaboost 和 cascade 级联算法,在视频中实现对人眼的检测过程中,就能调用该cascade 级联分类器来进行模式匹配等操作。对于视频图像的灰度化处理以及直方图均衡化的结果如图6所示[10]。

图6 图像灰度化和均衡化结果

1.6.2 快速傅里叶变换

快速傅立叶变换,简称FFT,在计算过程中可以快速并且高效的进行离散傅立叶变换运算及其逆变换运算。在相同情况下,如果根据DFT的公式,去解决一个长为n的序列的 DFT,在这个过程中所达到的运算量是o(n2),但是使用FFT,仅仅需要O(nlogn)的运算量就可以解决。

在本篇论文中,所阐述的FFT过程大多数是运用Cooley-Tukey算法的,这个方法的使用范围十分广泛,而且会在计算过程中将DFT进行分离,使其变成为更小的DFT单元,如果长度为N=N1N2的信号,就会将其 DFT以递归的形式,分组成两组长度为N1和N2的短信号,并且由此得出DFT和O(N)个旋转矩阵的复数乘积[11]。

2 实验

2.1 非接触式心率测量实验演示

打开pycharm然后运行程序后弹出的画面如图7所示,此窗口可以捕获人脸,forehead为额头感兴趣区域,这个区域反射回来的PPG信号,然后通过信号的变换和分析最终来计算心率。按下“s”键开始非接触式心率测量,按下“c”键可以切换摄像头,当前的摄像头为0默认是电脑自带的摄像头。

图7 程序运行图

图8 心率测量结果

按下“s”键之前会自动捕获人脸,按下“s”键之后心率测量开始过程中测试者需要将自己的额头保持不动,尽量保持被测试区域不被头发或者其他遮挡物遮挡,保持自己处于一个静止和平静,等大约1秒钟到2秒钟左右,其测试结果数据不在大范围跳动后,证明其结果已经稳定,但是因为测试是实时测试,测试结果会跟随测试者的行为动作而跳动。

待测试结果稳定后按下“d”键切换数据曲线图,可以换一种结果的呈现方式,用数据曲线图来实时的表现测试者的实时心率。

图9 数据曲线图

2.2 非接触式心率测量结果

用机器视觉的非接触式心率测量得出的心率结果对比现在市场上常用的接触式心率测量,比如运动手环等设备得出,虽然有一点误差,但是两组数据没有太大的出入,由此,得出基于机器视觉的非接触式心率测量在测量精度上有一定的保证。平均值与运动手环的结果99.9%相似。

表1测量均在测量者静息状态下完成。

表1 实验结果图

3 结论

本次论文借助pycharm这款软件完成了非接触式心率测量系统的开发,其精度能和运动手环测量的结果保持99%的相似,能够有效、精确的测量出心率,本论文将机器视觉应用在人们的日常生活中,可以满足人们日常对身体健康的检测和疾病的预防。

猜你喜欢

人脸心率信号
玻璃窗上的人脸
完形填空二则
离心率
智力考场:有趣的图片测试
在最佳心率区锻炼
探索圆锥曲线离心率的求解
“领家系”可爱脸VS“高冷系”美人脸
信号
长得象人脸的十种动物
高处信号强