本发明涉及心率测量领域,特别是涉及一种心率检测方法、装置、存储介质以及设备。
背景技术:
心率作为人体重要的生理指标,在很大程度上能够反应出人体心血管系统中的血液特征,而随着人们生活水平的提高,人们对于在日常生活中基本健康的关注度也越来越高,因此,对心率的检测需求也越来越高。
发明人在实现本发明的过程中,发现现有技术中存在以下问题:传统对心率的检测方法对采集到的数据进行处理时,处理方法复杂,计算时间长,效率低,而且不准确,用户体验差。
技术实现要素:
基于此,本发明的目的在于,提供一种心率检测方法、装置、存储介质以及设备,其具有缩短了计算时间,提高了检测效率,提高了用户体验,提高准确率的优点。
本发明实施例的第一方面,提供一种心率检测方法,包括如下步骤:
获取光源经由人体反射后采集的多组连续的图像数据流;
从每组所述图像数据流中采集多帧图像,并在每帧图像中选取若干个分区图像;
获取每帧图像中每个所述分区图像同时捕捉的心率信息;
根据所述分区图像捕捉的心率信息,以及对应的所述分区图像的权重,获得每组图像数据流检测的心率值;
根据每组图像数据流检测的心率值,确定用户的心率值。
根据本发明实施例的第二方面,提供一种心率检测装置,包括:
数据流获取模块,用于获取光源经由人体反射后采集的多组连续的图像数据流;
分区图像确定模块,用于从每组所述图像数据流中采集多帧图像,并在每帧图像中选取若干个分区图像;
心率信息确定模块,用于获取每帧图像中每个所述分区图像同时捕捉的心率信息;
第一心率值确定模块,用于根据所述分区图像捕捉的心率信息,以及对应的所述分区图像的权重,获得每组图像数据流检测的心率值;
第二心率值确定模块,用于根据每组图像数据流检测的心率值,确定用户的心率值。
根据本发明实施例的第三方面,提供一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的心率检测方法的步骤。
根据本发明实施例的第四方面,提供一种心率检测设备,包括摄像头,闪光灯,显示屏,存储器,处理器以及储存在所述存储器中并可被所述处理器执行的计算机程序;所述摄像头将获取的图像数据流传送到所述处理器;所述处理器执行所述计算机程序时实现如上述任意一项所述的心率检测方法的步骤。
本发明实施例通过在每帧图像中选取多个分区图像,并通过结合多个分区图像同时捕捉的心率信息共同确定用户的心率值的方式,缩短了计算时间,提高了检测效率,提高了用户体验,可尽可能防止使用单个分区图像进行检测时,检测的心率值不准确的问题,进而提高了心率检测的准确性。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明实施例中心率检测方法的应用场景示意图;
图2为本发明实施例中心率检测方法的流程图;
图3为本发明一个示例性实施例中选取分区图像的方法流程图;
图4为图3所示选取的分区图像的示意图。
图5为本发明另一个示例性实施例中选取分区图像的方法流程图;
图6为图5所示选取的分区图像的示意图;
图7为本发明又一个示例性实施例中选取的分区图像的示意图;
图8为本发明实施例中确定每组图像数据流检测的心率值的流程图;
图9为本发明实施例中心率检测装置的结构示意图;
图10为本发明一个示例性实施例中分区图像确定模块的结构示意图;
图11为本发明另一个示例性实施例中分区图像确定模块的结构示意图;
图12为本发明实施例中第一心率值确定模块的结构示意图;
图13为本发明实施例中心率检测设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。在此所使用的词语“如果”/“若”可以被解释成为“在……时”或“当……时”或“响应于确定”。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
图1为本发明实施例中心率检测方法的应用场景示意图,包括电子设备100、摄像头200、闪光灯300和显示屏400;电子设备100上运行有应用本申请实施例心率检测方法的应用程序110。人体的身体部位按压在摄像头200和闪光灯300时,闪光灯300作为光源,其发出的光将照亮人体的身体部位的毛细血管,而毛细血管的颜色会随着心率的跳动而周期性的变化,通过摄像头获取闪光灯经由人体反射回的图像数据流,再通过所述应用程序110执行本申请实施例的心率检测方法对获取的多组连续的图像数据流进行数据分析处理,进而通过所述显示屏400可显示获得用户的心率。
所述电子设备100可以是任何智能终端,例如,可以具体为计算机、手机、平板电脑、交互式智能平板、pda(personaldigitalassistant,个人数字助理)、电子书阅读器、多媒体播放器等。基于不同的智能终端,所述应用程序110还可以是以适应该智能终端的其他形式呈现。在一些例子中,还可以是以例如系统插件、网页插件等形式呈现。
所述摄像头200和闪光灯300设置在相邻位置,以方便人体的身体部位同时按压所述摄像头和闪关灯;所述摄像头200和闪光灯300可以为电子设备的一部分,集成在所述电子设备100上,也可以独立于所述电子设备100,例如,所述摄像头200和闪光灯300构成摄像装备如相机,所述摄像装备再讲获取的图像数据流实时传输到所述电子设备的应用程序110。所述闪光灯300也可以用其他可发出亮光的灯具进行代替,本发明实施例中并不加以限制。
所述显示屏400可以为电子设备的一部分,集成在所述电子设备100上,也可以独立于所述电子设备100,例如,所述显示屏400与所述电子设备100连接,将获取的心率值在所述显示屏400中显示。
用户可以将身体任何部位按压在摄像头和闪光灯上,以进行心率检测,例如可以是手指、手腕等部位,由于手指直接连接心脏而且方便按压,因此,优选的,可以引导用户将手指按压在摄像头和闪光灯,以使闪光灯作为光源时,经由人体反射后采集的多组连续的图像数据流确定的用户的心率值。
如图2所示,在一个示例性的实施例中,以图1中应用程序110的工作过程为例,本实施例的心率检测方法可以包括如下步骤:
步骤s510:获取光源经由人体反射后采集的多组连续的图像数据流。
所述图像数据流为在人体的身体部位按压在摄像头和闪光灯时,摄像头每间隔设定周期采集获得的连续的数据,以获得周期性的图像数据流,进而确定周期性变化的心率值。例如,若人体的身体部位按压在摄像头和闪光灯的时间为3秒,摄像头每间隔500毫秒采集获得的连续的数据则为一组图像数据流,进而可获得6组连续的图像数据流。所述图像数据流可以为摄像头处于摄影状态下获取的数据流,也可以为摄像头处于预览状态下获取的数据流;为便捷地获取图像数据流,在本申请实施例中,所述图像数据流为摄像头处于预览状态下、所述闪光灯为常亮状态下获取的预览的数据流。
步骤s520:从每组所述图像数据流中采集多帧图像,并在每帧图像中选取若干个分区图像。
每帧所述图像为从每组所述图像数据流中按照设定周期获得的图像,通过在已经是极小时间段的图像数据流中再进一步将时间段进行分割,获得周期性的多帧图像,并在每帧图像中选取若干个分区图像,进而在提高运算效率时,还尽可能准确的获得心率的变化周期,以提高心率检测的准确性。
步骤s530:获取每帧图像中每个所述分区图像同时捕捉的心率信息。
通过获取若干个分区图像同时捕捉的心率信息可以防止采用单个分区图像的心率信息进行处理时,获得的心率值不准确的问题,也可以防止采用整帧图像的心率信息进行处理时,计算复杂度高,检测时间长,效率低的问题。
所述心率信息为所述分区图像的r通道数据的平均值。具体的,所述获取每帧图像中每个所述分区图像通常为yuv数据格式,因此,为获得心率的颜色变化,通常将获取的每帧图像中每个所述分区图像转换为rgb通道数据,再提取r通道数据;为减少数据计算量,同时也为了使所述分区图像的r通道数据的准确性,以所述分区图像的r通道数据除以所述分区图像的总的像素点后的值,即所述分区图像的r通道数据平均值作为所述分区图像的心率信息。
步骤s540:根据所述分区图像捕捉的心率信息,以及对应的所述分区图像的权重,获得每组图像数据流检测的心率值。
步骤s550:根据每组图像数据流检测的心率值,确定用户的心率值。
本发明实施例通过在每帧图像中选取多个分区图像,并通过结合多个分区图像同时捕捉的心率信息共同确定用户的心率值的方式,缩短了计算时间,提高了检测效率,提高了用户体验,可尽可能防止使用单个分区图像进行检测时,检测的心率值不准确的问题,进而提高了心率检测的准确性。
本申请实施例中,可以根据需要在每帧所述图像中选取若干个分区图像数量,通常选择的数量为3个或3个以上的分区图像,进一步地,若干个所述分区图像的中心点不在同一直线上,以防止人体的身体部位按压摄像头和闪光灯时,因按压位置发生移动或者其他原因,导致图像中某一位置的心率信息不准确,而此时选取的若干个分区图像的中心点在同一直线上,即相当于在相邻近位置,容易造成整个数据的分析不准确的问题。如图3所示,为方便快捷地确定所述分区图像的位置,在一个示例性实施例中,步骤s520中在每帧所述图像中选取若干个分区图像的步骤,可以包括:
步骤s5211:在所述图像中确定一内接三角形;
步骤s5212:以所述内接三角形的三个顶点作为中心点分别确定三个矩形区域。
所述矩形区域的大小可以根据需要进行设置,在本实施例中,根据不断的实验数据测试所述矩形区域为一正方形区域,边长为10像素。
步骤s5213:将所述图像与三个所述矩形区域的重叠区域确定为若干个所述分区图像。
如图4所示的阴影区域s即为若干个所述分区图像。
如图5所示,在另一个示例性实施例中,步骤s420中在每帧所述图像中选取若干个分区图像的步骤,包括:
步骤s5221:在所述图像中确定一内接三角形;
步骤s5222:以所述内接三角形的三个顶点作为中心点分别确定三个矩形区域;
步骤s5223:将三个所述矩形区域向所述图像中心点移动相同距离,直至三个所述矩形区域均位于所述图像内,所述图像与三个所述矩形区域的重叠区域确定为若干个所述分区图像。
如图6所示的阴影区域即为若干个所述分区图像。其中,所述矩形区域向所述图像中心点移动相同距离为所述矩形区域中靠近所述图像的边框的距离相等,均为d。d可以根据需要进行取值,本发明实施例中,d为20像素。
在上述示例性实施例中,所述内接三角形的其中一个顶点为所述图像其中一个边线的中点,所述内接三角形的另外两个顶点与所述图像另一个边线两个端点重合。
在上述示例性实施例的基础上,为进一步提高心率检测的准确性,如图7所示,在又一个示例性例中,还可将所述分区图像按照设定比例缩小如缩小80%的区域内,进一步确定一内接三角形,以所述内接三角形的三个顶点作为中心点分别确定三个矩形区域,将所述图像与三个所述矩形区域的重叠区域确定为若干个所述分区图像,或者将三个所述矩形区域向所述图像中心点移动相同距离,直至三个所述矩形区域均位于所述图像内,所述图像与三个所述矩形区域的重叠区域确定为若干个所述分区图像,进而将两次确定的分区图像同时捕捉的心率信息结合评估用户的心率。如图8所示的阴影区域即为若干个所述分区图像
由于当所述心率信息为所述分区图像的r通道数据的平均值时,r通道数据的平均值越小时,其表示的红色值越暗,此时的r通道数据的平均值就越不能表征心率值,因此,为减少无效数据参与心率计算,提高心率检测的准确性,通常将在预设的有效范围之内的所述分区图像的心率信息才参与心率检测的计算。具体的,在一个示例性实施例中,步骤s540中所述分区图像的权重的获取步骤,可以包括:
当所述分区图像的心率信息在预设的有效范围之内时,计算有效范围内的最大值与所述分区图像的心率信息的差值;将所述差值与10做取商运算,将经过取商运算获得的商值的倒数确定为所述分区图像的权重。
经过取商运算获得的商值越小此时赋予的权重也越大,这是因为商值越小表示心率信息的波动越稳定,采用该数据进行运算时的准确性越高。
其中,本发明实施例中,所述预设的有效范围为100-255,即所述预设的有效范围中最小值min=100,最大值man=255。
下面以采用三个分区图像的心率信息来确定对应的权重的例子进行说明:
当三个分区图像的心率信息分别为r1=240;r2=220;r3=230时,则有效范围内的最大值与三个分区图像的心率信息的差值分为diff1=max-r1=15;diff2=max-r2=35;diff3=max-r3=25;经过取商运算获得的商值分别为mod1=15/10=1;mod2=35/10=3;mod3=25/10=2;则三个分区的权重分别为a1=1;a2=1/3;a3=1/2。
进一步地,步骤s540中所述分区图像的权重的获取步骤,还可以包括:
当所述分区图像的心率信息不在预设的有效范围内时,不根据所述心率信息计算所述分区图像的权重,舍弃所述分区图像的心率信息。
如图8所示,在一个示例性实施例中,步骤s540中根据所述分区图像捕捉的心率信息,以及对应的所述分区图像的权重,获得每组图像数据流检测的心率值的步骤,可以包括:
步骤s541:将每帧图像的所述分区图像同时捕捉的心率信息和所述分区图像对应的权重进行加权运算,获得每帧图像的加权运算值。
步骤s542:将同组的所有帧图像的加权运算值累加后求平均,获得每组图像数据流检测的心率值。
例如,若其中一组图像数据流中选取了五帧图像,每帧图像中选取了3个分区图像,第一帧图像的三个分区图像的心率信息分别表示为r11、r12和r13;第一帧图像的三个分区图像的权重分别表示为a11、a12和a13,则第一帧图像的加权运算值为s1=r11*a11+r12*a12+r13*a13;第二帧图像的三个分区图像的心率信息表示为r21、r22和r23,第二帧图像的三个分区图像的权重分别表示为a21、a22和a23,则第二帧图像的加权运算值为s2=r21*a21+r22*a22+r23*a23…第五帧图像的三个分区图像的心率信息表示为r51、r52和r53,第五帧图像的三个分区图像的权重分别表示为a51、a52和a53,则第五帧图像的加权运算值为s5=r51*a51+r52*a52+r53*a53,那么该组图像数据流检测的心率值为
通过对同组的所有帧图像的加权运算值累加后求平均,均衡了数据,提高了每组图像数据流的检测的心率的准确性。
如图9所示,本发明还提供一种心率检测装置600,包括:
数据流获取模块610,用于获取光源经由人体反射后采集的多组连续的图像数据流;
分区图像确定模块620,用于从每组所述图像数据流中采集多帧图像,并在每帧图像中选取若干个分区图像;
心率信息确定模块630,用于获取每帧图像中每个所述分区图像同时捕捉的心率信息;
第一心率值确定模块640,用于根据所述分区图像捕捉的心率信息,以及对应的所述分区图像的权重,获得每组图像数据流检测的心率值;
第二心率值确定模块650,用于根据每组图像数据流检测的心率值,确定用户的心率值。
所述心率信息为所述分区图像的r通道数据的平均值。具体的,所述获取每帧图像中每个所述分区图像通常为yuv数据格式,因此,为获得心率的颜色变换,通常将获取的每帧图像中每个所述分区图像转换为rgb通道数据,再提取r通道数据;为减少数据计算量,同时也为了使所述分区图像的r通道数据的准确性,以所述分区图像的r通道数据除以所述分区图像的总的像素点后的值,即所述分区图像的r通道数据平均值作为所述分区图像的心率信息。
本发明实施例通过在每帧图像中选取多个分区图像,并通过结合多个分区图像同时捕捉的心率信息共同确定用户的心率值的方式,缩短了计算时间,提高了检测效率,提高了用户体验,可尽可能防止使用单个分区图像进行检测时,检测的心率值不准确的问题,进而提高了心率检测的准确性。
本申请实施例中,可以根据需要在每帧所述图像中选取若干个分区图像数量,通常选择的数量为3个或3个以上的分区图像,进一步地,若干个所述分区图像的中心点不在同一直线上,以防止人体的身体部位按压摄像头和闪光灯时,因按压位置发生移动或者其他原因,导致图像中某一位置的心率信息不准确,而此时选取的若干个分区图像的中心点在同一直线上,即相当于在相邻近位置,容易造成整个数据的分析不准确的问题。为方便快捷地确定所述分区图像的位置,如图10所示,在一个示例性实施例中,所述分区图像确定模块620用于在每帧所述图像中选取若干个分区图像时,可以包括:
第一内接三角形确定模块6211,用于在所述图像中确定一内接三角形;
第一矩形区域确定模块6212,用于以所述内接三角形的三个顶点作为中心点分别确定三个矩形区域。
第一分区图像确定模块6213,用于将所述图像与三个所述矩形区域的重叠区域确定为若干个所述分区图像。
如图11所示,在另一个示例性实施例中,所述分区图像确定模块620用于在每帧所述图像中选取若干个分区图像时,可以包括:
第二内接三角形确定模块6221,用于在所述图像中确定一内接三角形;
第二矩形区域确定模块6222,用于以所述内接三角形的三个顶点作为中心点分别确定三个矩形区域;
第二分区图像确定模块6223,用于将三个所述矩形区域向所述图像中心点移动相同距离,直至三个所述矩形区域均位于所述图像内,所述图像与三个所述矩形区域的重叠区域确定为若干个所述分区图像。
在上述示例性实施例中,所述内接三角形的其中一个顶点为所述图像其中一个边线的中点,所述内接三角形的另外两个顶点与所述图像另一个边线两个端点重合。
在上述示例性实施例的基础上,为进一步提高心率检测的准确性,所述分区图像确定模块720还可用于将所述分区图像按照设定比例缩小如缩小80%的区域内,进一步确定一内接三角形,以所述内接三角形的三个顶点作为中心点分别确定三个矩形区域,将所述图像与三个所述矩形区域的重叠区域确定为若干个所述分区图像,或者将三个所述矩形区域向所述图像中心点移动相同距离,直至三个所述矩形区域均位于所述图像内,所述图像与三个所述矩形区域的重叠区域确定为若干个所述分区图像,进而将两次确定的分区图像同时捕捉的心率信息结合评估用户的心率。
由于当所述心率信息为所述分区图像的r通道数据的平均值时,r通道数据的平均值越小时,其表示的红色值越暗,此时的r通道数据的平均值就越不能表征心率值,因此,为减少无效数据参与心率计算,提高心率检测的准确性,通常将在预设的有效范围之内的所述分区图像的心率信息才参与心率检测的计算。所述第一心率值确定模块640还用于获取所述分区图像的权重,具体可以包括用于:
当所述分区图像的心率信息在预设的有效范围之内时,计算有效范围内的最大值与所述分区图像的心率信息的差值;将所述差值与10做取商运算,将经过取商运算获得的商值的倒数确定为所述分区图像的权重。
经过取商运算获得的商值越小则表示心率信息的波动越稳定,采用该数据进行运算时的准确性越高,则此时赋予的权重也越大。
其中,本发明实施例中,所述预设的有效范围为100-255,即所述预设的有效范围中最小值min=100,最大值man=255。
进一步地,所述第一心率值确定模块640用于获取所述分区图像的权重时,还可以包括用于当所述分区图像的心率信息不在预设的有效范围内时,不根据所述心率信息计算所述分区图像的权重,舍弃所述分区图像的心率信息。
如图12所示,在一个示例性实施例中,所述第一心率值确定模块640用于根据所述分区图像捕捉的心率信息,以及对应的所述分区图像的权重,获得每组图像数据流检测的心率值时,可以包括:
第一计算模块641,用于将每帧图像的所述分区图像同时捕捉的心率信息和所述分区图像对应的权重进行加权运算,获得每帧图像的加权运算值。
第二计算模块642,用于将同组的所有帧图像的加权运算值累加后求平均,获得每组图像数据流检测的心率值。
通过对同组的所有帧图像的加权运算值累加后求平均,均衡了数据,提高了每组图像数据流的检测的心率的准确性。
本发明还提供一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述任一所述的音频处理方法的步骤。
本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。计算机可读储存介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
如图13所示,本发明实施例还提供一种心率检测设备700,所述心率检测设备700可以是任何智能终端,例如,可以具体为计算机、手机、平板电脑、交互式智能平板、pda(personaldigitalassistant,个人数字助理)、电子书阅读器、多媒体播放器等。在本申请实施例中,所述心率检测设备优选为手机,所述手机可以包括:至少一个处理器710,至少一个存储器720,摄像头730,闪光灯740,显示屏750,用户接口760,至少一个通信总线770。
其中,所述通信总线770用于实现这些组件之间的连接通信。
其中,所述处理器710可以包括一个或者多个处理核心。处理器710利用各种接口和线路连接整个服务器内的各个部分,通过运行或执行存储在存储器720内的指令、程序、代码集或指令集,以及调用存储在存储器720内的数据,执行服务器的各种功能和处理数据。可选的,处理器710可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器710可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器710中,单独通过一块芯片进行实现。
其中,存储器720可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器720包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器720可用于存储指令、程序、代码、代码集或指令集。存储器720可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器720可选的还可以是至少一个位于远离前述处理器710的存储装置。作为一种计算机存储介质的存储器720中可以包括操作系统、网络通信模块、以及手机内设置的相关应用程序。
所述摄像头730和闪光灯740可以集成在所述手机内,也可以作为外界器件与手机内的处理器710交互,以将获取的图像数据流传送到所述处理器710。所述显示屏750可以集成在所述手机内,也可以作为外界器件与交互,以显示经过处理器710处理后的用户的心率值。所述用户接口760主要用于为用户提供输入的接口,可以包括摄像头730、闪光灯740和显示屏750的接口,其可以是有线接口或无线接口。
所述处理器710可以用于调用存储器720中存储的服务器的操作应用程序,并具体执行以下操作:
获取光源经由人体反射后采集的多组连续的图像数据流;从每组所述图像数据流中采集多帧图像,并在每帧图像中选取若干个分区图像;获取每帧图像中每个所述分区图像同时捕捉的心率信息;根据每个所述分区图像中同时捕捉的心率信息,确定对应的所述分区图像的权重;根据同组的每帧图像的所述分区图像的同时捕捉的心率信息和所述分区图像对应的权重,获得每组图像数据流检测的心率值;根据每组图像数据流检测的心率值,确定用户的心率值。
本发明实施例通过在每帧图像中选取多个分区图像,并通过结合多个分区图像同时捕捉的心率信息共同确定用户的心率值的方式,缩短了计算时间,提高了检测效率,提高了用户体验,可尽可能防止使用单个分区图像进行检测时,检测的心率值不准确的问题,进而提高了心率检测的准确性。
在一个示例性实施例中,所述处理器710执行在每帧所述图像中选取若干个分区图像时,可以包括执行:在所述图像中确定一内接三角形;以所述内接三角形的三个顶点作为中心点分别确定三个矩形区域;将所述图像与三个所述矩形区域的重叠区域确定为若干个所述分区图像。
在另一个示例性实施例中,所述处理器710执行在每帧所述图像中选取若干个分区图像时,可以包括执行:在每帧所述图像中选取若干个分区图像的步骤,可以包括执行:在所述图像中确定一内接三角形;以所述内接三角形的三个顶点作为中心点分别确定三个矩形区域;将三个所述矩形区域向所述图像中心点移动相同距离,直至三个所述矩形区域均位于所述图像内,所述图像与三个所述矩形区域的重叠区域确定为若干个所述分区图像。
所述处理器710还用于执行获取所述分区图像的权重,具体的,可以包括执行:
当所述分区图像的心率信息在预设的有效范围之内时,计算有效范围内的最大值与所述分区图像的心率信息的差值;将所述差值与10做取商运算,将经过取商运算获得的商值的倒数确定为所述分区图像的权重。
由于当所述心率信息为所述分区图像的r通道数据的平均值时,r通道数据的平均值越小时,其表示的红色值越暗,此时的r通道数据的平均值就越不能表征心率值,因此,为减少无效数据参与心率计算,提高心率检测的准确性,通常将在预设的有效范围之内的所述分区图像的心率信息才参与心率检测的计算,而且经过取商运算获得的商值越小此时赋予的权重也越大,这是因为商值越小表示心率信息的波动越稳定,采用该数据进行运算时的准确性越高。
其中,本发明实施例中,所述预设的有效范围为100-255,即所述预设的有效范围中最小值min=100,最大值man=255。
进一步地,所述处理器710执行获取所述分区图像的权重时,还包括执行:
当所述分区图像的心率信息不在预设的有效范围内时,不根据所述心率信息计算所述分区图像的权重,舍弃所述分区图像的心率信息。
所述处理器710根据所述分区图像捕捉的心率信息,以及对应的所述分区图像的权重,获得每组图像数据流检测的心率值时,可以包括执行:将每帧图像的所述分区图像同时捕捉的心率信息和所述分区图像对应的权重进行加权运算,获得每帧图像的加权运算值。将同组的所有帧图像的加权运算值累加后求平均,获得每组图像数据流检测的心率值。
上述提供的心率检测设备可用于执行上述任意实施例提供的心率检测方法,具备相应的功能和有益效果。上述设备中各个组件的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。