人脸检测方法、装置、机器人及存储介质
技术领域
本说明书涉及人工智能
技术领域
,特别地,涉及一种人脸检测方法、装置、机器人及存储介质。背景技术
在人脸识别过程中,首先进行人脸检测。人脸检测的准确性对人脸识别非常关键。人脸检测就是对于一张图片,采用一定的算法对其进行遍历搜索。如果搜索到了人脸,那么这张图片就有人脸存在,否则就不存在人脸。在实现过程中存在以下困难,比如复杂光照的干扰。光照的强弱会影响图像的亮度和对比度,增加了人脸检测的难度。迎宾机器人的工作环境复杂多变,工作场所不同的装修风格,不同的灯光设计会产生不同的光照影响。在这种非理想环境下,传统的图像预处理方法,比如二值化、直方图均衡化或者灰度值归一化等等,不能解决非正常光照对人脸检测的影响。
发明内容
本说明书实施例的目的在于提供一种人脸检测方法、装置、机器人及存储介质,可以进一步提高人脸检测的准确性。
本说明书提供一种人脸检测方法、装置、机器人及存储介质是包括如下方式实现的:
一种人脸检测方法,应用于服务机器人,所述方法包括:接收人脸采集模块所采集的目标用户的原始人脸图像;利用图像增强算法对原始人脸图像进行图像增强处理,得到增强人脸图像;修正所述增强人脸图像与原始人脸图像之间的三基色分量比例,得到修正人脸图像;利用预先构建的人脸检测模型对所述修正人脸图像进行人脸检测,得到所述目标用户的人脸检测结果。
本说明书提供的所述方法的另一些实施例中,利用Retinex算法对原始人脸图像进行图像增强处理。
本说明书提供的所述方法的另一些实施例中,所述修正所述增强人脸图像与原始人脸图像之间的三基色分量比例,包括:计算所述增强人脸图像中三基色各分量的均值和均方差;利用下述修正模型修正所述增强人脸图像中三基色各分量的最小值和最大值:
其中,μi表示均值,νi表示均方差,α表示修正因子,Min表示修正后的最小值,Max表示修正后的最大值,i表示三基色的任一分量;利用下述线性量化模型修正所述增强人脸图像中的反射分量Ri(x,y),得到修正人脸图像:
其中,表示修正人脸图像中的反射分量。
本说明书提供的所述方法的另一些实施例中,所述人脸检测模型利用AdaBoost算法训练级联分类器得到。
本说明书提供的所述方法的另一些实施例中,利用预先构建的人脸检测模型对所述修正人脸图像进行多个图像区域单元的多个尺度人脸检测。
另一方面,本说明书实施例还提供一种人脸检测装置,应用于服务机器人,所述装置包括:接收模块,用于接收人脸采集模块所采集的目标用户的原始人脸图像;图像增强模块,用于利用图像增强算法对原始人脸图像进行图像增强处理,得到增强人脸图像;修正模块,用于修正所述增强人脸图像与原始人脸图像之间的三基色分量比例,得到修正人脸图像;检测模块,用于利用预先构建的人脸检测模型对所述修正人脸图像进行人脸检测,得到所述目标用户的人脸检测结果。
本说明书提供的所述装置的另一些实施例中,所述图像增强模块用于利用Retinex算法对原始人脸图像进行图像增强处理。
本说明书提供的所述装置的另一些实施例中,所述修正模块包括:计算单元,用于计算所述增强人脸图像中三基色各分量的均值和均方差;第一修正单元,用于利用下述修正模型修正所述增强人脸图像中三基色各分量的最小值和最大值:
其中,μi表示均值,νi表示均方差,α表示修正因子,Min表示修正后的最小值,Max表示修正后的最大值,i表示三基色的任一分量;第二修正单元,用于利用下述线性量化模型修正所述增强人脸图像中的反射分量Ri(x,y),得到修正人脸图像;
其中,表示修正人脸图像中的反射分量。
另一方面,本说明书实施例还提供一种服务机器人,所述服务机器人包括至少一个处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现上述任意一个或多个实施例所述方法的步骤;
另一方面,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意一个或多个实施例所述方法的步骤。
本说明书一个或多个实施例提供的人脸检测方法、装置、机器人及存储介质,通过先对原始人脸图像进行增强处理,再修正增强人脸图像相对原始图像的三基色比例,可以在对原始人脸图像增强的同时,进一步降低增强所带来的噪声过大问题对图像保真性的影响,使得最终输入人脸检测模型的图像的质量更高,进而提高复杂光照下用于人脸检测的图像的质量。基于该修正人脸图像还可以进一步提高人脸检测模型训练的效率及准确性,进而提高人脸检测的准确性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本说明书提供的图像采集时的光线传播示意图;
图2为本说明书提供的人脸检测结果示意图;
图3为本说明书提供的人脸检测结果示意图;
图4为本说明书提供的一种人脸检测方法的实施流程示意图;
图5为本说明书提供的一种人脸检测装置的模块结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是说明书一部分实施例,而不是全部的实施例。基于说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书实施例方案保护的范围。
本说明书的一个应用场景示例中,所述人脸检测方法可以应用于服务机器人。所述服务机器人至少可以包括人脸采集模块、处理器及存储器。所述人脸采集模块可以为摄像头。所述人脸采集模块可以采集用户的人脸图像,并将该人脸图像发送至处理器。为了便于描述,可以将采集模块所采集的该人脸图像作为原始人脸图像。所述处理器可以基于预先配置的人脸检测算法检测人脸样本库中是否存在与所述原始人脸图像匹配度大于指定阈值的人脸图像。所述人脸样本库可以存储在所述存储器中,也可以存储在服务器中。相应的,所述服务机器人中还可以配置有通信模块。所述服务机器人可以通过所述通信模块与服务器进行通信,以访问服务器中存储的人脸样本库,完成人脸检测。
所述服务机器人可以为迎宾机器人。迎宾机器人的工作环境复杂多变,工作场所不同的装修风格,不同的灯光设计会产生不同的光照影响。在这种非理想环境下,传统的图像预处理方法,比如二值化、直方图均衡化或者灰度值归一化等等,不能解决非正常光照对人脸检测的影响。本场景示例中,可以首先对所述原始人脸图像进行预处理,以提高所述原始人脸图像的图像质量,进而提高人脸检测的准确性。
可以先利用图像增强算法对原始人脸图像进行图像增强处理,得到增强人脸图像。如可以利用Retinex算法对原始人脸图像进行图像增强处理。当然,也可以采用其他图像增强算法,如直方图均衡化等。
Retinex算法理论的基本原理是,物体对三原色的反射能力决定了物体的颜色。物体的颜色是保持不变的,光照影响不了它,即Retinex算法理论基础是色感一致性。如图1所示,入射光照射到反射体R上,反射体R将光线反射到观察者I眼中。反射体R的反射率不变,和入射光L没有关系。Retinex算法的原理就是根据原始采集的原始人脸图像S,估计入射光L的影响。如果能计算出R便可以像人类视觉系统那样解决入射光的影响,可以更加有效地达到增强图片效果的目的,降低外界复杂光照对人脸图像的影响。但是在图像增强之后,因为噪声的加入,图像可能也会存在失真等问题。当然,其他增强算法也通常不可避免的会出现类似的图像失真问题。
本场景示例中,还可以进一步修正所述增强人脸图像与原始人脸图像之间的三基色分量比例,得到修正人脸图像。通过修正增强人脸图像相对原始人脸图像的三基色分量比例,可以有效降低图像增强后所带来的噪声过大的问题,使得图像的有效信息更逼近原始人脸图像,降低图像的失真问题。
对于基于Retinex算法增加后的人脸图像,可以利用下述方式进行修正处理:
计算所述增强人脸图像中三基色各分量的均值和均方差;利用下述修正模型修正所述增强人脸图像中三基色各分量的最小值和最大值:
其中,μi表示均值,νi表示均方差,α表示修正因子,Min表示修正后的最小值,Max表示修正后的最大值,i表示三基色的任一分量。其中,修正因子α的大小可以通过大量的样本测试确定。并可以利用下述线性量化模型修正所述增强人脸图像中的反射分量Ri(x,y),得到修正人脸图像:
其中,表示修正人脸图像中的反射分量。
通过上述定量方式进行图像修正处理,可以更加准确地降低利用Retinex算法增强后的原始人脸图像的噪声,使增强后的原始人脸图像更加自然、质量更好。
之后,可以将修正人脸图像传输至预先构建的人脸检测模型中,以进行人脸检测处理。优选的,所述人脸检测模型可以利用AdaBoost算法训练级联分类器得到。通过训练级联分类器的方式,可以进一步提高人脸检测的准确率。当然,也可以采用其他算法构建所述人脸检测模型,如神经网络算法等。
将修正人脸图像传输至人脸检测模型后,人脸检测模型以对所述修正人脸图像进行多个图像区域单元的多个尺度人脸检测。人脸检测模型可以先将修正人脸图像先分割成多个图像区域单元,对每个图像区域单元进行检测,以降低图像处理量,提高图像处理效率。但图像区域单元通常比较小,随着模型层数的加深,所提取图像特征中的几何细节信息可能完全消失,从而较难检测到人脸图像信息。相应的,本场景示例中,通过进一步结合多个尺度的检测方法对图像区域单元进行处理,可以进一步保证提取到图像中的有效信息。所述多个尺度检测如可以采用将多层特征进行组合后预测、或分别在不同的层进行预测等方式。同时,检测过程中,还可以持续初始化搜索窗口大小,通过不断窗口搜索提高检测效率。
上述场景示例,通过先对原始人脸图像进行增强处理,再修正增强人脸图像相对原始图像的三基色比例,可以在对原始人脸图像增强的同时,进一步降低增强所带来的噪声过大问题对图像保真性的影响,使得最终输入人脸检测模型的图像的质量更高,进而提高复杂光照下用于人脸检测的图像的质量。基于该修正人脸图像还可以进一步提高人脸检测模型训练的效率及准确性,进而提高人脸检测的准确性。
利用Extended Yale B人脸图像数据集对上述人脸检测方法进行验证,验证因子为人脸检测的检测率和误检数目。人脸检测的检测率也称人脸召回率,即检测出来的人脸数占总人脸数的比例。误检数目为检测出来的人脸中出现错误(即不是人脸)的数目。YaleB数据集是人脸识别光照预处理研究最常用的人脸数据集。从数据集中每个人选取5种不同拍摄参数的图像组成样本集。如表1所示,表1为基于Yale B人脸数据集进行的人脸检测结果比对示意表。
表1
样本数
人脸总数
检测总数
检测率
误检数目
未进行图像修正之前
200
200
168
80%
8
进行图像修正之后
200
200
184
92%
0
由表1可知,本场景示例提供的上述检测方式,改善了复杂光照的影响,进一步提高了人脸检测的准确率。人脸检测作为人脸识别的前提,通过提高人脸检测的准确率,即使没有对人脸识别算法优化情况下,也能在一定程度上提高人脸识别的准确率。
图2表示未进行图像修正情况下的人脸检测结果,可以看出,虽然也可以检测出大部分人脸,然而对于一些光线较弱的人脸则会出现漏检的情况。图3则表示利用上述场景示例提供的方法进行人脸检测的结果,可以看出原本一些因光线较弱而漏检的人脸也被检测到了,从而提高了人脸检测的准确度。
基于上述场景示例,本说明书还提供一种人脸检测方法。图4是本说明书提供的所述人脸检测方法实施例流程示意图。如图4所示,本说明书提供的人脸检测方法的一个实施例中,所述方法可以应用于服务机器人。所述方法可以包括如下步骤:
S40:接收人脸采集模块所采集的目标用户的原始人脸图像。
S42:利用图像增强算法对原始人脸图像进行图像增强处理,得到增强人脸图像。
S44:修正所述增强人脸图像与原始人脸图像之间的三基色分量比例,得到修正人脸图像。
S46:利用预先构建的人脸检测模型对所述修正人脸图像进行人脸检测,得到所述目标用户的人脸检测结果。
另一些实施例中,可以利用Retinex算法对原始人脸图像进行图像增强处理。相应的,所述修正所述增强人脸图像与原始人脸图像之间的三基色分量比例可以包括:计算所述增强人脸图像中三基色各分量的均值和均方差;利用下述修正模型修正所述增强人脸图像中三基色各分量的最小值和最大值:
其中,μi表示均值,νi表示均方差,α表示修正因子,Min表示修正后的最小值,Max表示修正后的最大值,i表示三基色的任一分量;并利用下述线性量化模型修正所述增强人脸图像中的反射分量Ri(x,y),得到修正人脸图像:
其中,表示修正人脸图像中的反射分量。
另一些实施例中,所述人脸检测模型可以利用AdaBoost算法训练级联分类器得到。相应的,可以利用预先构建的人脸检测模型对所述修正人脸图像进行多个图像区域单元的多个尺度人脸检测。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。具体的可以参照前述相关处理相关实施例的描述,在此不做一一赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于上述所述的人脸检测方法,本说明书一个或多个实施例还提供一种人脸检测装置。具体的,图5表示说明书提供的一种人脸检测装置实施例的模块结构示意图,如图5所示,应用于服务机器人,所述装置包括:接收模块50,用于接收人脸采集模块所采集的目标用户的原始人脸图像;图像增强模块52,用于利用图像增强算法对原始人脸图像进行图像增强处理,得到增强人脸图像;修正模块54,用于修正所述增强人脸图像与原始人脸图像之间的三基色分量比例,得到修正人脸图像;检测模块56,用于利用预先构建的人脸检测模型对所述修正人脸图像进行人脸检测,得到所述目标用户的人脸检测结果。
另一些实施例中,所述图像增强模块52可以用于利用Retinex算法对原始人脸图像进行图像增强处理。相应的,所述修正模块54可以包括:计算单元,用于计算所述增强人脸图像中三基色各分量的均值和均方差;第一修正单元,用于利用下述修正模型修正所述增强人脸图像中三基色各分量的最小值和最大值:
其中,μi表示均值,νi表示均方差,α表示修正因子,Min表示修正后的最小值,Max表示修正后的最大值,i表示三基色的任一分量;第二修正单元,用于利用下述线性量化模型修正所述增强人脸图像中的反射分量Ri(x,y),得到修正人脸图像;
其中,表示修正人脸图像中的反射分量。
需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书还提供一种服务机器人,所述服务机器人可以应用在多种计算机数据处理系统中。所述服务机器人可以包括至少一个处理器及用于存储处理器可执行指令的存储器,所述指令被所述处理器执行时实现上述任意一个或多个实施例所述方法的步骤。所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。相应的,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令可以被执行时实现上述任意一个或多个实施例所述方法的步骤。
本说明书实施例并不局限于必须是符合标准数据模型/模板或本说明书实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书的可选实施方案范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述并不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。