CN100336071C - 复杂背景图像中鲁棒的眼睛精确定位方法 - Google Patents
复杂背景图像中鲁棒的眼睛精确定位方法 Download PDFInfo
- Publication number
- CN100336071C CN100336071C CNB200510086249XA CN200510086249A CN100336071C CN 100336071 C CN100336071 C CN 100336071C CN B200510086249X A CNB200510086249X A CN B200510086249XA CN 200510086249 A CN200510086249 A CN 200510086249A CN 100336071 C CN100336071 C CN 100336071C
- Authority
- CN
- China
- Prior art keywords
- eyes
- sample
- image
- training
- eye
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 53
- 210000001508 eye Anatomy 0.000 claims description 428
- 238000012549 training Methods 0.000 claims description 199
- 238000010606 normalization Methods 0.000 claims description 67
- 210000000162 simple eye Anatomy 0.000 claims description 51
- 238000000605 extraction Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 29
- 230000001815 facial effect Effects 0.000 claims description 26
- 239000000284 extract Substances 0.000 claims description 24
- 238000013461 design Methods 0.000 claims description 16
- 238000005286 illumination Methods 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 12
- 210000000056 organ Anatomy 0.000 claims description 11
- 230000014509 gene expression Effects 0.000 claims description 10
- 210000005252 bulbus oculi Anatomy 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 8
- 239000004615 ingredient Substances 0.000 claims description 8
- 230000002093 peripheral effect Effects 0.000 claims description 8
- 210000004709 eyebrow Anatomy 0.000 claims description 7
- 238000013459 approach Methods 0.000 claims description 6
- IXSZQYVWNJNRAL-UHFFFAOYSA-N etoxazole Chemical compound CCOC1=CC(C(C)(C)C)=CC=C1C1N=C(C=2C(=CC=CC=2F)F)OC1 IXSZQYVWNJNRAL-UHFFFAOYSA-N 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000003384 imaging method Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 230000004069 differentiation Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 2
- 238000011156 evaluation Methods 0.000 abstract description 2
- 238000002474 experimental method Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000011521 glass Substances 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 210000001061 forehead Anatomy 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 210000004209 hair Anatomy 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
复杂背景下的眼睛精确定位技术属于人脸识别领域。其特征在于,提出了一种性能鲁棒的复杂背景下图像中的眼睛精确定位方法。它采用高效率和高冗余度的微结构特征来表达眼睛模式局部和全局区域的灰度分布特点;并采用AdaBoost算法从中选择出最具有区分的微结构特征构成强分类器,综合考虑了局部特征以及能够表达这种约束关系的全局特征得到更鲁棒的定位效果。从而以更简单的结构实现复杂背景图像下更高性能的的双眼定位;在多个公开数据库上以及竞赛评测的结果证明了本发明的优异性能。
Description
技术领域
复杂背景图像中眼睛定位方法属于人脸识别技术领域。
背景技术
本发明提出的方法所要解决的问题是得到人脸位置信息后进行的眼睛精确定位问题。眼睛精确定位是人脸信息处理的一项关键技术,广泛应用于人脸识别、人机交互、智能人机接口等系统中。复杂背景下眼睛精确定位也是一个极具挑战性的问题。这除了是由于光照、尺寸、姿态、平面旋转、图像质量等因素给眼睛外观带来复杂的变化外,眼睛的开闭、眼镜的反光、头发和镜框的遮挡等也给眼睛的精确定位带来很多困难;特别是在眼睛闭合的情况下,眉毛以及粗镜框都会给眼睛定位带来较大干扰。
目前提出的眼睛精确定位主流方法是基于启发式规则的方法。这类方法主要是根据眼睛的先验知识来制定定位规则。这些先验知识包括器官分布知识、形状知识、颜色知识、物理特性等。这类方法一般适应外界变化的能力较差,往往只能处理器官的一种或几种变化,稳定性和精度与实际应用的要求还有差距。造成这个现象的原因主要是它们仅考虑了器官的局部外观,而没有考虑器官与邻近区域或器官间的约束关系。这样当脸部存在与目标器官外观相似的物体时,就会给定位带来影响。比如眼睛闭合时的外观与眉毛、粗镜框很相似。所以要综合考虑器官局部特征以及能够表达这种约束关系的全局特征才能获得更鲁棒的定位效果。
本发明在全面细致考察眼睛定位问题特点的基础上,提出了基于全局和局部特征相结合的眼睛精确定位方法,可以鲁棒地实现复杂背景下高性能的眼睛精确定位,这是目前所有其他文献里没有使用过的方法。
发明内容
本发明的目的在于实现一个能在各种环境下稳定精确地定位人脸双眼中心的方法。它包括训练和检测两个阶段。
在训练阶段,首先采集大量样本,即采用人手工标定的方法,从人脸图像中收集训练样本,然后对样本进行归一化处理。利用采集到的训练样本,进行特征抽取,得到训练样本的特征库。在特征库的基础上,通过实验确定分类器的参数,训练得到眼睛定位分类器。
在检测阶段,对一张输入的人脸图像区域I(x,y),0≤x<Wface,0≤y<Hface,首先估计左右人眼可能存在的区域,然后在两个区域中穷举判断所有的小窗口(定义小窗口为输入图像中的一个矩形区域子图像),对每一个小窗口抽取特征,然后使用单眼检测器进行判断,从而得到区域中所有人眼候选位置;然后将左右眼睛候选结合起来利用全局性质从中选择出最佳组合方式,定位得到眼睛的最终位置。由此可以得到极好的眼睛定位准确率。该方法已经应用于一个基于人脸的考勤签到系统。
本发明由以下几部分组成:样本采集与归一化、利用投影函数估计左右眼睛所在区域、单眼检测器的训练、眼睛对检测器的训练(如图4)。以下进行详细介绍。
1.样本采集与归一化
1.1样本的采集
为训练单眼检测器,采用人手工标定的方法,从人脸图片中切割出单只眼睛图像,并从人脸图像非眼睛部位随机割取非眼睛样本。单只眼睛图像和非眼睛图像分别作为正例样本和反例样本用于训练单眼检测器。共收集到6800个眼睛样本,随机选择70000张非眼睛样本。一些训练样本如图3(a)所示。
另外为训练眼睛对检测器,还根据人手工标定的眼睛位置,按照图10所示的比例从人脸图像中剪裁得到眼睛对样本,并从人脸图像中随机割取非眼睛对样本。眼睛对图像和非眼睛对图像分别作为正例样本和反例样本用于训练单眼检测器。一些采集到的样本如图3(b)示。这样采集到的样本不只包括两只眼睛还包括眉毛、鼻子等部位,体现了眼睛与周围器官的约束关系。
1.2尺寸归一化
将收集好的各尺寸的样本图像(包括单眼和非单眼、眼睛对和非眼睛对图像)归一化为指定尺寸。设原始样本图像为[F(x,y)]M×N,图像宽度为M,高度为N,图像位于第x行第y列的象素点的值为F(x,y)(0≤x<M,0≤y<N);设尺寸归一化后图像为[G(x,y)]W×H,图像宽度为W,高度为H,实验中对单眼样本取W=24,H=12,对眼睛对样本取W=25,H=15。这样尺寸归一化可以看成是将源图像点阵[F(x,y)]M×N映射成目标图像点阵[G(x,y)]W×H的过程。本发明使用反向投影和线性插值将原始样本图像变换到标准尺寸样本图像,则输入图像[F(x,y)]M×N与归一化后图像[G(x,y)]W×H之间的对应关系为:
G(x,y)=F(x/rx,y/ry)
其中rx和ry分别为x和y方向的尺度变换因子:rx=N/H,ry=M/W。
根据上式,输出图像点阵中的点(x,y)对应于输入图像中的点(x/rx,y/ry)。由于x/rx、y/ry的取值一般不为整数,故需要根据附近已知离散点处的值来估计F(x/rx,y/ry)的取值。根据线性插值方法,对于给定(x,y),令:
其中:
[·]为取整函数。插值过程可表示为:
G(x,y)=F(x0+Δx,y0+Δy)=F(x0,y0)ΔxΔy+F(x0+1,y0)(1-Δx)Δy
+F(x0,y0+1)Δx(1-Δy)+F(x0+1,y0+1)(1-Δx)(1-Δy)
1.3灰度归一化
由于外界光照、成像设备等因素可能导致图像亮度或对比度异常,出现强阴影或反光等情况。所以还需要对几何归一化后的样本进行灰度均衡化处理,改善其灰度分布,增强模式间的一致性。本发明采用灰度均值、方差归一化对样本进行灰度均衡化处理,将样本图片灰度的均值μ和方差σ调整到给定值μ0和σ0。
首先采用下式计算样本图像G(x,y)(0≤x<W,0≤y<H)的均值和方差:
然后对每个像素点的灰度值进行如下变换:
从而将图像灰度的均值和方差调整到给定值μ0和σ0,完成样本的灰度归一化。
2.估计左右眼睛所在的矩形区域Ωlefteye和Ωrighteye
本发明使用人脸图像竖直方向投影的均值、方差函数来确定Ωlefteye和Ωrighteye在水平方向上的分界线,然后根据从训练样本中统计到的眼睛在人脸区域竖直方向上的分布规律,确定Ωlefteye和Ωrighteye的上下边界,从而估计出Ωlefteye和Ωrighteye。
2.1竖直方向投影函数
对于灰度图像I(x,y)(0≤x,0≤y),则[y1,y2]和[x1,x2]区域内竖直方向投影的均值函数MPFv(x)和方差函数VPFv(x)定义为:
MPFv(x)、VPFv(x)刻画了图像在竖直方向的平均亮度及亮度的变化程度。
2.2利用投影函数确定眼睛区域
由于人脸区域中额头、鼻梁竖直方向的平均亮度一般比眼睛区域竖直方向的平均亮度高,而竖直方向上的变化却不如眼睛区域的变化剧烈。所以取检测到的人脸区域的上半部分,其垂直方向灰度投影的均值函数与方差函数的比值
在鼻梁附近会存在一个明显的峰值,以此峰的位置作为左右两眼所在区域的竖直分界线,如图5(b)示。有:
Ωlefteye、Ωrighteye的上下边界则可以利用人脸样本中眼睛在竖直方向的分布位置统计出来。由以上得到:Ωlefteye=[0,0.05Hface;xpeak,0.45Hface],其中(0,0.05Hface)为区域左上角位置,(xpeak,0.45Hface)为区域右下角位置;Ωrighteye=[xpeak,0.05Hface;Wface,0.45Hface];Hface为统计得到的人脸高度,xpeak为所达峰值处的x值。
3.单眼检测器的训练
在Ωlefteye、Ωrighteye两个区域中分别使用单眼检测器检测给出左右眼睛20个候选位置,并估计出每个候选位置的置信度。
单眼检测器的训练使用归一化后的单眼睛样本和非眼睛样本的微结构特征库,利用AdaBoost算法训练得到单只眼睛检测器;其具体训练过程如下:
3.1特征提取
本发明采用图6中的五种类型微结构模板来提取单眼睛和非单眼样本的高维微结构特征:每一种微结构特征通过计算模板所覆盖图像中黑色区域和白色区域内像素灰度和的差值来得到,并且模板相对于图像的位置以及模板的尺寸可以改变。具体特征提取方式如下:
定义S(x1,y1;x2,y2)为区域(x1≤x′≤x2,y1≤y′≤y2)内的像素灰度和
设微结构模板左上角的像素坐标为(x,y),则如图4所示五种类型微结构(前四种微结构中黑色区域与白色面积相等,第五种类型微结构中黑色区域在白色区域中的分布对称)分别为:
(a):S(x,y;x+w-1,y+h-1)-S(x+w,y;x+2w-1,y+h-1)
(b):S(x,y;x+w-1,y+h-1)-S(x,y+h;x+w-1,y+2h-1)
(c):2S(x+w,y;x+2w-1,y+h-1)-S(x,y;x+3w-1,y+h-1)
(d):S(x,y;x+2w-1,y+2h-1)-2S(x,y;x+w-1,y+h-1)-
-2S(x+w,y+h;x+2w-1,y+2h-1)
(e):S(x,y;x+w-1,y+h-1)-S(x+2,y+2;x+w-3,y+h-3)
由于每一种特征提取只涉及到矩形区域中像素和的计算问题,所以可以利用整幅图像的积分图像(Integral Image)快速得到任意尺度、任意位置的一种微结构特征。
3.1.1积分图像的快速计算
对于一个图像I(x,y),(x≥0,y≥0),定义其对应的积分图像II(x,y)为从(0,0)到(x,y)范围内的所有像素之和,即
并且定义II(-1,y)=0,II(x,-1)=0。
由此有:
S(x1,y1;x2,y2)=II(x2,y2)+II(x1-1,y1-1)-II(x2,y1-1)-II(x1-1,y2)。
即原始图像I(x,y)中任何一个矩形区域中的像素和S(x1,y1;x2,y2)通过积分图经3次加减法可以计算出;
同样定义平方积分图像SqrII(x,y)为从(0,0)到(x,y)范围内的所有像素平方之和,即 其中SqrII(-1,y)=0,SqrII(x,-1)=0。
平方积分图像可用于计算每个矩形区域的方差(见3.1.3节)。
3.1.2微结构特征的快速提取
由于每一种特征提取只涉及到矩形区域中像素和的计算问题,所以以上任意一种微结构特征可以通过积分图像若干次加减快速计算出,其中第(a)种类型微结构特征的计算公式(图7所示)
g(x,y,w,h)=2·II(x+w-1,y-1)+II(x+2·w-1,y+h-1)
+II(x-1,y+h-1)-2·II(x+w-1,y+h-1)
-II(x+2·w-1,y-1)-II(x-1,y-1)
第(b)种类型微结构特征:
g(x,y,w,h)=2II(x+w-1,y+h-1)+II(x-1,y-1)-II(x+w-1,y-1)
-2II(x-1,y+h-1)-II(x+w-1,y+2h-1)+II(x-1,y+2h-1)
第(c)种类型微结构特征:
g(x,y,w,h)=2II(x+2w-1,y+h-1)+2II(x+w-1,y-1)-2II(x+2w-1,y-1)
-2II(x+w-1,y+h-1)-II(x+3w-1,y+h-1)-II(x-1,y-1)
+II(x-1,y+h-1)+II(x+3w-1,y-1)
第(d)种类型微结构特征:
g(x,y,w,h)=-II(x-1,y-1)-II(x+2w-1,y-1)-II(x-1,y+2h-1)
-4II(x+w-1,y+h-1)+2II(x+w-1,y-1)+2II(x-1,y+h-1)
-II(x+2w-1,y+2h-1)+2II(x+2w-1,y+h-1)+2II(x+w-1,y+2h-1)
第(e)种类型微结构特征:
g(x,y,w,h)=II(x+w-1,y+h-1)+II(x-1,y-1)-II(x+w-1,y-1)-II(x-1,y+h-1)
-II(x+w-3,y+h-3)-II(x+1,y+1)+II(x+1,y+h-3)+II(x+w-1,y+1)
改变参数x,y,w,h可以提取不同位置、不同尺度的特征。对于尺寸归一化为24×12像素的人眼模式,共得到42727个特征,组成该样本的特征矢量
FV(j),1≤j≤42727。
3.1.3特征的归一化
为了减轻光照对于单眼检测的影响,需要对每一个24×12像素样本图像进行灰度均值和方差的归一化,所以首先要快速计算出小窗口的均值
μ和方差
σ,然后对每一维特征进行归一化,其中的24×12像素小窗口区域(x0≤x′≤x0+23,y0≤y′≤y0+11)内的像素灰度和的
μ和σ分别为(如图7所示)
μ=[II(x0+23,y0+11)+II(x0-1,y0-1)-II(x0-1,y0+11)-II(x0+23,y0-1)]/288
σ={[SqrII(x0+23,y0+11)+SqrII(x0-1,y0-1)-SqrII(x0-1,y0+11)
-SqrII(x0+23,y0-1)]/288-
μ2}1/2
对每一维微结构特征可以进行如下的归一化:
对于一个24×12像素的样本图像,共得到42727维微结构特征FV(j),1≤j≤42727。
3.2特征选择和分类器设计
为达到足够快的检测速度,一个单眼检测器必须采用分层结构(如图8所示),由多层结构从简单到复杂的强分类器级联起来构成。先由结构简单的强分类器排除掉图像中的背景窗口,然后由结构复杂的强分类器对余下窗口进行判断(此处的强分类器是指在训练集上达到足够高性能的分类器;下文中的弱分类器是指在训练集上错误率略低于0.5的分类器)。
本发明使用AdaBoost算法选择特征和训练分类器。一方面AdaBoost算法在每轮迭代中选择出性能最好的基于单个特征的弱分类器,达到特征选择的目的;另一方面把这些弱分类器集成为一个强分类器,并通过将多个强分类器级联起来得到一个性能优秀的眼睛检测器。具体来说,包括以下几个组成部分:
3.2.1弱分类器的构造
本发明中弱分类器是使用一维特征构造的树分类器:
其中sub是一个24×12像素的样本,gj(sub)表示从该样本提取得到的第j个特征,θj是第j个特征对应的判决阈值,hj(sub)表示使用第j个特征构造的树分类器的判决输出。这样每个弱分类器只需要比较一次阈值就可以完成判决;共可得到42727个弱分类器。
3.2.2基于AdaBoost算法的眼睛/非眼睛强分类器设计
将CS-AdaBoost算法结合上述弱分类器构造方法用于训练眼睛/非眼睛强分类器。训练步骤如下(记训练样本集L={(subi,li)},i=1,...,n,li=0,1是样本图像subi的类别标号,分别对应非眼睛类别和眼睛类别,其中眼睛样本neye个,非眼睛样本nnoneye个):
3.2.2.1参数的初始化
训练样本误分类风险的初始化。对于每个眼睛样本的误分类风险
对每个非眼睛样本的误分类风险
(c是眼睛类别是非眼睛类别的误分类风险倍数,c值应大于1且随着强分类器层数的增多逐渐减小接近于1,具体选择值见表1);
训练样本权重的初始化。初始每个样本的权重为
选择迭代次数T(T即为希望使用的弱分类器的个数),T应随着强分类器层数的增多逐渐增多,具体选择值见表1;
统计样本集上每个特征分布的极大值Fmax(j)和极小值Fmin(j)(其中j为特征序号,1≤j≤42727):
3.2.2.2重复以下过程T次(t=1,...,T):
a.)使用第j个特征(1≤j≤42727)构造弱分类器hj,然后在Fmin(j)和Fmax(j)间穷举搜索阈值参数θj,使得hj的错误率εj最小,定义
b.)令
并将其对应的弱分类器作为ht;
c.)计算参数
d.)更新样本的权重
其中i=1,...,n,
3.2.2.3输出最后的强分类器
对于通过强分类器判断的模式,本发明采用
得到模式属于眼睛的后验概率,此处
3.2.3多层强分类器的级联
由于单层强分类器很难同时实现高分类速度,极低的FRR和极低的FAR等目标,所以整个眼睛检测器必须采用分层结构,由简单到复杂将多层强分类器级联起来,如图8所示。在检测时只要某个图像窗口不能通过其中任何一层,可立即排除掉,从而大大节省了计算量。
多层强分类器级联的具体训练步骤如下:
a)初始化i=1;定义每层强分类器的训练目标是在眼睛训练集上FRR≤0.1%,在非眼睛训练集上FAR≤60%;定义整个眼睛检测器在眼睛训练集上的目标FRR≤1%,在非眼睛训练集上的目标FAR≤5×10-4;
b)使用训练样本集采用3.2.2节中的方法训练第i层强分类器;
c)用训练得到的前i层分类器对样本集进行检测;
d)如果FRR、FAR未达到预定值,则i←i+1,返回步骤(b)继续进行训练;否则停止训练。
共训练得到7层结构从简单到复杂的强分类器;由这些强分类器级联构成一个完整的眼睛检测器。
表1眼睛/非眼睛强分类器训练结果
层数i | c | T | 眼睛FRR训练集 | 非眼睛FAR验证集 |
1 | 50 | 1 | 0.10% | 50.6% |
2 | 5 | 17 | 0.05% | 13.2% |
3 | 2.5 | 33 | 0.0% | 4.7% |
4 | 1.5 | 60 | 0.0% | 1.5% |
5 | 1.4 | 81 | 0.0% | 8E-3 |
6 | 1.3 | 110 | 0.1% | 1.9E-3 |
7 | 1.1 | 130 | 0.1% | 4.3E-4 |
4.眼睛对分类器的训练
为了排除候选中的虚警和不精确的定位结果,本发明将左右眼睛候选联合起来,使用眼睛对分类器来验证每一对候选,最后根据后验概率从所有候选对中估计出双眼的最佳位置。
眼睛对分类器的训练使用归一化后的眼睛对样本和非眼睛对样本,分别提取两类样本的特征库,利用AdaBoost算法训练得到眼睛对分类器。由于眼睛对分类器所使用微结构特征及训练过程与前文单眼检测器的完全相同,都是使用AdaBoost算法从大量微结构特征中选择基于单个特征的弱分类器来构成强分类器,并将多层强分类器级联在一起。其具体训练过程同样包括特征提取、特征选择、强分类器的训练、多层强分类器的级联。
4.1特征提取
采用图6中的五种类型微结构模板来提取双眼和非眼睛对样本的高维微结构特征。同样可以利用整幅图像的积分图像
快速得到任意尺度、任意位置的一种微结构特征。同样定义平方积分图像
用于计算每个矩形区域的方差。
由于每一种特征提取只涉及到矩形区域中像素和的计算问题,所以以上任意一种微结构特征可以通过积分图像若干次加减快速计算出,其中第(a)种类型微结构特征的计算公式:
g(x,y,w,h)=2·II(x+w-1,y-1)+II(x+2·w-1,y+h-1)
+II(x-1,y+h-1)-2·II(x+w-1,y+h-1)
-II(x+2·w-1,y-1)-II(x-1,y-1)
第(b)种类型微结构特征:
g(x,y,w,h)=2II(x+w-1,y+h-1)+II(x-1,y-1)-II(x+w-1,y-1)
-2II(x-1,y+h-1)-II(x+w-1,y+2h-1)+II(x-1,y+2h-1)
第(c)种类型微结构特征:
g(x,y,w,h)=2II(x+2w-1,y+h-1)+2II(x+w-1,y-1)-2II(x+2w-1,y-1)
-2II(x+w-1,y+h-1)-II(x+3w-1,y+h-1)-II(x-1,y-1)
+II(x-1,y+h-1)+II(x+3w-1,y-1)
第(d)种类型微结构特征:
g(x,y,w,h)=-II(x-1,y-1)-II(x+2w-1,y-1)-II(x-1,y+2h-1)
-4II(x+w-1,y+h-1)+2II(x+w-1,y-1)+2II(x-1,y+h-1)
-II(x+2w-1,y+2h-1)+2II(x+2w-1,y+h-1)+2II(x+w-1,y+2h-1)
第(e)种类型微结构特征:
g(x,y,w,h)=II(x+w-1,y+h-1)+II(x-1,y-1)-II(x+w-1,y-1)-II(x-1,y+h-1)
-II(x+w-3,y+h-3)-II(x+1,y+1)+II(x+1,y+h-3)+II(x+w-1,y+1)
对于尺寸归一化为25×15像素的眼睛对模式,共得到71210个特征,组成该样本的特征矢量
FV(j),1≤j≤71210。
为了减轻光照的影响,需要对每一个25×15像素样本图像进行灰度均值和方差的归一化,所以首先要快速计算出小窗口的均值
μ和方差
σ,然后对每一维特征进行归一化,其中的25×15像素小窗口区域(x0≤x′≤x0+24,y0≤y′≤y0+14)内的像素灰度和的
μ和
σ分别为
μ=[II(x0+24,y0+14)+II(x0-1,y0-1)-II(x0-1,y0+14)-II(x0+24,y0-1)]/365
σ={[SqrII(x0+24,y0+14)+SqrII(x0-1,y0-1)-SqrII(x0-1,y0+14)
-SqrII(x0+24,y0-1)]/365-
μ2}1/2
对每一维微结构特征可以进行如下的归一化:
对于一个25×15像素的样本图像,共得到71210维微结构特征FV(j),1≤j≤71210。
4.2特征选择和分类器设计
为达到足够快的验证速度,一个眼睛对检测器必须采用分层结构(如图8所示),先由结构简单的强分类器排除掉图像中的背景窗口,然后由结构复杂的强分类器对余下窗口进行判断。本部分仍然使用AdaBoost算法选择特征和训练分类器。具体来说包括以下几个组成部分:
4.2.1弱分类器的构造
弱分类器仍使用一维特征构造的树分类器:
共可得到71210个弱分类器。
4.2.2基于AdaBoost算法的眼睛/非眼睛强分类器设计
将CS-AdaBoost算法结合上述弱分类器构造方法用于训练眼睛对强分类器。训练步骤如下(记训练样本集L={(subi,li)},i=1,...,n,li=0,1是样本图像subi的类别标号,分别对应非眼睛对类别和眼睛对类别,其中眼睛对样本neye个,非眼睛对样本nnoneye个):
4.2.2.1参数的初始化
训练样本误分类风险的初始化。对于每个眼睛对样本的误分类风险
对每个非眼睛对样本的误分类风险
(c是眼睛对类别是非眼睛对类别的误分类风险倍数,c值应大于1且随着强分类器层数的增多逐渐减小接近于1,具体选择值见表2);
训练样本权重的初始化。初始每个样本的权重为
选择迭代次数T(T即为希望使用的弱分类器的个数),T应随着强分类器层数的增多逐渐增多,具体选择值见表2;
统计样本集上每个特征分布的极大值Fmax(j)和极小值Fmin(j)(其中j为特征序号,1≤j≤71210):
4.2.2.2重复以下过程T次(t=1,...,T):
a.)使用第j个特征(1≤j≤71210)构造弱分类器hj,然后在Fmin(j)和Fmax(j)间穷举搜索阈值参数θj,使得hj的错误率εj最小,定义
b.)令
并将其对应的弱分类器作为ht;
c.)计算参数
d.)更新样本的权重
其中i=1,...,n,
对于通过强分类器判断的模式,本发明采用
得到模式属于眼睛对的后验概率,此处
4.2.3多层强分类器的级联
整个眼睛对验证器采用分层结构,如图8所示。
多层强分类器级联的具体训练步骤如下:
a)初始化i=1;定义每层强分类器的训练目标是在眼睛对训练集上FRR≤0.1%,在非眼睛对训练集上FAR≤50%;定义整个眼睛对检测器在眼睛对训练集上的目标FRR≤1%,在非眼睛对训练集上的目标FAR≤1×10-3;
b)使用训练样本集采用4.2.2节中的方法训练第i层强分类器;
c)用训练得到的前i层分类器对样本集进行检测;
d)如果FRR、FAR未达到预定值,则i←i+1,返回步骤(b)继续进行训练;否则停止训练。
共训练得到9层结构从简单到复杂的强分类器,使用了1347个特征;由这些强分类器级联构成一个完整的眼睛对检测器。
表2眼睛对强分类器训练结果
层数i | c | T | 眼睛FRR训练集 | 非眼睛FAR训练集 |
1 | 50 | 1 | 0.10% | 63.5% |
2 | 3 | 18 | 0.05% | 30.1% |
5 | 1.5 | 145 | 0.0% | 1E-2 |
8 | 1.2 | 277 | 0.1% | 1.8E-3 |
9 | 1.1 | 330 | 0.1% | 9.1E-4 |
本发明的特征在于,它是一种能够适应不同情况的鲁棒地精确定位人眼睛的技术。它首先对收集到的眼睛样本和眼睛对样本进行适当的尺寸归一化和光照归一化,以最大限度地消除输入样本因光照和尺寸的不同而造成的类内差异,然后高效率地提取能很好反映模式结构特点的微结构特征,在此基础上利用AdaBoost算法组成具有极低的误检率和低误接受率的强分类器,然后把多层分类器级联成一个完整的眼睛检测器和眼睛对验证器,从候选中得到精确的眼睛位置。
在由图像采集设备和计算机组成的系统中,本检测方法包括训练阶段和检测阶段。其中训练阶段依次含有以下步骤:
1.样本采集与归一化
(1.1)样本的采集
为训练单眼检测器,采用人手工标定的方法,从人脸图片中切割出单只眼睛图像,并从人脸图像非眼睛部位随机割取非眼睛样本。单只眼睛图像和非眼睛图像分别作为正例样本和反例样本用于训练单眼检测器。一些训练样本如图3(a)所示。
另外为训练眼睛对检测器,还根据人手工标定的眼睛位置,按照图10所示的比例从人脸图像中剪裁得到眼睛对样本,并从人脸图像中随机割取非眼睛对样本。眼睛对图像和非眼睛对图像分别作为正例样本和反例样本用于训练单眼检测器。一些采集到的样本如图3(b)示。这样采集到的样本不只包括两只眼睛还包括眉毛、鼻子等部位,体现了眼睛与周围器官的约束关系。
(1.2)尺寸归一化
将收集好的各尺寸的样本图像(包括单眼和非单眼、眼睛对和非眼睛对图像)归一化为指定尺寸。设原始样本图像为[F(x,y)]M×N,图像宽度为M,高度为N,图像位于第x行第y列的象素点的值为F(x,y)(0≤x<M,0≤y<N);设尺寸归一化后图像为[G(x,y)]W×H,图像宽度为W,高度为H,实验中对单眼样本取W=24,H=12,对眼睛对样本取W=25,H=15。这样尺寸归一化可以看成是将源图像点阵[F(x,y)]M×N映射成目标图像点阵[G(x,y)]W×H的过程。本发明使用反向投影和线性插值将原始样本图像变换到标准尺寸样本图像,则输入图像[F(x,y)]M×N与归一化后图像[G(x,y)]W×H之间的对应关系为:
G(x,y)=F(x/rx,y/ry)
其中rx和ry分别为x和y方向的尺度变换因子:rx=N/H,ry=M/W。根据线性插值方法,对于给定(x,y),令:
其中:
[·]为取整函数。插值过程可表示为:
G(x,y)=F(x0+Δx,y0+Δy)=F(x0,y0)ΔxΔy+F(x0+1,y0)(1-Δx)Δy
+F(x0,y0+1)Δx(1-Δy)+F(x0+1,y0+1)(1-Δx)(1-Δy)
(1.3)灰度归一化
由于外界光照、成像设备等因素可能导致图像亮度或对比度异常,出现强阴影或反光等情况。所以还需要对几何归一化后的样本进行灰度均衡化处理,改善其灰度分布,增强模式间的一致性。本发明采用灰度均值、方差归一化对样本进行灰度均衡化处理,将样本图片灰度的均值
μ和方差
σ调整到给定值μ0和σ0。
首先采用下式计算样本图像G(x,y)(0≤x<W,0≤y<H)的均值和方差:
然后对每个像素点的灰度值进行如下变换:
从而将图像灰度的均值和方差调整到给定值μ0和σ0,完成样本的灰度归一化。
2.单眼检测器的训练
单眼检测器的训练使用归一化后的单眼睛样本和非眼睛样本的微结构特征库,利用AdaBoost算法训练得到单只眼睛检测器;其具体训练过程如下:
(2.1)特征提取
本发明采用图6中的五种类型微结构模板来提取单眼睛和非单眼样本的高维微结构特征:每一种微结构特征通过计算模板所覆盖图像中黑色区域和白色区域内像素灰度和的差值来得到,并且模板相对于图像的位置以及模板的尺寸可以改变。由于每一种特征提取只涉及到矩形区域中像素和的计算问题,所以可以利用整幅图像的积分图像快速得到任意尺度、任意位置的一种微结构特征。
(2.1.1)积分图像的快速计算和微结构特征的快速提取
对于一个图像I(x,y),(x≥0,y≥0),定义其对应的积分图像II(x,y)为从(0,0)到(x,y)范围内的所有像素之和,即
则原始图像I(x,y)中任何一个矩形区域中的像素和可通过积分图经3次加减法快速计算出。
而以上任意一种微结构特征可以通过对应的积分图像经过若干次加减计算出。
我们以图6第(a)种类型特征的提取过程为例说明微结构特征的快速提取。如图7所示,在计算出整幅图像的积分图像后,对于左上角像素坐标为(x,y)、宽度为w个像素、高度为h个像素的第(a)种类型微结构特征可以如下计算:
g(x,y,w,h)=2·II(x+w-1,y-1)+II(x+2·w-1,y+h-1)
+II(x-1,y+h-1)-2·II(x+w-1,y+h-1)
-II(x+2·w-1,y-1)-II(x-1,y-1)
改变参数x,y,w,h可以提取不同位置、不同尺度的特征。其它类型的特征可以采取类似的方法提取。对于尺寸归一化为24×12像素的人眼模式,共得到42727个特征;
(2.2)特征选择和分类器设计
本发明使用AdaBoost算法选择特征和训练分类器。一方面AdaBoost算法在每轮迭代中选择出性能最好的基于单个特征的弱分类器,达到特征选择的目的;另一方面把这些弱分类器集成为一个强分类器,并通过将多个强分类器级联起来得到一个性能优秀的眼睛检测器。具体来说,包括以下几个组成部分:
(2.2.1)弱分类器的构造
弱分类器要具有非常高的分类速度,整个强分类器才能达到足够高的分类速度。本发明对应于每一维特征构造最简单的树分类器来作为弱分类器:
其中sub是一个24×12像素的样本,gj(sub)表示从该样本提取得到的第j个特征,θj是第j个特征对应的判决阈值,hj(sub)表示使用第j个特征构造的树分类器的判决输出。这样每个弱分类器只需要比较一次阈值就可以完成判决;共可得到42727个弱分类器。
(2.2.2)基于AdaBoost算法的眼睛/非眼睛强分类器设计
本发明将AdaBoost算法结合上述弱分类器构造方法用于训练眼睛/非眼睛强分类器。训练算法步骤如下(记给定训练集L={(subi,li)},i=1,...,n,li=0,1是样本图像subi的类别标号,分别对应非眼睛类别和眼睛类别):
(2.2.2.1)参数的初始化
训练样本权重的初始化。初始每个样本的权重为
选择迭代次数T(T即为希望使用的弱分类器的个数),T应随着强分类器层数的增多逐渐增多,具体选择值见表1;
统计样本集上每个特征分布的极大值Fmax(j)和极小值Fmin(j)(其中j为特征序号,1≤j≤42727);
(2.2.2.2)重复以下过程T次(t=1,...,T):
a.)使用第j个特征(1≤j≤42727)构造弱分类器hj,然后在Fmin(j)和Fmax(j)间穷举搜索阈值参数θj,使得hj的错误率εj最小,定义
b.)令
并将其对应的弱分类器作为ht;
c.)计算参数
d.)更新样本的权重
其中i=1,...,n,
对于通过强分类器判断的模式,本发明采用
得到模式属于眼睛的后验概率,此处
(2.2.3)多层强分类器的级联
整个眼睛检测器必须采用分层结构,由简单到复杂将多层强分类器级联起来,如图8所示。
多层强分类器级联的具体训练步骤如下:
a)初始化i=1;定义每层强分类器的训练目标是在眼睛训练集上FRR≤0.1%,在非眼睛训练集上FAR≤60%;定义整个眼睛检测器在眼睛训练集上的目标FRR≤1%,在非眼睛训练集上的目标FAR≤5×10-4;
b)使用训练样本集采用(2.2.2)节中的方法训练第i层强分类器;
c)用训练得到的前i层分类器对样本集进行检测;
d)如果FRR、FAR未达到预定值,则i←i+1,返回步骤(b)继续进行训练;否则停止训练。
共训练得到7层结构从简单到复杂的强分类器;由这些强分类器级联构成一个完整的眼睛检测器。
3.眼睛对分类器的训练
眼睛对分类器的训练使用归一化后的眼睛对样本和非眼睛对样本,分别提取两类样本的特征库,利用AdaBoost算法训练得到眼睛对分类器。由于眼睛对分类器所使用微结构特征及训练过程与前文单眼检测器的完全相同,都是使用AdaBoost算法从大量微结构特征中选择基于单个特征的弱分类器来构成强分类器,并将多层强分类器级联在一起。其具体训练过程同样包括特征提取、特征选择、强分类器的训练、多层强分类器的级联。
(3.1)特征提取
采用图6中的五种类型微结构模板来提取双眼和非眼睛对样本的高维微结构特征。同样可以利用整幅图像的积分图像
快速得到任意尺度、任意位置的一种微结构特征。同样定义平方积分图像
用于计算每个矩形区域的方差。
由于每一种特征提取只涉及到矩形区域中像素和的计算问题,所以以上任意一种微结构特征可以通过积分图像若干次加减快速计算出。对于尺寸归一化为25×15像素的眼睛对模式,共得到71210个特征,组成该样本的特征矢量
FV(j),1≤j≤71210。
为了减轻光照的影响,需要对每一个25×15像素样本图像进行灰度均值和方差的归一化,所以首先要快速计算出小窗口的均值
μ和方差
σ,然后对每一维特征进行归一化,其中的25×15像素小窗口区域(x0≤x′≤x0+24,y0≤y′≤y0+14)内的像素灰度和的
μ和
σ分别为
μ=[II(x0+24,y0+14)+II(x0-1,y0-1)-II(x0-1,y0+14)-II(x0+24,y0-1)]/365
σ={[SqrII(x0+24,y0+14)+SqrII(x0-1,y0-1)-SqrII(x0-1,y0+14)
-SqrII(x0+24,y0-1)]/365-
μ2}1/2
对每一维微结构特征可以进行如下的归一化:
对于一个25×15像素的样本图像,共得到71210维微结构特征FV(j),1≤j≤71210。
(3.2)特征选择和分类器设计
为达到足够快的验证速度,一个眼睛对检测器必须采用分层结构(如图8所示),先由结构简单的强分类器排除掉图像中的背景窗口,然后由结构复杂的强分类器对余下窗口进行判断。本部分仍然使用AdaBoost算法选择特征和训练分类器。具体来说包括以下几个组成部分:
(3.2.1)弱分类器的构造
弱分类器仍使用一维特征构造的树分类器:
共可得到71210个弱分类器。
(3.2.2)基于AdaBoost算法的眼睛/非眼睛强分类器设计
将CS-AdaBoost算法结合上述弱分类器构造方法用于训练眼睛对强分类器。训练步骤如下(记训练样本集L={(subi,li)},i=1,...,n,li=0,1是样本图像subi的类别标号,分别对应非眼睛对类别和眼睛对类别,其中眼睛对样本neye个,非眼睛对样本nnoneye个):
(3.2.2.1)参数的初始化
训练样本误分类风险的初始化。对于每个眼睛对样本的误分类风险
对每个非眼睛对样本的误分类风险
(c是眼睛对类别是非眼睛对类别的误分类风险倍数,c值应大于1且随着强分类器层数的增多逐渐减小接近于1,具体选择值见表2);
训练样本权重的初始化。初始每个样本的权重为
选择迭代次数T(T即为希望使用的弱分类器的个数),T应随着强分类器层数的增多逐渐增多,具体选择值见表2;
统计样本集上每个特征分布的极大值Fmax(j)和极小值Fmin(j)(其中j为特征序号,1≤j≤71210):
(3.2.2.2)重复以下过程T次(t=1,...,T):
a.)使用第j个特征(1≤j≤71210)构造弱分类器hj,然后在Fmin(j)和Fmax(j)间穷举搜索阈值参数θj,使得hj的错误率εj最小,定义
b.)令
并将其对应的弱分类器作为ht;
c.)计算参数
d.)更新样本的权重
其中i=1,...,n,
对于通过强分类器判断的模式,本发明采用
得到模式属于眼睛对的后验概率,此处
(3.2.3)多层强分类器的级联
整个眼睛对验证器采用分层结构,如图8所示。
多层强分类器级联的具体训练步骤如下:
e)初始化i=1;定义每层强分类器的训练目标是在眼睛对训练集上FRR≤0.1%,在非眼睛对训练集上FAR≤50%;定义整个眼睛对检测器在眼睛对训练集上的目标FRR≤1%,在非眼睛对训练集上的目标FAR≤1×10-3;
f)使用训练样本集采用4.2.2节中的方法训练第i层强分类器;
g)用训练得到的前i层分类器对样本集进行检测;
h)如果FRR、FAR未达到预定值,则i←i+1,返回步骤(b)继续进行训练;否则停止训练。
共训练得到9层结构从简单到复杂的强分类器;由这些强分类器级联构成一个完整的眼睛对检测器。
在眼睛检测阶段,对于一张输入的人脸区域,使用以下步骤来精确定位眼睛中心位置:
1.估计左右眼睛所在的区域Ωlefteye和Ωrighteye
使用人脸图像竖直方向投影的均值、方差函数来确定Ωlefteye和Ωrighteye在水平方向上的分界线,然后根据从训练样本中统计到的眼睛在人脸区域竖直方向上的分布规律,确定Ωlefteye和Ωrighteye的上下边界,从而估计出Ωlefteye和Ωrighteye。
(1.1)利用投影函数确定眼睛区域的左右分界线
(1.2)利用样本统计信息得到眼睛区域的上下边界
Ωlefteye、Ωrighteye的上下边界则可以利用样本中眼睛在人脸竖直方向的分布位置统计出来。有
Ωlefteye=(x,y),0<x<xpeak,0.05Hface<y<0.45Hface
Ωrighteye=(x,y),xpeak<x<Wface,0.05Hface<y<0.45Hface
2.利用单眼检测器检测眼睛候选
在Ωlefteye、Ωrighteye两个区域中分别使用单眼检测器检测给出左右眼睛20个候选位置,并估计出每个候选位置的置信度。眼睛候选的具体检测过程如下:
(2.1)输入人脸图像的积分图像的计算
计算输入人脸图像I(x,y)对应的积分图像
和平方积分图像
(2.2)判别左右眼区域中的每一个的小窗口
判别Ωlefteye、Ωrighteye两个区域中的每一个的24×12像素尺寸的小窗口,对任一个小窗口[x0,y0;x0+23,y0+11]的处理步骤如下:
(2.2.1).利用整幅图像的积分图IIi(x,y)和平方积分图SqrIIi(x,y)计算小窗口的均值
μ和方差
σ;
μ=[II(x0+23,y0+11)+II(x0-1,y0-1)-II(x0-1,y0+11)-II(x0+23,y0-1)]/288
σ={[SqrII(x0+23,y0+11)+SqrII(x0-1,y0-1)-SqrII(x0-1,y0+11)
-SqrII(x0+23,y0-1)]/288-
μ2}1/2
(2.2.2).利用前文介绍方法快速提取该小窗口的微结构特征,并进行特征归一化处理;
(2.2.3).采用训练好的多层眼睛/非眼睛强分类器对小窗口进行判断;如果通过所有层强分类器的判断,则认为该小窗口包含一个眼睛候选,输出其位置及其置信度;否则抛弃掉该小窗口,不进行后续处理;
根据候选的置信度大小输出最多前20个候选位置。
3.眼睛候选对的验证
为了排除眼睛候选中的误检测和不精确的定位结果,本发明将左右眼睛候选配对,提取候选周围区域更多的特征,然后使用眼睛对分类器来验证每一对候选,最后根据后验概率从所有候选对中估计出双眼的最佳位置。具体来说对每一对眼睛候选,包括以下处理步骤:
(3.1)根据左右眼候选位置割取图像进行尺寸归一化
对每一对眼睛候选,首先根据左右眼候选位置按照模板(图10)所示位置割取图像,然后进行尺寸归一化和光照归一化,得到25×15像素的眼睛候选对图像PI(x,y);
(3.2)输入图像积分图像的计算
计算图像PI(x,y)对应的积分图像
(3.3)眼睛候选对图像PI(x,y)的判断
对每一眼睛候选对图像PI(x,y)的验证步骤如下:
(3.3.1).利用整幅图像的积分图提取微结构特征;
(3.3.2).采用训练好的第i层强分类器对图像进行判断;
(3.3.3).如果通过判断,则i←i+1,返回步骤(3.3.1);否则抛弃掉该眼睛候选对;
如果通过所有层强分类器的判断,则认为该候选对为有效候选对,输出其位置及其置信度;
最后,对所有通过判断的候选对按照置信度从大到小排序,取置信度最大的前3对候选对的平均位置作为眼睛中心位置。输出眼睛位置。
为验证本发明的有效性,我们进行了如下实验:
眼睛定位算法使用的测试集包括如下3部分:
测试集1:由Yale B、AeroInfo、公安部一所人脸数据库组成,共包括209个人的4353张图像。其中Yale B数据库包括15个人,165张图像,其特点是光照变化比较复杂;AeroInfo数据库,由中国航天信息有限公司提供,包括165个人的3740张图像,其特点是外界光照、人脸的姿态变化复杂,并且背景复杂,人脸图像质量差;公安部一所人脸数据库,包括30个人的448张图像,其特点是光照变化复杂,有的人佩戴的眼镜还有强烈的反光;
测试集2:由BANCA人脸数据库的英语部分组成,共包括82个人的6540张图像。其特点是图像背景和图像质量有很大变化,包括受控、降质和恶劣三种场景下采集到的图像,另外光照和人脸姿态变化也很复杂,多人还佩戴有黑框眼镜;
测试集3:JAFFE数据库,包括213张人脸图像,其特点是人脸表情变化丰富;
在来源和变化如此丰富的集合上进行的测试应该能真实反映出一个定位算法的性能:
表1与其它定位算法在不同允许误差下的性能比较
与其它方法的性能比较如表1所示。其中与Identix[http://www.identix.com/]公司的著名产品FaceIT相比,本文算法在不同测试集上性能稳定,均优于FaceIT的定位精度,而FaceIT在实验中对人眼的开闭、人脸的尺寸等因素比较敏感;与Zhou[ZhouZH,Geng X.Projection functions for eye detection.Pattern Recognition,2004]方法相比,本文方法在JAFFE数据库上误差在0.10内的定位准确率即为98.6%,而其方法误差在0.25内的定位准确率仅为97.2%。
附图说明
图1一个典型的眼睛定位系统的硬件构成。
图2训练样本的收集流程。
图3单个眼睛样本和眼睛对样本示例。
图4眼睛定位系统的结构框图
图5眼睛定位过程示例。
图6采用的五种微结构特征模板。
图7积分图的计算和微结构特征的提取示例。
图8多级强分类器的级联结构。
图9基于AdaBoost算法的强分类器的训练流程。
图10眼睛对模板比例示意图。
图11基于本算法的人脸识别签到系统。
具体实施方式
整个人眼定位系统的硬件结构如图1所示,系统的训练过程和识别过程如图4所示,下面详细介绍系统的各个部分:
系统的输入是单个人脸区域图像。人脸检测部分不包含在本发明中,不进行详细说明。
A)训练系统的实现
A.1样本采集与归一化
A.1.1样本的收集
为训练单眼检测器,采用人手工标定的方法,从人脸图片中切割出单只眼睛图像,并从人脸图像非眼睛部位随机割取非眼睛样本。单只眼睛图像和非眼睛图像分别作为正例样本和反例样本用于训练单眼检测器。一些训练样本如图3(a)所示。
另外为训练眼睛对检测器,还根据人手工标定的眼睛位置,按照图7所示的比例从人脸图像中剪裁得到眼睛对样本,并从人脸图像中随机割取非眼睛对样本。眼睛对图像和非眼睛对图像分别作为正例样本和反例样本用于训练单眼检测器。一些采集到的样本如图3(b)示。这样采集到的样本不只包括两只眼睛还包括眉毛、鼻子等部位,体现了眼睛与周围器官的约束关系。
A.1.2尺寸归一化
将收集好的各尺寸的样本图像(包括单眼和非单眼、眼睛对和非眼睛对图像)归一化为指定尺寸。设原始样本图像为[F(x,y)]M×N,图像宽度为M,高度为N,图像位于第x行第y列的象素点的值为F(x,y)(0≤x<M,0≤y<N);设尺寸归一化后图像为[G(x,y)]W×H,图像宽度为W,高度为H,实验中对单眼样本取W=24,H=12,对眼睛对样本取W=25,H=15。
本发明使用反向投影和线性插值将原始样本图像变换到标准尺寸样本图像,则输入图像[F(x,y)]M×N与归一化后图像[G(x,y)]W×H之间的对应关系为:
G(x,y)=F(x/rx,y/ry)
其中rx和ry分别为x和y方向的尺度变换因子:rx=N/H,ry=M/W。根据线性插值方法,对于给定(x,y),令:
其中:
[·]为取整函数。插值过程可表示为:
G(x,y)=F(x0+Δx,y0+Δy)=F(x0,y0)ΔxΔy+F(x0+1,y0)(1-Δx)Δy
+F(x0,y0+1)Δx(1-Δy)+F(x0+1,y0+1)(1-Δx)(1-Δy)
A.1.3灰度归一化
本发明采用灰度均值、方差归一化对样本进行灰度均衡化处理,将样本图片灰度的均值
μ和方差
σ调整到给定值μ0和σ0。
首先采用下式计算样本图像G(x,y)(0≤x<W,0≤y<H)的均值和方差:
然后对每个像素点的灰度值进行如下变换:
从而将图像灰度的均值和方差调整到给定值μ0和σ0,完成样本的灰度归一化。
A.2单个眼睛检测器的训练
单眼检测器的训练使用归一化后的单眼睛样本和非眼睛样本的微结构特征库,利用AdaBoost算法训练得到单只眼睛检测器;其具体训练过程如下:
A.2.1特征提取
由于微结构特征可以利用整幅图像的积分图快速得到图像中任意尺度、任意位置的一种微结构特征,从而为眼睛的实时检测提供了可能。本发明采用图6中的五种类型微结构模板来提取人眼模式的高维微结构特征;通过计算图像中对应黑色区域和白色区域内像素灰度的差值得到特征,表达出眼睛模式的特点。
A.2.1.1积分图像的快速计算
对于一个图像I(x,y),(x≥0,y≥0),定义其对应的积分图像II(x,y)为从(0,0)到(x,y)范围内的所有像素之和,即
则原始图像I(x,y)中任何一个矩形区域中的像素和可通过积分图经3次加减法快速计算出。
A.2.1.2微结构特征的快速提取
以上任意一种微结构特征可以通过对应的积分图像经过若干次加减计算出。
我们以图6第(a)种类型特征的提取过程为例说明微结构特征的快速提取。如图7所示,在计算出整幅图像的积分图像后,对于左上角像素坐标为(x,y)、宽度为w个像素、高度为h个像素的第(a)种类型微结构特征可以如下计算:
g(x,y,w,h)=2·II(x+w-1,y-1)+II(x+2·w-1,y+h-1)
+II(x-1,y+h-1)-2·II(x+w-1,y+h-1)
-II(x+2·w-1,y-1)-II(x-1,y-1)
其中x,y,w,h受到下列约束:
x0≤x,y0≤y,
x+2·w≤x0+24,y+h≤y0+12
改变参数x,y,w,h可以提取不同位置、不同尺度的特征。其它类型的特征可以采取类似的方法提取。对于尺寸归一化为24×12像素的人眼模式,共得到42727个特征;
A.2.2特征选择和分类器设计
本发明使用AdaBoost算法选择特征和训练分类器。一方面AdaBoost算法在每轮迭代中选择出性能最好的基于单个特征的弱分类器,达到特征选择的目的;另一方面把这些弱分类器集成为一个强分类器,并通过将多个强分类器级联起来得到一个性能优秀的眼睛检测器。具体来说,包括以下几个组成部分:
A.2.2.1弱分类器的构造
弱分类器要具有非常高的分类速度,整个强分类器才能达到足够高的分类速度。本发明对应于每一维特征构造最简单的树分类器来作为弱分类器:
其中sub是一个24×12像素的样本,gj(sub)表示从该样本提取得到的第j个特征,θj是第j个特征对应的判决阈值,hj(sub)表示使用第j个特征构造的树分类器的判决输出。这样每个弱分类器只需要比较一次阈值就可以完成判决;共可得到42727个弱分类器。
A.2.2.2基于AdaBoost算法的眼睛/非眼睛强分类器设计
本发明将AdaBoost算法结合上述弱分类器构造方法用于训练眼睛/非眼睛强分类器。训练算法步骤如下(记给定训练集L={(subi,li)},i=1,...,n,li=0,1是样本图像subi的类别标号,分别对应非眼睛类别和眼睛类别):
A.2.2.2.1参数的初始化
训练样本权重的初始化。初始每个样本的权重为
选择迭代次数T(T即为希望使用的弱分类器的个数),T应随着强分类器层数的增多逐渐增多,具体选择值见表1;
统计样本集上每个特征分布的极大值Fmax(j)和极小值Fmin(j)(其中j为特征序号,1≤j≤42727);
A.2.2.2.2重复以下过程T次(t=1,...,T):
a.)使用第j个特征(1≤j≤42727)构造弱分类器hj,然后在Fmin(j)和Fmax(j)间穷举搜索阈值参数θj,使得hj的错误率εj最小,定义
b.)令
并将其对应的弱分类器作为ht;
c.)计算参数
d.)更新样本的权重
其中i=1,...,n,
对于通过强分类器判断的模式,本发明采用
得到模式属于眼睛的置信度,此处
A.2.2.3多层强分类器的级联
由于单层强分类器很难同时实现高分类速度,极低的FRR和极低的FAR等目标,所以整个眼睛检测器必须采用分层结构,由简单到复杂将多层强分类器级联起来,如图8所示。在检测时只要某个图像窗口不能通过其中任何一层,可立即排除掉,从而大大节省了计算量。
多层强分类器级联的具体训练步骤如下:
e)初始化i=1;定义每层强分类器的训练目标是在眼睛训练集上FRR≤0.1%,在非眼睛训练集上FAR≤60%;定义整个眼睛检测器在眼睛训练集上的目标FRR≤1%,在非眼睛训练集上的目标FAR≤5×10-4;
f)使用训练样本集采用(2.2.2)节中的方法训练第i层强分类器;
g)用训练得到的前i层分类器对样本集进行检测;
h)如果FRR、FAR未达到预定值,则i←i+1,返回步骤(b)继续进行训练;否则停止训练。
共训练得到7层结构从简单到复杂的强分类器;由这些强分类器级联构成一个完整的眼睛检测器。
A.3利用眼睛对分类器对眼睛候选对的验证
为了排除候选中的虚警和不精确的定位结果,本发明将左右眼睛候选配对,提取候选周围区域更多的特征,然后使用眼睛对分类器来验证每一对候选,最后根据后验概率从所有候选对中估计出双眼的最佳位置。眼睛对分类器的训练包括以下步骤:
A.3.1特征提取
采用图6中的五种类型微结构模板来提取双眼和非眼睛对样本的高维微结构特征。同样可以利用整幅图像的积分图像
快速得到任意尺度、任意位置的一种微结构特征。同样定义平方积分图像
用于计算每个矩形区域的方差。
由于每一种特征提取只涉及到矩形区域中像素和的计算问题,所以以上任意一种微结构特征可以通过积分图像若干次加减快速计算出。对于尺寸归一化为25×15像素的眼睛对模式,共得到71210个特征,组成该样本的特征矢量
FV(j),1≤j≤71210。
为了减轻光照的影响,需要对每一个25×15像素样本图像进行灰度均值和方差的归一化,所以首先要快速计算出小窗口的均值
μ和方差
σ,然后对每一维特征进行归一化,其中的25×15像素小窗口区域(x0≤x′≤x0+24,y0≤y′≤y0+14)内的像素灰度和的
μ和
σ分别为
μ=[II(x0+24,y0+14)+II(x0-1,y0-1)-II(x0-1,y0+14)-II(x0+24,y0-1)]/365
σ={[SqrII(x0+24,y0+14)+SqrII(x0-1,y0-1)-SqrII(x0-1,y0+14)
-SqrII(x0+24,y0-1)]/365-
μ2}1/2
对每一维微结构特征可以进行如下的归一化:
对于一个25×15像素的样本图像,共得到71210维微结构特征FV(j),1≤j≤71210。
A.3.2特征选择和分类器设计
为达到足够快的验证速度,一个眼睛对检测器必须采用分层结构(如图8所示),先由结构简单的强分类器排除掉图像中的背景窗口,然后由结构复杂的强分类器对余下窗口进行判断。本部分仍然使用AdaBoost算法选择特征和训练分类器。具体来说包括以下几个组成部分:
A.3.2.1弱分类器的构造
弱分类器仍使用一维特征构造的树分类器:
共可得到71210个弱分类器。
A.3.2.2基于AdaBoost算法的眼睛/非眼睛强分类器设计
将CS-AdaBoost算法结合上述弱分类器构造方法用于训练眼睛对强分类器。训练步骤如下(记训练样本集L={(subi,li)},i=1,...,n,li=0,1是样本图像subi的类别标号,分别对应非眼睛对类别和眼睛对类别,其中眼睛对样本neye个,非眼睛对样本nnoneye个):
A.3.2.2.1参数的初始化
训练样本误分类风险的初始化。对于每个眼睛对样本的误分类风险
对每个非眼睛对样本的误分类风险
(c是眼睛对类别是非眼睛对类别的误分类风险倍数,c值应大于1且随着强分类器层数的增多逐渐减小接近于1,具体选择值见表2);
训练样本权重的初始化。初始每个样本的权重为
选择迭代次数T(T即为希望使用的弱分类器的个数),T应随着强分类器层数的增多逐渐增多,具体选择值见表2;
统计样本集上每个特征分布的极大值Fmax(j)和极小值Fmin(j)(其中j为特征序号,1≤j≤71210):
A.3.2.2.2重复以下过程T次(t=1,...,T):
a.)使用第j个特征(1≤j≤71210)构造弱分类器hj,然后在Fmin(j)和Fmax(j)间穷举搜索阈值参数θj,使得hj的错误率εj最小,定义
b.)令
并将其对应的弱分类器作为ht;
c.)计算参数
d.)更新样本的权重
其中i=1,...,n,
A.3.2.2.3输出最后的强分类器
对于通过强分类器判断的模式,本发明采用
得到模式属于眼睛对的后验概率,此处
A.3.2.3多层强分类器的级联
整个眼睛对验证器采用分层结构,如图8所示。
多层强分类器级联的具体训练步骤如下:
i)初始化i=1;定义每层强分类器的训练目标是在眼睛对训练集上FRR≤0.1%,在非眼睛对训练集上FAR≤50%;定义整个眼睛对检测器在眼睛对训练集上的目标FRR≤1%,在非眼睛对训练集上的目标FAR≤1×10-3;
j)使用训练样本集采用4.2.2节中的方法训练第i层强分类器;
k)用训练得到的前i层分类器对样本集进行检测;
l)如果FRR、FAR未达到预定值,则i←i+1,返回步骤(b)继续进行训练;否则停止训练。
共训练得到9层结构从简单到复杂的强分类器,使用了1347个特征。;由这些强分类器级联构成一个完整的眼睛对检测器。
B)测试系统的实现
而眼睛检测阶段则包括以下步骤:
B.1估计左右眼睛所在的区域Ωlefteye和Ωrighteye
使用人脸灰度图像竖直方向投影的均值、方差函数来确定Ωlefteye和Ωrighteye在水平方向上的分界线,然后根据从训练样本中统计到的眼睛在人脸区域竖直方向上的分布规律,确定Ωlefteye和Ωrighteye的上下边界,从而估计出Ωlefteye和Ωrighteye。
B.1.1利用投影函数确定眼睛区域的左右分界线
B.1.2利用样本统计信息得到眼睛区域的上下边界
Ωlefteye、Ωrighteye的上下边界则可以利用人脸样本中眼睛位置在竖直方向的分布范围统计出来。有
Ωlefteye=(x,y),0<x<xpeak,0.05Hface<y<0.45Hface
Ωrighteye=(x,y),xpeak<x<Wface,0.05Hface<y<0.45Hface
B.2利用局部特征检测眼睛候选
在Ωlefteye、Ωrighteye两个区域中分别使用眼睛检测器检测左右眼睛候选位置,并估计出每个候选位置的置信度。眼睛候选的具体检测过程如下:
B.2.1计算输入人脸图像的积分图像
计算输入人脸图像I(x,y)对应的积分图像II(x,y)和平方积分图像SqrII(x,y):
B.2.2判别左右眼区域中的每一个的小窗口
判别Ωlefteye、Ωrighteye两个区域中的每一个的24×12像素尺寸的小窗口,对任一个小窗口[x0,y0;x0+23,y0+11]的处理步骤如下:
(B.2.2.1).利用整幅图像的积分图和平方积分图计算小窗口的均值和方差;
(B.2.2.2).利用积分图提取小窗口的微结构特征,并进行归一化处理;
(B.2.2.3).采用训练好的第i层强分类器对小窗口进行判断;
(B.2.2.4).如果通过判断,则i←i+1,返回步骤(B.2.2.3);否则抛弃掉该小窗口;
如果通过所有层强分类器的判断,则认为该小窗口包含一个眼睛候选,输出其位置及
其置信度。否则抛弃掉该小窗口,不进行后续处理;
由于真实的眼睛会在相邻位置处被检测到多次,并且眉毛和境框也常被误认为是眼睛候选。所以本发明根据候选的置信度大小输出最多前20个候选位置。
B.3眼睛候选对的验证
为了排除候选中的虚警和不精确的定位结果,本发明将左右眼睛候选配对,提取候选周围区域更多的特征,然后使用眼睛对分类器来验证每一对候选,最后根据后验概率从所有候选对中估计出双眼的最佳位置。对每一对眼睛候选,处理步骤包括以下:
B.3.1根据左右眼候选位置割取图像进行尺寸归一化
对每一对眼睛候选,首先根据左右眼候选位置按照模板(图10)所示位置割取图像,然后进行尺寸归一化和光照归一化,得到25×15像素的眼睛候选对图像PI(x,y)。
B.3.2输入图像积分图像的计算
用下式分别计算图像PI(x,y)对应的积分图像PII(x,y):
B.3.3眼睛候选对图像PI(x,y)的判断
对每一个图像的验证步骤如下:
(B.3.3.1).利用整幅图像的积分图PII(x,y)提取微结构特征;
(B.3.3.2).采用训练好的第i层强分类器对图像进行判断;
(B.3.3.3).如果通过判断,则i←i+1,返回步骤(B.3.3.1);否则抛弃掉该眼睛候选对;如果通过所有层强分类器的判断,则认为该候选对为有效候选对,输出其位置及其置信度;
最后,对所有通过判断的候选对按照置信度从大到小排序,取置信度最大的前3对候选对的平均位置作为眼睛中心位置。输出眼睛位置。
C)眼睛定位误差测试标准
为了比较不同定位算法的精度,本发明采用一种与人脸尺寸无关的定位误差度量标准。由于正面人脸的双眼中心间距一般不随表情等改变,具有相对的稳定性,所以以人工标定的双眼中心间距为基准。
对于一张人脸,设人工标定的左右眼和嘴巴位置分别为Ple、Pre和Pm,自动定位的左右眼和嘴巴位置分别为Ple′、Pre′和Pm′,dlr是Ple和Pre之间的欧氏距离,dle为Ple′与Ple间的欧氏距离,dre为Pre′与Pre间的欧氏距离,dm为Pm′与Pm间的欧氏距离。
则眼睛定位误差定义为:
考虑到不同人的手工标定结果之间的差异都可能达到0.10,本文以0.15作为定位准确与否的界限,当眼睛定位误差eeye<0.15时,认为双眼的定位是准确的;
实施例1:基于人脸的识别签到系统(如图9)
人脸认证是近来受到广泛关注的生物特征认证技术中最友好的一种认证方式,旨在利用人脸图像进行计算机自动个人身份认证,以代替传统的密码、证件、印章等身份认证方式,具有不易伪造、不会丢失以及方便等优点。本系统利用人脸信息来对人身份进行自动验证。其中使用的人脸检测模块是本文的研究成果。此外本系统还参加了ICPR2004组织的FAT2004竞赛。此次竞赛共有包括来自美国的Carnegie Mellon大学、德国的Neuroinformatik研究所、英国的Surrey大学等11个学术和商业机构的13个人脸识别算法参加。本实验室所提交的系统在三个评价指标上都比第二名以低约50%错误率的结果获得第一名。本文的研究成果应用在本实验实所提交系统的眼睛定位模块中,从而保证了系统的总体性能居于世界先进水平。
综上所述,本发明能够在具有复杂背景的图像中鲁棒精确地定位人脸,在实验中获得了优异的定位结果,具有非常广泛的应用前景。
Claims (1)
1.复杂背景图像中鲁棒的眼睛精确定位方法,其特征在于:
首先对收集到的眼睛样本和眼睛对样本进行尺寸归一化和光照归一化,以消除输入样本因光照和尺寸的不同而造成的类内差异,然后提取能反映模式结构特点的微结构特征,利用AdaBoost算法将基于这些微结构特征的弱分类器组成强分类器,然后把多层强分类器级联成一个完整的眼睛检测器和眼睛对验证器,从候选中得到精确的眼睛位置;
在由图像采集设备和计算机组成的系统中,所述眼睛精确定位方法包括训练阶段和检测阶段,其中训练阶段依次含有以下步骤:
步骤1样本采集与归一化
步骤1.1样本的采集
为训练单眼检测器,采用人手工标定的方法,从人脸图片中切割出单只眼睛图像,并从人脸图像非眼睛部位随机割取非眼睛样本,单只眼睛图像和非眼睛图像分别作为正例样本和反例样本用于训练单眼检测器;
另外为训练眼睛对检测器,还根据人手工标定的眼睛位置,按照设定的比例从人脸图像中剪裁得到眼睛对样本,并从人脸图像中随机割取非眼睛对样本,眼睛对图像和非眼睛对图像分别作为正例样本和反例样本用于训练眼睛对检测器;这样采集到的样本不只包括两只眼睛还包括眉毛、鼻子部位,体现了眼睛与周围器官的约束关系;
所述从人脸图像中剪裁得到眼睛对样本是按下述比例进行的:以双眼眼球中心的连线作为X轴,以垂直于所述双眼眼球中心的连线的垂直线作为Y轴,垂足位于双眼内侧间距1/2处的所述中心的连线上;当设定双眼眼球中心的间距为dist时,双眼眼球中心距左、右外边框的水平距离各为dist/3,而剪裁时上、下两条边框各距垂足距离为dist/2;
步骤1.2尺寸归一化
将收集好的各尺寸的样本图像,包括单眼和非单眼、眼睛对和非眼睛对图像,归一化为指定尺寸:设原始样本图像为[F(x,y)]M×N,图像宽度为M,高度为N,图像位于第x行第y列的像素点的值为F(x,y),0≤x<M,0≤y<N;设尺寸归一化后图像为[G(x,y)]W×H,图像宽度为W,高度为H,输入图像[F(x,y)]M×N与归一化后图像[G(x,y)]W×H之间的对应关系为:
G(x,y)=F(x/rx,y/ry)
其中rx和ry分别为x和y方向的尺度变换因子:rx=N/H,ry=M/W,根据线性插值方法,对于给定(x,y),令:
其中:
[·]为取整函数,插值过程可表示为:
G(x,y)=F(x0+Δx,y0+Δy)=F(x0,y0)ΔxΔy+F(x0+1,y0)(1-Δx)Δy
+F(x0,y0+1)Δx(1-Δy)+F(x0+1,y0+1)(1-Δx)(1-Δy)
步骤1.3灰度归一化
由于外界光照、成像设备因素可能导致图像亮度或对比度异常,出现强阴影或反光情况,所以还需要对几何归一化后的样本进行灰度均值、方差归一化处理,将样本图片灰度的均值
μ和方差
σ调整到给定值μ0和σ0:
首先采用下式计算样本图像G(x,y),0≤x<W,0≤y<H的均值和方差:
然后对每个像素点的灰度值进行如下变换:
从而将图像灰度的均值和方差调整到给定值μ0和σ0,完成样本的灰度归一化;
步骤2单眼检测器的训练
单眼检测器的训练使用归一化后的单眼睛样本和非眼睛样本的微结构特征库,利用AdaBoost算法训练得到单只眼睛检测器;其具体训练过程如下:
步骤2.1特征提取
步骤2.1.1设定下述五种类型微结构模板;
设定:用下述五种类型微结构模板来提取人脸样本的五种微结构特征,每一种微结构特征通过计算模板黑色区域和白色区域内所对应图像中像素灰度和的差值来得到,所述五种微结构特征
g(x,y,w,h)分别表示如下:
(a)类:黑色区域和白色区域左右对称且面积相等,用w表示其中各区域的宽,h表示其中各区域的高;
(b)类:黑色区域和白色区域上下对称且面积相等,w、h的定义与(a)类相同;
(c)类:在水平方向,黑色区域位于两块白色区域之间,且黑色区域和每块白色区域的面积相等,w、h的定义与(a)类相同;
(d)类:两块黑色区域分别处于第一象限和第三象限,两块白色区域分别处于第二和第四象限,每块黑色区域和每块白色区域的面积相等,w、h的定义与(a)类相同:
(e)类:黑色区域位于白色区域的中央,且黑色区域的上、下两边,左、右两边分别距离白色区域的上、下两边,左、右两边2个像素,w、h分别表示白色区域周框的宽和高:
步骤2.1.2快速计算积分图像:
对于所述图像I(x,y),定义其对应的积分图像II(x,y)为从(0,0)到(x,y)范围内的所有像素之和,即
步骤2.1.3提取单眼睛和非单眼样本的高维微结构特征:
每一种微结构特征通过计算模板所覆盖图像中黑色区域和白色区域内像素灰度和的差值来得到,并且模板相对于图像的位置以及模板的尺寸可以改变,由于每一种特征提取只涉及到矩形区域中像素和的计算问题,便于利用整幅图像的积分图像得到任意尺度、任意位置的一种微结构特征;
(a)
g(x,y,w,h)=2·II(x+w-1,y-1)+II(x+2·w-1,y+h-1)
+II(x-1,y+h-1)-2·II(x+w-1,y+h-1)
-II(x+2·w-1,y-1)-II(x-1,y-1)
(b)
g(x,y,w,h)=2II(x+w-1,y+h-1)+II(x-1,y-1)-II(x+w-1,y-1)
-2II(x-1,y+h-1)-II(x+w-1,y+2h-1)+II(x-1,y+2h-1)
(c)
g(x,y,w,h)=2II(x+2w-1,y+h-1)+2II(x+w-1,y-1)-2II(x+2w-1,y-1)
-2II(x+w-1,y+h-1)-II(x+3w-1,y+h-1)-II(x-1,y-1)
+II(x-1,y+h-1)+II(x+3w-1,y-1)
(d)
g(x,y,w,h)=-II(x-1,y-1)-II(x+2w-1,y-1)-II(x-1,y+2h-1)
-4II(x+w-1,y+h-1)+2II(x+w-1,y-1)+2II(x-1,y+h-1)
-II(x+2w-1,y+2h-1)+2II(x+2w-1,y+h-1)+2II(x+w-1,y+2h-1)
(e)
g(x,y,w,h)=II(x+w-1,y+h-1)+II(x-1,y-1)-II(x+w-1,y-1)-II(x-1,y+h-1)
-II(x+w-3,y+h-3)-II(x+1,y+1)+II(x+1,y+h-3)+II(x+w-1,y+1)
改变参数x,y,w,h的值可提取样本图像不同位置的微结构特征,对于尺寸归一化为24×12的眼睛/非眼睛样本图像可得到42727个特征,从而组成该样本图像的特征量FV(j),1≤j≤42727;
步骤2.2归一化样本图像特征量
首先计算24×12像素的样本图像区域(x0≤x′≤x0+23,y0≤y′≤y0+11)内的像素灰度和的均值
μ和方差
σ:
μ=[II(x0+23,y0+11)+II(x0-1,y0-1)-II(x0-1,y0+11)-II(x0+23,y0-1)]/288
σ={[SqrII(x0+23,y0+11)+SqrII(x0-1,y0-1)-SqrII(x0-1,y0+11)
-SqrII(x0+23,y0-1)]/288-
μ2}1/2
其次,对每一个微结构特征进行如下归一化:
对于一个24×12像素的样本图像,共得到42727维微结构特征FV(j),1≤j≤42727;
步骤2.3特征选择和分类器设计
使用AdaBoost算法选择特征和训练分类器:一方面AdaBoost算法在每轮迭代中选择出性能最好的基于单个特征的弱分类器,达到特征选择的目的;另一方面把这些弱分类器集成为一个强分类器,并通过将多个强分类器级联起来得到一个完整的眼睛检测器;包括以下几个组成部分:
步骤2.3.1弱分类器的构造
对应于每一维特征,构造最简单的树分类器来作为弱分类器:
其中sub是一个24×12像素的样本,gj(sub)表示从该样本提取得到的第j个特征,θj是第j个特征对应的判决阈值,该阈值通过统计所有采集的眼睛和非眼睛样本的第j个特征使得眼睛样本的错误拒绝率FRR满足规定的要求来得到,hj(sub)表示使用第j个特征构造的树分类器的判决输出,这样每个弱分类器只需要比较一次阈值就可以完成判决;共可得到42727个弱分类器;
步骤2.3.2基于AdaBoost算法的眼睛/非眼睛强分类器设计
将AdaBoost算法结合上述弱分类器构造方法用于训练眼睛/非眼睛强分类器;训练算法步骤如下,记给定训练集L={(subi,li)},i=1,...,n,li=0,1是样本图像subi的类别标号,分别对应非眼睛类别和眼睛类别,其中眼睛样本neye个,非眼睛样本nnoneye个;
步骤2.3.2.1参数的初始化
训练样本权重的初始化,初始每个样本的权重为
选择迭代次数T,T是希望使用的弱分类器的个数,T随着强分类器层数的增多逐渐增多;
统计样本集上每个特征分布的极大值Fmax(j)和极小值Fmin(j),其中j为特征序号,1≤j≤42727;
步骤2.3.2.2重复以下过程T次,t=1,...,T:
a.)使用第j个特征,1≤j≤42727构造弱分类器hj,然后在Fmin(j)和Fmax(j)间穷举搜索阈值参数θj,使得hj的错误率εj最小,定义
b.)令
并将其对应的弱分类器作为ht;
c.)计算参数
d.)更新样本的权重
其中i=1,...,n,
对于通过强分类器判断的模式,采用
得到模式属于眼睛的后验概率,此处
步骤2.3.3多层强分类器的级联
整个眼睛检测器采用分层结构,由简单到复杂将多层强分类器级联起来,多层强分类器级联的具体训练步骤如下:
a)初始化i=1;定义每层强分类器的训练目标是在眼睛训练集上FRR≤0.1%,在非眼睛训练集上错误接收率FAR≤60%;定义整个眼睛检测器在眼睛训练集上的目标FRR≤1%,在非眼睛训练集上的目标FAR≤5×10-4;
b)使用训练样本集采用步骤2.3.2所述的基于AdaBoost算法的来训练第i层眼睛/非眼睛强分类器;
c)用训练得到的前i层分类器对样本集进行检测;
d)如果FRR、FAR未达到预定值,则i值增加1,返回步骤(b)继续进行训练;否则停止训练;
共训练得到7层结构从简单到复杂的强分类器;由这些强分类器级联构成一个完整的眼睛检测器;
步骤3眼睛对分类器的训练
眼睛对分类器的训练使用归一化后的眼睛对样本和非眼睛对样本,分别提取两类样本的特征库,利用AdaBoost算法训练得到眼睛对分类器,眼睛对分类器所使用微结构特征及训练过程与单眼检测器的完全相同,都是使用AdaBoost算法从大量微结构特征中选择基于单个特征的弱分类器来构成强分类器,并将多层强分类器级联在一起;眼睛对分类器的具体训练过程同样包括特征提取、特征选择、强分类器的训练、多层强分类器的级联:
步骤3.1特征提取
使用归一化后的眼睛对样本和非眼睛对样本按上述步骤2.1所述的特征提取方法提取眼睛对和非眼睛对样本的高维微结构特征,对于尺寸归一化为25×15像素的样本,共得到71210个特征,组成该样本的特征量是
FV(j),1≤j≤71210;
步骤3.2为了减轻光照的影响,按步骤2.2所述的归一化样本图像特征量方法对每一个25×15像素样本进行灰度均值和方差的归一化:
首先,计算出所述25×15像素样本的灰度均值
μ和方差
σ,样本在整幅图像中的坐标区域为(x0≤x′≤x0+24,y0≤y′≤y0+14),则
μ和
σ分别为:
μ=[II(x0+24,y0+14)+II(x0-1,y0-1)-II(x0-1,y0+14)-II(x0+24,y0-1)]/365
σ={[SqrII(x0+24,y0+14)+SqrII(x0-1,y0-1)-SqrII(x0-1,y0+14)
-SqrII(x0+24,y0-1)]/365-
μ2}1/2
其次对每一个微结构特征进行如下的归一化:
对于一个25×15像素的样本图像,共得到71210维微结构特征FV(j),1≤j≤71210;
步骤3.3特征选择及分类器设计
眼睛对检测器也采用分层结构,先由结构简单的强分类器排除掉图像中的背景窗口,然后由结构复杂的强分类器对余下窗口进行判断,包括以下组成部分:
步骤3.3.1弱分类器的构造
弱分类器仍使用一维特征构造的树分类器;
共可得到71210个弱分类器;
步骤3.3.2基于AdaBoost算法的眼睛对/非眼睛对强分类器设计
将CS-AdaBoost算法结合上述弱分类器构造方法用于训练眼睛对强分类器,训练步骤如下,记训练样本集L={(subi,li)},i=1,...,n,li=0,1是样本图像subi的类别标号,分别对应非眼睛对类别和眼睛对类别,其中眼睛对样本neye个,非眼睛对样本nnoneye个:
步骤3.3.2.1参数的初始化
训练样本误分类风险的初始化,对于每个眼睛对样本的误分类风险
对每个非眼睛对样本的误分类风险
c是眼睛对类别是非眼睛对类别的误分类风险倍数,c值大于1且随着强分类器层数的增多逐渐减小接近于1;
训练样本权重的初始化,初始每个样本的权重为
选择迭代次数T,T即为希望使用的弱分类器的个数,T随着强分类器层数的增多逐渐增多;
统计样本集上每个特征分布的极大值Fmax(j)和极小值Fmin(j),其中j为特征序号,1≤j≤71210:
步骤3.3.2.2重复以下过程T次,t=1,...,T:
a.)使用第j个特征,1≤j≤71210,来构造弱分类器hj,然后在Fmin(j)和Fmax(j)间穷举搜索阈值参数θj,使得hj的错误率εj最小,定义
b.)令
并将其对应的弱分类器作为ht;
c.)计算参数
d.)更新样本的权重
其中i=1,...,n,
步骤3.3.2.3输出最后的强分类器
对于通过强分类器判断的模式,采用
得到模式属于眼睛对的置信度,此处
步骤3.3.3多层强分类器的级联
整个眼睛对验证器采用分层结构,多层强分类器级联的训练步骤如下:
a)初始化i=1;定义每层强分类器的训练目标是在眼睛对训练集上FRR≤0.1%,在非眼睛对训练集上FAR≤50%;定义整个眼睛对检测器在眼睛对训练集上的目标FRR≤1%,在非眼睛对训练集上的目标FAR≤1×10-3;
b)使用训练样本集采用步骤3.3.2所述的AdaBoost算法来训练第i层眼睛对/非眼睛对强分类器;
c)用训练得到的前i层分类器对样本集进行检测;
d)如果FRR、FAR未达到预定值,则i值增加1,返回步骤(b)继续进行训练;否则停止训练;
共训练得到9层结构从简单到复杂的强分类器;由这些强分类器级联构成一个完整的眼睛对检测器;
在眼睛检测阶段,对于一张输入的人脸区域,使用以下步骤来精确定位眼睛中心位置:
步骤1估计左右眼睛所在的区域Ωlefteye和Ωrighteye;
使用人脸图像竖直方向投影的均值、方差函数来确定Ωlefteye和Ωrighteye在水平方向上的分界线,然后根据从训练样本中统计到的眼睛在人脸区域竖直方向上的分布规律,确定Ωlefteye和Ωrighteye的上下边界,从而估计出Ωlefteye和Ωrighteye;
步骤1.1利用投影函数确定眼睛区域的左右分界线
取检测到的人脸区域的上半部分,以其垂直方向灰度投影的均值函数与方差函数的比值
步骤1.2利用样本统计信息得到眼睛区域的上下边界
Ωlefteye、Ωrighteye的上下边界则可以利用样本中眼睛在人脸竖直方向的分布位置统计出来;有
Ωlefteye=(x,y),0<x<xpeak,0.05Hface<y<0.45Hface
Ωrighteye=(x,y),xpeak<x<Wface,0.05Hface<y<0.45Hface
其中Hface、Wface为利用样本统计得出的人脸高度和宽度;
步骤2利用单眼检测器检测眼睛候选
在Ωlefteye、Ωrighteye两个区域中分别使用单眼检测器检测给出左右眼睛20个候选位置,并估计出每个候选位置的置信度,眼睛候选的具体检测过程如下:
步骤2.1输入人脸图像的积分图像的计算
计算输入人脸图像I(x,y)对应的积分图像II(x,y)和平方积分图像SqrII(x,y);
步骤2.2判别左右眼区域中的每一个的小窗口
判别Ωlefteye、Ωrighteye两个区域中的每一个的24×12像素尺寸的小窗口,对任一个小窗口[x0,y0;x0+23,y0+11]的处理步骤如下:
步骤2.2.1.利用整幅图像的积分图IIi(x,y)和平方积分图SqrIIi(x,y)计算小窗口的均值μ和方差
σ;
μ=[II(x0+23,y0+11)+II(x0-1,y0-1)-II(x0-1,y0+11)-II(x0+23,y0-1)]/288
σ={[SqrII(x0+23,y0+11)+SqrII(x0-1,y0-1)-SqrII(x0-1,y0+11)
-SqrII(x0+23,y0-1)]/288-
μ2}1/2
步骤2.2.2利用训练阶段步骤2.1的特征提取方法提取该小窗口的微结构特征,并进行特征归一化处理;
步骤2.2.3采用训练好的多层眼睛/非眼睛强分类器对小窗口进行判断;如果通过所有层强分类器的判断,则认为该小窗口包含一个眼睛候选,输出其位置及其置信度;否则抛弃掉该小窗口,不进行后续处理;最后根据候选的置信度大小输出最多前20个候选位置;
步骤3眼睛候选对的验证
为了排除眼睛候选中的误检测和不精确的定位结果,将左右眼睛候选配对,提取候选周围区域更多的特征,然后使用眼睛对分类器来验证每一对候选,最后根据后验概率从所有候选对中估计出双眼的最佳位置,对每一对眼睛候选,包括以下处理步骤:
步骤3.1根据左右眼候选位置割取图像进行尺寸归一化
对每一对眼睛候选,首先根据左右眼候选位置按照训练阶段步骤1.1中眼睛对样本的割取方式来割取图像,然后进行尺寸归一化和光照归一化,得到25×15像素的眼睛候选对图像PI(x,y);
步骤3.2输入图像积分图像的计算
计算图像PI(x,y)对应的积分图像
步骤3.3眼睛候选对图像PI(x,y)的判断
对每一眼睛候选对图像PI(x,y)的验证步骤如下:
步骤3.3.1利用整幅图像的积分图提取微结构特征;
步骤3.3.2采用训练好的第i层强分类器对图像进行判断;
步骤3.3.3如果通过判断,则i值增加1,返回步骤3.3.2;否则抛弃掉该眼睛候选对;如果通过所有层强分类器的判断,则认为该候选对为有效候选对,输出其位置及其置信度;
最后,对所有通过判断的候选对按照置信度从大到小排序,取置信度最大的前3对候选对的平均位置作为眼睛中心位置,输出眼睛位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510086249XA CN100336071C (zh) | 2005-08-19 | 2005-08-19 | 复杂背景图像中鲁棒的眼睛精确定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510086249XA CN100336071C (zh) | 2005-08-19 | 2005-08-19 | 复杂背景图像中鲁棒的眼睛精确定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1731418A CN1731418A (zh) | 2006-02-08 |
CN100336071C true CN100336071C (zh) | 2007-09-05 |
Family
ID=35963766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200510086249XA Expired - Fee Related CN100336071C (zh) | 2005-08-19 | 2005-08-19 | 复杂背景图像中鲁棒的眼睛精确定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100336071C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101909145B (zh) * | 2009-06-05 | 2012-03-28 | 鸿富锦精密工业(深圳)有限公司 | 影像杂讯过滤系统及方法 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440246C (zh) * | 2006-04-13 | 2008-12-03 | 北京中星微电子有限公司 | 一种人脸特征点定位方法 |
CN101196985B (zh) * | 2006-12-18 | 2011-06-01 | 北京海鑫科金高科技股份有限公司 | 一种用于复杂背景图像的眼睛定位方法 |
WO2008151471A1 (fr) * | 2007-06-15 | 2008-12-18 | Tsinghua University | Procédé de positionnementrobuste et précis de l'oeil dans une image d'arrière-plan compliquée |
CN101406390B (zh) * | 2007-10-10 | 2012-07-18 | 三星电子株式会社 | 检测人体部位和人的方法和设备以及对象检测方法和设备 |
JP5101993B2 (ja) * | 2007-11-01 | 2012-12-19 | キヤノン株式会社 | 情報処理装置および情報処理方法 |
CN101470802B (zh) * | 2007-12-28 | 2012-05-09 | 清华大学 | 物体检测装置和方法 |
CN101872477B (zh) * | 2009-04-24 | 2014-07-16 | 索尼株式会社 | 检测图像中的对象的方法、装置,及包括该装置的系统 |
CN101582163B (zh) * | 2009-06-25 | 2011-05-04 | 上海交通大学 | 视频监控图像中最清晰人脸的捕捉方法 |
CN101813976A (zh) * | 2010-03-09 | 2010-08-25 | 华南理工大学 | 基于soc的视线跟踪人机交互方法及装置 |
CN101782967B (zh) * | 2010-03-19 | 2012-01-04 | 周庆芬 | 脸部图像的亮度特征量提取方法及脸部图像的识别方法 |
JP5795847B2 (ja) * | 2010-09-15 | 2015-10-14 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
CN101984453B (zh) * | 2010-11-02 | 2013-05-08 | 中国科学技术大学 | 一种人眼识别系统及方法 |
CN102722708B (zh) * | 2012-05-16 | 2015-04-15 | 广州广电运通金融电子股份有限公司 | 一种薄片类介质分类方法及其装置 |
CN102968636B (zh) * | 2012-12-11 | 2015-09-09 | 山东神思电子技术股份有限公司 | 一种人脸轮廓的提取方法 |
CN103366162A (zh) * | 2013-07-12 | 2013-10-23 | 华为技术有限公司 | 一种确定眼睛状态的方法和设备 |
CN103942525A (zh) * | 2013-12-27 | 2014-07-23 | 高新兴科技集团股份有限公司 | 一种基于视频序列的实时人脸优选方法 |
CN103793720B (zh) * | 2014-02-12 | 2017-05-31 | 北京海鑫科金高科技股份有限公司 | 一种眼睛定位方法和系统 |
CN104408462B (zh) * | 2014-09-22 | 2017-10-13 | 广东工业大学 | 面部特征点快速定位方法 |
CN104732247B (zh) * | 2015-03-09 | 2018-04-27 | 北京工业大学 | 一种人脸特征定位方法 |
CN114758406B (zh) * | 2015-05-11 | 2024-02-23 | 奇跃公司 | 用于使用神经网络的生物特征用户识别的设备、方法和系统 |
CN106295668A (zh) * | 2015-05-29 | 2017-01-04 | 中云智慧(北京)科技有限公司 | 一种鲁棒的枪支检测方法 |
CN105095859B (zh) * | 2015-06-29 | 2019-03-15 | 小米科技有限责任公司 | 人脸识别方法和装置 |
RU2691195C1 (ru) * | 2015-09-11 | 2019-06-11 | Айверифай Инк. | Качество изображения и признака, улучшение изображения и выделение признаков для распознавания по сосудам глаза и лицам, и объединение информации о сосудах глаза с информацией о лицах и/или частях лиц для биометрических систем |
CN106326828B (zh) * | 2015-11-08 | 2019-07-19 | 北京巴塔科技有限公司 | 人脸识别中的眼睛定位方法 |
CN105512630B (zh) * | 2015-12-07 | 2019-05-17 | 天津大学 | 人眼检测与定位方法 |
CN105787928A (zh) * | 2016-02-14 | 2016-07-20 | 浙江大学 | 基于视觉模糊度的模糊眼底图像自动检测与筛查方法 |
CN107180244B (zh) * | 2016-03-10 | 2020-10-23 | 北京君正集成电路股份有限公司 | 一种基于级联分类器的图像检测方法及装置 |
CN106127677B (zh) * | 2016-06-22 | 2019-07-12 | 山东理工大学 | 局部样本投影轮廓约束的点云边界特征识别方法 |
CN106355138A (zh) * | 2016-08-18 | 2017-01-25 | 电子科技大学 | 基于深度学习和关键点特征提取的人脸识别方法 |
CN107169441A (zh) * | 2017-05-11 | 2017-09-15 | 南宁市正祥科技有限公司 | 一种快速人眼检测方法 |
CN107316036B (zh) * | 2017-06-09 | 2020-10-27 | 广州大学 | 一种基于级联分类器的害虫识别方法 |
CN107741784A (zh) * | 2017-10-09 | 2018-02-27 | 济南大学 | 一种适用于重度瘫痪病人的娱乐交互方法 |
CN108022411B (zh) * | 2017-11-30 | 2019-11-05 | 北京新锐翔通科技有限公司 | 基于图像处理的监控系统 |
CN109961455B (zh) | 2017-12-22 | 2022-03-04 | 杭州萤石软件有限公司 | 一种目标检测方法及装置 |
CN110458021A (zh) * | 2019-07-10 | 2019-11-15 | 上海交通大学 | 一种基于物理特性和分布特性的人脸运动单元检测方法 |
CN111626240B (zh) * | 2020-05-29 | 2023-04-07 | 歌尔科技有限公司 | 一种人脸图像识别方法、装置、设备及可读存储介质 |
CN113822105B (zh) * | 2020-07-07 | 2024-04-19 | 湖北亿立能科技股份有限公司 | 基于svm水标尺在线二分类器的人工智能水位监测系统 |
CN112561787B (zh) * | 2020-12-22 | 2024-03-22 | 维沃移动通信有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN115984836B (zh) * | 2023-03-20 | 2023-06-30 | 山东杨嘉汽车制造有限公司 | 一种铁路油罐车罐口识别定位方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001082216A1 (en) * | 2000-04-24 | 2001-11-01 | International Remote Imaging Systems, Inc. | Multi-neural net imaging apparatus and method |
WO2003081532A1 (en) * | 2002-03-27 | 2003-10-02 | Seeing Machines Pty Ltd | Method and apparatus for the automatic detection of facial features |
CN1474357A (zh) * | 2003-06-13 | 2004-02-11 | �Ϻ���ͨ��ѧ | 数字灰度图像中人脸眼睛中心的精确自动定位方法 |
-
2005
- 2005-08-19 CN CNB200510086249XA patent/CN100336071C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001082216A1 (en) * | 2000-04-24 | 2001-11-01 | International Remote Imaging Systems, Inc. | Multi-neural net imaging apparatus and method |
WO2003081532A1 (en) * | 2002-03-27 | 2003-10-02 | Seeing Machines Pty Ltd | Method and apparatus for the automatic detection of facial features |
CN1474357A (zh) * | 2003-06-13 | 2004-02-11 | �Ϻ���ͨ��ѧ | 数字灰度图像中人脸眼睛中心的精确自动定位方法 |
Non-Patent Citations (2)
Title |
---|
ROBUST PRECISE EYE LOCATION UNDERPROBABILISTIC FRAMEWORK Yong Ma, Xiaoqing Ding,Zhenger Wang,Ning Wang,IEEE FGR'04,Vol.2004年 2004 * |
基于对称变换的人脸图像眼睛定位方法 解明、马泳,光学技术,第30卷第2期 2004 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101909145B (zh) * | 2009-06-05 | 2012-03-28 | 鸿富锦精密工业(深圳)有限公司 | 影像杂讯过滤系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1731418A (zh) | 2006-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100336071C (zh) | 复杂背景图像中鲁棒的眼睛精确定位方法 | |
CN1191536C (zh) | 手形手势识别装置及识别方法 | |
CN100347723C (zh) | 基于几何代价与语义-识别代价结合的脱机手写汉字字符的切分方法 | |
CN1254769C (zh) | 图像处理方法和装置 | |
CN100336070C (zh) | 复杂背景图像中的鲁棒人脸检测方法 | |
CN1324521C (zh) | 用于识别图象字符的预处理设备和方法 | |
CN1213592C (zh) | 采用自适应二值化的图象处理方法和设备 | |
CN100345165C (zh) | 基于图像的超现实主义三维脸部建模的方法和设备 | |
CN1193284C (zh) | 用于分割手势的方法和设备 | |
CN1220162C (zh) | 用于从文档图象抽取标题的标题抽取设备及方法 | |
CN100347719C (zh) | 基于密度图模型的指纹识别方法 | |
CN1910900A (zh) | 防止擅自复制的设备、方法和程序 | |
CN1627315A (zh) | 目标检测 | |
CN1102270C (zh) | 信息处理方法和信息处理设备 | |
CN101052989A (zh) | 图像处理装置、掩模作成方法以及程序 | |
CN100348050C (zh) | 目标检测 | |
CN1664846A (zh) | 基于统计结构特征的联机手写汉字识别方法 | |
CN1162795A (zh) | 模式识别设备与方法 | |
CN1839410A (zh) | 图像处理设备、摄像设备、图像处理方法 | |
CN1804829A (zh) | 一种中文问题的语义分类方法 | |
CN1266643C (zh) | 基于阿拉伯字符集的印刷体字符识别方法 | |
CN1846232A (zh) | 使用加权信息的对象姿态估计和匹配系统 | |
CN1741035A (zh) | 印刷体阿拉伯字符集文本切分方法 | |
CN1595425A (zh) | 指纹多特征识别方法 | |
CN1658239A (zh) | 信号处理方法与设备以及记录介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070905 Termination date: 20190819 |