汪 赟,郝秀春, 李伯全
(江苏大学 机械工程学院,江苏 镇江 212013)
基于LabVIEW的人脸视频实时心率测量系统
汪 赟,郝秀春, 李伯全
(江苏大学 机械工程学院,江苏 镇江 212013)
针对目前人体的心率测量方法普遍采用传统的接触式方法,设计了一种基于LabVIEW的人脸视频非接触式实时心率测量系统。通过普通摄像头捕捉人脸图像,对每帧的图像进行3基色分离,生成R、G、B三通道图像,通过肤色模型识别人脸,确定人脸的ROI区域并提取G通道的均值,结合小波变换消除信号的基线漂移和信号的波峰检测,最后得到测量的心率值。实验结果表明,该系统与市场上使用的心率监测仪相比最大测量误差为8.22%,基本能够满足实际的测量要求,操作简单,具有较好的应用价值。
LabVIEW;小波变换;人脸检测;心率
心血管疾病已成为威胁人类健康的重要疾病之一,而心率是评估人体心血管系统功能的最基本参数之一,在人体健康监测等方面发挥着重要的作用。对人体心率的测量,传统的方法是采用接触式的测量方法,如压力法、心电位法、电阻法和光电透射法等4种方法[1]。像传统的心电图法,使用方法主要是在人体皮肤的特殊地方粘贴电极,这类方法虽然测量的准确度高但其操作比较繁琐。因此,对非接触式心率的测量方法已成为当前国内外的研究的趋势。如近年来基于光电容积脉搏波描记法(Photo Plethysmo Graphy,PPG)的非接触式测量方法,它是一种利用反射光和透射光的变化的原理来获取心血管脉搏波的方法[2]。
本文提出的心率方法是基于PPG结合LabVIEW平台开发的一种个人心率测量系统。利用人体面部识别与跟踪和小波对信号处理实现了这种非接触式心率的测量。
光电容积脉搏波描记法(PPG)是借助光电技术在人体皮肤组织下检测因心脏跳动而引起血液容积变化的方法[3]。由于血液对光的吸收率大于周围组织,所以血容量的改变会影响血液对光的吸收程度。由生物学知识可知,氧合血红蛋白对光线有一定的吸收,人脸部由于氧合血红蛋白对光线有一定的吸收,人脸部毛细血管中氧合血红蛋白的含量会随着心脏的跳动而发生变化[4]。当光线照射在人脸时,表皮层毛细血管中氧合血红蛋白含量变化而导致光线反射量的改变,使得人脸部的颜色发生轻微变化。这样接收到的人脸部的光强度就随心脏的跳动而呈现脉动性周期性变化。由于生理结构原因,人眼有视觉暂留效性,人眼不能识别频率高但幅度小的的变化,但是通过视频能够将这变化较好的记录下来,从而通过分析视频的图像的像素的变化找出相应脉搏跳动的信息。
本文是基于LabVIEW平台开发的测试系统,借助笔记本的摄像头或者家用的普通摄像头就可以完成对人脸部视频心率的实时测量。首先摄像头获取拍摄的静坐的人脸画面,软件对捕捉的画面进行处理,利用肤色模型对人脸进行识别,定位出人脸部及特征区域并确定ROI区域。从ROI区域提取图像像素G通道的平均值,该窗口的平均值即为测量心率变化的周期信号。利用小波对信号进行处理,求出此时的心率值。系统的流程图如图1所示。
图1 心率测量系统的流程图
2.1 基于肤色模型的人脸检测
肤色模型是将肤色的色彩空间与其他颜色区别开来的一种数学模型,而所谓的色彩空间是指根据一定关系式将色彩空间进行表达的一种三维数学空间。通常彩色图像中的颜色是由RGB模型表示,它表示的是色调、亮度、饱和度3个分量,相应于人类视觉的红、绿、蓝3个波段。研究表明[5],不同人种的皮肤颜色相差较大,但在色度信息上的差异没有亮度信息的差异明显。在除去亮度的色彩空间中,不同人的肤色具有良好的聚类性,故颜色空间的选择在一定程度上决定着肤色分割的效果。YCrCb彩色模型是一种彩色传输模型,在其颜色空间中,亮度信息Y与色度分量Cb,Cr是分离的,且人脸肤色色度分量在Cb,Cr上具有十分稳固的聚类分布[6],因此,将YCrCb作为人脸检测的颜色空间。从RGB颜色空间到YCrCb颜色空间的映射过程如式(1)所示。
(1)
其中,Cr是红色分量R与亮度Y的差值;Cb是蓝色分量B与亮度Y的差值;且Cb和Cr之间是相对独立的。
区域分割是图像处理中的一项基本内容。将区域定义为一个彼此相互连通的,具有一致意义属性的像素集合。肤色在YCrCb色彩空间中的聚类模型是通过大量样本分析综合求得的。通过数据分析可以得到Cb-Cr平面的肤色聚类模型,它近似为一个椭圆的区域[7],解析表达式为
(2)
(3)
其中,Cx=109.38,Cy=152.02,θ=2.53,Ecy=2.41Ecx=1.60,a=25.39,b=14.03。
图2 颜色空间的获取以及图像的二值图程序框图
对图像进行处理之后,获得其像素点的坐标代入式(2)和式(3),当满足公式条件时的像素点在椭圆内为肤色点,不满足则不是肤色点。LabVIEW的程序如图2所示,利用LabVIEW Vision工具包创建调用摄像头[7],创建视频获取,在FOR循环中可以利用函数IMAQ IntegerToColorValue VI将获取的每帧彩色图片的颜色转化为R、G、B三色[8]。由于图片为二维的矩阵,所以在程序中使用了双重For循环。使用式(1),将R、G、B转化为Y、Cr、Cb。
将得到图像的Cr、Cb代入式(2)中,确定该像素点是否为人脸肤色的区域。利用公式节点的布尔逻辑如果是肤色区域,则将像素点赋值为255(白色),如果为非肤色区域则赋值为0(黑色)。 再利用IMAQ ArrayToImage VI 重构人脸的二值图像[9],则可得到人脸的肤色区域。
2.2 提取人脸的ROI区域
图像的中心点是定位人体脸部中心的第一步,确定人脸的肤色区域后,还需要确定提取人脸的ROI区域作为信号的获取区间。假设视频获取图片的大小为假设视频获取图片的大小为M×N的矩阵,P(x,y),则图片的水平投影为P(x,y),垂直投影为Q(x,y)。
假设ROI区域的水平投影则图片的水平投影为P(x,y),垂直投影为Q(x,y)。假设ROI区域的水平投影为P1(x,y),垂直投影为Q1(x,y)满足式(2)则有P1(x,y)∈P(x,y),令
(4)
人脸区域的中心点记为O(x0,y0),其中
(5)
ROI区域的半径,根据大众脸型的长与宽之比约在1~1.4,在文中设置该比值为1.25,则可以确定视频人脸提取的矩形ROI区域
(6)
其中,a,b,c,d分别为矩形左边的值;b为矩形上边的值;c为矩形右边的值;d为矩形下边的值。得到ROI人脸区域之后假设人脸的ROI区域的尺寸为m×n,在RGB色彩空间模型中,每一个像素点用一组(R,G,B)数据表示,RGB通道中G通道分量为(0,G,0),从而得到G通道的均值
(7)
k对应于摄像头获取的照片的帧数,以此提取出人脸部的反映心率信号的值。程序框图如图3所示。
图3 人脸图像的定位与提取ROIG值程序框图
3.1 小波滤除基线漂移
在心电信号中由于在摄像头的人脸部的运动,虽然采用人脸面部跟踪的方法,但还是不可避免的发生基线漂移的情况,为此引入了小波变换来消除基线漂移[10]。小波变换是由短时傅里叶变换(STFT)发展起来的,具有时域局域化的特性。连续小波定义[11]
(8)
(9)
LabVIEW采用的是ASPT工具箱提供的WA Detrend VI ,它可以消除信号的低频趋势[10]。在心电信号的检测中使用的小波是Daubechies6(db06),因为这种小波与实际的心电信号比较相似[12]。在程序的设计中设置了每次测量采样的点数为600个采样点,式(9)计算得到trendlevel=0.64。
(10)
其中,t为采样周期;N为采样点数。
3.2 心率信号QRS综合波检测及心率计算
在心血管疾病的诊断中,特征波的提取具有极大的诊断参考价值。QRS 波是心电信号特征波形中是最显著的波群。QRS 波群的检测,是以R波的峰值点为坐标,在其附近的范围内定位其他波[13]。借助于小波在多分辨率的优势,采用其对带噪声的信号进行主要特征的提取与分析。在本文中,使用LabVIEW 高级信号工具箱中的WA Multiscale Peak Detection VI来检测Q、R和S点。在波峰/波谷检测前,使用Multiresolution Analysis Express VI将心电信号分解为8级的Daubechies6 (db06)小波,然后使用D4和D5子带重建出信号。可以利用D4和D5子带进行重建,是因为几乎所有的QRS细节都处于这两个子带中,这使得QRS检测更为精确[14]。通过设置波峰、波谷检测的阈值即可获得R点、S点的检测。
R-R间期为两个相邻R波之间的间隔,它的平均值计算公式为
(11)
心率的计算公式为[15]
(12)
式(12)可以较准确地计算出心率。实现心率计算的程序框图如图5所示,在该模块中加入了心率报警程序,若心率在正常值范围以外,报警灯变红。
图4 小波对信号的处理以及心率计算程序框图
在实验使用的摄像头为联想笔记本自带的摄像头,实验中采集视频的分辨率可以在LabVIEW前面板中选择。根据奈奎斯特采样定律,要完整重现原来的采样信号,采样频率大于信号带宽的2倍,由于正常心率信号的频率在0.7~4 Hz,故在实验中选取分辨率为20 fip·s-1的摄像机,从而能满足要求。提高摄像头的分辨率会降低其采样频率,而低分辨率会造成信号的某些峰值点信息的丢失。为此兼顾采样频率和分辨率,实验中选择摄像头的分辨率为320×240。
从图5可以看出上述建立的肤色模型能够动态的检测人脸运动过程,并且将人脸脸部的特征反映出来,方框区域为ROI区域,这样对于排除非人脸周围背景色的干扰有很大帮助。心率信号是从该区域提取G通道的均值得到的。
图5 人脸检测的过程与结果
图6 实验信号的处理及结果
在实验中截取了一段对人脸视频的采集的心率信号及处理之后的信号,如图6所示。图6(a)显示了原始的心电信号,图6(b)为基于小波变换方法处理后得到的心电信号。由图6(a)与图6(b)可以发现,处理后的信号基本不含信号的基准漂移,同时也保留了原始信号的特性。图6(c)显示了使用小波对信号的波峰的检测。0~1 s由于信号的波动,并未检测到心率的波峰值,在1~10 s的测试时间中,共检测到11个峰值点,由式(12)可知,得到测量的心率为60/9×11+1=74 。实验中对测试者同时采用心电监测仪和本系统进行测量,测量结果如表1所示,结果表明与心电监测仪相比本系统的最大测量误差为8.22%,能够满足一般测量要求。
表1 测量误差
本文设计了一种基于LabVIEW的人脸视频实时心率测量系统,利用普通的笔记本电脑自带摄像头就可以完成心率的实时监测。在算法中实现对人脸部区域的定位和信号的提取,避免环境因素对提取信号的干扰,该系统具有简单、实用性。在实际的实验中程序对高分辨率的图像处理速度比较慢,影响信号的采集实时性,高分辨率的图像对心率信号的影响有待于后续研究。
[1] 王晓晖.人脸视频中心率测量算法的研究与实现[D].杭州:浙江大学,2015.
[2] 李学波.基于光电容积脉搏波的人体生理指数检测算法研究与实现[D].沈阳:东北大学,2011.
[3] Su Zimei, Guo J Y, Liu J.Spectrum feature extraction and automatic recognition of pulse waves[J].Nanotechnology & Precision Engineering,2010,8(1):70-74.
[4] Pursche T,Krajewski J,Moeller R. Video-based heart rate measurement from human faces[J].IEEE Transactions on Computer Science,2012(5):544 - 545.
[5] 童兵亮.基于嘴部状态的疲劳驾驶和精神分散状态监测方法研究[D].长春:吉林大学,2004.
[6] Yu Y P,Kwan B H,Lim C L,et al. Video-based heart rate measurement using short-time Fourier transform[C].Beijing:International Symposium on Intelligent Signal Processing and Communications Systems,2013.
[7] 柯研.基于肤色模型的人脸检测算法研究[D].武汉:华中科技大学,2008.
[8] 陈树学,刘萱.LabVIEW宝典[M].北京:电子工业出版社,2011.
[9] 郑对元.精通LabVIEW虚拟仪器程序设计[M].北京:清华大学出版社,2012.
[10] 李小燕,王涛,冯焕清,等.基于小波变换的自适应滤波器消除ECG中基线漂移[J].中国科学技术大学学报,2000,30(4):450-454.
[11] 张向东,李波.基于Gabor小波变换和PCA的人脸识别方法[J].电子科技,2007(4):72-74.
[12] 李波.一种基于小波和区域的图像拼接方法[J].电子科技,2005(4):49-52.
[12] 王丽芳.基于LabVIEW的生理电信息数据采集检测系统[D].秦皇岛:燕山大学,2014.
[13 ] 姚丽,刘东东.基于LabVIEW的数据采集与信号处理系统设计[J].电子科技,2012,25(5):173-175.
[14] Pawankiattikun V, Kondo T. A method for contact-free heart rate measurement on a video sequence using Simulink[C].Shanghai: Biomedical Engineering International Conference,IEEE,2014.
[15] 黄婷.基于LabVIEW的生物医学信号采集处理系统的设计[D].长春:长春理工大学,2005.
Real Time Heart Rate Measurement System for Facial Video Based on LabVIEW
WANG Yun,HAO Xiuchun,LI Boquan
(School of Mechanical Engineering, Jiangsu University, Zhenjiang 212013, China)
A non-contact real-time heart rate measurement system based on LabVIEW is designed for the human heart rate measurement to replace the traditional method of contact measurement. An ordinary camera captures face images, and three primary separation is performed for each frame of the images to generate R, G, B channel images, and the skin color model face recognition is used to determine the face ROI and extract the G channel mean, which are combined with wavelet transform to eliminate the signal baseline drift and peak detection, and finally the heart rate measurement value is obtained. The experimental results show that the maximum measurement error of the system is 8.22%, which meets the requirements of the actual measurement. The operation is simple and has good application value.
LabVIEW; wavelet transform; face detection; heart rate
2016- 08- 31
汪赟(1991-),男,硕士研究生。研究方向:MEMS传感器设计及信号处理。
10.16180/j.cnki.issn1007-7820.2017.07.026
TP391.41
A
1007-7820(2017)07-094-05