一种心率估计模型的训练方法、心率估计方法及装置与流程

专利检索2022-05-10  5



1.本技术涉及计算机及健康检测技术领域,特别是涉及一种心率估计模型的训练方法、心率估计方法及装置。


背景技术:

2.心率作为衡量人体健康有否的重要指标之一,检测心率对心血管疾病的预防和诊断、人体健康的监护具有重大的意义。
3.传统医学上的心率测量手段大都使用测量设备直接与人体皮肤接触,未将如皮肤容易过敏患者、处于运动过程中的运动员、新生儿童等不便直接使用心率测量设备的人员纳入考虑,该方法使用的场景和人群较为局限。另外,现有技术中也存在一些无需直接接触的心率检测方法,例如利用压力传感器或雷达等设备获取传感信号,或者利用特殊摄像头获取视频图像以实现心率检测的目的。
4.然而,本技术的发明人在长期研发中发现,通过压力传感器或雷达检测人体心率的方式成本较高,且往往会依赖于传统信号处理方法,导致心率估计精度不高,该方法不利于在社会生活中进行推广普及。现有技术中依赖于视频图像的心率估计系统虽然突破人员和场景的局限,但仍存在算法较为复杂繁琐,心率估计精度较低的问题。


技术实现要素:

5.本技术主要解决的技术问题是提供一种心率估计模型的训练方法、心率估计方法及装置,能够提高心率估计的便捷性、精确性和普适性。
6.为解决上述技术问题,本技术采用的一个技术方案是:提供一种心率估计模型的训练方法,包括:获取心率估计视频集,其中,所述心率估计视频集中包含多个样本视频,每个所述样本视频中包含人脸,且设置有对应的心率值标签;对每个所述样本视频进行预处理,以获得对应的特征图,其中,所述特征图具有与对应的所述样本视频相同的心率值标签;将多个所述特征图输入至心率估计模型中,以分别获得对应的心率预测值;根据多个所述特征图对应的心率预测值和心率值标签获得损失值,其中,所述损失值与心率估计正则项相关;判断当前所述损失值是否处于收敛状态;若是,则停止对所述心率估计模型的训练过程,以获得训练后的所述心率估计模型;否则,调节所述心率估计模型中的权重值,并返回至将多个所述特征图输入至心率估计模型中的步骤。
7.其中,所述对每个所述样本视频进行预处理,以获得对应的特征图的步骤,包括:对所述样本视频进行分帧处理,以获得多个视频帧;对每个所述视频帧进行人脸检测,以获得包含目标人脸的人脸区域;将每个所述人脸区域划分为若干区域,并计算若干区域在颜色空间上的yuv均值;利用所述yuv均值获取每一区域在时间维度上的连续信号;利用所述连续信号获得所述人脸区域对应的特征矩阵;将所述特征矩阵输入至所述心率估计模型中,以获得所述特征图。
8.其中,所述将多个所述特征图输入至心率估计模型中,以分别获得对应的心率预
测值的步骤,包括:将所述特征图输入基于残差网络的所述心率估计模型中,采用非极端通道注意力机制将所述特征图转化为注意力分布值;将所述注意力分布值与所述特征图的乘积作为非极端注意力特征图;对所述非极端注意力特征图进行全局平均池化,以获得所述心率预测值。
9.其中,所述心率估计正则项包括分类损失函数和皮尔逊损失函数;所述根据多个所述特征图对应的心率预测值和心率值标签获得损失值的步骤,包括:利用最小优化均方根损失函数、所述分类损失函数以及所述皮尔逊损失函数获取所述心率预测值与所述心率值标签之间的所述损失值。
10.其中,所述利用最小优化均方根损失函数、所述分类损失函数以及所述皮尔逊损失函数获取所述心率预测值与所述心率值标签之间的所述损失值的步骤,包括:
11.利用最小优化均方根损失函数获取所述心率预测值与所述心率值标签的第一损失函数值、利用分类损失函数对所述心率值标签进行离散处理,获取所述心率预测值与所述心率值标签的第二损失函数值、以及利用皮尔逊损失函数获取所述心率预测值与所述心率值标签的第三损失函数值;将所述第一损失函数值、所述第二损失函数值以及所述第三损失函数值与对应的贡献参数的乘积之和作为最终的所述损失值,其中,所述贡献参数设置为0

1。
12.其中,所述获取心率估计视频集的步骤包括:获得不同场景下包含人脸的多个所述样本视频;其中,所述场景包括人脸转动场景、对话场景、运动场景、长距离场景、补光场景中的至少一种。
13.其中,所述判断当前所述损失值是否处于收敛状态的步骤之前,包括:判断当前迭代次数是否达到所述心率估计模型中的迭代阈值,其中,所述迭代阈值设置为50至500之间;若是,则停止对所述心率估计模型的迭代过程;否则,进入判断当前所述损失值是否处于收敛状态的步骤。
14.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种心率估计方法,包括获取包含待检测人脸的视频数据;提取预设时间内所述视频数据中连续的待检测人脸图像,并将所述待检测人脸图像输入至训练后的心率估计模型中,以获取所述预设时间内的心率预测值;其中,所述心率估计模型通过上述任一项实施例中所提及的训练方法训练获得;输出所述视频数据对应的心率曲线,所述心率曲线为多个所述心率预测值构成的折线图。
15.为解决上述技术问题,本技术采用的又一个技术方案是:提供一种心率估计装置,包括相互耦接的存储器和处理器,所述存储器存储有程序指令,所述程序指令用于被所述处理器执行以实现上述任一项实施例中所提及的心率估计方法。
16.为解决上述技术问题,本技术采用的又一个技术方案是:提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于实现上述任一项实施例中所提及的心率估计方法。
17.区别于现有技术的情况,本技术的有益效果是:本技术中提供一种心率估计模型的训练方法,提出一种基于深度学习的心率估计模型,能够利用视频序列中的人脸特征实现实时、快速地获得心率值,突破了当下多种场景下医学设备、传感器等不能使用的局限性;同时,在心率估计模型的训练过程中引入心率估计正则项,有效提高心率估计的计算精
度,保证心率预测结果的精确性。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
19.图1是本技术心率估计模型的训练方法一实施方式的流程示意图;
20.图2是图1中步骤s102一实施方式的流程示意图;
21.图3是图1中步骤s103一实施方式的流程示意图;
22.图4是图3中步骤s301

s303一实施方式的结构示意图;
23.图5是图1中步骤s105之前一实施方式的流程示意图;
24.图6是本技术中心率估计方法一实施方式的流程示意图;
25.图7是本技术心率估计装置一实施方式的框架示意图;
26.图8是本技术心率估计装置一实施方式的结构示意图;
27.图9是本技术计算机可读存储介质一实施方式的框架示意图。
具体实施方式
28.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
29.请参阅图1,图1是本技术心率估计模型的训练方法一实施方式的流程示意图。具体而言,可以包括如下步骤:
30.s101:获取心率估计视频集,其中,心率估计视频集中包含多个样本视频,每个样本视频中包含人脸,且设置有对应的心率值标签。
31.可选地,利用普通监控摄像头采集获得多个样本视频。提前召集多人进行样本视频的录制,且在录制过程中需要采集每个人在多个场景条件下的视频数据。需要说明的是,此处每一样本视频的录制画面中以仅出现一张人脸为较佳采集效果。心率值标签是指利用现有的接触式设备监测得到的心率值。每一样本视频与每一心率值标签之间具有映射关系,二者共同构成心率估计视频集。
32.在本实施例中,设定样本视频的录制时长为1分钟,摄像头的帧率为25帧每秒,建立对应的存储路径及心率估计数据集,将获取到的样本视频数据及对应的标签存储至心率估计数据集中。
33.在又一具体的实施场景中,获取心率估计视频集的步骤还包括:获得不同场景下包含人脸的多个样本视频,其中,场景包括人脸转动场景、对话场景、运动场景、长距离场景、补光场景中的至少一种。通过上述实施方式,在获取样本视频的过程种设定多种场景,能够提高训练模型的鲁棒性,提高心率估计结果的准确性。
34.s102:对每个样本视频进行预处理,以获得对应的特征图,其中,特征图具有与对
应的样本视频相同的心率值标签。
35.请参阅图2,图2是图1中步骤s102对应一实施方式的流程示意图。
36.上述步骤s102包括如下步骤:
37.s201:对样本视频进行分帧处理,以获得多个视频帧。
38.可选地,在本实施例中,对视频时长为1分钟,帧率为25帧每秒的视频进行分帧处理,最终获得共计1500帧图像。
39.s202:对每个视频帧进行人脸检测,以获得包含目标人脸的人脸区域。
40.可选地,在本实施例中,利用人脸检测和关键点定位技术获取1500帧图像中的人脸区域,最终共计获得1500个人脸区域。
41.s203:将每个人脸区域划分为若干区域,并计算若干区域在颜色空间上的yuv均值。
42.可选地,在本实施例中,将每张人脸区域等分为25块小区域,并计算上述25块区域的yuv均值。
43.s204:利用yuv均值获取每一区域在时间维度上的连续信号。
44.可选地,在本实施例中,依次获取25块区域对应的时间维度上的连续信号。
45.s205:利用连续信号获得人脸区域对应的特征矩阵。
46.可选地,特征矩阵是指一个m*t*c的矩阵,其中m为人脸划分后的区域数目,t为视频序列的长度,c为颜色空间通道数。在本实施例中,由于人脸区域等分为25块区域,单个视频样本的序列长度为1500帧,yuv颜色通道数为3,则最终会获得一个25*1500*3的特征矩阵。
47.s206:将特征矩阵输入至心率估计模型中,以获得特征图。
48.可选地,此处特征矩阵需按照预设的滑动窗口长度及步长对视频序列长度进行重新划分,获得一个m*n*c的矩阵,其中m为人脸划分后的区域数目,n为划分后的样本个数,c为颜色空间通道数。在本实施例中,视频样本的序列长度为1500帧,滑动窗口长度为100帧,步长为1帧,则原先的1500帧被划分为1400个样本,最终输入心率估计模型的矩阵大小为25*1400*3。
49.通过上述实施方式,能够实现样本视频的预处理过程,获取训练过程所需的人脸图像对应的特征图,为后续的心率估计模型的训练过程提供技术支持。
50.s103:将多个特征图输入至心率估计模型中,以分别获得对应的心率预测值。
51.请参阅图3和图4,图3是图1中步骤s103对应一实施方式的流程示意图,图4是图3中步骤s301

s303一实施方式的结构示意图。上述步骤s103具体包括如下步骤:
52.s301:将特征图10输入基于残差网络12的心率估计模型中,采用非极端通道注意力机制将特征图10转化为注意力分布值(图未示)。
53.可选地,请参阅图4,心率估计模型中采用端到端的网络结构,以残差网络12如resnet18为基础网络,包括一层卷积层以及四个卷积模块。通过深度学习模型的卷积层,将从输入的特征图10中提取到的特征定义为其中i=1,2,3,

,d和j=1,2,3,

,d为特征矩阵的坐标,d为特征矩阵的长宽,m为卷积层的卷积核数量,即特征矩阵的高,c为最后一层卷积核数。在本实施例中,非极端通道注意力机制可以是非线性激活函数sigmoid函数f(x)=1/(1 e

x
),将特征转化为一维的注意力分布值s
m
,其公式如下所示:
54.s
m
=f
sigmoid
(w
t
·
x
i,j,m
b)
ꢀꢀ
(1)
55.其中,w和b分别为注意力机制的权重和偏置。
56.为了进一步提取有效特征,对注意力分布值进行归一化处理:
[0057][0058]
此时,a
m
即为最终的注意力机制的分布值,且∑a
m
=1。
[0059]
s302:将注意力分布值与特征图10的乘积作为非极端注意力特征图14。
[0060]
可选地,将得到的注意力分布值a
m
与之前的特征矩阵相乘得到非极端注意力特征图
[0061][0062]
其中,为矩阵的对应元素相乘。
[0063]
s303:对非极端注意力特征图14进行全局平均池化,以获得心率预测值。
[0064]
可选地,请继续参阅图4,通过全局平均池化(global average polling,gap)对非极端注意力特征图14进行操作,获得最终的心率预测值a
i

[0065][0066]
通过上述实施方式,一方面利用端到端的网络结构对视频序列直接进行心率值的预测,其中所有网络参数均是可以推导更新的,因此使用过程十分便捷;同时引入的通道注意力机制能够有效提高心率估计的精度,提高结果的精确性。
[0067]
s104:根据多个特征图对应的心率预测值和心率值标签获得损失值,其中,损失值与心率估计正则项相关。
[0068]
在本实施例中,心率估计正则项包括分类损失函数和皮尔逊损失函数,能够有效提高心率回归的效果。
[0069]
当然在其他实施例中,心率估计正则项还可以是分类损失函数和皮尔逊损失函数中的一种,或者引入其他能够提高心率回归效果的损失函数,此处不作具体限定。
[0070]
在一具体的实施场景中,利用最小优化均方根损失函数、分类损失函数以及皮尔逊损失函数获取心率预测值与心率值标签之间的损失值。其中,定义输入的样本为i
i
,心率值标签为y
i
,其中i=1,2,3,

,n,n为步骤s206中特征矩阵划分后的样本个数。
[0071]
在又一具体的实施场景中,利用最小优化均方根损失函数训练心率估计模型,获取心率预测值a
i
与心率值标签y
i
的第一损失函数值:
[0072][0073]
利用分类损失函数对心率值标签y
i
进行离散处理,将连续的心率值标签转换为多个离散区间,获得对应的标签y
i
=y
i
/l,其中l为离散区间长度。获取心率预测值a
i
与心率值标签y
i
的第二损失函数值的公式如下:
[0074][0075]
引入皮尔逊系数作为回归任务的正则项,使得心率估计的预测曲线与真实曲线之
间趋势相似度最大化,峰值定位误最小化。获取心率预测值与心率值标签的第三损失函数值的公式如下:
[0076][0077]
将第一损失函数值、第二损失函数值以及第三损失函数值与对应的贡献参数的乘积之和作为最终的所述损失值l:
[0078]
l=l
mse
(i,y) λl
class
(i,y) βl
npc
(i,y)
ꢀꢀ
(8)
[0079]
其中,λ和β分别为平衡l
class
和l
npc
的贡献参数,其设置范围为0

1。
[0080]
通过上述实施方式,在训练心率估计模型的回归任务中引入分类和皮尔逊正则项,扩大标签之间的差异,使得心率曲线与真实曲线之间趋势相似度最大化,峰值定位误最小化,有效提高心率估计的计算精度,保证心率预测结果的精确性。
[0081]
s105:判断当前损失值是否处于收敛状态。
[0082]
在本实施例中,请参阅图5,图5是图1中步骤s105之前一实施方式的流程示意图。上述步骤s105之前包括如下步骤:
[0083]
s401:判断当前迭代次数是否达到心率估计模型中的迭代阈值,其中,迭代阈值设置为50至500之间。
[0084]
s402:若是,则停止对心率估计模型的迭代过程。
[0085]
s403:否则,进入判断当前损失值是否处于收敛状态的步骤。
[0086]
通过上述实施方式,能够保证心率估计模型进行的迭代次数达到预先设置的迭代阈值,进一步保证模型的训练效果。
[0087]
s106:若是,则停止对心率估计模型的训练过程,以获得训练后的心率估计模型。
[0088]
s107:否则,调节心率估计模型中的权重值,并返回至将多个特征图输入至心率估计模型中的步骤。
[0089]
通过上述实施方式,本技术提出了一种基于深度学习的心率估计模型,能够利用视频序列中的人脸特征实现实时、快速地获得心率值,突破了当下多种场景下医学设备、传感器等不能使用的局限性;同时,在心率估计模型的训练过程中引入心率估计正则项,有效提高心率估计的计算精度,保证心率预测结果的精确性。
[0090]
请参阅图6,图6是本技术中心率估计方法一实施方式的流程示意图。本技术所提供的心率估计方法包括:
[0091]
s501:获取包含待检测人脸的视频数据。
[0092]
可选地,利用普通监控摄像头获取包含待检测人脸的视频数据。在本实施例中,视频数据中包含多个人脸,则对视频数据中的多个人脸分别进行心率预测值的获取。
[0093]
s502:提取预设时间内视频数据中连续的待检测人脸图像,并将待检测人脸图像输入至训练后的心率估计模型中,以获取预设时间内的心率预测值;其中,心率估计模型通过上述任一实施例中所提及的训练方法训练获得。
[0094]
可选地,提取预设时间内视频数据中连续的待检测人脸图像以及对待检测人脸图像进行预处理的过程与上述实施例中步骤s201

s206的过程相同,此处不再多作赘述。
[0095]
s503:输出视频数据对应的心率曲线,心率曲线为多个心率预测值构成的折线图。
[0096]
可选地,在本实施例中,预先在心率估计模型中设置心率最低阈值和心率最高阈值,当输出的心率预测值大于心率最高阈值或者小于心率最低阈值,则触发报警,向使用者及时发出警示,为后续医疗人员的预防诊断提供心率值依据。
[0097]
通过上述实施方式,通过训练完成的基于深度学习的心率估计模型,利用视频序列中的人脸特征实现实时、快速地获得心率值,减少了心率估计设备使用场景受限的情况,为长期监护使用者心率提供可能性。
[0098]
请参阅图7,图7是本技术心率估计装置一实施方式的框架示意图。该心率估计装置200包括获取模块20、分析模块22和反馈模块24。具体而言,获取模块20用于获取包含待检测人脸的视频数据。分析模块22用于取预设时间内所述视频数据中连续的待检测人脸图像,并将待检测人脸图像输入至训练后的心率估计模型中,以获取预设时间内的心率预测值,其中,心率估计模型通过上述任一实施例中所提及的训练方法训练获得。反馈模块24用于输出视频数据对应的心率曲线,心率曲线为多个心率预测值构成的折线图。通过上述实施方式,通过训练完成的基于深度学习的心率估计模型,利用视频序列中的人脸特征实现实时、快速地获得心率值,减少了心率估计设备使用场景受限的情况,为长期监护使用者心率提供可能性。
[0099]
请参阅图8,图8是本技术心率估计装置一实施方式的结构示意图。该装置30包括相互耦接的存储器300和处理器302,存储器300内存储有程序指令,处理器302用于执行程序指令以实现上述任一实施例中所提及的人脸图像的质量评价方法。
[0100]
具体而言,处理器302还可以称为cpu(central processing unit,中央处理单元)。处理器302可能是一种集成电路芯片,具有信号的处理能力。处理器302还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器302可以由多个集成电路芯片共同实现。
[0101]
请参阅图9,图9是本技术计算机可读存储介质一实施方式的框架示意图。该计算机可读存储介质40存储有计算机程序400,能够被计算机所读取,计算机程序400能够被处理器执行,以实现上述任一实施例中所提及的质量评价方法。其中,该计算机程序400可以以软件产品的形式存储在上述计算机可读存储介质40中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式所述方法的全部或部分步骤。具有存储功能的计算机可读存储介质40可以是u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
[0102]
以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
转载请注明原文地址:https://win.8miu.com/read-150220.html

最新回复(0)