一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于人脸视频的非接触式心率检测装置和方法与流程

2022-07-10 04:23:11 来源:中国专利 TAG:


1.本发明涉及心率检测领域,特别是涉及一种基于人脸视频的非接触式心率检测装置和方法。


背景技术:

2.心率是人体十分重要的一个生理参数,它能够及时地反映人体的健康水平。获取心率最直接的方式主要是通过接触式的传感器,如心电图仪和脉搏波检测仪,这些方式能够很精确地监测人体心率以及脉搏信息,然而它们需要外在地硬件设备以及与人体皮肤的直接接触才能获得被测信息。这些设备价格昂贵,不易携带,并且接触检测的形式经常给被测者带来很大的负担,因此检测成本很高,不利于使用者对自己生理信息的实时检测。
3.传统的非接触式心率检测方法主要基于通过建立数学模型来对心率进行远程估计。基于rppg(remote photoplethysmography,远程光电脉搏容积描记法)原理,即人的心动周期内血液中的血红蛋白含量的变化会导致皮肤颜色发生微小的变化,通过对这个特征来对人体心率进行分析。早期的基于视频的非接触式心率估计方法中,常用的是信号分离、颜色通道分析和皮肤反射模型。如基于主成分分析的盲源分离法ica,基于色度的方法chrom和构建基于光照反射模型pos等数学模型方法。这些方法具有很好的泛化性能,但是在实际情况下有着比较低的信噪比,预测的心率准确性受到了很大的限制。
4.近年来随着深度学习的发展,一些深度学习模型被用来从人脸视频中更准确地检测心率。卷积神经网络在处理图像以及视频数据方面展现出了优异的性能,特别是对人脸肤色变化这种细微特征的检测上也有很不错的效果。现有很多基于深度学习的方法,需要精心设计人脸视频的手工特征表示,以确保成功地训练模型。比如在模型训练之前需要将多帧图片处理到一帧中,但是这样会引入额外的噪音,并且最后达到的检测精度也十分有限。与此同时,包含生理信息及标签的数据集十分有限,这也进一步限制深度学习模型的泛化性能,使得该方法在某些场景下获得很大误差。


技术实现要素:

5.针对现有技术中存在的技术问题,本发明的目的之一是:提供一种基于人脸视频的非接触式心率检测装置,能够提高检测精度和泛化性能。
6.针对现有技术中存在的技术问题,本发明的目的之二是:提供一种基于人脸视频的非接触式心率检测方法。
7.为了达到上述目的,本发明采用如下技术方案:
8.一种基于人脸视频的非接触式心率检测方法,包括以下步骤,
9.获取不带肤色变化的人脸视频v,根据人脸视频v合成多个用于模拟真实人脸视频的视频v
rppg

10.发送多个视频v
rppg
作为训练样本对深度学习模型进行训练,以使深度学习模型对待检测心率的人脸图像进行信号放大,并从放大后的人脸图像中获得高信噪比的数据,进
而计算得到心率。
11.进一步,不带肤色变化的人脸视频v的获取方式为,选取一张基础图片c以及一段驱动视频vd,通过一阶运动模型,将基础图片c与驱动视频vd拟合成不带肤色变化的人脸视频v。
12.进一步,获取人脸视频v后还包括以下步骤,对人脸视频v利用函数s生成脉搏波信号,将脉搏波信号s(t,f)添加到合成的视频v
rppg
中,用于深度学习模型的训练,
[0013][0014]
其中,σ表示信号的尺度,f表示信号频率;t表示信号的长度;ai和bi是决定信号波形的常数;
[0015][0016]
其中,pj表示在j通道中增加的信号强度,表示经过一阶运动模型生成的人脸视频v中图像的像素值,表示添加肤色变化信号之后图像的像素值。
[0017]
进一步,合成视频v
rppg
的实现方式包括,构建bvp曲线来模拟人脸的肤色变化,对构建的bvp曲线进行采样,采样频率与人脸视频v的帧率保持一致,采样值作为肤色信号强度并进行维度扩张之后添加到人脸视频v中,生成用于模拟真实人脸视频的视频v
rppg

[0018]
进一步,合成视频v
rppg
时,同步生成与视频v
rppg
对应的标签,使用v
rppg
作为训练样本对深度学习模型进行训练时,采用与视频v
rppg
对应的标签来计算损失;
[0019]
采用的损失函数为,l
α
=50l1 l
ssim

[0020]
其中,l
α
表示总损失,l1表示正则化损失,l
ssim
表示结构相似性损失。
[0021]
进一步,深度学习模型的训练方法包括以下步骤,首先构建一个包含多个人脸视频v的数据库,每一步训练迭代的过程中从数据库中随机选取人脸视频v;然后对选取的人脸视频v添加肤色变化,并随机调节其中函数的时间相位,将数据合成步骤的代码整合到网络训练的数据加载过程中,使数据合成与网络训练的过程同步进行。
[0022]
进一步,在深度学习模型训练过程中,调整数据合成算法的参数以增加合成数据种类。
[0023]
进一步,计算得到心率的实现方式包括,对待检测心率的人脸区域进行视频采集,对视频中每帧图像通过训练好的深度学习模型进行信号放大,计算放大后的人脸图像的均值,对计算出来的曲线进行峰值检测,分析出波峰之间的时间间隔并以此来计算该段时间内的平均心率。
[0024]
一种基于人脸视频的非接触式心率检测装置,包括
[0025]
视频处理模块,用于通过rvg数据合成算法,根据不带肤色变化的人脸视频v合成
多个用于模拟真实人脸视频的视频v
rppg

[0026]
深度学习模型,用于采用多个视频v
rppg
作为训练样本进行训练,并对待检测心率的人脸图像进行信号放大;
[0027]
心率计算模块,用于从放大后的人脸图像中获得高信噪比的数据,进而计算得到心率。
[0028]
进一步,深度学习模型采用编码解码器结构,包括桥接块以及分别连接于桥接块的编码器和解码器,编码器用于接收视频v
rppg
,解码器用于接收与视频v
rppg
同步对应生成的标签,桥接区域设有用以调整信号放大倍率的放大系数α。
[0029]
总的说来,本发明具有如下优点:
[0030]
增加的数据合成环节能够保证深度学习模型有足够的数据进行目标特征的训练,以提高本发明提供深度学习模型的泛化性能,通过信号放大,能够极大地提高检测出来的脉搏波信号的信噪比,具有较高的检测精度。
附图说明
[0031]
图1为本发明的rvg数据合成算法的步骤示意图。
[0032]
图2为本发明的rvg数据合成算法生成视频的质量评估示意图一。
[0033]
图3为本发明的rvg数据合成算法生成视频的质量评估示意图二。
[0034]
图4为本发明的ed-rppg模型的结构示意图。
[0035]
图5为本发明的rvg数据合成的算法流程图。
[0036]
图6为本发明计算出的信噪比随放大系数α的变化情况示意图。
[0037]
图7为本发明在不同放大系数α下计算出的脉搏波示意图。
[0038]
图8为本发明在干扰情况下的心率检测效果示意图。
具体实施方式
[0039]
下面来对本发明做进一步详细的说明。
[0040]
一种基于人脸视频的非接触式心率检测装置,包括视频处理模块,用于从视频中摘取出人脸区域,减少背景区域带来的噪声污染,检测得到的人脸图像用于人体心率脉搏波的分析;
[0041]
信号放大模块,包括经过训练的深度学习模型,用于将人脸微弱的肤色变化信号进行放大,从而增大目标信号与噪声之间的比值,进而能够进行更准确的心率检测;
[0042]
心率计算模块,用于从信号放大后的数据中计算像素均值并对待测者的心率进行估计,通过使用峰值检测和傅里叶变化等技术来减少估计误差。
[0043]
人脸图像采集是通过定位脸部的特征点并根据该特征点来分割图像中包含的脸部以及背景区域。
[0044]
本发明提供了一种用于将目标特征进行放大的编码解码器模型,并提供了一种能够增强该模型的鲁棒性的数据合成算法,包括:
[0045]
步骤一、根据样本图片,使用rvg数据合成算法来合成模型所需要的训练样本以及对应的标签。
[0046]
步骤二、使用合成的数据样本来对提出的编码解码器ed-rppg模型进行训练,在训
练过程中调整rvg算法的参数以增加合成数据种类。
[0047]
步骤三、使用训练好的ed-rppg模型来对目标信号放大,从放大后的图像中可以获得高信噪比的数据,进而可以从中计算出脉搏波和心率。
[0048]
优选的,所述步骤一包括,通过一张基础图片c和驱动视频vd来生成不包含肤色变化的视频v。该过程使用一阶运动模型来实现,生成的视频通过人脸皮肤检测把背景区域去除。利用函数s生成脉搏波信号,
[0049][0050]
其中,σ限制了信号的尺度,我们把它设置为[0,1];f表示信号频率;t表示信号的长度;ai和bi是决定信号波形的常数。
[0051]
优选的,步骤一还包括将构建的脉搏波信号s(t,f)添加到生成的视频v中,用以模型的训练,
[0052][0053]
其中,其中pj表示在j通道中增加的信号强度,表示经过一阶运动模型生成的图像的像素值,表示添加肤色变化信号之后的像素值。u表示对每个选中的像素添加一个肤色值
[0054]
值得注意的是,我们在绿色通道中设置的强度p要比在r,b通道中设置的强度p高。因为根据研究表明,血红蛋白对绿光有更强的吸收能力。通过这样的方式,我们就合成了具有肤色变化特征的合成数据v
rppg
。通过计算合成图像与原始图像之间的峰值信噪比pnsr和结构相似度ssim数值,我们的合成数据与原始数据具有很好的一致性,这也为后续数据的训练提供了一个良好的基础。
[0055]
优选的,步骤二包括对编码解码器模型ed-rppg的构建以及训练。基于减少数据预处理带来的噪声引入以及提高信噪比的需求,模型构建目标是直接对人脸部肤色变化的信号进行放大,并输出包含原始人脸图像的放大后的肤色变化信号。
[0056]
其中网络的编码层由2个3d卷积层和3个3d残差块组成,编码块的输入是一个包含64帧图像的4维张量,该张量的尺寸为64
×
64
×
64
×
3。每帧图像的尺寸为64
×
64,通道数为3,采样频率为15hz。该编码块的设计是为了能够提取出人脸视频中包含的肤色变化信息,滤除图像中包含的各种噪音。该编码块最后输出64
×1×1×
3的张量,并将该张量输入桥接块中。
[0057]
桥接块包含2个3d残差模块,以及外界的放大系数α的接口,在这一步不改变张量的尺寸。该桥接块的设计目的是设置网络对目标信号的放大倍数,通过调节α的大小来实现这个目标,改变α的值可以获得信噪比不同的目标信号。
[0058]
解码块的输入是经过桥接块放大之后的张量,该模块的目标是将编码器中提取出来的信号进行恢复。解码块由3个3d残差块和4个3d卷积层组成,网络输入为64
×1×1×
3的
张量,输出为64
×
64
×
64
×
3的张量。由于在编码块中输入视频中的存在的各种噪音和非目标信号特征已经被滤除,因此该模块的输出只是恢复出来的目标信号的变化特征。
[0059]
该编码器和解码器的实质是一个高阶的微分和积分过程。因为在实际过程中,噪音往往变现为一种在时间上呈现低阶变化的信号,而目标信号(脉搏波)则是一种高阶信号。当噪音和目标信号混合在一起时,我们对该混合信号连续对时间求多次偏导,就能够把低阶噪音滤除。再经过积分项对目标信号进行复原,就能获取干净的肤色变化的信号。这个过程可以用以下公式来表示:
[0060]
原始图像定义:c(x,t)=c(x) c(x)s(t) δ(x,t),其中,c(x,t)表示在t时刻,位于x处地像素值;c(x)表示图像原始颜色;c(x)s(x)表示血容量变化引起地肤色变化;δ(x,t)表示各种外界噪音带来的肤色变化。
[0061]
对目标信号求多次偏导:其中,由于c(x)在时间维上是常数,因此在求偏导过程中被消去,低阶噪音同理。
[0062]
对滤除的目标信号进行还原:其中表示恢复的目标信号,我们希望它能够尽可能接近于c(x)s(t);经过以上处理过程之后,我们可以将信号放大后的视频表示为:为:
[0063]
优选的,步骤三包括对恢复的目标信号计算像素均值,并采用波峰波谷检测来获取在某一段时间内的平均心率。本方法能够极大地提高检测出来的脉搏波信号地信噪比,进而提升从视频中检测出来的心率的精度。同时也解决了深度学习法方法中面临的数据不足问题,进而提升了泛化性能。
[0064]
具体地,如图1所示,本发明提供了一种人工合成人脸肤色变化特征的算法rvg,能够合成数量不受限制的含心率信息的人脸视频v以及对应的标签。这给深度学习模型训练提供了极大的方便,同时也极大地提升了深度学习模型的训练效果以及检测精度,包括以下步骤:
[0065]
(1)首先生成不带肤色变化的人脸视频v。
[0066]
从训练样本中选取一张基础图片c以及一段驱动视频vd,使用aliaksandr siarohin等人提出的图像动画一阶运动模型,将基础图片c拟合成一段与驱动视频vd类似的人脸视频v,该人脸视频v不带肤色变化。然后再对该人脸视频v使用opencv的dlib模块来对视频中人脸进行检测并提取人脸皮肤区域,这样得到的数据可以减少噪音的干扰,提高准确率。
[0067]
(2)bvp信号生成并添加到人脸视频v中。
[0068]
接下来构建bvp曲线s(t,f)来模拟人脸的肤色变化。对构建的曲线进行采样,采样频率与人脸视频v帧率保持一致。采样值作为肤色信号强度并进行维度扩张之后添加到人脸视频v中,生成视频v
rppg
用以模拟真实人脸视频。我们用峰值信噪比psnr和结构相似度ssim来评估生成视频v
rppg
的质量。
[0069]
(3)对视频v
rppg
的质量进行评估
[0070]
在我们提出的rvg算法中,影响视频v
rppg
效果的参数主要是参数p和u,因此我们通过计算在不同p和u值下生成视频的峰值信噪比psnr和结构相似度ssim来评估合成视频v
rppg
的质量,计算结果如图2、图3所示。从图2、图3曲线中可以看出,参数u小于1.2、参数p在1%-2%之间时,合成视频v
rppg
的质量最好。
[0071]
图5表示rvg算法流程图。算法的输入包括一张基础人脸图片c和一段驱动视频vd。该算法首先初始化信号频率fi,然后使用一阶运动模型生成不带肤色变化信号的人脸视频v,如图5中步骤1和2。接下来使用傅里叶级数来模拟bvp信号,并将该信号进行归一化,如图5中步骤3和4。接下来对视频中的每一帧中的每一个颜色通道添加对应的肤色变化信号,如图5中的步骤5到步骤11。最后算法就可以输出和真实人脸视频相近的视频v
rppg

[0072]
如图4所示,信号放大模块采用编码解码器结构,encoder表示编码器,decoder表示解码器,bridge表示桥接块,input和output分别表示网络输入和输出。本发明提供了一种编码解码结构的深度学习模型,用于对人脸中的肤色变化信号进行放大,并通过以下方式进行训练:
[0073]
(1)从训练集中获取原始训练样本并送入数据合成算法中,通过数据合成算法对该训练样本构建包含肤色变化的训练数据和对应的标签。
[0074]
(2)将合成的训练数据送入构建的编码解码器中,并使用合成的标签作为该数据训练所对应的标签来计算损失。
[0075]
(3)将数据合成与训练过程同步进行,并通过随机调整数据合成过程中的参数,能够生成不同的数据以用模型训练,进而提高该编码解码器的鲁棒性。
[0076]
(4)训练过程中根据数据合成的采用的参数来设置编码解码器对应的放大倍数,用以保证模型获得最优性能。
[0077]
具体包括以下步骤:
[0078]
(1)ed-rppg网络模型与rvg数据合成算法的联合训练。
[0079]
经过rvg算法合成的视频v
rppg
通过尺寸的裁剪和帧数的设置即可送入ed-rppg模型中进行训练。我们通过使用随机数的方式来使数据合成与网络训练的过程进行同步。首先需要构建一个不带肤色变化的人脸视频v的数据库,每一步训练迭代的过程中从中随机选取人脸视频v;由于生成的训练样本不包含任何有关肤色变化的生理信息,因此我们使用函数人工合成肤色变化的信息,并将其添加到生成的训练样本中。该合成的肤色变化信息同时也作为标签来指导编码解码器的训练学习过程。并随机调节其中函数的时间相位,用以丰富训练样本的数量。从而在训练过程中能够使用足够多不同类型的数据进行训练。我们将数据合成步骤的代码整合到网络训练的数据加载过程中,这样,数据合成与网络训练能够同时进行,极大地提高了训练的效率和网络最后模型训练的效果。
[0080]
(2)使用ed-rppg网络模型进行心率检测。
[0081]
训练好的ed-rppg即可以用来进行人脸视频的心率识别。首先使用opencv的dlib模块来对人脸区域进行采集,采集频率设置为15帧每秒。采集的人脸图像送入ed-rppg模型中进行信号放大,该模型每次可以处理64帧图片。模型会输出带有放大的bvp信号的人脸视频,这时的视频中目标信号具有很高的信噪比,因此心率的计算会变得很方便和精确。
[0082]
ed-rppg编码解码器模型能够将人脸微弱的肤色变化放大到肉眼可见的水平,并且不需要对人脸进行手工特征设计,主要是采用微分与积分的思想,将视频中存在的低阶
噪音过滤掉,保留心率这种高阶信号,进而极大地提升目标信号的信噪比。
[0083]
放大后的视频我们计算每帧图像的均值,可以很清晰地看到肤色变化的曲线,放大后的效果如图7所示。对计算出来的曲线我们进行峰值检测,分析出波峰之间的时间间隔并以此来计算该段时间内的平均心率。我们使用pure数据集中的数据来对我们提出的方法进行评估,下表为计算结果。
[0084][0085]
表1
[0086]
表1列出了本发明提出的ed-rppg对计算出来的bvp曲线的信噪比提升效果。其中ica、pos和chrom分别表示几种传统的非接触心率计算方法,我们分别计算使用这几种方法下原始视频和经过信号放大的视频的信噪比。可以看出,经过信号放大的视频计算出来的信噪比得到了明显的增强,这一点从图7中也可以明显的看出来。图7还计算了在不同放大系数下的视频计算出来的bvp信号的信噪比。
[0087][0088]
表2
[0089]
表2列出了从pure数据集中计算出来的平均心率的皮尔逊相关系数ρ、平均绝对误差mae、均方根误差rmse和标准差std。我们分别计算在信号放大前后在30秒内平均心率的误差,可以看出,经过信号放大的视频计算出来的平均心率准确率得到了很明显的提升。为了进一步验证我们提出方法的效果,我们还分别在光照变化、说话以及运动情况下使用本发明提出的方法对于心率估计效果的提升,如图8所示。可以看出,我们的方法能够在这些干扰环境下显著提高心率估计的准确性。
[0090]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献