一种人脸区域亮度值的精确计算方法及装置制造方法及图纸

技术编号:38655274 阅读:16 留言:0更新日期:2023-09-02 22:41
本发明专利技术公开了一种人脸区域亮度值的精确计算方法,该方法针对由算法识别下发的人脸框进行亮度直方图的分析与亮度约束计算,对面部进行二次选区进行亮度统计,可以减少面部的口罩遮挡或者其他非人脸区域的对人脸区域亮度计算的影响;通过亮度平均值、方差、中值等数学特征量的计算,可以初步判定画面中是否存在大量不满足人脸属性的区域。通过对区域的像素点进行亮度约束的筛选,去除过曝像素点与过暗的像素点等背景像素点的影响,可以更准确的得出面部区域的肤色平均亮度。本发明专利技术还提供一种人脸区域亮度值的精确计算装置。本发明专利技术改进了人脸亮度计算方式,减小了人脸亮度的计算结果与真实人脸亮度的偏差,解决了后续的曝光调节出现反复震荡甚至曝光不足或者曝光过度等问题。现反复震荡甚至曝光不足或者曝光过度等问题。现反复震荡甚至曝光不足或者曝光过度等问题。

【技术实现步骤摘要】
一种人脸区域亮度值的精确计算方法及装置


[0001]本专利技术涉及人脸识别领域,尤其是一种人脸区域亮度值的精确计算方法及装置。

技术介绍

[0002]随着人工智能的高速发展,人脸识别技术作为一种身份认证手段,在考勤系统、门禁系统等应用场景下扮演着愈发重要的角色,因此保证图像质量,尤其是人脸图像的质量,对于这些智能应用有着重要意义。在生产中,大多数厂家都会选择使用宽动态摄像头来保证图像亮度。然而在实际应用场景下,宽动态摄像头虽然能够动态调整曝光度来保证画面的整体亮度,但是宽动态的熔化热图像在清晰度和颜色还原度等方面的成像质量相较于线性图像仍有不足,同时在低照度、阴影等光线条件下仍无法提供满足识别需求的人脸图像。因此,根据人脸区域亮度自动调节相机曝光度的方法,实现对人脸区域图质量的优化,能够在相同的硬件和算法基础上得到更高质量的人脸图像以提高人脸的识别率,有利于促进智能产品领域的技术发展。
[0003]对此,由于曝光调节依赖于人脸亮度计算,因此,对人脸区域亮度的计算准确性直接决定了曝光的有效性和及时性。一种高准确度的人脸曝光亮度计算对于人脸曝光算法来说十分重要。现有的人脸曝光调节算法大都依赖于AI人脸检测给出的一个矩形框选择区域进行人脸亮度计算,计算方式也仅仅是采用像素点的叠加或者采用SOC提供的统计亮度块进行运算,这种计算方式没有考虑到算法框与实际人脸框的偏差性以及人脸面部区域有口罩等遮挡物的影响,这会使得人脸亮度的计算结果在很大概率上与真实人脸亮度存在较大的偏差,使得后续的曝光调节出现反复震荡甚至曝光不足或者曝光过度等问题,从而影响后续人脸识别的准确度。

技术实现思路

[0004](一)解决的技术问题
[0005]为了解决上述技术问题,本专利技术提供一种人脸区域亮度值的精确计算方法及装置,所述方法包括:通过人脸检测确定当前视频帧中感兴趣人脸所在的区域,根据初步统计计算出的方差与直方图的分布趋势,初步判断人脸区域框中是否存在大量非人脸的区域以及是否人脸区域是否存在口罩遮挡物等;通过判断的初步结果,再将人脸区域进行分区处理,判断人脸的上下区域是否存在较大的亮度偏差,进一步判断是否存在面部区域是否存在口罩遮挡物。根据判断结果,对人脸区域中的像素点进行亮度筛选,对筛选结果进行重新计算,得出更为准确的人面部区域的亮度值。
[0006](二)技术方案
[0007]为了解决上述存在的技术问题,实现专利技术目的,本专利技术是通过以下技术方案实现的:
[0008]一种人脸区域亮度值的精确计算方法,包括如下步骤:
[0009]通过人脸检测获取到人脸所在画面中的区域位置为OriZone[(x,y),(x+width,y+
height)],其中x,y表示为人脸的起始点坐标,位于约定区域的左下角,(width,height)为人脸区域的宽高尺寸,单位为:pixel,数据位为NBit;
[0010]Step1:根据区域大小确定采样步长,并计算获得单像素点的亮度;为了提升算法的速度,对取出的OriZone进行数据的抽样,当区域的width>WidthRef或者height>HeightRef;采样的步长设置为:高度采样步长Hstep=height/HeightRef取整数,宽度采样步长Wstep=width/WidthRef取整数,否则取Hstep=1,Wstep=1;其中,HeightRef和WidthRef为优化计算速度设定的最大像素量,当智能算法检测到的人脸框尺寸大于改设定阈值时,需要对该人脸进行采样处理。使得对该人脸框的计算量不大于HeightRef*WidthRef次运算。当需要运算精度更高或者运算速度更快时,可以适当调整该参数。
[0011]对OriZone中采样单个像素点亮度Brightness
[i,j]采用如下标准计算公式:
[0012]Brightness
[i,j]=(299*R
[i,j]+587*G
[i,j]+114*B
[i,j])/1000,其中R
[i,j],G
[i,j],B
[i,j]分别为该像素点的RGB的亮度值;
[0013]进一步对像素点亮度进行归一化处理:
[0014][0015]将计算结果进行线性计算处理到阈值为[0
‑2M
‑1],保存到LumaStatOri[w][h]中。
[0016]其中w=width/Wstep,h=height/Hstep,全部统计像素点个数为w*h。
[0017]Step2:根据人脸框的大小,构建区域OriZone中的全部像素点或采样像素点的亮度直方图信息,计算平均值、最值、以及方差的数学统计结果。
[0018]根据如下公式,统计直方图,计算OriZone的亮度平均值与方差值LumaAvg
ori
、LumaVar
ori
:
[0019][0020][0021]同时统计OriZone中的亮度最小值LumaMin
ori
与亮度最大值LumaMax
ori
,通过如下公式得出暗态亮度阈值LumaLowLimit
Ori
与高亮亮度阈值LumaHighLimit
Ori

[0022]LumaLowLimit=LumaAvg*LumaLowThr
[0023]LumaHighLimit=LumaAvg*LumaHighThr
[0024]LumaLowThr与LumaHighThr为给定的亮度约束阈值;一般认定区域中(除去眉眼唇外)人脸肤色亮度表现基本一致,因此可以约定人脸肤色均平均值的正负30%以内,即:LumaLowThr=70%,LumaHighThr=130%,实际使用中可根据需求进行微调。
[0025]统计小于LumaLowLimit
Ori
的像素点个数LumaLowCnt
Ori
以及大于LumaHighLimit
Ori
的像素点个数LumaHighCnt
Ori
以及OriZone中的亮度中位数LumaMid
ori

[0026]Step3:根据计算出的人脸区域的LumaHighCnt
Ori
与设定的高亮像素点个数阈值
LumaHighCnt
ref
以及LumaLowCnt
Ori
与设定的暗态像素点个数阈值LumaLowCnt
ref
进行判断,初步分析画面中的亮度是否分布均匀,可以初步分析是否存在大量非人脸属性的像素点。
[0027]其中,高亮像素点个数阈值LumaHighCnt
ref
以及暗态像素点个数阈值LumaLowCnt
ref
通过以下公式获得:
[0028]LumaHighCnt
ref本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种人脸区域亮度值的精确计算方法,其特征在于,包括以下步骤:获取人脸区域位置,根据区域大小确定采样步长,具体为:通过人脸检测获取到人脸所在画面中的区域位置;Step1:对取出的所述区域位置进行数据的抽样,当区域的宽度大于设定阈值或高度大于设定最大像素量阈值时,采样的步长设置为:高度采样步长为高度值与高度最大像素量阈值的比值,宽度采样步长为宽度值与宽度最大像素量阈值的比值,并取整数;否则步长选择为1;计算所述区域位置中采样单个像素点亮度,并进行归一化处理;Step2:根据人脸框的大小,构建所述区域位置中的全部像素点或采样像素点的亮度直方图信息,计算出亮度平均值、最值、以及方差的数学统计结果,计算得出暗态亮度阈值与高亮亮度阈值,并统计小于暗态亮度阈值的像素点个数以及大于高亮亮度阈值的像素点个数以及所述区域位置中的亮度中位数;Step3:根据计算出的人脸区域大于高亮亮度阈值的像素点个数与设定的高亮像素点个数阈值以及小于暗态亮度阈值的像素点个数与设定的暗态像素点个数阈值进行判断,初步分析画面中的亮度是否分布均匀,是否存在大量非人脸属性的像素点;若存在亮度分布不均匀或大量非人脸属性的像素点,则初步判断画面中存在遮挡物,此时进入Step4,否则进入Step5;Step4:对人脸区域进行分区域,重新进行亮度分析处理,具体为:将人脸区域分为上下两个部分,上部区域为所述区域位置上部1/3的画面,下部区域为所述区域位置上部1/2的画面;对两部分区域分别重复Step1与Step2的过程,计算出新的亮度平均值、方差以及直方图信息;分别判断上部区域亮度平均值,下部区域亮度平均值与整个画面的亮度平均值的差异性;若判断结果为画面上下区域的亮度偏差较大,此时可以视为画面下半区有遮挡物遮挡影响,则取上部区域作为人脸的画面亮度统计区域;将上部区域的统计信息替换到所述区域位置的统计结果,然后进入Step5;否则直接进入Step5进行处理;Step5:对计算出的亮度方差与亮度方差阈值进行画面亮度分布均匀判决,所述亮度方差阈值根据不同场景需求可设定不同值;如果画面亮度分布均匀,则当前的亮度平均值即为最终的人脸亮度均值;反之筛选掉一些影响人脸肤色亮度计算的区域重新的新的计算亮度平均值作为最终的人脸亮度均值。2.根据权利要求1所述的人脸区域亮度值的精确计算方法,其特征在于:所述步骤Step1中单个像素点亮度Brightness
[i,j]
采用如下标准计算公式:Brightness
[i,j]
=(299*R
[i,j]
+587*G
[i,j]
+114*B
[i,j]
)/1000,其中R
[i,j]
,G
[i,j]
,B
[i,j]
分别为该像素点的RGB的亮度值。3.根据权利要求2所述的人脸区域亮度值的精确计算方法,其特征在于:所述对像素点亮度进行归一化处理具体为:将计算结果进行线性计算处理到阈值为[0
‑2M
‑1],保存到LumaStatOri[w][h]中;其中w=width/Wstep,h=height/Hstep,全部统计像素点个数为w*h;width为所述区域位置的宽
度,height为所述区域位置的高度;Wstep为宽度采样步长,Hstep为高度采样步长,N为数据位数。4.根据权利要求3所述的人脸区域亮度值的精确计算方法,其特征在于:所述步骤Step2中构建所述区域位置中的全部像素的亮度直方图信息具体包括通过下述公式计算所述区域位置的亮度平均值与方差值LumaAvg
ori
、LumaVar
ori
::以及统计所述区域位置的亮度最小值LumaMin
ori
与亮度最大值LumaMax
ori
。5.根据权利要求4所述的人脸区域亮度值的精确计算方法,其特征在于:步骤Step2中所述暗态亮度阈值与高亮亮度阈值通过以下公式计算获得:LumaLowLimit=LumaAvg*LumaLowThrLumaHighLimit=LumaAvg*LumaHighThr;其中LumaLowLimit
Ori
为暗态亮度阈值,LumaHighLimit
Ori
为高亮亮度阈值,LumaLowThr与LumaHighThr为给定的亮度约束阈值。6.根据权利要求4所述的人脸区域亮度值的精确计算方法,其特征在于:步骤Step3中所述高亮像素点个数阈值以及暗态像素点个数阈值通过以下公式获得:LumaHig...

【专利技术属性】
技术研发人员:郑东陈丽潘雷方勤
申请(专利权)人:杭州宇泛智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1