本发明属于人工智能和模式识别技术领域,具体涉及一种基于神经网络的人脸识别方法。
背景技术:
人脸检测问题最初来源于人脸识别(facerecognition)。人脸识别的研究可以追溯到20世纪60-70年代,经过几十年的曲折发展已日趋成熟。人脸检测是自动人脸检测系统中的一个关键环节,也是面部表情识别、头部状态估计的必须技术。早期的人脸识别研究主要针对具有较强约束条件的人脸图像(如无背景的图像),往往假设人脸位置已知或很容易获得,因此人脸检测问题并未受到重视。近几年随着电子商务等应用的发展,人脸识别成为最有潜力的身份验证手段,这种应用背景要求自动人脸检测系统能够对一般环境中的人脸图像具有一定的适应能力。
人脸是一类具有相当复杂的细节变化的自然结构的目标,目前人脸检测所面临的问题可以归结如下:
图像平面内变化:脸部图像的最简单变化可以通过脸部本事的旋转、移动、缩放、镜像等独立地表示。本类同样包含所有的图像亮度、对比度变化以及被其他物体遮挡。
姿态变化:脸部某些方面的姿态变包含在图像平面变化中,比如旋转和平移。不在图像平面内的脸部旋转对表现会产生很大影响。另一类变化是脸部离摄像机的距离,会导致景物变形。
光线和肤色变化:目标及其环境引起的变化,特别是目标的表面特征和光源。光源的变化会引起脸部表现的强烈变化。
背景变化:当目标具有可预测的形状,就可以选取一个只包含此物体象素的窗口,并忽略背景。可是,对于侧脸,脸部本身的边界是至关重要的特征,并且每个人的形状都不一样。因此,边界是不可预测的,背景不能被简单地屏蔽或忽略。
形状变化:最后是目标本身的形状变化。对于人脸,此类变化包含了脸部表情,如嘴和眼睛的张开、闭合。
对于人脸检测问题,从不同的角度可以有多种分类方法。同时,人脸图像所包含的模式特征十分丰富,这些特征中哪些是最有用的、如何利用这些特征,是人脸检测要研究的主要问题。
技术实现要素:
为了解决上述问题,本发明提供一种基于人工神经网络的人脸检测系统,采用的技术方案如下:
基于人工神经网络的人脸检测识别方法,包括以下步骤:
(1)位置和姿态估计:用神经网络分析图像中潜在的脸部区域并确定脸部姿态;
(2)预处理:图像进行预处理来改善图像的亮度和对比度;
(3)检测:在前两步对图像作位置、姿态和预处理后,由面检测器检测是否存在人脸;
(4)决断:通过利用启发式算法,将面检测器的检测结果合并在一起作决断,来增强人脸检测的正确率。
优选地,还包括人脸检测训练,训练方法如下:
(1)窗口输入图像样本;
(2)训练神经网络,对人脸图像样本输出1,非人脸图像样本输出-1;在循环的第一次迭代时,随即初始化网络的权重;
(3)使用上一次训练计算的权重做为下一次训练的起点。
优选地,在输入图像样本前还包括图像样本的处理,处理方法为:在20×20像素的窗口中,将图像调整为统一的大小、位置和方位;图像的扩缩率为
优选地,所述人脸训练所需的图像样本的生成方法如下:
(1)选择初始人脸图像;
(2)依据头部的三维姿态,在每张人脸图样上标记特征点;
(3)不同人脸上的标记特征点组合;
(4)多次组合后,形成多个人脸图像样本。
优选地,所述标记特征点组合的原理为:相关特征点对之间的距离平方和为最小。
优选地,所述标记特征点组合的计算方法如下:当存在旋转、伸缩和移动时,相关特征点对之间的距离平方和为最小,即在二维形式下,坐标变换可以写为:
优选地,有多对相关的坐标集,上述公式扩展为:
用伪逆方法解此线形方程系统:命名左边的矩阵为a,矢量形式的变量
伪逆解产生变换t是我们的初始目标,t最小化了
在知道如何组合两组标记了的特征点后,按如下的过程不断组合特征点:
(1)初始化
(2)对每一个人脸
(3)对每一人脸
(4)旋转、平移和伸缩特征坐标
(5)转第2步;
(6)迭代多次后收敛,产生每一人脸与其它人脸组合的变换。
优选地,所述步骤(2)中预处理包括光照补偿。
优选地,所述光照补偿包括线性光照模型补偿。
优选地,所述光照补偿还包括商图像补偿。
本发明有益效果:
(1)本发明增加了非人脸的识别训练,能有效识别复杂背景中的人脸,人脸识别正确率可高达98%以上;
(2)图像检测前采用光照补偿处理方法,能消除光照影响。
具体实施方式
下面结合具体实施方式对本发明做进一步的说明。
实施例1
基于人工神经网络的人脸检测识别方法,包括以下步骤:
(1)位置和姿态估计:用神经网络分析图像中潜在的脸部区域并确定脸部姿态;
(2)预处理:图像进行预处理来改善图像的亮度和对比度;
(3)检测:在前两步对图像作位置、姿态和预处理后,由面检测器检测是否存在人脸;
(4)决断:通过利用启发式算法,将面检测器的检测结果合并在一起作决断,来增强人脸检测的正确率。
在人脸检测识别前,还包括人脸检测训练,训练方法如下:
(1)图像样本的处理,处理方法为:在20×20像素的窗口中,将图像调整为统一的大小、位置和方位;图像的扩缩率为
(2)窗口输入图像样本;
(3)训练神经网络,对人脸图像样本输出1,非人脸图像样本输出-1;在循环的第一次迭代时,随即初始化网络的权重;
(4)使用上一次训练计算的权重做为下一次训练的起点。
本实施例中,所述人脸训练所需的图像样本的生成方法如下:
(1)选择初始人脸图像;
(2)依据头部的三维姿态,在每张人脸图样上标记特征点;
(3)不同人脸上的标记特征点组合;
(4)多次组合后,形成多个人脸图像样本。
其中所述标记特征点组合的原理为:相关特征点对之间的距离平方和为最小。具体如下:
当存在旋转、伸缩和移动时,相关特征点对之间的距离平方和为最小,即在二维形式下,坐标变换可以写为:
如果有多对相关的坐标集,可以扩展为:
当有两对及以上的不同特征点时,可以用伪逆方法(pseudo-inversemethod)解此线形方程系统。命名左边的矩阵为a,矢量形式的变量
伪逆解产生变换t是我们的初始目标,t最小化了
在知道如何组合两组标记了的特征点后,按如下的过程不断组合特征点:
(1)初始化
(2)对每一个人脸
(3)对每一人脸
(4)旋转、平移和伸缩特征坐标
(5)转第2步;
(6)迭代多次后收敛,产生每一人脸与其它人脸组合的变换。
实施例2
本实施例与实施例1不同在于,在人脸检测识别的步骤(2)中预处理包括光照补偿;其中所述光照补偿包括线性光照模型补偿。
线性光照模型补偿的处理方法为:假设增加多个光源到场景中会导致图像是每一个光源单独作用下图像的和。作者进一步假设物体对一个独立的光源服从lambertian光照模型,即光线在各个方向均匀地散射到物体表面。这意味着物体上一个点的亮度只依赖于物体的反射率和物体表面与光源方向间的角度,用以下方程(假设没有阴影)表示:
其中
由于光源方向
实施例3
本实施例与实施例2的不同在于图像光照补偿采用商图像补偿方法。
商图像补偿方法为:反复使用线性光照模型,即通过将输入图像投影到一个线性模型集组成的线性光照空间中,模拟投影找到
其中,
输入图像被合成图像相除,产生所谓的“商图像”。商图像只包含新脸部的反射率和平均脸,在此假设所有脸具有相同的形状。再进一步,在正面光照上乘以平均脸既得处理后的图像:
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。