具体实施方式
下面结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而非全部实施例。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如背景技术所述,发明人研究发现,在使用人脸测温仪进行测温时,若一个人不是沿着可见光摄像头和热成像摄像头的光轴行走,且速度较快的情况下,在将人脸位置映射到热成像画面的对应区域位置时,会有错位的情况发生,即人脸的一边会在热成像画面的对应区域内,另一边会在对应区域外,对应区域外的位置则会被人脸后的热源填充,在进行人脸的温度计算时,计算的是热成像画面内,可见光人脸图像映射到对应区域的温度,这种情况就会有一部分是人脸的热成像温度,另一部分是填充的热源的温度参与计算,从而会造成误报。例如,尤其如果填充部分,是一个高温热源(大于或等于37.3℃)时,热源的温度会被当作人脸的温度计算在内,因此在错位的情况下,可能会导致人脸测温仪误报发烧。
本申请实施例提出一种人脸测温方法、人脸测温仪及存储介质,可以提高人脸测温仪测温的准确性。
请参阅图1,为本申请一实施例提供的人脸测温方法的流程示意图,人脸测温方法包括:
S101、获取人脸测温仪的可见光摄像头拍摄的可见光图像以及人脸测温仪热成像摄像头生成的热成像画面;
S102、检测可见光图像内是否有人脸;
S103、若是,则将人脸的位置映射到热成像画面的对应区域,检测人脸的温度;
S104、若人脸的温度未处于人体正常温度范围内,则获取人脸的移动方向;
S105、若移动方向偏离可见光摄像头和热成像摄像头的光轴,则识别映射至热成像画面对应区域内的人脸的位置与预先获取的异常热源的位置是否有交集;
S106、若有交集,则发出重新测温的提示信息,根据提示信息返回获取可见光摄像头拍摄的可见光图像、热成像摄像头拍摄的热成像画面的步骤,以重新检测人脸的温度,在无交集,或人脸未移动,或移动方向未偏离可见光摄像头和热成像摄像头的光轴时,完成人脸温度的检测。
本实施例提供的人脸测温方法,能够在映射至热成像画面对应区域内的人脸位置和预先获取的异常热源交集时,重新检测人脸的温度,直至无交集,或人脸未移动,或移动方向未偏离可见光摄像头和热成像摄像头的光轴时,完成人脸温度的检测,因此就不会将异常热源计算入人脸温度,因此降低了异常热源对人脸温度检测产生影响的几率,从而在错位的情况下,提升人脸测温仪测温的准确性。
在本实施例中,人脸测温仪为红外线测温仪,其原理为利用可见光摄像头拍摄具有人脸的可见光图像,探测人脸位置,利用热成像摄像头进行热成像,获取温度点,利用可见光摄像头探测到的人脸位置映射到热成像画面的对应区域位置,进而计算出人脸的温度。
在本实施例中,可见光图像内是否有人脸可以利用人脸识别算法进行人脸识别。
在步骤S104中,将人脸位置映射到热成像画面的对应区域后,由于热成像画面上有温度点,因此人脸位置在热成像画面的对应区域上的温度点,即为人脸的温度。在本实施例中,人体的正常温度范围可为35-37.2℃。
在其他实施例中,受到特殊天气的影响,人体脸部温度可能会降低,因此考虑这种情况,人体的正常温度范围还可为32-37.2℃。
在步骤S104中,若检测到的人脸温度未处于人体正常温度范围内,此时还不知道检测人脸温度时是否受到了异常热源的影响,需要做进一步判断,做进一步判断时,首先获取人脸的移动方向,判断移动方向是否偏离可见光摄像头和热成像摄像头的光轴。
本申请的以下实施例中,步骤S104中的未处于人体正常温度范围内以超出37.3℃为例,将37.3℃设定为发热阈值,人脸的温度大于或等于发热阈值即有发热症状,步骤S105中的异常热源以高温热源为例进行说明。
当人脸一直在平行可见光摄像头和热成像摄像头的光轴方向上运动时,请参阅图2及图3,在图2及图3中,可见光图像内的实线矩形框为可见光人脸框,热成像画面内的虚线矩形框为热成像人脸框,在图3中热成像画面内的实线矩形框为可见光人脸框的映射,也为参与人脸温度计算的区域。请继续参阅图2,由于人脸一直正对这两个摄像头,所以人脸位置在可见光拍摄的可见光图像内,以及在热成像画面内仅是大小的变化,位置基本没有发生改变。因此,请参阅图3,在将人脸位置映射到热成像画面的对应区域位置时,偏差很小,或者无偏差,计算人脸的温度时,即使人脸后有热源,也不会将热源计算进去。只有在人的移动方向偏离可见光摄像头和热成像摄像头的光轴时,会有错位的情况发生,如果错位区域的填充部分是一个高温热源时,可能导致将高温热源计算出去,导致人脸测温错误。
当人的移动方向偏离可见光摄像头和热成像摄像头的光轴时,本实施例以移动方向垂直于光轴为例,请参阅图4及图5,在图4及图5中,可见光图像内的实线矩形框为可见光人脸框,热成像画面内的虚线矩形框为热成像人脸框,在图5中热成像画面内的实线矩形框为可见光人脸框的映射,也为参与人脸温度计算的区域。请继续参阅图4,由于热成像画面成像慢,可见光图像先成像,人脸运动到拍摄区域内的上一位置时才形成热成像图像。因此,请参阅图5,在将可见光图像内的人脸位置映射到热成像画面的对应区域位置时,会有错位的情况发生,若背景中有高温热源,则人脸位置会映射到高温热源上,从而在计算人脸的温度时,将高温热源计算进去,导致人脸测温错误。
步骤S104之后,若人脸位置的移动方向偏离可见光摄像头和热成像摄像头的光轴,则会有错位的情况发生,此时需要利用步骤S105来识别人脸的位置与预先获取的高温热源的位置是否有交集。
在本实施例中,可见光摄像头和热成像摄像头的光轴平行,若可见光图像内人脸位置和预先获取的高温热源的位置交集,则在将可见光图像内的人脸位置映射到热成像画面内时,由于错位的存在,会映射到高温热源上,从而将这部分高温热源计算入人脸温度,使得人脸测温仪误报发烧。
例如,以垂直于可见光摄像头和热成像摄像头的光轴平行的人脸移动方向为例,请继续参阅图5,将可见光图像内的人脸位置映射到热成像画面内时,人脸位置和预先获取的高温热源的位置有交集的部位,因此高温热源会计算入人脸温度,使得人脸测温仪误报发烧。
在本实施例中,在将可见光图像内的人脸位置映射到热成像画面内时,若该人脸位置和预先获取的高温热源的位置无交集,即使有错位的存在,也不会将高温热源计算入人脸温度。
例如,仍以垂直于可见光摄像头和热成像摄像头的光轴平行的人脸移动方向为例,请参阅图6,在将可见光图像内的人脸位置映射到热成像画面内时,人脸位置和预先获取的高温热源的位置没有交集的部位,因此高温热源不会被计算入人脸温度,使得人脸测温仪不会误报发烧。
因此人脸位置与热源没有交集表示检测的人脸温度没有受到高温热源的影响,即测出人脸温度达到的发热阈值也是正确的,代表该人脸有发热症状;若人脸位置与热源有交集,则表示温度检测时,将高温热源作为人脸温度进行了检测,因此检测出的人脸温度、人脸温度达到发热阈值的结果都是错误的,需要重新检测。
在步骤S106中,若有交集,则根据发出的重新测温的提示信息重新获取可见光摄像头拍摄的可见光图像、热成像摄像头拍摄的热成像画面,以重新检测人脸的温度,上述中提到,若有交集,表示检测错误,因此需要重新检测人脸的温度。
由于人是移动的,因此重新检测人脸的温度时,映射到热成像画面的人脸位置就可能不与高温热源有交集,或人脸未移动,或移动方向未偏离可见光摄像头和热成像摄像头的光轴,这时的检测,高温热源不会被计算入人脸温度,从而能够降低热成像画面的对应区域有高温热源的几率,提升人脸测温仪测温的准确性。
在一些实施例中,重新测温的提示信息可以包括语音提示信息或展示在显示屏的信息,以提醒用户进行移动。
在一些实施例中,重新测温的提示信息可以为语音发出的“检测错误,请站定重新检测”等让需要检测温度的人员站定,或改变该人员的移动方向,使得人脸位置不与高温热源交集,或人脸不移动,或移动方向未偏离可见光摄像头和热成像摄像头的光轴。
在一个实施例中,步骤S104获取的人脸的移动方向,则人脸的移动方向的获取方法具体包括以下步骤:
S1041、获取至少两帧连续可见光图像内的人脸位置;
S1042、将至少两帧连续可见光图像内的人脸位置映射至二维坐标系,并连接为直线;
S1043、将可见光摄像头和热成像摄像头的光轴作为二维坐标系的其中一轴,或者映射至二维坐标系并与其中一轴平行;
S1044、判断直线是否与可见光摄像头和热成像摄像头的光轴方向平行;
S1045、若不平行,则移动方向偏离可见光摄像头和热成像摄像头的光轴。
在本实施例中,步骤S1041获取了两帧连续可见光图像内的人脸位置,在其他实施例中,还可以获取三帧、四帧连续可见光图像内的人脸位置。
在本实施例中,利用两帧可见光图像能够作为线段的两端确定一条直线,从而可以判断两帧可见光图像中的人脸位置的移动方向。
在步骤S1043中,判断了直线是否与可见光摄像头和热成像摄像头的光轴方向平行,若平行,则人脸的移动方向未偏离可见光摄像头和热成像摄像头的光轴,若不平行,则如步骤S1044,人脸的移动方向偏离可见光摄像头和热成像摄像头的光轴。
步骤S105中利用了预先获取的异常热源的位置,则在一个实施例中,预先获取异常热源位置方法包括:
S1051、检测到人脸测温仪开启工作状态后预设时间内,获取可见光摄像头拍摄的可见光图像、热成像摄像头拍摄的热成像画面;
S1052、检测可见光图像内是否有人进入测温范围;
S1053、若否,则获取并记录热成像画面内的异常热源的位置。
在本实施例中,人脸测温仪刚开机,尚未进行人脸测温时,需要先获取异常热源的位置,从而为人脸测温时,提供预先获取的异常热源的位置。以在步骤S105中,异常热源被识别与映射到热成像画面对应位置的人脸位置是否有交集。
在一个实施例中,步骤S106中,提示信息的生成方法包括:
S1061、将可见光图像分割为两幅面积相等的分割图像;
S1062、计算所有的异常热源在两幅分割图像上的交集面积;
S1063、将交集面积大的分割图像的中心点至交集面积小的分割图像的中心点的方向设定为角度调整方向;
S1064、利用角度调整方向生成提示信息,以提示工作人员根据移动方向更换人脸测温仪的测温角度。
在步骤S1061中,可以将可见光图像沿垂直地面的方向进行分割,这样在步骤S1063中,两个分割图像的中心点的连线,与地面平行,从而使得角度调整方向也与地面平行,工作人员根据生成的提示信息在平行地面的方向移动人脸测温仪即可。
在其他实施例中,步骤S1061,也可以将可见光图像沿平行地面的方向进行分割,这样在步骤S1063中,两个分割图像的中心点的连线,与地面垂直,从而使得角度调整方向也与地面垂直,工作人员根据生成的提示信息在垂直地面的方向转动人脸测温仪移动即可。
在本实施例中,在发出提示信息时,人脸测温的方法还可以包括:在人脸位置与异常热源有交集时,输出第一提示信息;在人脸位置与异常热源有交集且连续有交集次数大于预设值时,输出第二提示信息。
由于有交集时,需要一段时间来重新测温,因此输出第一提示信息,以提醒测温人员,防止测温人员速度过快而无法进行重新测温,在该实施例中,第一提示信息可以为语音信息,也可以为画面信息,例如,语音信息为喇叭播报的“测温确认中,请稍等”,画面信息为显示屏显示的“测温确认中,请稍等”。
当输出第二提示信息时,表示此时在人脸测温仪的测温角度内,进行测温时,人脸位置一直与异常热源有交集,因此能够提醒工作人员,更换人脸测温仪的角度,以使人脸测温仪减少高温背景的影响,第二提示信息可以为语音信息,也可以为画面信息,例如,语音信息为喇叭播报的“高温背景影响,需要重新测温”,第二提示信息为显示屏显示“高温背景影响,需要重新测温”。
在一个实施例中,人脸测温方法还包括:
S108、检测可见光图像内是否有人脸时,若可见光图像内没有人脸,则检测热成像画面内是否有异常热源;
S109、若有异常热源,则获取异常热源的当前位置,并利用当前位置更新预先获取的异常热源的位置。
由于测温范围内的环境会发生变化,因此异常热源的位置可能也会发生改变,因此只要可见光图像中没有人脸,就需要去检测热成像画面内是否有异常热源,并更新异常热源的位置。因此能够使得识别出人脸的位置是否与异常热源的位置有交集的结果更加准确,使得人脸测温的检测结果更加准确。
步骤S109中可以利用异常热源的当前位置更新人脸测温仪开机预定时间内获取的异常热源的位置,使得步骤S106能够使用最新的异常热源的位置识别是否与人脸的位置有交集,因此能够使得识别出人脸的位置是否与异常热源的位置有交集的结果更加准确,使得人脸测温的检测结果更加准确。
在本实施例中,也可以使用步骤S108及步骤S109对检测出的异常热源的位置进行实时更新,使得进行人脸检测时,步骤S106能够使用最新的异常热源的位置识别是否与人脸的位置有交集。
在一个实施例中,若所述人脸的温度未处于人体正常温度范围内,则获取所述人脸的移动方向的步骤之后,人脸测温方法还包括:
S110、若移动方向未偏离可见光摄像头和热成像摄像头的光轴或人脸未发生移动,或人脸的位置与预先获取的异常热源的位置无交集,则发出警报信息。
本实施例中,若人脸位置的移动方向在可见光摄像头和热成像摄像头的光轴上,可见光图像与热成像画面的映射位置偏差值很小,即便有热源,也被人脸挡住,不会被热成像摄像头捕捉,所以测出的未处于人体正常温度范围的人脸温度误差很小,需要发出警报信息。
同理,人脸未发生移动,是静止时,可见光人脸图像与热成像人脸图像的映射位置偏差值很小。
在人脸的位置与预先获取的异常热源的位置无交集时,也表示没有将异常热源作为人脸温度进行检测,因此此时检测出的人脸温度是正确的,而前面已经检测出人脸温度达到发热阈值,因此这种情况表明检测的人有发热症状,此时发出警报信息,能够提醒工作人员及时对发热人员进行后续的检测。
在一个实施例中,在步骤S103,计算出人脸的温度值后,人脸测温方法还对测量的温度值进行了重新计算,消除了人脸吸收的辐射能量值对测温结果的影响,具体步骤包括:
S111、获取人脸位置的人脸面积,以及人脸测温仪所处环境的环境温度值;
S112、计算人脸面积及人脸的温度值四次方的乘积,得到人脸发出的辐射能量值;
S113、计算人脸面积及环境温度值四次方的乘积,得到人脸吸收的辐射能量值;
S114、计算人脸发出的辐射能量值与人脸吸收的辐射能量值的差值,得到人体的净辐射能量值;
S115、利用净辐射能量值使得热成像摄像头更新热成像画面的对应区域;
S116、将人脸位置映射到更新后的热成像画面的对应区域,计算人脸的净温度值;
S117、若人脸的温度值与净温度值不同,则将人脸的温度值更新为净温度值。
红外线测温的原理是对人体自身辐射的红外能量的测量,然而人体除了会辐射红外能量外,还会吸收能量,这些吸收的能量也会被红外测温仪捕捉,因此使得测量的人体体温和实际体温有偏差。
在本实施例中,先对人脸进行一次测温,根据本次测温的计算人脸发出的辐射能量值,对环境进行测温,能够测量环境中的辐射能量值,而人脸处于环境中,会吸收环境中的辐射能量值,即环境中的辐射能量值为人脸吸收的辐射能量值,而人脸的净辐射能量值加上人脸吸收的辐射能量值,结果即为第一次测温时人脸发出的辐射能量值。
在本实施例中,净辐射能量值的计算公式如公式1:
R=S*T1 4-S*T2 4; (1)
其中,R为净辐射能量值,S为人脸面积,T1为人脸的温度值,T2为环境温度值。
S*T1 4可得到人脸发出的辐射能量值,S*T2 4可得到人脸吸收的辐射能量值,在本实施例中,人脸主要吸收环境里的温度,因此将环境温度值作为计算参数。
因此,使用第一次测温时人脸发出的辐射能量值,减去人脸吸收的辐射能量值,即能够得到人脸的净辐射能量值,使用净辐射能量值生成热成像画面,并将可见光图像的人脸图像映射到热成像画面的对应区域,重新计算的人脸的净温度值,即为人脸的真实温度值,从而使得测量的人体体温和实际体温更加接近,并且,利用真实温度值进行步骤S105,能够更加准确的判断是否达到了发热阈值。在一个实施例中,在步骤S105,计算出人脸的温度值后,人脸测温方法还对测量的温度值进行了验证,具体包括:
S118、计算出人脸上的最高温度值及最低温度值;
S119、计算最高温度值及最低温度值的温度差值;
S120、判断温度差值是否大于预设值;
S121、若大于,则在到达预设时间时,实时获取可见光摄像头拍摄的可见光图像及热成像摄像头的热成像画面,利用实时获取的可见光图像及热成像画面再次计算人脸的温度值;
S122、将人脸的温度值更新为再次计算的人脸的温度值。
由于人脸各部位的辐射能量值具有差异性,但是人脸各部位的辐射能量值又在一个范围内,因此人脸上的最高温度值及最低温度值的差值,会小于一个预设值,例如,申请人对100个正常人的人脸热成像样本进行分析得到:人脸各部位的温度在34.08±3.076℃之间,因此人脸理论最高温度为34.08+3.076=37.156℃,人脸理论最低温度为34.08-1.676=32.404℃,因此可将预设值设置为理论最高温度及理论最低温度的差值,该差值为37.156-32.404=4.752,因此本实施例中的预设值为4.752。
若实际测温中,最高温度值与最低温度值的差值若大于4.752,则表示测温时可能将背景的异常热源进行了热成像,因此若最高温度值与最低温度值的差值大于4.752,则在到达预设的默认时间时,实时获取可见光摄像头拍摄的可见光图像及热成像摄像头的热成像画面,计算人脸的温度值,本实施例中的默认时间可以为0.2秒,由于人是移动的,因此人脸在预定时间内可能会离开高温背景,从而再次降低了将异常热源当作人脸温度计算在内的情况,因此降低了人脸测温仪误报发烧的几率。
请参阅图7,本申请一个实施例还提供一种人脸测温装置,包括:图像获取模块1、人脸检测模块2、温度检测模块3、移动方向计算模块4、交集识别模块5及温度重检测模块6。
图像获取模块1用于获取人脸测温仪的可见光摄像头拍摄的可见光图像以及人脸测温仪的、热成像摄像头生成的热成像画面;可见光摄像头和热成像摄像头的光轴平行;人脸检测模块2用于检测可见光图像内是否有人脸;温度检测模块3用于若可见光图像内有人脸时,将人脸的位置映射到热成像画面的对应区域,检测人脸的温度;移动方向计算模块4用于若人脸的温度未处于人体正常温度范围内,则获取人脸的移动方向;交集识别模块5用于若移动方向偏离可见光摄像头和热成像摄像头的光轴,则识别映射到热成像画面对应区域内的人脸的位置与预先获取的异常热源的位置是否有交集;温度重检测模块6用于若人脸位置预先获取的异常热源的位置有交集,则发出重新测温的提示信息,根据提示信息返回获取可见光摄像头拍摄的可见光图像、热成像摄像头拍摄的热成像画面的步骤,以重新检测人脸的温度,直到在无交集,或人脸未移动,或移动方向未偏离可见光摄像头和热成像摄像头的光轴时,完成人脸温度的检测。
上述的人脸测温装置,能够在映射至热成像画面的人脸位置和预先获取的异常热源交集时,重新检测人脸的温度,直至无交集,或人脸未移动,或移动方向未偏离可见光摄像头和热成像摄像头的光轴时,完成人脸温度的检测,因此就不会将异常热源计算入人脸温度,因此降低了异常热源对人脸温度检测产生影响的几率,从而在错位的情况下,提升人脸测温仪测温的准确性。例如,如果填充部分是一个高温热源,在错位的情况下,高温热源的温度就不被当作人脸的温度计算在内,采用本申请方案可以降低人脸测温仪误报发烧的几率。
上述人脸测温装置中各个模块的划分仅用于举例说明,在其他实施例中,可将人脸测温装置按照需要划分为不同的模块,以完成上述人脸测温装置的全部或部分功能。
关于人脸测温装置的具体限定可以参见上文中对于人脸测温方法的限定,在此不再赘述。上述人脸测温装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请实施例中提供的人脸测温装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供了一种人脸测温仪,包括可见光摄像头、热成像摄像头、存储器及处理器,可见光摄像头、热成像摄像头均与存储器、处理器电连接;可见光摄像头用于拍摄可见光图像;热成像摄像头用于生成热成像画面;存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行上述任一实施例中人脸测温方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行上述任一实施例中人脸测温方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行人脸测温方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。