发明内容
为至少能解决上述的技术缺陷之一,本发明提供了以下技术方案的测光处理方法及对应的装置、计算机可读存储介质和设备。
本发明的实施例根据一个方面,提供了一种测光处理方法,包括如下步骤:
对摄像头输出的图像进行人脸检测;
若检测出所述图像中存在人脸区域,计算所述人脸区域的亮度值;
基于预置的亮度值区间与曝光补偿参数的调整量之间的映射关系,确定所述亮度值所属亮度值区间对应的曝光补偿参数的调整量;根据所述调整量确定曝光补偿参数;
根据所述曝光补偿参数,对所述摄像头进行曝光补偿设置。
优选地,所述对摄像头输出的图像进行人脸检测,包括:
以预置周期对摄像头输出的图像进行人脸检测。
进一步地,所述根据所述调整量确定曝光补偿参数,包括:
根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数。
进一步地,所述基于预置的亮度值区间与曝光补偿参数的调整量之间的映射关系,确定所述亮度值所属亮度值区间对应的曝光补偿参数的调整量;根据所述调整量确定曝光补偿参数,包括:
判断所述亮度值是否大于预置亮度值;
若是,基于预置的亮度值区间与曝光补偿参数的减量量之间的映射关系,确定所述亮度值所属亮度值区间对应的曝光补偿参数的减量;根据所述减量减小上一周期的曝光补偿参数,得到本周期的曝光补偿参数。
进一步地,所述判断所述亮度值是否大于预置亮度值之后,还包括:
若所述亮度值不大于所述预置亮度值,判断上一周期的曝光补偿参数是小于初始值还是等于初始值;
若上一周期的曝光补偿参数小于初始值,基于预置的亮度值区间与曝光补偿参数的增量之间的映射关系,确定所述亮度值所属亮度值区间对应的曝光补偿参数的増量;根据所述增量增大上一周期的曝光补偿参数,得到本周期的曝光补偿参数;
若上一周期的曝光补偿参数等于初始值,将所述初始值作为本周期的曝光补偿参数。
优选地,所述根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数,包括:
若当前周期为对所述摄像头进行曝光补偿设置的首个周期、或上一周期的曝光补偿参数等于初始值,把所述初始值作为上一周期的曝光补偿参数,根据所述调整量对数值为初始值的曝光补偿参数进行调整,得到本周期的曝光补偿参数。
优选地,所述根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数之后,还包括:
判断本周期的曝光补偿参数是否大于初始值;
若是,把所述本周期的曝光补偿参数恢复为初始值。
优选地,所述预置的亮度值区间与曝光补偿参数的调整量之间的映射关系,包括:
以预置亮度值作为参考,把大于所述预置亮度值的亮度值范围按距离预置亮度值从小到大的顺序,依序划分为至少两个高亮度值区间;把小于等于所述预置亮度值的亮度值范围按距离预置亮度值从小到大的顺序,依序划分为至少两个低亮度值区间;
所述至少两个高亮度值区间中,距离预置亮度值越小,对应的曝光补偿参数的调整量绝对值越小;
所述至少两个第亮度值区间中,距离预置亮度值越小,对应的曝光补偿参数的调整量越小。
优选地,所述计算所述人脸区域的亮度值,包括:
将所述人脸区域划分为左脸区域和右脸区域;
分别计算所述左脸区域和右脸区域的亮度值;
判断所述左脸区域和右脸区域的亮度值的差值,是否在预设范围内;
若是,计算所述左脸区域和右脸区域的亮度值的平均值,将所述平均值作为所述人脸区域的亮度值;
否则,把所述左脸区域和右脸区域的亮度值中,亮度值较大的值作为所述人脸区域的亮度值。
优选地,所述将所述人脸区域划分为左脸区域和右脸区域,包括:
确认所述图像中存在至少两个人脸区域,从所述至少两个人脸区域中,获取面积最大的人脸区域;
将所述面积最大的人脸区域划分为左脸区域和右脸区域。
此外,本发明的实施例根据另一个方面,提供了一种测光处理装置,包括:
人脸检测模块,用于对摄像头输出的图像进行人脸检测;
测光模块,用于在检测出所述图像中存在人脸区域时,计算所述人脸区域的亮度值;
曝光补偿参数确定模块,用于基于预置的亮度值区间与曝光补偿参数的调整量之间的映射关系,确定所述亮度值所属亮度值区间对应的曝光补偿参数的调整量;根据所述调整量确定曝光补偿参数;
曝光补偿设置模块,用于根据所述曝光补偿参数,对所述摄像头进行曝光补偿设置。
本发明的实施例根据又一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的测光处理方法。
本发明的实施例根据再一个方面,提供了一种设备,所述计算机包括一个或多个处理器;存储器;一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于:执行上述的测光处理方法。
本发明与现有技术相比,具有以下有益效果:
本发明提供的测光处理方法、装置、计算机可读存储介质和设备,通过结合人脸检测和测光算法,可根据摄像头输出图像中人脸区域的亮度值确定曝光补偿参数的调整量,进而确定曝光补偿参数并智能实现曝光补偿设置,该方法可有效克服摄像头输出图像因现实场景光照影响而导致的人脸过曝问题,保证人脸在图像以正常亮度显示,图像中的人脸信息不丢失,可显著提高人脸图像拍摄效果。
此外,还通过对人的左脸和右脸分别进行测光,并根据左脸区域和右脸区域的亮度值的差值大小采用不同的人脸区域亮度值确定策略,有效克服摄像头输出图像因现实场景光照影响而导致的人脸过曝及阴阳脸问题,保证人的左右脸在图像均不以过高的亮度显示,图像中的人脸信息不丢失,进一步提高人脸图像拍摄效果;并在所述摄像头输出的图像为多人人脸图像时,通过以所述图像中面积最大的人脸区域或面积较大的若干个人脸区域为参考进行测光,无需对所述图像中的所有人脸区域进行测光,有效减少图像测光的运算量,显著提高测光效率的同时有效保证准确的图像测光结果。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明实施例提供了一种测光处理方法,如图1所示,该方法包括:
步骤S101:对摄像头输出的图像进行人脸检测。
对于本实施例,所述摄像头可用于捕获静态图像和录制视频,在拍照和视频录制时,摄像头实时输出其当前所捕获现实场景的图像。
在摄像头输出图像之后,对所述图像进行人脸检测,具体地,以预置的人脸检测算法对所述图像进行搜索以判断所述图像中是否包含人脸。当所述图像中包含人脸时,可通过在所述图像中以人脸区域矩形框选出人脸来直接反馈人脸检测结果。
其中,进行人脸检测的所述图像包含,摄像头在拍照和视频录制的预览模式下输出的图像帧,以及在视频录制的工作模式下输出的图像帧。所述预览模式为摄像头在未被触发拍照控件或视频录制开始控件之前所执行的运行模式,所述视频录制的工作模式为摄像头在已被触发视频录制开始控件、视频录制过程中所执行的运行模式。
步骤S102:若检测出所述图像中存在人脸区域,计算所述人脸区域的亮度值。
对于本实施例,若检测出所述图像中存在人脸区域,对所述人脸区域进行测光以计算其亮度值。
具体地,可通过预置的亮度值计算方式计算所述人脸区域的亮度值,例如,获取所述人脸区域中各点或特定点的RGB(红、绿、蓝三色)值,以点为单位分别提取对应的R、G、B值并基于亮度计算公式0.229×R+0.587*G+0.114*B进行亮度值计算,计算得各个亮度值后求和并求平均值,将计算得的亮度平均值作为所述人脸区域的亮度值。
其中,所述亮度值为可包含范围在0(即,黑色)与255(即,白色)之间的光亮度值。
步骤S103:基于预置的亮度值区间与曝光补偿参数的调整量之间的映射关系,确定所述亮度值所属亮度值区间对应的曝光补偿参数的调整量;根据所述调整量确定曝光补偿参数。
对于本实施例,所述曝光补偿参数用于对摄像头进行曝光补偿设置,以使摄像头当前输出的图像的亮度值收敛于合理的亮度值范围内,即所述图像中的人脸显示正常,不存在人脸过曝的问题。所述曝光补偿参数的调整量,用于根据当前输出的图像的亮度值调整所述曝光补偿参数,所述调整量可以是增量(即,正值),也可以是减量(即,负值),还可以是零,所述曝光补偿参数通过所述调整量实现调整。
对于本实施例,按预先选定的至少两个亮度值对亮度值的范围0~255进行划分,得到多个亮度值区间。所述亮度值区间与所述调整量之间预置有映射关系,不同的亮度值区间可对应绝对值大小不同的调整量。所述映射关系可通过映射表的形式体现,本实施例对此不做限定。
对于本实施例,根据所述人脸区域的亮度值和划分的多个亮度值区间,确定所述人脸区域的亮度值所属的亮度值区间,基于所述映射关系可确定所述人脸区域的亮度值所属亮度值区间对应的曝光补偿参数的调整量,根据所述调整量调整所述曝光补偿参数,得到调整变更后的曝光补偿参数。
在实际应用场景中,当所述图像中的人脸区域的亮度值大于某个数值时,可能存在人脸过曝的风险。例如,该数值为175,则可以亮度值为175作为参考,预先选定175、177、182这三个亮度值对亮度值的范围0~255进行划分,得到[0,175]、(175,177]、(177,182]和(182,255]这几个亮度值区间,且设定上述亮度值区间依序分别对应的调整量为0、-0.01、-0.03和-0.08,即对于小于等于175的亮度值区间,其对应的调整量为0,所述曝光补偿参数无需调整,对于大于175的亮度值区间,与亮度值175的距离越小的亮度值区间,对应的调整量的绝对值大小越小,以在人脸区域过曝风险较小时仅对曝光补偿参数进行微调。
步骤S104:根据所述曝光补偿参数,对所述摄像头进行曝光补偿设置。
对于本实施例,根据动态变更后的曝光补偿参数设置曝光补偿,使得所述摄像头在基于该动态变更后的曝光补偿参数的曝光补偿设置下输出其当前所捕获现实场景的图像。
本发明提供的测光处理方法,通过结合人脸检测和测光算法,可根据摄像头输出图像中人脸区域的亮度值确定曝光补偿参数的调整量,进而确定曝光补偿参数并智能实现曝光补偿设置,该方法可有效克服摄像头输出图像因现实场景光照影响而导致的人脸过曝问题,保证人脸在图像以正常亮度显示,图像中的人脸信息不丢失,可显著提高人脸图像拍摄效果。
在一个实施例中,所述计算所述人脸区域的亮度值,包括:
将所述人脸区域划分为左脸区域和右脸区域;
分别计算所述左脸区域和右脸区域的亮度值;
判断所述左脸区域和右脸区域的亮度值的差值,是否在预设范围内;
若是,计算所述左脸区域和右脸区域的亮度值的平均值,将所述平均值作为所述人脸区域的亮度值;
否则,把所述左脸区域和右脸区域的亮度值中,亮度值较大的值作为所述人脸区域的亮度值。
在实际应用场景中,人脸的左脸区域和右脸区域的亮度值可能存在差异,当人的一边脸亮度值过高且两边脸亮度值差异较大时,摄像头输出的图像中的人脸区域可能存在阴阳脸的问题。
对于本实施例,通过将所述人脸区域划分为左脸区域和右脸区域,并分别对所述左脸区域和右脸区域进行测光以解决人脸区域可能存在过曝及阴阳脸的问题。其中,分别对所述左脸区域和右脸区域进行测光即通过预置的亮度值计算方式分别计算所述左脸区域的亮度值和所述右脸区域的亮度值。所述预置的亮度值计算方式可参考以上实施例所述的内容,此处不再重复详述。
对于本实施例,所述左脸区域和右脸区域的亮度值的差值可具体为将所述左脸区域的亮度值减去所述右脸区域的亮度值计算得到的差值,当所述左脸区域的亮度值大于所述右脸区域的亮度值时,所述差值为正值,当所述左脸区域的亮度值小于所述右脸区域的亮度值时,所述差值为负值,当所述左脸区域的亮度值等于所述右脸区域的亮度值时,所述差值为零。需明确指出是,在其他实施中,还可通过判断所述右脸区域和左脸区域的亮度值的差值是否在预设范围内来确定摄像头输出图像中的人脸区域是否存在过曝及阴阳脸的问题。
对于本实施例,所述预设范围为预先设置的差值范围,例如所述预设范围可以是[-20,20]、[-25,25]等,所述预设范围还可根据预先设置的差值的绝对值确定得出,例如预先设置的差值的绝对值可以是20、25、30等数值,则根据所述差值的绝对值确定所述预设范围为[-20,20]、[-25,25]、[-30,30]等。需明确指出的是,本领域技术人员可根据实际应用需求确定所述预设范围的上限值和下限值,本实施例对此不做限定。
当人脸的左脸区域和右脸区域的亮度值存在较小差异时,即所述差值落入所述预设范围内,则可直接计算所述左脸区域和右脸区域的亮度值的平均值,并将所述平均值作为所述人脸区域的亮度值。
当人脸的左脸区域和右脸区域的亮度值存在较大差异时,即所述差值在所述预设范围之外,若直接将所述左脸区域和右脸区域的亮度值的平均值作为所述人脸区域的亮度值,容易导致人脸区域中可能存在的阴阳脸问题未被及时调整修正,故需把所述左脸区域和右脸区域的亮度值中,亮度值较大的值作为所述人脸区域的亮度值,以根据亮度较高的半边人脸区域确定曝光补偿参数并对摄像头进行曝光补偿设置,进而克服摄像头输出图像中的人脸区域可能存在的过曝及阴阳脸问题。
在本实施例中,通过对人的左脸和右脸分别进行测光,并根据左脸区域和右脸区域的亮度值的差值大小采用不同的人脸区域亮度值确定策略,可有效克服摄像头输出图像因现实场景光照影响而导致的人脸过曝及阴阳脸问题,保证人的左右脸在图像均不以过高的亮度显示,图像中的人脸信息不丢失,进一步提高人脸图像拍摄效果。
在一个实施例中,所述将所述人脸区域划分为左脸区域和右脸区域,包括:
确认所述图像中存在至少两个人脸区域,从所述至少两个人脸区域中,获取面积最大的人脸区域;
将所述面积最大的人脸区域划分为左脸区域和右脸区域。
对于本实施例,所述确定所述图像中存在至少两个人脸区域具体为,判断检测出的所述图像中的人脸区域是否多于一个,若是,则确认所述图像中存在至少两个人脸区域。当所述图像中存在至少两个人脸区域时,可从所述至少两个人脸区域中,筛选出面积最大的人脸区域,并仅对所述面积最大的人脸区域进行测光,例如,进一步将所述面积最大的人脸区域划分为左脸区域和右脸区域,并分别对所述左脸区域和右脸区域进行测光以解决人脸区域可能存在过曝及阴阳脸的问题。
在其他实施例中,还可依据检测出的所述图像中人脸区域的数量,动态调整作为测光目标的人脸区域数量,例如,当所述图像中的人脸区域为四至六个时,可确定测光目标的人脸区域数量为两个,并对人脸区域面积排在前面两个的人脸区域进行测光,当所述图像中的人脸区域多于六个时,可确定作为测光目标的人脸区域数量为三个,并对人脸区域面积排在前面三个的人脸区域进行测光。本领域技术人员可根据实际应用需求,确定或调整作为测光目标的人脸区域数量,本实施例对此不做限定。
在本实施例中,当所述摄像头输出的图像为多人人脸图像时,可通过以所述图像中面积最大的人脸区域或面积较大的若干个人脸区域为参考进行测光,无需对所述图像中的所有人脸区域进行测光,可有效减少图像测光的运算量,显著提高测光效率的同时有效保证准确的图像测光结果。
在一个实施例中,所述对摄像头输出的图像进行人脸检测,包括:
以预置周期对摄像头输出的图像进行人脸检测。
对于本实施例,周期性对摄像头输出的图像进行人脸检测、测光并对摄像头进行曝光补偿设置,通过结合人脸检测和测光算法,动态根据摄像头输出图像中人脸区域的亮度值调整曝光补偿设置,以解决人脸过曝的问题。所述预置周期为前后两次人脸检测开始节点之间的时间间隔。
其中,所述预置周期可以是单个周期人脸检测、测光及曝光补偿设置,即所述步骤S101至步骤S104所需的时长,将所述时长设为所述预置周期时,在本周期完成摄像头的曝光补偿设置之后,立刻又对摄像头输出的图像进行下一周期的人脸检测。
此外,所述预置周期还可以是预先设置的时间间隔,例如0.1s、0.3s、0.5s、0.8s、1s等,本领域技术人员可根据实际应用需求确定或调整所述预置周期,本实施例对此不做限定。
在本实施例中,通过结合人脸检测和测光算法,周期性对摄像头输出的图像进行人脸检测、测光并对摄像头进行曝光补偿设置,可动态根据当前输出图像中人脸区域的亮度值调整曝光补偿设置,可在拍摄过程中现实场景光照亮度突然变亮时及时作出调整响应,快速实现曝光补偿设置调整,使输出图像中人脸区域的亮度值逐渐收敛并稳定于不存在过曝问题对应的亮度值范围内,可有效克服摄像头输出图像因现实场景光照影响而导致的人脸过曝问题,保证人脸在图像以正常亮度显示,图像中的人脸信息不丢失,显著提高人脸图像拍摄效果。
如图2所示,为一个实施例的测光处理方法实现流程图,示出了周期性对摄像头输出的图像进行人脸检测、测光并对摄像头进行曝光补偿设置的过程,该过程包括如下步骤:
步骤S201:摄像头输出图像;
步骤S202:对摄像头输出的图像进行人脸检测,判断所述图像中是否存在人脸区域;
步骤S203:若所述图像中不存在人脸区域,则摄像头进行正常录制;
步骤S204:若所述图像中存在人脸区域,则对所述人脸区域进行测光,并根据测光结果的亮度值,判断所述人脸区域是否存在人脸过曝现象;若不存在人脸过曝现象,则返回至所述步骤S203;
步骤S205:若存在人脸过曝现象,则调整曝光补偿参数并对摄像头进行曝光补偿设置;在预置周期之后返回执行所述步骤S201。
在一个实施例中,所述根据所述调整量确定曝光补偿参数,包括:
根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数。
对于本实施例,摄像头启动时的曝光补偿参数固定为初始值,优选地,所述曝光补偿参数的初始值为零。所述曝光补偿参数在摄像头启动至关闭期间为一个根据调整量动态调整的记忆值,在所述摄像头启动至关闭期间可进行一个或多个周期的人脸检测、测光及曝光补偿设置,上一周期确定的曝光补偿参数用于作为本周期曝光补偿参数调整的基数。故,所述根据调整量确定曝光补偿参数,具体为,当根据摄像头当前输出图像的人脸区域的亮度值确定本周期曝光补偿参数的调整量之后,根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数。
在本实施例中,通过根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数,可实现在上一周期曝光补偿设置的结果基础上实现本周期的曝光补偿设置,提高曝光补偿设置的效率。
在一个实施例中,所述基于预置的亮度值区间与曝光补偿参数的调整量之间的映射关系,确定所述亮度值所属亮度值区间对应的曝光补偿参数的调整量;根据所述调整量确定曝光补偿参数,包括:
判断所述亮度值是否大于预置亮度值;
若是,基于预置的亮度值区间与曝光补偿参数的减量量之间的映射关系,确定所述亮度值所属亮度值区间对应的曝光补偿参数的减量;根据所述减量减小上一周期的曝光补偿参数,得到本周期的曝光补偿参数。
对于本实施例,在确定所述图像中的人脸区域存在过曝问题时,才确定为减量(即,负值)的调整量并根据进一步确定的本周期的曝光补偿参数对所述摄像头进行曝光补偿设置,以解决所述人脸区域所存在的过曝问题。具体地,基于所述人脸区域的亮度值是否大于预置亮度值的判断结果来确定所述图像中的人脸区域是否存在过曝问题。
对于本实施例,所述预置亮度值为图像不存在过曝问题时对应亮度临界点的参考值,例如,所述预置亮度值可为175,所述预置亮度值还可以是168、170、177等其他合理的亮度值,本领域技术人员可根据实际应用需求确定所述预置亮度值的具体数值,本实施例对此不做限定。
对于本实施例,当所述亮度值大于预置亮度值时,所述曝光补偿参数的调整量具体为减量,所述曝光补偿参数基于所述减量实现动态减小以解决人脸过曝的问题。
对于本实施例,对于区间内亮度值的下限大于所述预置亮度值的预置的亮度值区间,与所述减量之间预置有映射关系,不同的亮度值区间可对应绝对值大小不同的减量,其中,所述映射关系可通过映射表的形式体现,本实施例对此不做限定。
对于本实施例,可根据所述人脸区域的亮度值和预置的亮度值区间,确定所述人脸区域的亮度值所属的亮度值区间,基于所述映射关系可确定所述人脸区域的亮度值所属亮度值区间对应的曝光补偿参数的减量,根据所述减量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数。
在一个实施例中,所述判断所述亮度值是否大于预置亮度值之后,还包括:
若所述亮度值不大于所述预置亮度值,判断上一周期的曝光补偿参数是小于初始值还是等于初始值;
若上一周期的曝光补偿参数小于初始值,基于预置的亮度值区间与曝光补偿参数的增量之间的映射关系,确定所述亮度值所属亮度值区间对应的曝光补偿参数的増量;根据所述增量增大上一周期的曝光补偿参数,得到本周期的曝光补偿参数;
若上一周期的曝光补偿参数等于初始值,将所述初始值作为本周期的曝光补偿参数。
对于本实施例,若所述摄像头输出图像中人脸区域的亮度值小于等于所述预置亮度值,则表示所述图像中的人脸区域不存在人脸过曝的问题。在该场景下,需根据上一周期的曝光补偿参数确定对应的曝光补偿设置策略。
当上一周期的曝光补偿参数小于初始值时,则表示自摄像头启动起各个周期的曝光补偿设置使得摄像头输出图像中人脸区域的亮度值从大于所述预置亮度值动态调整至小于等于所述预置亮度值,故可通过确定为増量(即,正值)的调整量并根据进一步确定的本周期的曝光补偿参数对所述摄像头进行曝光补偿设置,以使摄像头输出图像中人脸区域的亮度值进一步收敛于所述预置亮度值。
其中,对于区间内亮度值的上限小于等于所述预置亮度值的预置的亮度值区间,与所述增量之间预置有映射关系,不同的亮度值区间可对应绝对值大小不同的增量,其中,所述映射关系可通过映射表的形式体现,本实施例对此不做限定。
在上一周期的曝光补偿参数小于初始值时,根据所述人脸区域的亮度值和预置的亮度值区间,确定所述人脸区域的亮度值所属的亮度值区间,基于所述映射关系可确定所述人脸区域的亮度值所属亮度值区间对应的曝光补偿参数的増量,根据所述増量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数。
当上一周期的曝光补偿参数等于初始值时,则表示自摄像头启动起尚未出现输出图像中的人脸区域过曝的问题或自摄像头启动起经过各个周期的曝光补偿设置已解决输出图像中人脸区域存在过曝的问题且所述曝光补偿参数已恢复至初始值,故可直接将所述初始值作为本周期的曝光补偿参数。
在一个实施例中,所述根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数,包括:
若当前周期为对所述摄像头进行曝光补偿设置的首个周期、或上一周期的曝光补偿参数等于初始值,把所述初始值作为上一周期的曝光补偿参数,根据所述调整量对数值为初始值的曝光补偿参数进行调整,得到本周期的曝光补偿参数。
对于本实施例,所述首个周期指自摄像头启动起首次对所述摄像头进行曝光补偿设置的周期。在当前周期为对所述摄像头进行曝光补偿设置的首个周期、或上一周期的曝光补偿参数等于初始值的特殊应用场景下,所述根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数的步骤,具体为,把所述初始值作为上一周期的曝光补偿参数,根据所述调整量对数值为初始值的曝光补偿参数进行调整,得到本周期的曝光补偿参数。
在一个实施例中,所述根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数之后,还包括:
判断本周期的曝光补偿参数是否大于初始值;
若是,把所述本周期的曝光补偿参数恢复为初始值。
对于本实施例,摄像头启动时的曝光补偿参数固定为初始值。优选地,所述曝光补偿参数的初始值为零。当经过多个周期的曝光补偿设置之后,所述曝光补偿参数可能会大于初始值,进而在输出图像中的人脸区域不存在过曝问题时仍以数值大于初始值的曝光补偿参数对摄像头进行曝光补偿设置,反而增加了摄像头随后输出图像中的人脸区域过曝的风险,故在根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数之后,判断所述本周期的曝光补偿参数是否大于初始值,在所述本周期的曝光补偿参数大于初始值时取消对摄像头的曝光补偿设置,即把所述本周期的曝光补偿参数恢复为初始值。
在本实施例中,通过在调整变更后的曝光补偿参数大于初始值时将其恢复为零,取消对摄像头的曝光补偿设置,可防止因曝光补偿设置而增加人脸区域过曝的风险,有效保证人脸在图像以正常亮度显示,图像中的人脸信息不丢失。
在一个实施例中,所述预置的亮度值区间与曝光补偿参数的调整量之间的映射关系,包括:
以预置亮度值作为参考,把大于所述预置亮度值的亮度值范围按距离预置亮度值从小到大的顺序,依序划分为至少两个高亮度值区间;把小于等于所述预置亮度值的亮度值范围按距离预置亮度值从小到大的顺序,依序划分为至少两个低亮度值区间;
所述至少两个高亮度值区间中,距离预置亮度值越小,对应的曝光补偿参数的调整量绝对值越小;所述至少两个第亮度值区间中,距离预置亮度值越小,对应的曝光补偿参数的调整量越小。
对于本实施例,所述预置亮度值为图像不存在过曝问题时对应亮度临界点的参考值,例如,所述预置亮度值可为175,所述预置亮度值还可以是168、170、177等其他合理的亮度值,本领域技术人员可根据实际应用需求确定所述预置亮度值的具体数值,本实施例对此不做限定。
对于本实施例,所述高亮度值区间为与所述预置亮度值相比,区间内的亮度值相对较高的亮度值范围,当所述人脸区域的亮度值落入所述高亮度区间内时,判定所述人脸区域存在过曝问题;所述低亮度值区间为与所述预置亮度值相比,区间内的亮度值相对较低的亮度值范围,当所述人脸区域的亮度值落入所述低亮度区间内时,判定所述人脸区域不存在过曝问题。
对于本实施例,通过设定亮度值区间距离所述预置亮度值越小,亮度值区间对应的曝光补偿参数的调整量(当所述调整量为负值时,指所述调整量的绝对值)越小,可使所述人脸区域的亮度值接近所述预置亮度值时避免所述调整量过大而导致调整后的人脸区域的亮度值反而未收敛于所述预置亮度值,而在所述人脸区域的亮度值与所述预置亮度值仍存较大差距时可以相对较大的调整量加快调整后的人脸区域的亮度值收敛于所述预置亮度值。
以下,示出一个实例以进一步阐述本发明提供的测光处理方法中的曝光补偿参数计算过程:
以预置亮度值为175作为参考,把大于所述预置亮度值175的亮度值范围按距离预置亮度值175从小到大的顺序,依序划分为三个高亮度值区间(175,177]、(177,182]和(182,255];把小于等于所述预置亮度值175的亮度值范围按距离预置亮度值175从小到大的顺序,依序划分为三个低亮度值区间[0,168]、(168,173]和(173,175]。
当人脸区域的亮度值在(182,255]内时,调整量为减量-0.08,以调整量0.08减少上一周期的曝光补偿参数;
当人脸区域的亮度值在(177,182]内时,调整量为减量-0.03,以调整量0.03减少上一周期的曝光补偿参数;
当人脸区域的亮度值在(175,177]内时,调整量为减量-0.01,以调整量0.01减少上一周期的曝光补偿参数。
仅在自摄像头启动起所述曝光补偿参数已被调整的情况下执行:
当人脸区域的亮度值在[0,168]内时,调整量为増量0.08,以调整量0.08增加上一周期的曝光补偿参数;
当人脸区域的亮度值在(168,173]内时,调整量为増量0.03,以调整量0.03增加上一周期的曝光补偿参数;
当人脸区域的亮度值在(173,175]内时,调整量为増量0.01,以调整量0.01增加上一周期的曝光补偿参数。
当调整后本周期的曝光补偿参数大于零时,将本周期的曝光补偿参数恢复为初始值,例如,将本周期的曝光补偿参数恢复为0。
此外,本发明实施例提供了一种测光处理装置,如图3所示,所述装置包括:人脸检测模块31、测光模块32、曝光补偿参数确定模块33和曝光补偿设置模块34;其中,
人脸检测模块31,用于对摄像头输出的图像进行人脸检测;
测光模块32,用于在检测出所述图像中存在人脸区域时,计算所述人脸区域的亮度值;
曝光补偿参数确定模块33,用于基于预置的亮度值区间与曝光补偿参数的调整量之间的映射关系,确定所述亮度值所属亮度值区间对应的曝光补偿参数的调整量;根据所述调整量确定曝光补偿参数;
曝光补偿设置模块34,用于根据所述曝光补偿参数,对所述摄像头进行曝光补偿设置。
在一个实施例中,所述人脸检测模块31,具体用于:
以预置周期对摄像头输出的图像进行人脸检测。
在一个实施例中,所述根据所述调整量确定曝光补偿参数,包括:
根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数。
在一个实施例中,所述曝光补偿参数确定模块33,具体用于:
判断所述亮度值是否大于预置亮度值;
若是,基于预置的亮度值区间与曝光补偿参数的减量量之间的映射关系,确定所述亮度值所属亮度值区间对应的曝光补偿参数的减量;根据所述减量减小上一周期的曝光补偿参数,得到本周期的曝光补偿参数。
在一个实施例中,所述判断所述亮度值是否大于预置亮度值之后,还包括:
若所述亮度值不大于所述预置亮度值,判断上一周期的曝光补偿参数是小于初始值还是等于初始值;
若上一周期的曝光补偿参数小于初始值,基于预置的亮度值区间与曝光补偿参数的增量之间的映射关系,确定所述亮度值所属亮度值区间对应的曝光补偿参数的増量;根据所述增量增大上一周期的曝光补偿参数,得到本周期的曝光补偿参数;
若上一周期的曝光补偿参数等于初始值,将所述初始值作为本周期的曝光补偿参数。
在一个实施例中,所述根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数,包括:
若当前周期为对所述摄像头进行曝光补偿设置的首个周期、或上一周期的曝光补偿参数等于初始值,把所述初始值作为上一周期的曝光补偿参数,根据所述调整量对数值为初始值的曝光补偿参数进行调整,得到本周期的曝光补偿参数。
在一个实施例中,所述根据所述调整量对上一周期的曝光补偿参数进行调整,得到本周期的曝光补偿参数之后,还包括:
判断本周期的曝光补偿参数是否大于初始值;
若是,把所述本周期的曝光补偿参数恢复为初始值。
在一个实施例中,所述预置的亮度值区间与曝光补偿参数的调整量之间的映射关系,包括:
以预置亮度值作为参考,把大于所述预置亮度值的亮度值范围按距离预置亮度值从小到大的顺序,依序划分为至少两个高亮度值区间;把小于等于所述预置亮度值的亮度值范围按距离预置亮度值从小到大的顺序,依序划分为至少两个低亮度值区间;
所述至少两个高亮度值区间中,距离预置亮度值越小,对应的曝光补偿参数的调整量绝对值越小;
所述至少两个第亮度值区间中,距离预置亮度值越小,对应的曝光补偿参数的调整量越小。
在一个实施例中,测光模块32,具体用于:
将所述人脸区域划分为左脸区域和右脸区域;
分别计算所述左脸区域和右脸区域的亮度值;
判断所述左脸区域和右脸区域的亮度值的差值,是否在预设范围内;
若是,计算所述左脸区域和右脸区域的亮度值的平均值,将所述平均值作为所述人脸区域的亮度值;
否则,把所述左脸区域和右脸区域的亮度值中,亮度值较大的值作为所述人脸区域的亮度值。
在一个实施例中,所述将所述人脸区域划分为左脸区域和右脸区域,包括:
确认所述图像中存在至少两个人脸区域,从所述至少两个人脸区域中,获取面积最大的人脸区域;
将所述面积最大的人脸区域划分为左脸区域和右脸区域。
本发明提供的测光处理装置,可实现:通过结合人脸检测和测光算法,可根据摄像头输出图像中人脸区域的亮度值确定曝光补偿参数的调整量,进而确定曝光补偿参数并智能实现曝光补偿设置,该方法可有效克服摄像头输出图像因现实场景光照影响而导致的人脸过曝问题,保证人脸在图像以正常亮度显示,图像中的人脸信息不丢失,可显著提高人脸图像拍摄效果。此外,还可实现:通过对人的左脸和右脸分别进行测光,并根据左脸区域和右脸区域的亮度值的差值大小采用不同的人脸区域亮度值确定策略,有效克服摄像头输出图像因现实场景光照影响而导致的人脸过曝及阴阳脸问题,保证人的左右脸在图像均不以过高的亮度显示,图像中的人脸信息不丢失,进一步提高人脸图像拍摄效果;并在所述摄像头输出的图像为多人人脸图像时,通过以所述图像中面积最大的人脸区域或面积较大的若干个人脸区域为参考进行测光,无需对所述图像中的所有人脸区域进行测光,有效减少图像测光的运算量,显著提高测光效率的同时有效保证准确的图像测光结果。
本发明实施例提供的测光处理装置可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
此外,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以上实施例所述的测光处理方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
本发明提供的计算机可读存储介质,可实现:通过结合人脸检测和测光算法,可根据摄像头输出图像中人脸区域的亮度值确定曝光补偿参数的调整量,进而确定曝光补偿参数并智能实现曝光补偿设置,该方法可有效克服摄像头输出图像因现实场景光照影响而导致的人脸过曝问题,保证人脸在图像以正常亮度显示,图像中的人脸信息不丢失,可显著提高人脸图像拍摄效果。此外,还可实现:通过对人的左脸和右脸分别进行测光,并根据左脸区域和右脸区域的亮度值的差值大小采用不同的人脸区域亮度值确定策略,有效克服摄像头输出图像因现实场景光照影响而导致的人脸过曝及阴阳脸问题,保证人的左右脸在图像均不以过高的亮度显示,图像中的人脸信息不丢失,进一步提高人脸图像拍摄效果;并在所述摄像头输出的图像为多人人脸图像时,通过以所述图像中面积最大的人脸区域或面积较大的若干个人脸区域为参考进行测光,无需对所述图像中的所有人脸区域进行测光,有效减少图像测光的运算量,显著提高测光效率的同时有效保证准确的图像测光结果。
本发明实施例提供的计算机可读存储介质可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
此外,本发明实施例还提供了一种设备,如图4所示。本实施例所述的设备可以是设置有摄像头的移动终端、个人计算机以及网络设备等设备。所述设备包括处理器402、存储器403、输入单元404以及显示单元405等器件。本领域技术人员可以理解,图4示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器403可用于存储计算机程序401以及各功能模块,处理器402运行存储在存储器403的计算机程序401,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
输入单元404用于接收信号的输入,以及接收用户输入的关键字。输入单元404可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元405可用于显示用户输入的信息或提供给用户的信息以及设备的各种菜单。显示单元405可采用液晶显示器、有机发光二极管等形式。处理器402是设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
作为一个实施例,所述设备包括:一个或多个处理器402,存储器403,一个或多个计算机程序401,其中所述一个或多个计算机程序401被存储在存储器403中并被配置为由所述一个或多个处理器402执行,所述一个或多个计算机程序401配置用于执行以上任一实施例所述的测光处理方法。
本发明提供的设备,可实现:通过结合人脸检测和测光算法,可根据摄像头输出图像中人脸区域的亮度值确定曝光补偿参数的调整量,进而确定曝光补偿参数并智能实现曝光补偿设置,该方法可有效克服摄像头输出图像因现实场景光照影响而导致的人脸过曝问题,保证人脸在图像以正常亮度显示,图像中的人脸信息不丢失,可显著提高人脸图像拍摄效果。此外,还可实现:通过对人的左脸和右脸分别进行测光,并根据左脸区域和右脸区域的亮度值的差值大小采用不同的人脸区域亮度值确定策略,有效克服摄像头输出图像因现实场景光照影响而导致的人脸过曝及阴阳脸问题,保证人的左右脸在图像均不以过高的亮度显示,图像中的人脸信息不丢失,进一步提高人脸图像拍摄效果;并在所述摄像头输出的图像为多人人脸图像时,通过以所述图像中面积最大的人脸区域或面积较大的若干个人脸区域为参考进行测光,无需对所述图像中的所有人脸区域进行测光,有效减少图像测光的运算量,显著提高测光效率的同时有效保证准确的图像测光结果。
本发明实施例提供的设备可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。