一种人脸区域亮度值的精确计算方法及装置与流程

未命名 09-02 阅读:333 评论:0


1.本发明涉及人脸识别领域,尤其是一种人脸区域亮度值的精确计算方法及装置。


背景技术:

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


技术实现要素:

4.(一)解决的技术问题
5.为了解决上述技术问题,本发明提供一种人脸区域亮度值的精确计算方法及装置,所述方法包括:通过人脸检测确定当前视频帧中感兴趣人脸所在的区域,根据初步统计计算出的方差与直方图的分布趋势,初步判断人脸区域框中是否存在大量非人脸的区域以及是否人脸区域是否存在口罩遮挡物等;通过判断的初步结果,再将人脸区域进行分区处理,判断人脸的上下区域是否存在较大的亮度偏差,进一步判断是否存在面部区域是否存在口罩遮挡物。根据判断结果,对人脸区域中的像素点进行亮度筛选,对筛选结果进行重新计算,得出更为准确的人面部区域的亮度值。
6.(二)技术方案
7.为了解决上述存在的技术问题,实现发明目的,本发明是通过以下技术方案实现的:
8.一种人脸区域亮度值的精确计算方法,包括如下步骤:
9.通过人脸检测获取到人脸所在画面中的区域位置为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-2
m-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
=lumahighcntper
ref
*w*h
[0029]
lumalowcnt
ref
=lumalowcntper
ref
*w*h
[0030]
其中,lumahighcntper
ref
为高亮像素点个数阈值比例,lumalowcnt
ref
为暗态像素点个数阈值比例。
[0031]
如果lumahighcnt
ori
《lumahighcnt
ref
,且lumalowcnt
ori
《lumalowcnt
ref
,则初步画面中像素点分布趋势满足基础的人脸像素分布趋势,此时进入step5,判断区域中是否存在大量暗态信息或者过曝区域,
[0032]
如果
[0033]
lumahighcnt
ori
》lumahighcnt
ref
[0034]
或者
[0035]
lumalowcnt
ori
》lumalowcnt
ref
[0036]
则初步画面中存在口罩等异常的像素点,此时进入step4,对人脸区域进行分区域,重新进行亮度分析处理。
[0037]
step4:对人脸区域进行分区域,重新进行亮度分析处理。
[0038]
将人脸区域分为上下两个部分,分别为topzone和belowzone两个部分。topzone为[(x,y+height*2/3),(x+width,y+height)],belowzone为[(x,y),(x+width,y+height/2)];。将top与below两部分区域重复step1与step2的过程,计算出新的lumaavg
top
、lumavar
top
、lumaavg
below
、lumavar
below
以及直方图信息。分别判断lumaavg
top
、lumaavg
below
与lumaavg
ori
的差异性,如果满足以下条件即为面部下半区整体偏亮:
[0039]
lumaavg
top
《lumaavg
ori-lumacompensation
[0040]
lumaavg
below
》lumaavg
ori
+lumacompensation
[0041]
或者满足以下条件为面部下半区整体偏暗:
[0042]
lumaavg
top
》lumaavg
ori
+lumacompensation
[0043]
lumaavg
below
《lumaavg
ori-lumacompensation
[0044]
且同时满足以下两个条件:
[0045]
lumavar
below
《lumavar
ori
[0046]
lumavar
top
《lumavar
ori
[0047]
其中,lumacompensation为亮度补偿值。其取值可以用lumacompensation=lumaavg*compensationthr%计算。compensationthr为预设的补偿量。
[0048]
此时表明画面上下区域的亮度偏差较大,此时可以视为画面下半区有口罩遮挡影响。此时取topzone作为人脸的画面亮度统计区域;将topzone的统计信息替换到orizone的统计结果,然后进入step5。
[0049]
如果不满足上述条件,则直接进入step5进行处理。
[0050]
step5:对计算出的亮度方差lumavar
ori
与亮度方差阈值lumavar
ref
进行判决,
[0051]
如果
[0052]
lumavar
ori
≤lumavar
ref
[0053]
则当前的orizone画面亮度分布均匀,当前的lumaavg
ori
即为最终的人脸亮度均值;
[0054]
反之
[0055]
lumavar
ori
》lumavar
ref
[0056]
即,区域中的像素点亮度分布不均,则需要去掉画面中亮度值介于(lumahighlimit
ori
,lumamax
ori
)与(lumamix
ori
,lumalowlimit
ori
)的像素点。重新计算lumaavg作为最终的人脸亮度均值。
[0057]
通过上述方法,可以在[(x,y),(x+width,y+height)]区域中,筛选掉一些影响人脸肤色亮度计算的区域(如口罩、大面积头发遮挡、人脸框与真实人脸区域存在偏差引入了大量背景色等),重新进行人脸亮度计算,如最终未进行筛选,则当前画面中亮度分布均匀,可以直接进行计算,使用该处理流程可提高在曝光处理中计算的人脸亮度的可信度。
[0058]
本发明还提供一种人脸区域亮度值的精确计算装置,其具体包括:
[0059]
人脸图像数据采样模块,用于通过人脸检测获取到人脸所在画面中的区域位置,根据区域大小确定采样步长,通过计算得到采样像素点亮度,并进行归一化处理;
[0060]
人脸图像数据处理模块,用于将人脸图像数据采样模块计算获取的结果用于构建区域中的全部像素的亮度直方图信息,计算平均值、最值、以及方差的数学统计结果。
[0061]
人脸图像初步分析模块,用于根据人脸图像数据处理模块计算出的人脸区域的高亮像素点个数,暗态像素点个数与设定的高亮像素点个数阈值与设定的暗态像素点个数阈值进行判断,初步分析画面中的亮度是否分布均匀,可以初步分析是否存在大量非人脸属性的像素点。
[0062]
人脸图像分区处理模块,用于对人脸区域进行分区域,重新进行亮度分析处理;根据人脸图像初步分析模块的分析结果,当判断人脸区域存在异常的像素点时,对人脸区域进行分区域,重新进行亮度分析处理。
[0063]
人脸图像调整输出模块,用于通过计算判断亮度方差是否满足阈值条件,若符合,则将亮度平均值直接作为最终的输出结果,否则,筛选掉一些影响人脸肤色亮度计算的区域,重新进行人脸亮度计算。
[0064]
(三)有益效果
[0065]
与现有技术相比,本发明的有益效果在于考虑到算法框与实际人脸框的偏差性以及人脸面部区域有口罩遮挡物的影响,减小人脸亮度的计算结果与真实人脸亮度存在的偏差,解决后续的曝光调节出现反复震荡甚至曝光不足或者曝光过度等问题,更准确的得出人脸区域的亮度值,同时提升算法速度,能够在相同的硬件和算法基础上得到更高质量的人脸图像以提高人脸的识别率。
附图说明
[0066]
图1为本发明实施例提供的人脸区域亮度值的计算方法流程图。
具体实施方式
[0067]
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施
例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0068]
为详细说明本发明的技术内容,所实现的目的和技术效果,以下结合实施方式并配合附图进行详细说明。
[0069]
参见图1,一种人脸区域亮度值的精确计算方法,包括如下步骤:
[0070]
通过get ori region人脸检测获取到人脸所在画面中的区域位置为region[(startx,starty),(startx+width,starty+height)],其中startx,starty表示为人脸的起始点坐标,位于约定区域的左下角,width,height为人脸区域的宽高尺寸,单位为:pixel,数据位为nbit;
[0071]
step1:根据区域region大小确定采样步长step,为了提升算法的速度,对取出的ori region进行数据的抽样,当区域的width》widthref或者height》heightref;采样的步长设置为:高度采样步长hstep=height/heightref取整数,宽度采样步长wstep=width/widthref取整数,否则取hstep=1,wstep=1;其中,heightref和widthref为优化计算速度设定的最大像素量,当智能算法检测到的人脸框尺寸大于改设定阈值时,需要对该人脸进行采样处理。使得对该人脸框的计算量不大于heightref*widthref次运算。当需要运算精度更高或者运算速度更快时,可以适当调整该参数。
[0072]
对采样单个像素点亮度brightness
[i,j]
采用如下标准计算公式:
[0073]
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的亮度值;
[0074]
进一步对像素点亮度进行归一化处理:
[0075][0076]
将计算结果进行线性计算处理到阈值为[0-2
m-1
],保存到lumastatori[w][h]中。
[0077]
其中w=width/wstep,h=height/hstep,全部统计像素点个数为w*h。
[0078]
step2:根据人脸框的大小,构建区域ori中的全部像素点或采样像素点的亮度直方图信息并计算出亮度平均值lumaavg,方差lumavariance,中位值lumamid,并根据直方图的分布,确认ori亮度的主要分布区间,具体如下:
[0079]
根据如下公式,统计直方图,计算ori的亮度平均值lumaavg与方差值lumavariance:
[0080][0081]
[0082]
同时统计ori中的亮度最小值minluma与亮度最大值maxluma,通过如下公式得出暗态亮度阈值lumalowlimit
ori
与高亮亮度阈值lumahighlimit
ori

[0083]
lumalowlimit=lumaavg*lumalowthr
[0084]
lumahighlimit=lumaavg*lumahighthr
[0085]
lumalowthr与lumahighthr为给定的亮度约束阈值;一般认定区域中(除去眉眼唇外)人脸肤色亮度表现基本一致,因此可以约定人脸肤色均平均值的正负30%以内,即:lumalowthr=70%,lumahighthr=130%,实际使用中可根据需求进行微调。
[0086]
统计直方图的亮度区间在(minluma,lumalowlimit)的像素点个数lowlumapixelcnt以及统计直方图的亮度区间在(lumahighlimit,maxluma)的像素点个数highlumapixelcnt。
[0087]
step3:根据计算出的人脸区域的highlumapixelcnt与设定的高亮像素点个数阈值以及lowlumapixelcnt与设定的暗态像素点个数阈值进行判断,初步分析画面中的亮度是否分布均匀,可以初步分析是否存在大量非人脸属性的像素点。
[0088]
其中,高亮像素点个数阈值highlumapixelcntref以及暗态像素点个数阈值lowlumapixelcntref通过以下公式获得:
[0089]
highlumapixelcntref=lumahighcntper
ref
*w*h
[0090]
lowlumapixelcntref=lumalowcntper
ref
*w*h
[0091]
其中,lumahighcntper
ref
为高亮像素点个数阈值比例,lumalowcnt
ref
为暗态像素点个数阈值比例。
[0092]
如果
[0093]
highlumapixelcnt》highlumapixelcntref
[0094]
或者
[0095]
lowlumapixelcnt》lowlumapixelcntref
[0096]
则初步画面中存在口罩等异常的像素点,此时进入step4,对人脸区域进行分区域,重新进行亮度分析处理。
[0097]
否则,初步画面中像素点分布趋势满足基础的人脸像素分布趋势,此时进入step5,判断区域中是否存在大量暗态信息或者过曝区域。
[0098]
通过对区域的亮度直方图分布的量化处理,调整切分的阈值,对面部进行二次选区进行亮度统计,可以减少面部口罩遮挡或其他非人脸区域的对人脸区域亮度计算的影响。
[0099]
step4:对人脸区域进行分区域,重新进行亮度分析处理。
[0100]
将人脸区域分为上下两个部分,分别为topzone和belowzone两个部分。topzone为[(startx,starty+height*2/3),(startx+width,starty+height)],belowzone为[(startx,starty),(startx+width,starty+height/2)]。将top与below两部分区域重复step1与step2的过程,根据topzone和belowzone计算出二者的步长topstep,belowstep。
[0101]
并根据步长构造二者的直方图信息并计算平均值与方差toplumaavg,belowlumaavg,toplumavar,belowlumavar,
[0102]
分别判断toplumaavg,belowlumaavg与lumaavg
ori
的差异性,其中,lumaavg
ori
为整个区域ori的亮度平均值,如果满足以下条件即为面部下半区整体偏亮:
[0103]
toplumaavg《lumaavg
ori-lumacomp
[0104]
belowlumaavg》lumaavg
ori
+lumacomp
[0105]
或者满足以下条件为面部下半区整体偏暗:
[0106]
toplumaavg》lumaavg
ori
+lumacomp
[0107]
belowlumaavg《lumaavg
ori-lumacomp
[0108]
且同时满足以下两个条件:
[0109]
belowlumaavg《lumavar
ori
[0110]
toplumaavg《lumavar
ori
[0111]
其中,lumacomp为亮度补偿值。其取值可以用lumacompensation=lumaavg*compensationthr%计算。compensationthr为预设的补偿量。
[0112]
此时表明画面上下区域的亮度偏差较大,此时可以视为画面下半区有口罩遮挡影响。此时取topzone作为人脸的画面亮度统计区域;将topzone的统计信息替换到ori的统计结果,然后进入step5,替换具体为:
[0113]
lumaavg=toplumaavg;
[0114]
lumavar=toplumavar;
[0115]
lumamid=toplumamid。
[0116]
如果不满足上述条件,则直接进入step5进行处理。
[0117]
step5:对计算出的亮度方差lumavar与亮度方差阈值lumavar
ref
进行判决;
[0118]
如果
[0119]
lumavar≤lumavar
ref
[0120]
则当前的画面亮度分布均匀,当前的lumaavg
ori
即为最终的人脸亮度均值oriluma;
[0121]
反之
[0122]
lumavar》lumavar
ref
[0123]
即,区域中的像素点亮度分布不均,需要则去掉画面中亮度值高于highlumalimit和低于lowlumalimit的像素点。重新计算新的newlumaavg作为最终的人脸亮度均值oriluma。
[0124]
通过上述方法,可以在[(startx,starty),(startx+width,starty+height)]区域中,筛选掉一些影响人脸肤色亮度计算的区域(如口罩、大面积头发遮挡、人脸框与真实人脸区域存在偏差引入了大量背景色等),重新进行人脸亮度计算,如最终未进行筛选,则当前画面中亮度分布均匀,可以直接进行计算,通过对区域的像素点进行亮度约束的筛选,去除过曝像素点与过暗像素点等背景像素点的影响,可以准确的得出面部区域的肤色平均亮度,使用该处理流程可提高在曝光处理中计算的人脸亮度的可信度。
[0125]
本发明实施例还提出一种人脸区域亮度值的精确计算的装置,其具体包括:
[0126]
人脸图像数据采样模块,用于通过人脸检测获取到人脸所在画面中的区域位置,根据区域大小确定采样步长,通过计算得到采样像素点亮度,并进行归一化处理;
[0127]
人脸图像数据处理模块,用于将人脸图像数据采样模块计算获取的结果用于构建区域中的全部像素的亮度直方图信息,计算平均值、最值、以及方差的数学统计结果。
[0128]
人脸图像初步分析模块,用于根据人脸图像数据处理模块计算出的人脸区域的高
亮像素点个数,暗态像素点个数与设定的高亮像素点个数阈值与设定的暗态像素点个数阈值进行判断,初步分析画面中的亮度是否分布均匀,可以初步分析是否存在大量非人脸属性的像素点。
[0129]
人脸图像分区处理模块,用于对人脸区域进行分区域,重新进行亮度分析处理;根据人脸图像初步分析模块的分析结果,当判断人脸区域存在异常的像素点时,对人脸区域进行分区域,重新进行亮度分析处理。
[0130]
人脸图像调整输出模块,用于通过计算判断亮度方差是否满足阈值条件,若符合,则将亮度平均值直接作为最终的输出结果,否则,筛选掉一些影响人脸肤色亮度计算的区域,重新进行人脸亮度计算。
[0131]
以上所述的实施例仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。

技术特征:
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-2
m-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中所述高亮像素点个数阈值以及暗态像素点个数阈值通过以下公式获得:lumahighcnt
ref
=lumahighcntper
ref
*w*hlumalowcnt
ref
=lumalowcntper
ref
*w*h其中,lumahighcnt
ref
为高亮像素点个数阈值,lumalowcnt
ref
为暗态像素点个数阈值,lumahighcnt
ref
为高亮像素点个数阈值比例,lumalowcnt
ref
为暗态像素点个数阈值比例。7.根据权利要求6所述的人脸区域亮度值的精确计算方法,其特征在于:步骤step3中所述初步分析画面中的亮度是否分布均匀,是否存在大量非人脸属性的像素点具体为:如果高亮像素点个数和暗态像素点个数分别小于高亮像素点个数阈值和暗态像素点个数阈值,则初步画面中像素点分布趋势满足基础的人脸像素分布趋势;如果高亮像素点个数大于高亮像素点个数阈值或暗态像素点个数大于暗态像素点个数阈值,则初步判断画面中存在异常的像素点。8.根据权利要求4所述的人脸区域亮度值的精确计算方法,其特征在于:步骤step4中所述判断上部区域亮度平均值,下部区域亮度平均值与整个画面的亮度平均值的差异性具体为:如果满足以下条件即为面部下半区整体偏亮:lumaavg
top
<lumaavg
ori-lumacompensationlumaavg
below
>lumaavg
ori
+lumacompensation或者满足以下条件为面部下半区整体偏暗:
lumaavg
top
>lumaavg
ori
+lumacompensationlumaavg
below
<lumaavg
ori-lumacompensation且同时满足以下两个条件lumavar
below
<lumavar
ori
lumavar
top
<lumavar
ori
其中,lumaavg
top
为上部区域亮度平均值,lumaavg
below
为下部区域亮度平均值,lumaavg
ori
为整个画面的亮度平均值,lumacompensation为亮度补偿值;其取值可以用lumacompensation=lumaavg*compensationthr%计算;compensationthr为预设的补偿量。9.根据权利要求1所述的人脸区域亮度值的精确计算方法,其特征在于:步骤step5中所述对计算出的亮度方差与亮度方差阈值进行画面亮度分布均匀判决具体为:如果亮度方差小于等于亮度方差阈值,则当前的区域画面亮度分布均匀,当前的亮度平均值即为最终的人脸亮度均值;反之如果亮度方差大于亮度方差阈值,则区域中的像素点亮度分布不均,需要去掉画面中亮度值介于高亮亮度阈值与最大亮度之间的像素点与介于暗态亮度阈值与最小亮度之间的像素点,重新计算亮度平均值作为最终的人脸亮度均值。10.一种应用如权利要求1-9任意项所述的人脸区域亮度值的精确计算方法的装置,其特征在于,所述装置包括:人脸图像数据采样模块,用于通过人脸检测获取到人脸所在画面中的区域位置,根据区域大小确定采样步长,通过计算得到采样像素点亮度,并进行归一化处理;人脸图像数据处理模块,用于将人脸图像数据采样模块计算获取的结果用于构建区域中的全部像素的亮度直方图信息,计算平均值、最值、以及方差的数学统计结果;人脸图像初步分析模块,用于根据人脸图像数据处理模块计算出的人脸区域的高亮像素点个数,暗态像素点个数与设定的高亮像素点个数阈值与设定的暗态像素点个数阈值进行判断,初步分析画面中的亮度是否分布均匀,可以初步分析是否存在大量非人脸属性的像素点;人脸图像分区处理模块,用于对人脸区域进行分区域,重新进行亮度分析处理;根据人脸图像初步分析模块的分析结果,当判断人脸区域存在异常的像素点时,对人脸区域进行分区域,重新进行亮度分析处理;人脸图像调整输出模块,用于通过计算判断亮度方差是否满足阈值条件,若符合,则将亮度平均值直接作为最终的输出结果,否则,筛选掉一些影响人脸肤色亮度计算的区域,重新进行人脸亮度计算。

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


技术研发人员:郑东 陈丽 潘雷 方勤
受保护的技术使用者:杭州宇泛智能科技有限公司
技术研发日:2022.03.23
技术公布日:2023/8/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐