发明内容
本发明提供了一种多人心跳检测系统及获取多人心跳变化曲线的方法,能够提高检测效率。
为了达到上述目的,本发明是通过如下技术方案实现的:
一方面,本发明提供了一种多人心跳检测系统,包括:
摄像头、处理设备,其中,
所述摄像头与所述处理设备相连;
所述处理设备中包括:获取单元和显卡;
所述摄像头,用于采集至少两个被测用户对应的视频录像;
所述获取单元,用于获取所述视频录像;
所述显卡,用于创建所述至少两个被测用户对应的至少两组线程,且每一组线程中均包括有至少一个线程;确定所述获取单元获取到的所述视频录像中的每一帧静态图像的时间排列顺序,并针对每一帧静态图像均执行:利用创建的每一组线程,分别确定所述静态图像中的与每一个被测用户相对应的采样区域,并根据各采样区域中包括的每一个像素点的颜色值,计算该采样区域的颜色值;根据计算出的每一帧静态图像中的与每一个被测用户相对应的采样区域的颜色值,以及根据确定出的每一帧静态图像的时间排列顺序,生成每一个被测用户对应的颜色值变化曲线;利用生成的每一个被测用户对应的颜色值变化曲线,确定每一个被测用户的心跳检测结果。
进一步地,所述显卡包括:CUDA(Compute Unified Device Architecture)卡;
所述采样区域包括:边长固定的正方形区域,其中,所述正方形区域的中心位于相应被测用户的眉心正上方,且该中心与眉心间的直线距离固定;
所述CUDA卡,具体用于针对每一帧静态图像均执行:根据预先确定的人脸五官比例特征,对所述静态图像进行人脸识别以确定每一个被测用户的人脸位置;在每一个被测用户的人脸位置中定位该被测用户的眉心;基于定位出的眉心,确定与每一个被测用户相对应的所述正方形区域。
进一步地,所述颜色值包括:G值;
所述显卡,具体用于根据各采样区域中包括的每一个像素点的G值,利用第一公式计算该采样区域的G值;
所述第一公式,包括:
其中,G′为所述采样区域的G值,n为所述采样区域中包括的像素点的个数,Gi为所述采样区域中包括的第i个像素点的G值,A0为预先设置的标准面积大小,Ax为所述采样区域的面积大小。
进一步地,所述心跳检测结果包括心率;
所述显卡,具体用于利用生成的每一个被测用户对应的颜色值变化曲线,根据第二公式计算每一个被测用户的心率;
所述第二公式,包括:
X=60×N/T
其中,X为任一被测用户的心率,单位为bpm,N为所述任一被测用户对应的颜色值变化曲线内的波峰的个数,T为所述任一被测用户对应的颜色值变化曲线的持续时间,单位为s。
进一步地,该多人心跳检测系统还包括:显示设备;
所述显卡,还用于根据预先确定的人脸五官比例特征,对任意一帧静态图像进行人脸识别以确定每一个被测用户的人脸位置;基于确定出的每一个被测用户的人脸位置,从该帧静态图像中截取与其对应的用户头像,其中,每一个被测用户的人脸位置的中心与对应的用户头像的中心相重合,且每一个被测用户的人脸位置的面积大小与对应的用户头像的面积大小的比例固定;
所述显示设备,用于显示每一个被测用户的用户头像和心跳检测结果。
另一方面,本发明提供了一种获取多人心跳变化曲线的方法,包括:
采集至少两个被测用户对应的视频录像;
获取所述视频录像;
创建所述至少两个被测用户对应的至少两组线程,且每一组线程中均包括有至少一个线程;
确定所述视频录像中的每一帧静态图像的时间排列顺序,并针对每一帧静态图像均执行:利用创建的每一组线程,分别确定所述静态图像中的与每一个被测用户相对应的采样区域,并根据各采样区域中包括的每一个像素点的颜色值,计算该采样区域的颜色值;
根据计算出的每一帧静态图像中的与每一个被测用户相对应的采样区域的颜色值,以及根据确定出的每一帧静态图像的时间排列顺序,生成每一个被测用户对应的颜色值变化曲线。
进一步地,所述采样区域包括:边长固定的正方形区域,其中,所述正方形区域的中心位于相应被测用户的眉心正上方,且该中心与眉心间的直线距离固定;
所述确定所述静态图像中的与每一个被测用户相对应的采样区域,包括:根据预先确定的人脸五官比例特征,对所述静态图像进行人脸识别以确定每一个被测用户的人脸位置;在每一个被测用户的人脸位置中定位该被测用户的眉心;基于定位出的眉心,确定与每一个被测用户相对应的所述正方形区域。
进一步地,所述颜色值包括:G值;
所述根据各采样区域中包括的每一个像素点的颜色值,计算该采样区域的颜色值,包括:根据各采样区域中包括的每一个像素点的G值,利用第一公式计算该采样区域的G值;
所述第一公式,包括:
其中,G′为所述采样区域的G值,n为所述采样区域中包括的像素点的个数,Gi为所述采样区域中包括的第i个像素点的G值,A0为预先设置的标准面积大小,Ax为所述采样区域的面积大小。
进一步地,该方法还包括:基于生成的每一个被测用户对应的颜色值变化曲线,根据第二公式计算每一个被测用户的心率;
所述第二公式,包括:
X=60×N/T
其中,X为任一被测用户的心率,单位为bpm,N为所述任一被测用户对应的颜色值变化曲线内的波峰的个数,T为所述任一被测用户对应的颜色值变化曲线的持续时间,单位为s。
进一步地,该方法还包括:
根据预先确定的人脸五官比例特征,对任意一帧静态图像进行人脸识别以确定每一个被测用户的人脸位置;
基于确定出的每一个被测用户的人脸位置,从该帧静态图像中截取与其对应的用户头像,其中,每一个被测用户的人脸位置的中心与对应的用户头像的中心相重合,且每一个被测用户的人脸位置的面积大小与对应的用户头像的面积大小的比例固定;
显示每一个被测用户的用户头像和颜色值变化曲线。
本发明提供了一种多人心跳检测系统及获取多人心跳变化曲线的方法,该系统包括摄像头、设置有获取单元和显卡的处理设备;摄像头用于采集至少两个被测用户对应的视频录像;获取单元用于获取视频录像;显卡用于创建至少两组线程;确定视频录像中的每一帧静态图像的时间排列顺序,并针对每一帧静态图像:利用每一组线程,分别确定其中的各用户对应的采样区域,并计算各采样区域的颜色值;根据时间排列顺序、每一帧静态图像中各用户对应的采样区域的颜色值,生成各用户对应的颜色值变化曲线;利用各颜色值变化曲线,确定各用户的心跳检测结果。由于可以利用显卡处理视频录像以同时对多个用户进行心跳检测,故本发明能够提高检测效率。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种多人心跳检测系统,可以包括:
摄像头101、处理设备102,其中,
所述摄像头101与所述处理设备102相连;
所述处理设备102中包括:获取单元1021和显卡1022;
所述摄像头101,用于采集至少两个被测用户对应的视频录像;
所述获取单元1021,用于获取所述视频录像;
所述显卡1022,用于创建所述至少两个被测用户对应的至少两组线程,且每一组线程中均包括有至少一个线程;确定所述获取单元1021获取到的所述视频录像中的每一帧静态图像的时间排列顺序,并针对每一帧静态图像均执行:利用创建的每一组线程,分别确定所述静态图像中的与每一个被测用户相对应的采样区域,并根据各采样区域中包括的每一个像素点的颜色值,计算该采样区域的颜色值;根据计算出的每一帧静态图像中的与每一个被测用户相对应的采样区域的颜色值,以及根据确定出的每一帧静态图像的时间排列顺序,生成每一个被测用户对应的颜色值变化曲线;利用生成的每一个被测用户对应的颜色值变化曲线,确定每一个被测用户的心跳检测结果。
本发明实施例提供了一种多人心跳检测系统,该系统包括摄像头、设置有获取单元和显卡的处理设备;摄像头用于采集至少两个被测用户对应的视频录像;获取单元用于获取视频录像;显卡用于创建至少两组线程;确定视频录像中的每一帧静态图像的时间排列顺序,并针对每一帧静态图像:利用每一组线程,分别确定其中的各用户对应的采样区域,并计算各采样区域的颜色值;根据时间排列顺序、每一帧静态图像中各用户对应的采样区域的颜色值,生成各用户对应的颜色值变化曲线;利用各颜色值变化曲线,确定各用户的心跳检测结果。由于可以利用显卡处理视频录像以同时对多个用户进行心跳检测,故本发明实施例能够提高检测效率。
详细地,所述处理设备可以为计算机、个人电脑、平板电脑、服务器等电子设备中的任意一种。
详细地,举例来说,若对一个被测用户进行相应视频处理通常需要4个线程,故一个8核心的CPU通常只能同时处理一个或两个被测用户。而显卡中的核心数较多,通常为几百、甚至是上千个核心,故可以同时创建相应数量的线程以进行视频处理。因此,可以根据被测用户的人数,创建相应数量的线程组,并利用任意一组线程以对任意一个被测用户进行相应视频处理。
因此,与CPU相比,处理设备中包括的显卡具有多核心,且内存带宽高,通过在显卡中处理视频录像,能够满足同时检测多人心跳的检测效果,这一实现方式能够显著提高检测效率。
用户心跳,即为用户心脏的跳动。详细地,人体的右心房收纳全身的静脉血,并通过右心室从肺动脉泵出,且静脉血通过肺中的气体交换,以变成含氧丰富的动脉血,动脉血由肺静脉送至左心房,再通过左心室的主动脉泵向全身各个组织器官,以满足人体正常生理活动的需要。
因此,每发生一次心脏跳动时,人体血液中的血红蛋白的氧气携带量起初最大。当血红蛋白的氧气携带量最大时,人体皮肤对R(red,红)、G(green,绿)、B(blue,蓝)这三个光线通道的光线吸收能力最强。但随着氧合反应的进行,氧气被逐渐消耗,对应地,当血红蛋白的氧气携带量最小时,人体皮肤的光线吸收能力最弱。
基于这一实现原理,可以利用摄像头采集针对人体皮肤的视频录像,且随着人体心脏的不断跳动,不同时刻的视频图像中,同一人体皮肤处的颜色值通常存在变化。故可以通过人体皮肤颜色值的周期性变化以间接反映人体心跳情况。
详细地,当摄像头视野内存在多个被测用户时,摄像头采集到的视频录像中同样存在该多个被测用户。其中,对于每一个被测用户,该用户的人体皮肤的颜色值变化均可以与该用户的心脏跳动存在一定对应关系。
详细地,用于反映人体心跳情况的人体皮肤采样区域可以有多种选择,常见的,可以有额头部位、脸颊部位、手指指肚部位、脖颈部位等。
因此,在本发明一个实施例中,为了说明一种确定采样区域的可能实现方式,所以,所述显卡1022包括:CUDA卡;
所述采样区域包括:边长固定的正方形区域,其中,所述正方形区域的中心位于相应被测用户的眉心正上方,且该中心与眉心间的直线距离固定;
所述CUDA卡,具体用于针对每一帧静态图像均执行:根据预先确定的人脸五官比例特征,对所述静态图像进行人脸识别以确定每一个被测用户的人脸位置;在每一个被测用户的人脸位置中定位该被测用户的眉心;基于定位出的眉心,确定与每一个被测用户相对应的所述正方形区域。
详细地,显卡可以为NVIDIA的CUDA卡。
详细地,由于摄像头采集到的视频录像为至少两个被测用户对应的视频录像,故对于该视频录像中的每一帧静态图像,各静态图像中均存在有每一个被测用户。因此,在确定采样区域时,可以基于相同的采样区域确定方式,以确定每一个被测用户对应的采样区域。
在本发明一个实施例中,采样区域可以为边长为1cm的正方形区域,且该正方形区域的中心可以位于被测用户眉心的正上方,且该中心与眉心间的直线距离可以为3cm。
详细地,对于摄像头采集到的视频录像中的每一帧静态图像,该静态图像中通常包括有各被测用户的用户面部。故首先可以根据人脸五官比例特征,对当前帧静态图像进行人脸识别以确定每一个人脸位置,进而确定出每一个眉心。基于确定出的眉心位置,可以将以眉心正上方3cm位置为中心,边长为1cm的正方形区域作为采样区域。
当然,采样区域的确定还与用户面部在静态图像中的相对面积大小有关。例如,当一个用户的用户面部宽度在当前帧静态图像中的长度为20cm时,可以确定采样区域的中心位于眉心正上方3cm处,成比例地,当另一用户的用户面部宽度在当前帧静态图像中的长度为2cm时,可以确定采样区域的中心位于眉心正上方0.3cm处,并以此类推。
通常情况下,每一个确定出的采样区域中均可以包括多个像素点。举例来说,边长为1cm的正方形区域中可以包括有100个像素点。那么,可以根据采样区域中包括的每一个像素点的颜色值,以确定该采样区域的颜色值。
详细地,由于血液中的血红蛋白的氧气携带量发生变化时,人体皮肤对绿光吸收能力的变化情况较红光和蓝光均更为显著,故在本发明一个实施例中,可以根据像素点的G值,以确定相应采样区域的G值。
因此,在本发明一个实施例中,为了说明一种根据像素点的G值,以确定相应采样区域的G值的可能实现方式,所以,所述颜色值包括:G值;
所述显卡1022,具体用于根据各采样区域中包括的每一个像素点的G值,利用下述公式(1)计算该采样区域的G值,
其中,G′为所述采样区域的G值,n为所述采样区域中包括的像素点的个数,Gi为所述采样区域中包括的第i个像素点的G值,A0为预先设置的标准面积大小,Ax为所述采样区域的面积大小。
详细地,由于相邻两帧静态图像间的时间间隔很小,故同一像素点在相邻两帧静态图像中的G值通常相差不大,故为了能够提高相邻两帧静态图像间的同一采样区域的G值差异性,以便于能够准确反映该采样区域的G值变化情况,故可以利用上述公式(1)以计算各采样区域的G值。
此外,对于同一被测用户来说,当该用户在摄像头采集视频录像期间存在适量移动,通常为移动结果造成用户与摄像头之间的直线距离发生改变时,可能会造成每一帧静态图像中的采样区域的面积大小不能保持基本一致,故可以基于一个标准面积大小,对各采样区域的面积大小进行等量换算。
举例来说,假设标准面积大小的采样区域中包括有100个像素点。对于同一被测用户来说,若上一帧静态图像中,该用户的采样区域中包括有103个像素点,且各像素点的G值均为50,则采样区域的G值为5000。相应地,若当前帧静态图像中,该用户的采样区域中包括有105个像素点,且各像素点的G值均为52,则该采样区域的G值为5200。因此,该用户的相邻两帧静态图像中的采样区域的G值差距为200。
对应地,由于视频采集持续时间较短,如通常为1min左右,故对于同一被测用户来说,还可以默认摄像头采集视频录像期间,该用户与摄像头之间的直线距离保持不变,即用户面部在每一帧静态图像中所占的面积大小保持不变,故每一帧静态图像中的采样区域的面积大小保持不变,相应的,各采样区域中包括的像素点的个数保持不变。
因此,在本发明一个实施例中,对于同一被测用户来说,当不同帧静态图像中,该用户的采样区域的面积大小保持不变时,各采样区域的G值之间具有等效可比性,故可以不考虑上述标准面积大小,且可以利用下述公式(1′)以计算所述采样区域的G值,
其中,G′为所述采样区域的G值,n为所述采样区域中包括的像素点的个数,Gi为所述采样区域中包括的第i个像素点的G值。
详细地,由于采样区域的G值对比,是同一被测用户的不同帧静态图像间的采样区域G值对比,故当利用公式(1′)以计算采样区域的G值时,只要保证同一被测用户的采样区域的面积大小保持不变即可,而无需要求不同被测用户的采样区域的面积大小均相等。
由上述内容可知,人体心脏的周期性跳动,可以相应引起采样区域的G值的周期性变化,故可以根据G值变化曲线,以间接反映出被测用户的心跳情况。其中,人体心跳情况可以包括心率、心跳稳定性、心血管性能等中的至少一种。
因此,在本发明一个实施例中,为了说明一种利用G值变化曲线以反映被测用户的心率的可能实现方式,所以,所述心跳检测结果包括心率;
所述显卡1022,具体用于利用生成的每一个被测用户对应的颜色值变化曲线,根据下述公式(2)计算每一个被测用户的心率,
X=60×N/T (2)
其中,X为任一被测用户的心率,单位为bpm,N为所述任一被测用户对应的颜色值变化曲线内的波峰的个数,T为所述任一被测用户对应的颜色值变化曲线的持续时间,单位为s。
详细地,人体发生一次心脏跳动时,人体血液中的血红蛋白的氧气携带量最大,此时人体皮肤对光线吸收能力最强,摄像头采集到的视频录像中,当前帧静态图像中的采样区域的颜色值最小,故在生成的颜色值变化曲线中对应存在一个波谷位置。相应地,当氧气被逐渐消耗至最大程度时,人体皮肤对光线吸收能力最弱,故在生成的颜色值变化曲线中对应存在一个波峰位置。如此循环,在人体发生下一次心脏跳动时,将再次对应于颜色值变化曲线中的下一个波谷。
因此,在颜色值变化曲线中,相邻两个波峰之间的时间间隔,或,相邻两个波谷之间的时间间隔,可以作为用户心脏连续跳动两次间的时间间隔。基于同样的实现原理,在颜色值变化曲线中,通过确定一定时间内的波峰的个数或波谷的个数,可以计算用户心率,且这一计算过程可以通过上述公式(2)得以实现。
基于这一实现过程,根据每一个被测用户的颜色值变化曲线,可以计算获得每一个被测用户的心跳检测结果。在生成各心跳检测结果之后,可以对其进行记录或显示等。由于生成的心跳检测结果数量较多,如可以为几十个,甚至是上百个,故在记录或显示心跳检测结果时,需要对每一个被测用户的心跳检测结果与其用户身份信息进行准确对应。
因此,在本发明一个实施例中,为了说明一种多人心跳检测结果的显示方式,所以,请参考图2,该多人心跳检测系统还可以包括:显示设备201;
所述显卡1022,还用于根据预先确定的人脸五官比例特征,对任意一帧静态图像进行人脸识别以确定每一个被测用户的人脸位置;基于确定出的每一个被测用户的人脸位置,从该帧静态图像中截取与其对应的用户头像,其中,每一个被测用户的人脸位置的中心与对应的用户头像的中心相重合,且每一个被测用户的人脸位置的面积大小与对应的用户头像的面积大小的比例固定;
所述显示设备201,用于显示每一个被测用户的用户头像和心跳检测结果。
详细地,在上述确定采样区域的过程中,可以在任意一帧静态图像中,基于识别到的每一个被测用户的人脸位置,可以从该帧静态图像中截取每一个被测用户的用户头像。
其中,对于每一个被测用户,当识别到的人脸位置的面积大小为S时,对应的用户头像的面积大小可以为1.5S。
此外,在该帧静态图像中,由于不同被测用户的人脸位置的面积大小可能不同,故截取到的相应用户头像的面积大小也会存在相应不同,当在显示设备上显示各用户头像时,可以根据各用户头像的面积大小以进行相应程度的缩放,以使显示出的各用户头像的面积大小相一致。
在本发明一个实施例中,显示设备还可以同时显示每一个被测用户的用户头像、心跳检测结果和颜色值变化曲线,以便于工作人员可以心跳检测结果,以对相应的颜色值变化曲线进行分析查看。
由上述内容可知,本发明实施例提出了一种采样区域确定方式,能够快速、准确的对每一个被测用户的采样区域进行确定,且在确定采样区域的同时,还可以获取各被测用户的用户头像信息。因此,在基于采样区域以获得最终的心跳检测结果之后,可以将每一个被测用户的用户头像信息和心跳检测结果进行对应显示。
在本发明一个实施例中,上述任一所述的多人心跳检测系统的产品形态可以有多种形式,比如可以将该系统的外观制造成类似镜子的形态。
如图3所示,本发明实施例提供了一种获取多人心跳变化曲线的方法,可以包括以下步骤:
步骤301:采集至少两个被测用户对应的视频录像。
步骤302:获取所述视频录像。
步骤303:创建所述至少两个被测用户对应的至少两组线程,且每一组线程中均包括有至少一个线程。
步骤304:确定所述视频录像中的每一帧静态图像的时间排列顺序,并针对每一帧静态图像均执行:利用创建的每一组线程,分别确定所述静态图像中的与每一个被测用户相对应的采样区域,并根据各采样区域中包括的每一个像素点的颜色值,计算该采样区域的颜色值。
步骤305:根据计算出的每一帧静态图像中的与每一个被测用户相对应的采样区域的颜色值,以及根据确定出的每一帧静态图像的时间排列顺序,生成每一个被测用户对应的颜色值变化曲线。
在得到颜色值变化曲线之后,可以进行后续各种所需的处理操作。比如,可以通过分析处理该颜色值变化曲线,以间接反映被测用户的心跳情况,如可以反映用户心率;还可以将该颜色值变化曲线发送至显示设备以进行实时显示,以便于医护人员进行分析查看;以及可以对该颜色值变化曲线进行归一化处理,以筛除其中可能存在的异常峰。在另一种实现方式中,还可以基于该颜色值变化曲线与其他测试数据,如人体温度变化曲线的结合方式,以综合考察人体生理健康状况等。
在本发明实施例中,人体心脏的持续跳动会引起采样区域的颜色值发生周期性变化,故可以通过颜色值变化曲线以反映被测用户的心跳情况。因此,颜色值变化曲线也可以看作心跳变化曲线。
详细地,用于反映人体心跳情况的人体皮肤采样区域可以有多种选择,常见的,可以有额头部位、脸颊部位、手指指肚部位等。
以额头部位为例,在本发明一个实施例中,所述采样区域包括:边长固定的正方形区域,其中,所述正方形区域的中心位于相应被测用户的眉心正上方,且该中心与眉心间的直线距离固定;
所述确定所述静态图像中的与每一个被测用户相对应的采样区域,包括:根据预先确定的人脸五官比例特征,对所述静态图像进行人脸识别以确定每一个被测用户的人脸位置;在每一个被测用户的人脸位置中定位该被测用户的眉心;基于定位出的眉心,确定与每一个被测用户相对应的所述正方形区域。
举例来说,对于每一个被测用户,用户面部在静态图像中的相对面积大小为标准大小时,正方形采样区域的边长可以为1cm,正方形区域的中心与眉心间的直线距离可以为3cm。
详细地,随着人体心脏的持续跳动,由于人体皮肤对绿光的吸收变化情况较红光、蓝光更为显著,故生成的颜色值变化曲线可以为G值变化曲线。
因此,在本发明一个实施例中,所述颜色值包括:G值;
所述根据各采样区域中包括的每一个像素点的颜色值,计算该采样区域的颜色值,包括:根据各采样区域中包括的每一个像素点的G值,利用上述公式(1)计算该采样区域的G值。
详细地,由于相邻两帧静态图像间的时间间隔很小,故同一像素点在相邻两帧静态图像中的G值通常相差不大。利用上述公式(1)以计算采样区域的G值,这一实现方式有益于提高相邻两帧静态图像间采样区域的G值差异性,进而准确反映G值变化情况。
在本发明一个实施例中,所述颜色值还可以为R值或B值。
在本发明一个实施例中,该方法还可以包括:基于生成的每一个被测用户对应的颜色值变化曲线,根据上述公式(2)计算每一个被测用户的心率。
详细地,对于每一个被测用户,用户人体心脏的周期性跳动,可以相应引起采样区域的颜色值的周期性变化,故可以根据颜色值变化曲线,以间接反映出被测用户的心跳情况。例如,在颜色值变化曲线中,通过确定一定时间内的波峰的个数或波谷的个数,可以计算用户心率,且这一计算过程可以通过上述公式(2)得以实现。
在本发明一个实施例中,为了说明一种多人心跳检测结果的显示方式,所以,该方法还可以包括:根据预先确定的人脸五官比例特征,对任意一帧静态图像进行人脸识别以确定每一个被测用户的人脸位置;基于确定出的每一个被测用户的人脸位置,从该帧静态图像中截取与其对应的用户头像,其中,每一个被测用户的人脸位置的中心与对应的用户头像的中心相重合,且每一个被测用户的人脸位置的面积大小与对应的用户头像的面积大小的比例固定;显示每一个被测用户的用户头像和颜色值变化曲线。
详细地,对于每一个被测用户,当识别到的人脸位置的面积大小为S时,对应的用户头像的面积大小可以为1.5S。
详细地,可以根据各用户头像的面积大小以进行相应程度的缩放,以使显示出的各用户头像的面积大小相一致。
如图4所示,本发明一个实施例提供了另一种获取多人心跳变化曲线的方法,具体包括以下步骤:
步骤401:采集5个被测用户对应的视频录像。
详细地,可以利用摄像头采集视频录像,且视频录像的采集时长可以为60s左右。
举例来说,5个被测用户分别为用户1、用户2、用户3、用户4、用户5。
步骤402:获取视频录像。
详细地,摄像头可以与获取单元相连,故可以利用该获取单元获取摄像头采集的视频录像。此外,在获取到视频录像后,获取单元可以将其发送给显卡,以在显卡中对视频录像进行处理。
优选的,本发明实施例中所用的显卡可以为CUDA卡。
步骤403:创建5个被测用户对应的5组线程,且每一组线程中均包括有8个线程。
在本实施例中,可以设置一组线程中包括8个线程,且每一组线程可以用于对每一个被测用户进行相应视频处理。因此,可以创建5组线程,即创建40个线程。
通常情况下,一个核心数可以对应于创建一个线程,故本实施例所用的显卡可以至少包含40个核心数。不过,由于常用的显卡通常包括有几百、甚至是上千个核心数,故当被测用户的人数较多时,同样可以创建对应数量的线程数,以利用创建的任意一组线程来对任意一个被测用户进行相应视频处理。
步骤404:确定视频录像中的每一帧静态图像的时间排列顺序。
例如,视频录像中包括有100帧静态图像,分别为静态图像1、静态图像2、……、静态图像100,且这100帧静态图像根据时间先后顺序依次排列。
详细地,通过确定每一帧静态图像的时间排列顺序,以便于可以根据该时间排列顺序,由每一帧静态图像中的各采样区域的G值,以生成一个与各采样区域相对应的G值变化曲线。
步骤405:针对每一帧静态图像均执行:利用创建的每一组线程,分别确定静态图像中的与每一个被测用户相对应的采样区域,并根据各采样区域中包括的每一个像素点的G值,计算该采样区域的G值。
详细地,确定静态图像中的与每一个被测用户相对应的采样区域的详细实现方式,可以如下所述:根据预先确定的人脸五官比例特征,对静态图像进行人脸识别以确定每一个被测用户的人脸位置;在每一个被测用户的人脸位置中定位该被测用户的眉心;基于定位出的眉心,确定与每一个被测用户相对应的采样区域。优选地,该采样区域可以为边长固定的正方形区域,且正方形区域的中心位于相应被测用户的眉心正上方,该中心与眉心间的直线距离固定。
具体地,由于视频录像中包括有5个被测用户,故每一帧静态图像中,均包括有5个采样区域。
例如,对于第一帧静态图像:静态图像1,这5个采样区域分别为用户1对应的采样区域001,用户2对应的采样区域101,用户3对应的采样区域201,用户4对应的采样区域301,用户5对应的采样区域401;
对于第二帧静态图像:静态图像2,这5个采样区域分别为用户1对应的采样区域002,用户2对应的采样区域102,用户3对应的采样区域202,用户4对应的采样区域302,用户5对应的采样区域402;
……
对于末帧静态图像:静态图像100,这5个采样区域分别为用户1对应的采样区域100,用户2对应的采样区域200,用户3对应的采样区域300,用户4对应的采样区域400,用户5对应的采样区域500。
详细地,对于每一个采样区域,可以利用上述公式(1)计算采样区域的G值。其中,采样区域n的G值记作Gn。例如,采样区域001的G值为G001。
步骤406:从任意一帧静态图像中截取与每一个被测用户相对应的用户头像。
详细地,截取与每一个被测用户相对应的用户头像的详细实现过程,可以如下所述:根据预先确定的人脸五官比例特征,对任意一帧静态图像进行人脸识别以确定每一个被测用户的人脸位置;基于确定出的每一个被测用户的人脸位置,从该帧静态图像中截取与其对应的用户头像。
优选地,每一个被测用户的人脸位置的中心与对应的用户头像的中心相重合,且每一个被测用户的人脸位置的面积大小与对应的用户头像的面积大小的比例固定。
步骤407:根据计算出的每一帧静态图像中的与每一个被测用户相对应的采样区域的G值,以及根据确定出的每一帧静态图像的时间排列顺序,生成每一个被测用户对应的G值变化曲线。
基于上述内容,可以依次根据G001、G002、……、G100,生成用户1对应的G值变化曲线;依次根据G101、G102、……、G200,生成用户2对应的G值变化曲线;依次根据G201、G202、……、G300,生成用户3对应的G值变化曲线;依次根据G301、G302、……、G400,生成用户4对应的G值变化曲线;依次根据G401、G402、……、G500,生成用户5对应的G值变化曲线。
在本发明一个实施例中,基于生成的每一个被测用户对应的G值变化曲线,计算每一个被测用户的心率。详细地,可以根据上述公式(2)计算被测用户的心率。
步骤408:显示每一个被测用户的用户头像和G值变化曲线。
详细地,可以通过显示设备以显示每一个被测用户的用户头像和G值变化曲线,故医护人员可以对显示设备上的显示内容进行分析查看,并根据查看结果进行相应处理。
综上所述,本发明的各个实施例至少具有如下有益效果:
1、本发明实施例中,提供了一种多人心跳检测系统,该系统包括摄像头、设置有获取单元和显卡的处理设备;摄像头用于采集至少两个被测用户对应的视频录像;获取单元用于获取视频录像;显卡用于创建至少两组线程;确定视频录像中的每一帧静态图像的时间排列顺序,并针对每一帧静态图像:利用每一组线程,分别确定其中的各用户对应的采样区域,并计算各采样区域的颜色值;根据时间排列顺序、每一帧静态图像中各用户对应的采样区域的颜色值,生成各用户对应的颜色值变化曲线;利用各颜色值变化曲线,确定各用户的心跳检测结果。由于可以利用显卡处理视频录像以同时对多个用户进行心跳检测,故本发明实施例能够提高检测效率。
2、本发明实施例中,提出了一种确定采样区域的G值的实现方式,能够提高相邻两帧静态图像间采样区域的G值差异性,以便于能够准确反映G值变化情况。
3、本发明实施例中,提出了一种采样区域确定方式,能够快速、准确的对每一个被测用户的采样区域进行确定,且在确定采样区域的同时,还可以获取各被测用户的用户头像信息。因此,在基于采样区域以获得最终的心跳检测结果之后,可以将每一个被测用户的用户头像信息和心跳检测结果进行对应显示。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。