基于GentleBoost机器学习的人眼十字定位法的制作方法

文档序号:6563859阅读:286来源:国知局
专利名称:基于GentleBoost机器学习的人眼十字定位法的制作方法
技术领域
本发明涉及模式识别技术领域,具体是基于GentleBoost机器学习的人眼十字定位法。
背景技术
人眼定位是指在一幅包含了人脸的图像中,自动对人眼进行检测,给出左眼和右眼中心位置的坐标。精确的人眼定位是进行人脸识别的一个关键步骤,人眼定位的精确度直接影响到人脸识别的准确度。目前,现有的关于人眼定位的方法大多是基于自顶向下逐级精化的搜索方法,即首先通过机器学习的手段(如Adaboost算法,支撑向量机等等)获得人脸和人眼的分类器,然后对包含了人脸的图像进行逐级精化的搜索,先找出图像中存在人脸的区域,再在存在人脸的区域中进行更细粒度的搜索,从而确定人眼的精确位置。基于AdaBoost机器学习算法的分类器训练方法是目前人眼检测中训练分类器的常用方法。Adaboost机器学习算法是解决二类划分问题(如确定一幅图片是否是人脸图片)的有效方法,该方法依据给定的样本集合(包括正样本和负样本)对该类样本的特征集合(如Haar特征集合)进行筛选,进而将筛选出的特征经过加权构成一个分类器。由该方法得到的分类器具备较高的准确度和鲁棒性,被广泛应用于各种模式识别系统中,如人物检测、人脸检测、人眼检测系统等等。自顶向下逐级精华搜索方法步骤一般是输入图片首先经过一次多尺度二维滑动窗口搜索,确定人脸所在区域,然后再在人脸所在区域的左半边搜索左眼,在人脸所在区域的又半边搜索右眼,搜索方法都是二维滑动窗口法。现有的人眼定位方法在进行人脸和人眼的搜索过程中,都是在不同的尺度上以二维滑动窗口的方式进行搜索,该方法需要将待检测区域在两个维度进行滑动,需要对大量的矩形区域进行测试,以确定它是否是人脸或人眼。这种搜索过程需要较大的运算量,同时因为在目标区域的附近(人脸或人眼区域), 通常会检测出多个疑似人脸或人眼的位置,该类方法一般将这些疑似人脸的位置进行平均,从而得到最终的人脸或人眼位置,这样得到的检测结果包含较大的随机误差,会对后续的人脸识别过程产生较大的影响。为了尽量减少人眼定位过程中产生的随机误差,本发明提出人眼的十字定位法, 对人眼定位过程中的搜索范围进行限定,一方面可以缩小搜索范围,降低计算量,另一方面减小随机误差,提高准确度。

发明内容
本发明所解决的技术问题在于提供基于GentleBoost机器学习的人眼十字定位法,以解决上述背景技术中的缺点。本发明所解决的技术问题采用以下技术方案来实现基于GentleBoost机器学习的人眼十字定位法,包括以下步骤第一步以GentleBoost机器学习算法为基础,通过分类器训练过程得到六个分类器人脸分类器、双眼分类器、左眼横向分类器、右眼横向分类器,左眼纵向分类器以及右眼纵向分类器;第二步使用人脸分类器对包含人脸的图像进行多尺度二维滑动窗口搜索,确定人脸的位置;进而,对人脸区域进行十字交叉搜索,得到左眼和右眼的外廓矩形;第三步计算左眼和右眼外廓矩形的中心,这两个中心点就是左眼和右眼的中心位置。本发明中,所述分类器训练过程,包括以下步骤第一步样本标定子步骤选取合适的包含人脸图像的样本集合并对该集合内的人脸及人眼的位置进行人工标定,以得到样本图像中人眼的坐标位置;第二步训练样本生成子步骤依据样本集合的标定结果,对样本图像进行分割及大小归一化,构成分类器训练样本;第三步以GentleBoost机器学习算法为基础,以形成的训练样本为输入进行训练,得到六个分类器人脸分类器、双眼分类器、左眼横向分类器、右眼横向分类器,左眼纵向分类器以及右眼纵向分类器。本发明中,所述十字交叉搜索过程,包括以下步骤第一步使用双眼分类器对人脸区域进行自上而下一维滑动窗口搜索,以确定双眼的位置;第二步在检测到的双眼区域内,使用左眼水平分类器在其左半部分进行自左而右一维滑动窗口搜索,以确定左眼的水平位置,使用右眼水平分类器在其右半部分进行自左而右一维滑动窗口搜索,以确定右眼的水平位置;第三步以左眼和右眼的水平位置的范围内,分别使用左右眼垂直分类器进行自上而下一维滑动窗口搜索,以确定左眼和右眼的垂直位置。有益效果本发明针对人眼的搜索由二维滑动窗口搜索改进为十字交叉方式的多个一维滑动窗口搜索,能够大幅提高人眼检测的精确度,同时缩小搜索范围,减少计算量。本发明所述方法是Adaboost算法的改良版本具有更高的收敛速度和鲁棒性。
具体实施例方式为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。基于GentleBoost机器学习的人眼十字定位法的具体实施有两个关键步骤,一个是分类器的训练,这包括六个分类器人脸分类器、双眼分类器、左眼水平分类器、右眼水平分类器、左眼垂直分类器以及右眼垂直分类器;另一个是十字搜索过程。下面对这两个关键步骤进行详细的描述。在进行分类器训练过程中,首先需要对包含人脸的图像样本进行人工标定,以便生成训练过程中需要的样本,在进行人脸图像样本的人工标定过程中对于每个眼睛,需要标定三个点左眼角、右眼角和瞳孔中心。设它们在图像中的坐标分别为(Xl,yi)、(Xr,yr)、 及(xp,yp),那么眼睛的中心坐标(X。,yc)可通过如下公式计算
Xc:= -—-Γ yc - Yp在成功进行图像样本标定之后,也就获得了图像样本中左眼和右眼的中心坐标位置,这样就可以进行训练用正样本的分割和归一化。如图2所示,是人脸、双眼、水平单眼及垂直单眼正样本的分割方法,其中单眼样本以左眼为例,右眼是左眼的镜像。设两眼中心的距离、则可计算出分割的人脸正样本大小和双眼正样本大小,水平单眼样本大小为dXd,
垂直单眼样本大小为d X-分割完成后,由于每张图片中人脸部分的大小不同,得到的正
^ ο
样本的大小也各不相同,因此,需要对样本的大小归一化,缩放到统一的大小,如可以讲所有人脸样本图像缩放到22X22,双眼样本图像缩放到32X8,水平单眼样本的图像缩放到 16X16。在分类器的训练中,不仅要用到正样本,还需要合适的负样本。在进行负样本生成的时候,对于人脸负样本,采取从人脸以外的背景部分随机割取的方式获得;对于双眼负样本,则在人脸区域内,沿垂直方向随机割取,对于水平单眼样本,则在双眼区域内沿水平方向随机割取,对于垂直单眼负样本,则在垂直单眼区域内,沿垂直方向随机割取。样本准备完毕后,即可进行以GentleBoost机器学习算法为基础的分类器训练, 训练过程中使用haar特征作为弱分类器。6个分类器分别训练完成后,即可用于人眼的检测。十字交叉搜索用于精确定位双眼的中心点,搜索过程分为四个层次第一个层次是粗粒度的二维人脸区域搜索,通过在整个图像上使用人脸分类器进行多尺度二维滑动窗口搜索,最终确定人脸所在的区域;第二个层次在人脸所在区域内自上而下使用双眼分类器进行一维滑动窗口搜索,最终确定双眼所在的区域;第三个层次是在双眼所在的区域内自左而右使用水平单眼分类器进行一维滑动窗口搜索,最终确定左眼和右眼的水平位置;第四个层次是在水平单眼分类器搜索得到的区域内,使用垂直单眼分类器进行垂直方向的一维滑动窗口搜索,最终得到左眼和右眼的垂直位置。人眼十字定位法还可以依据实际的使用情况进行一些改进。下面给出其中一种常用的改进设计包含眼镜处理的人眼十字定位法。人脸识别系统在实际使用过程中必须能够正确识别带无色眼镜的人物,这就要求人眼的定位算法不仅能够处理不戴眼镜的情况, 也必须能够处理戴眼镜的情况。由于戴眼镜的人脸的眼睛部分与不戴眼镜的眼睛部分有明显的不同,因此必须针对戴眼镜的样本训练戴眼镜的人眼分类器,包括水平分类器和垂直分类器。此外,还必须有一种手段用于判断当前检测到的人脸是否是戴眼镜的人脸。要解决这些问题,必须增加分类器的数量,要通过GentleBoost机器学习算法训练出的分类器增加为12个即人脸分类器、双眼分类器、戴眼镜双眼分类器、戴眼镜判别分类器、左眼水平分类器、戴眼镜左眼水平分类器、右眼水平分类器、戴眼镜右眼水平分类器、 左眼垂直分类器、戴眼镜左眼垂直分类器、右眼垂直分类器以及戴眼镜右眼垂直分类器。其方法是首先输入图像经过多尺度二维滑动窗口搜索,获得人脸部分在图像中的位置,然后分别使用双眼分类器和戴眼镜双眼分类器对人脸区域进行垂直一维滑动窗口搜索,这样可以分别得到两个双眼位置的检测结果,接着使用戴眼镜判别分类器对两个双眼位置的检测结果进行判断,选出正确的双眼位置,并确定图像中的人脸是否是戴眼镜的人脸;最后如果该人脸是戴眼镜的,则使用戴眼镜人眼水平分类器和垂直分类器对双眼所在区域进行一维滑动窗口搜索,如果该人脸是不戴眼镜的,则使用不戴眼镜人眼水平分类器和垂直分类器对双眼所在区域进行一维滑动窗口搜索,最终获得双眼的精确位置。
以上显示和描述了本发明的基本原理和主要特征及本发明的优点,本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,本发明要求保护范围由所附的权利要求书及其等效物界定。
权利要求
1.基于GentleBoost机器学习的人眼十字定位法,其特征在于,包括以下步骤第一步以GentleBoost机器学习算法为基础,通过分类器训练过程得到六个分类器 人脸分类器、双眼分类器、左眼横向分类器、右眼横向分类器,左眼纵向分类器以及右眼纵向分类器;第二步使用人脸分类器对包含人脸的图像进行多尺度二维滑动窗口搜索,确定人脸的位置;进而,对人脸区域进行十字交叉搜索,得到左眼和右眼的外廓矩形;第三步计算左眼和右眼外廓矩形的中心,这两个中心点就是左眼和右眼的中心位置。
2.根据权利要求1所述的基于GentleBoost机器学习的人眼十字定位法,其特征在于, 所述分类器训练过程,包括以下步骤第一步样本标定子步骤选取合适的包含人脸图像的样本集合并对该集合内的人脸及人眼的位置进行人工标定,以得到样本图像中人眼的坐标位置;第二步训练样本生成子步骤依据样本集合的标定结果,对样本图像进行分割及大小归一化,构成分类器训练样本;第三步以GentleBoost机器学习算法为基础,以形成的训练样本为输入进行训练,得到六个分类器人脸分类器、双眼分类器、左眼横向分类器、右眼横向分类器,左眼纵向分类器以及右眼纵向分类器。
3.根据权利要求1所述的基于GentleBoost机器学习的人眼十字定位法,其特征在于, 所述十字交叉搜索过程,包括以下步骤第一步使用双眼分类器对人脸区域进行自上而下一维滑动窗口搜索,以确定双眼的位置;第二步在检测到的双眼区域内,使用左眼水平分类器在其左半部分进行自左而右一维滑动窗口搜索,以确定左眼的水平位置,使用右眼水平分类器在其右半部分进行自左而右一维滑动窗口搜索,以确定右眼的水平位置;第三步以左眼和右眼的水平位置的范围内,分别使用左右眼垂直分类器进行自上而下一维滑动窗口搜索,以确定左眼和右眼的垂直位置。
全文摘要
基于GentleBoost机器学习的人眼十字定位法,包括以下步骤以GentleBoost机器学习算法为基础,通过分类器训练过程得到六个分类器人脸分类器、双眼分类器、左眼横向分类器、右眼横向分类器,左眼纵向分类器以及右眼纵向分类器;使用人脸分类器对包含人脸的图像进行多尺度二维滑动窗口搜索,确定人脸的位置;进而,对人脸区域进行十字交叉搜索,得到左眼和右眼的外廓矩形;计算左眼和右眼外廓矩形的中心,这两个中心点就是左眼和右眼的中心位置。本发明针对人眼的搜索由二维滑动窗口搜索改进为十字交叉方式的多个一维滑动窗口搜索,能够大幅提高人眼检测的精确度,同时缩小搜索范围,减少计算量。
文档编号G06K9/00GK102426644SQ201110243778
公开日2012年4月25日 申请日期2011年8月24日 优先权日2011年8月24日
发明者夏东 申请人:夏东
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1