(计算机应用技术专业论文)基于近红外图像的实时精确人脸检测算法的研究.pdf_第1页
(计算机应用技术专业论文)基于近红外图像的实时精确人脸检测算法的研究.pdf_第2页
(计算机应用技术专业论文)基于近红外图像的实时精确人脸检测算法的研究.pdf_第3页
(计算机应用技术专业论文)基于近红外图像的实时精确人脸检测算法的研究.pdf_第4页
(计算机应用技术专业论文)基于近红外图像的实时精确人脸检测算法的研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机应用技术专业论文)基于近红外图像的实时精确人脸检测算法的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

d i s s e r t a t i o nf o rm a s t e rd e g r e e ,2 0 1 1s c h o o i n o :5 1 0 8 1 2 0 1 0 6 3 e a s tch _ nanormal u niver sit y a c c u r a t ea n dr e a l t i m ef a c ed e t e c t i o n b a s e do nn e a r - i n f r a r e di m a g e d e p a r t m e n t : m a j o r : q 幽巳型主皇 墨i 皇n 垦皇鱼凸鱼! 金b 凸q ! q 盟 q 匝巳垡! 呈 巳巳! l 垦坌! l q d r e s e a r c ha r e a :i m a r ep r o c e s s i n ga n dp a t t e r nr e c o g n i t i o n s u p e r v i s o r : 墨墨q l 坌! 全巳 q :巡金l g l d g ! q d g s t u d e n tn a m e : b 坌d g 田i 凸g 圣b 虽凸g o c t ,2 0 1 0 华东师范大学学位论文原创性声明 郑重声明:本人呈交的尹位论文硅洫乏枇亥磅南锄人鹾讶垂槲防j ? | 何究 是在华东师范大学攻读硒生博士( 请勾选) 学位期间,在导师的指导下进行的研究工 作及取得的研究成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表 或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确 说明并表示谢意。 学位 作者签名: 日期:如扣年f 月,6 日 华东师范大学学位论文著作权使用声明 彦岛司凛,本人在华东师范大学攻读 学位论文,本论文的研究成果归华 东师范大学所有。本人同意华东师范大学根据相关规定保留和使用此学位论文,并向主 管部门和相关机构如国家图书馆、中信所和“知网 送交学位论文的印刷版和电子版; 允许学位论文进入华东师范大学图书馆及数据库被查阅、借阅;同意学校将学位论文加 入全国博士、硕士学位论文共建单位数据库进行检索,将学位论文的标题和摘要汇编出 版,采用影印、缩印或者其它方式合理复制学位论文。 本学位论文属于( 请勾选) ( ) 1 经华东师范大学相关部门审查核定的“内部或“涉密”学位论文宰, 于年月日解密,解密后适用上述授权。 ( ) 2 不保密,适用上述授权。 导师签名 “涉密”学位论文应是已经华东师范大学学位评定委员会办公室或保密委员会审定过的学位 论文( 需附获批的 名,f 名:p ( n o n - o b j e c t ) 1( 2 2 ) p ( i m a g ein o n o b j e c t ) lp ( o b j e c t ) 、7 如果似然比 名,则判定为人脸。在计算类条件概率密度函数时,该方法把图像 区域划分为子区域,通过子区域的独立性假设来降低类条件概率密度函数 p ( i m a g eio b j e c t ) 和p ( i m a g ein o n o b j e c t ) 的复杂性,最后通过转化为稀疏编码的 直方图,通过训练样本的频率求得概率分布。 该方法的缺陷是人脸类和非人脸类的概率分布函数难以计算。 2 4 2 基于神经网络的方法 r o w l e y 等提出了基于神经网络的人脸检测方法【1 6 1 。该方法使用2 0 x 2 0 的图 像样本训练三层b p 网络。该网络的输入层有4 0 0 个结点,隐层的结点数目为2 6 个,输出层的结点数为l 。输入层对应于2 0 x2 0 的像素区域,隐层结点分别对应 图像的不同区域,与输入层部分相连,输出层输出1 和l 表示这个区域是否为人 脸。其中隐层的结点分为三种类型:4 个结点与输入图像对应的l o x1 0 的区域连 接;1 6 个结点与输入图像对应的5 5 的区域连接;6 个结点与输入图像对应的 2 0 x5 的区域连接。这种特定的连接方式使得每一个隐层结点只关注图像的局部 信息。例如与2 0 x 5 的长条区域对应的隐层结点可以检测嘴巴和眼睛,与方形区 域对应的隐层结点可以检测单眼、鼻子、嘴角等。然后使用训练得到的神经网络 进行人脸检测。 该方法的缺陷是神经网络学习算法存在过学习和局部极值的问题。 1 0 华东师范大学硕士学位论文 基于近红外图像的实时精确人脸检测算法的研究 2 4 3 基于支持向量机的方法 o s u n a 等首先将支持向量机引入人脸检测p 1 1 。支持向量机是由v a p n i k 提出 的一种基于结构风险最小化原理的统计学习算法,其基本思想是通过内积函数定 义的非线性变换,将输入空间变换到高维的空间,然后在这个空间里求最优分类 面。该方法直接训练非线性s v m 分类器完成人脸和非人脸的分类。 该方法的不足之处s v m 分类器需要较多的支持向量,计算量大。 2 4 4 基于a d a b o o s t 的方法 v i o l a 提出的基于a d a b o o s t 的方法【1 7 】是目前最为流行的人脸检测方法。该 方法通过积分图快速的计算h a a r 特征,利用a d a b o o s t 算法挑选出重要的特征并 构造弱分类器,然后通过弱分类器的线性组合构造一个强分类器,然后使用强分 类器的级联结构来提高检测速度。该方法不仅速度快,而且检测率也达到较高水 平。 2 5 眼睛定位算法 速度和精度是人脸检测系统的两个关键指标,眼睛定位的准确程度代表着人 脸检测系统的精度。目前常用的眼睛定位方法有积分投影法、a d a b o o s t 训练法、 图像差分法、q u o i t 滤波法等。 积分投影法先对脸部图像在水平方向和垂直方向进行投影,然后利用眼睛区 域在投影直方图中形成波峰或者波谷的特点进行眼睛的定位1 3 2 】【3 3 】。这种方法只 适合人脸旋转角度较小的情况,而且对图像的质量要求高,容易受到带眼镜干扰。 “将h a a r 特征和a d a b o o s t 算法应用于眼睛检澳u f 4 j 。该方法使用眼睛样本进行 眼睛检测器的训练,然后使用眼睛检测器进行眼睛的定位。在训练眼睛检测器时 考虑到了眼睛定位时的戴眼镜和不戴眼镜问题,在满足实时性的要求下到达了较 好的结果。 一些学者利用近红外视频图像中奇偶帧分别为“亮瞳孔 和“暗瞳孔 的特 点,对两幅图像作差进行瞳孔定位f 蚓【2 3 】。这类方法对硬件的要求较高,需要通 过控制电路对同轴l e d 和外围l e d 的亮暗同步交替控制,以获取连续的“亮瞳 孔和“暗瞳孔 交替的图像序列。 l l 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 i t 3 5 1 针对近红外人脸图像具有“瞳孔高亮 的特征,提出了基于数理形态 学的q u o “滤波器的眼睛定位方法。该方法考虑到每个人瞳孔大小的差异,提出 使用多尺度的q u o i t 滤波器以提高准确性。但是此方法对眼镜带来的干扰问题还 不能解决,只适用于不戴眼镜的情况。 2 6 数理形态学 数理形态学是分析几何形状和结构的数学方法,它建立在集合代数基础上, 用集合论方法定量的描述几何结构3 6 1 。数理形态学以图像的形态特征作为研究 对象,描述图像的基本特征和基本结构,其基本思想是用具有一定形态的结构元 素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。 数理形态学的运算以膨胀和腐蚀这两种基本运算为基础,引出其他几种常用 的运算:开运算、闭运算、击中、细化和粗化。这些运算及其组合可以进行图像 形状和结构的分析及处理,包括图像滤波、图像分割、图像测量、图像增强和恢 复等方面的工作。下面重点介绍灰度图像的膨胀和腐蚀运算。 ( 1 ) 膨胀运算 对于灰度图像而言,膨胀运算指对于结果图像每个像素点的灰度值,由原始 图像被结构元素所覆盖的区域内像素点的灰度最大值确定。使用结构元素b 对图 像f 进行灰度膨胀表示为厂0 b ,定义为: ( 0 6 ) ( 工,y ) = m a x f ( x - x ,y y t ) + 6 ( 工:y ) l ( x - - x ,y y ) j d ,;( 工,y ) 见) ( 2 3 ) 其中d ,和q 为图像f 和结构元素b 的定义域。通常采用扁平的结构元素对图像 进行膨胀运算。扁平结构元素没有权值关系,它完全由其空间范围定义,其定义 域内所有像素点的数值均为0 ,即b ( x t ,y i ) = o g :y i ) b 。这种情况下,灰度 膨胀公式可简化为: ( 06 ) ( 工,y ) = m a x f ( x - x , y - y ) i ( x - - x ,y - y ) d ,;( 工:y - ) ( 2 4 ) 因此,采用扁平结构元素b 对图像f 进行膨胀运算的过程,可以认为结构元素b 在图像f 的不同位置上移动,并计算结构元素所覆盖的区域内的像素灰度值最大 值的过程。 ( 2 ) 腐蚀运算 对于灰度图像而言,腐蚀运算指对于结果图像每个像素点的灰度值,由原始 图像被结构元素所覆盖的区域内像素点的灰度最小值确定。 】2 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 使用结构元素b 对图像f 进行灰度腐蚀表示为f o b ,定义为: ( 0 6 ) ( 工,y ) = m i n ( 工+ 工:y + y ) 一6 ( 工:y - ) i ( 工+ x y + y ) d ,;( x ,y t ) p 6 ( 2 5 ) 其中d ,和q 为图像f 和结构元素b 的定义域。同理,图像的膨胀运算通常也采 用扁平的结构元素来执行。所以灰度腐蚀公式简化为: ( 0 6 ) ( 工,y ) = m i n 厂( 工+ x :y + y ) i ( x + 工:y + y ) d ,;( 工,y ) q ) ( 2 6 ) 因此,采用扁平结构元素b 对图像f 进行腐蚀运算的过程,可以认为结构元素b 在图像f 的不同位置上移动,并计算结构元素所覆盖的区域内的像素灰度值最小 值的过程。 2 7 本章小结 本章对人脸检测领域相关的基础知识做了详细的描述。首先介绍了近红外图 像的成像原理和近红外图像的特征,然后介绍了人脸图像归一化的处理,接着介 绍人脸检测领域常用的表现特征和学习算法及眼睛定位方法,最后介绍了数理形 态学的背景知识。 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 第3 章一种新型的近红外图像人脸检测算法 3 1 算法概要 本文在总结前人研究的基础上,提出了一种新型的近红外图像人脸检测算 法。此方法的特点是不仅可以精确的定位眼睛,而且达到了实时性的要求,在 一定程度上解决了戴眼镜时眼睛定位的难题。本文的算法由以下两个部分组成:, 人脸区域检测和眼睛精确定位。人脸区域检测采用基于h a a r 特征和a d a b o o s t 算法的方法,眼睛精确定位采用基于数理形态学的n q u o i t 滤波器7 】的方法和 “人脸可信度最大”准则。 算法流程如图3 1 所示:对一幅待检测的图像,采用基于h a a r 特征和 a d a b o o s t 的人脸检测算法进行人脸检测;当检测到人脸区域后,先采用眼镜检 测器进行戴眼镜不戴眼镜的预判断。如果检测为不戴眼镜,则采用基于数理形 态学的n q u o i t 滤波器分别在左眼和右眼区域进行眼睛精确定位。若眼睛定位 失败,则转入“戴眼镜模式的眼睛定位模块。如果检测为戴眼镜,则直接进 入“戴眼镜模式”模块,采用“人脸可信度最大 准则进行眼睛定位。 1 4 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 待检测图像 左眼位置右眼位置 图3 1 算法流程图 3 2 基于h a a r 特征和a d a b o o s t 算法的人脸区域检测 人脸区域检测的目标是找出图像中人脸的区域,通常用矩形框来表示。人脸 区域检测的结果可以通过如下两个指标来评价:检测率和误检率。检测率反映算 法对真实人脸的检测能力,其定义为: 捌率= 蒜嬲羰蒜枷 n - , 一”一 待检测的全部人脸数目 v 一7 误检率是指将非人脸区域误判为人脸区域的比例,反映算法对非人脸区域的拒绝 能力,其定义为: 误检率= 蔷滁1 0 0 o ( 3 2 ) 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 一个好的人脸区域定位算法需要具备以下几点:( 1 ) 达到较高检测率的条件下 具有很低的误检率。通常要求检测率达到9 0 以上,误检率按照实际要求而定( 通 常小于1 旷) 。( 2 ) 人脸区域检测准确。如果检测到的人脸区域和真实位置偏差太 大,则会对后续的眼睛定位效果产生负面影响。( 3 ) 检测速度快。总体的算法包 括人脸区域检测和眼睛定位两部分,若算法要达到实时性的要求,则人脸区域检 测需要在很短的时间内完成。 人脸区域检测由a d a b o o s t 训练算法和人脸检测两部分组成。这里a d a b o o s t 训练算法的目标是学习出一个能够区分一个图像子窗口是否为人脸的分类器。人 脸检测部分则采用训练得到的人脸分类器,对待检测图像的所有位置和尺度的子 窗口进行人脸与否的判断,并对检测结果进行合并形成最终的人脸区域。 3 2 1 基于a d a b o o s t 算法的人脸分类器的构建 a d a b o o s t 是一种通过集成多个弱分类器而最终形成强分类器的算法。在人 脸区域检测部分,本文采用h a a r 特征作为人脸表示特征,然后使用a d a b o o s t 选取重要的特征并构建分类器。弱分类器的含义是指我们并不期望它的分类能力 很强( 例如分类错误率略低于5 0 t i p 可) 。在两类分类问题中,只要比随机猜测 好的分类器都可以作为弱分类器。下面具体说明弱分类器的定义和强分类器的构 建过程。 ( 1 ) 弱分类器:人脸区域检测是一个二值问题,只需判断某一区域是人脸或者不是 人脸即可。一个二值弱分类器由以下三个属性组成:特征函数( x ) ,二值化阈 值舅和偏置方向p ,其定义如下: 驰) - 嬲功镥已艨示胞晰拟脸 ( 3 3 ) 这里的一个弱分类器和一个h a a r 特征相对应。本文仅采用图2 5 所示的4 类基 本的h a a r 特征进行训练。在一个固定大小的归一化子窗口内,h a a r 特征在不同 的位置、不同的大小、不同的类型对应不同的特征,所以h a a r 特征的数目很大。 ( 2 ) 强分类器:由于h a a r 特征的数量很多,我们采用a d a b o o s t 算法选取重要的特 征并构建一个强分类器。a d a b o o s t 的训练过程可以解释为贪心的特征选择过程, 训练过程中的每一轮都选取分类能力最强的弱分类器( h a a r 特征) 。其算法如下: 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 表3 1a d a b o o s t 训练算法 l 给足训练样本( 五,乃) ,。,亿,咒) 薯表不训练样本乃2o l 表不样本属性, 其中0 表示反例样本( 非人脸样本) ,1 表示正例样本( 人脸样本) 。 初始化样本权重:对咒= o 1 ,m j = 亡,去,肌,分别表示反例样本和正 z ,靠z l 力,f = 1 ,t 吡广篪 对每一个特征j ,训练出一个弱分类器吃( 工) 。并计算对应的加权 错误率。= 窆w i 乃( ) 一乃l 选择错误率最低的弱分类器忽,对应的加权错误率为岛 更新样本权重:嵋小= 嵋一,毛被正确分类时,e l - 0 ;否则j , 弓2 1 ;屈2 压 肿 1 攀t 0 净撕札g l ,其他 m a d a b o o s t 训练算法有着强有力的理论支持。如果每一轮都能找到错误率低 于5 0 的最佳弱分类器,当弱分类器个数趋于无穷多时,那么强分类器的错误率 逼近零【弱j 。 最佳弱分类器训练算法:上述的强分类器训练算法中,每一轮需要对所有的 特征进行训练,并选取出错误率最低的弱分类器作为本轮的弱分类器。通常称错 误率最低的弱分类器为最佳弱分类器。下面详细说明最佳弱分类器的训练算法。 1 7 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 表3 2 最佳弱分类器训练算法 s t e p l :对每一个特征计算所有训练样本的特征值六( ) ,= 1 k ,i = l n , k 为特征总数,为样本总数。并按特征值从大到小排序。 s t e p 2 :对排序后的每一个特征值计算以下4 个值: r :全部人脸样本的权重和 r 一:全部非人脸样本的权重和 :此特征值之前人脸样本权重和 s 一:此特征值之前非人脸样本权重和 s t e p 3 :求该特征值作为阈值时的分类误差 岛= s + + ( r 一一s 一) ,乞= s 一+ ( r + 一s + ) ,e = m s n q ,e 蔓) p = 【- 1 , l e ,1 兵 c 哪d b e g i n ( 1 ) 初始化= l ( 2 ) 用当前训练集训练当前强分类器e a ) 根据a d a b o o s t 算法步骤,训练一个具有个特征的强分类器。 b ) 调整本级强分类器阈值,使当前生成的级联分类器在验证集上的检测 率口不低于d q q 。 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 c ) 用当前生成的级联分类器在验证集上测试误检率坷。 d ) 若误检率e f x 足l ,则增加一个弱分类器= 吩+ 1 ,重复步骤a 川。 最终,构成本级强分类器e : e ( x ) = j 劬( - - l 嘭吩( x ) 一去绣q ) ,其中,吩是本级训练出的弱分类器 t = lt = 1 个数,= l o g 厉1 是第t 个弱分类器的权重,刀j 是阈值的松弛系数。 ( 3 ) 自举反例样本,形成下一级反例样本训练集 将训练用反例样本集s 一清空。从反例样本库中,随机取出一个反例样本, 如果它被当前生成的级联分类器错误分类,则将它添加到下一级的反例 样本集中。重复此过程,直到训练用反例样本集的数量达到预定义的反 例样本数量。 e n d 3 2 2 人脸检测处理 通过上述方法训练得到人脸分类器只能对特定大小的子窗口进行人脸与否 的判断。但是图像中的人脸大小、位置都是不确定的,为了能够检测到不同尺度 和位置的人脸,本文采用“图像金字塔 的方法进行图像的扫描处理。 具体的扫描流程如下:对一幅待检测的图像,使用人脸分类器对图像的各个 子窗口进行人脸与否的判断;然后缩小图像,再依次对图像的每个子窗口进行判 断;循环上述过程直到缩小后的图像尺寸小于人脸分类器的尺寸。当人脸区域缩 小到接近于人脸分类器的尺寸时,分类器就能够检测到它。 o ono 图3 3 图像金字塔 与“图像金字塔 扫描处理相关的参数主要有以下三个: 七:表示图像缩小的比例( k ( 3 7 ) ej v l m e r b 一 则l e y e 为左眼位置,r e y e 为右眼位置。其中r a 为左眼坐标候选区域,r b 为右 眼坐标候选区域。当检测到人脸区域后,即可确定r a 、r b 区域。a 代表r a 区域内的一个点,仍代表r b 区域内的一个点。点l e y e 和点r e y e 代表使用“人 脸可信度最大 准则确定的双眼坐标。此方法用全局的观点来确定眼睛的位置, 后续的实验表明此方法有较好的效果。 具体的眼睛定位方法如下:当检测到人脸区域后,即可确定左眼坐标候选区 域r a 和右眼坐标候选区域r b 。在r a 区域内取1 1 个点作为左眼坐标候选点, 同样在r b 区域内取1 1 个点作为右眼坐标候选点,那么它们可以两两组成n 2 个眼 睛坐标点对。然后对这n 2 个点对分别计算f a c e n e s s 值,并且计算n 2 个f a c e n e s s 值的最大值,此最大值对应的点对即为左右眼睛坐标。 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 1 :l ii 一l 一除习闺 t 一。翟“, 埘1 3 4 本章小结 。本章首先从总体上对新型的人脸检测算法进行了描述。本算法包括人脸区域 检测和眼睛精确定位两部分。人脸区域检测采用经典的基于h a a r 特征和 a d a b o o s t 算法的人脸检测方法。在确定人脸区域后,使用眼镜检测器对人脸图 像进行戴眼镜与否的判断,然后根据相应的结果采用不同的方法进行眼睛定位。 2 6 华东师范大学硕士学位论文 基于近红外图像的实时精确人脸检测算法的研究 第4 章系统设计和实现 本文旨在探索一种应用于近红外图像的实时精确人脸检测算法。第三章已经 对算法的全部内容作了详细的阐述,但是没有涉及到系统的设计问题。本章将从 软件工程的角度对人脸检测系统进行设计和实现。 4 1 系统总体结构 由第三章可知,本文的人脸检测算法由人脸区域检测和眼睛精确定位两部分 组成。人脸区域检测是由a d a b o o s t 算法训练得到的人脸分类器实现的,眼睛精 确定位则是在检测到的人脸区域基础上进行的。所以本文的人脸检测系统分为 a d a b o o s t 训练子系统和眼睛定位子系统。a d a b o o s t 训练子系统的主要功能是利 用训练样本和特征集合根据a d a b o o s t 学习算法训练出人脸分类器。眼睛定位子 系统则在训练得到的人脸分类器的基础上对输入图像进行人脸区域检测和眼睛 的精确定位。 图4 1 系统总体图 4 2a d a b o o s t 训练子系统设计与实现 a d a b o o s t 训练子系统的目标是根据给定的训练样本和特征集合,使用 a d a b o o s t 学习算法训练出符合要求的人脸分类器。 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 4 2 1 人脸图像归一化处理模块 功能描述:将原始人脸图像转化成归一化人脸图像。 输入:原始人脸图像、原始人脸图像左右眼睛坐标、归一化图像的大小、归一 化图像的眼睛坐标 输出:归一化人脸图像 说明:本文2 2 节已经对人脸归一化处理步骤进行了描述。由于归一化图像的大 小和眼睛位置是已知的,这里采用逆变换方法进行归一化处理,变换公式如下: ix = k ( u x c o s a v x s i n a ) + g 1y = k ( u x s i n 口+ 1 ,c o s 叻+ 办 ( 4 1 ) 其中, x ,y 为原始图像的坐标,甜,为归一化图像的坐标。七为图像缩放倍数, 口表示旋转角度。 人脸归一化的步骤如下: ( 1 ) 求缩放倍数k = 原始人脸的双眼间距归一化人脸的双眼间距 ( 2 ) 求输入人脸旋转角度= a r g t a n 型筌兰兰丝譬一 一 ( 3 ) 计算平移量g ,h 。假设原始图像中左眼坐标为( e y e l r ,e y e l y ) ,归 一化后人脸图像中左眼坐标为( n o r m e y e l x ,n o r m e y e l y ) 。把上述两个点 的坐标代入式子4 1 ,即可计算出g ,h ,计算方式如下: 佐he 咖y e l y - 以k ( 仞n o 。r 州m e y e l 麟xxs c o i n 孵o t + 吲n o 删r m e y e l , y xc 咖o s : ( 4 2 ) i =功 、7 ( 4 ) 通过上述三步的计算,即可求出口,七,g ,h 。对归一化图像中每个点的 坐标( 材,) ,通过式子( 4 1 ) 计算原始图像中对应的坐标( x ,y ) ,然后通过 插值处理得到归一化图像的像素值。 4 2 2 初始训练用非人脸样本生成模块 功能描述:用于生成第一个强分类器训练用的非人脸样本。 输入:原始非人脸图像库、需要生成的非人脸样本个数、非人脸样本的大小 输出:非人脸样本 说明:为了保证初始训练用非人脸的质量,采用随机的方式来生成。具体步骤 功能描述:计算所有样本对应所有h a a r 特征的特征值,并保存为文件。 输入:训练用正例和反例样本、h a a r 特征集合 输出:特征向量集文件 说明:当特征总数为k 、样本总数为时,训练一个具有r 个弱分类器的强分 类器的时间复杂度为:o ( t x k x n 2x l o g ( n ) ) ,因为在弱分类器算法中,每训练 一个弱分类器都要对特征向量进行排序( 表3 2 最佳弱分类器训练算法) 。而我 们可以把所有样本对应所有h a m 特征的特征值进行排序并保存,这样每次训练 华东师范大学硕士学位论文 基于近红外图像的实时精确人脸检测算法的研究 最佳弱分类器时就不再需要排序处理,时间复杂度降为:o ( t x k xn ) 。 4 2 5 强分类器训练模块 功能描述:利用特征向量集文件,使用a d a b o o s t 算法训练出在验证集上符合检 测率和误检率的强分类器。 输入:特征向量集文件、验证集、检测率和误检率 输出:强分类器 说明:由第三章可知,一个二值弱分类器由以下三个属性组成:特征函数六( x ) , 二值化阈值p ,和偏置方向p ,基于h a a r 特征的弱分类器类可以定义为: 弱分类器二值化阈值 弱分类器的偏置方向( 一1 ,+ 1 ) 弱分类器所对应的权重系数 h a a r 特征 弱分类器加权错误率 j : 强分类器训练模块是整个a d a b o o s t 训练子系统的核心模块,它又可划分为 样本权重初始化、样本权重归一化、训练最佳弱分类器、样本权重更新和调整强 分类器阈值子模块。它们的功能和第三章a d a b o o s t 强分类器训练算法( 表3 1 ) 中的内容相对应。 ( 1 ) 样本权重初始化:设定正例样本的权重为去,反例样本权重为,册分 z lz 朋 别为正例样本和反例样本个数。 ( 2 ) 样本权重归一化:使所有样本的权重和l ,符合概率密度分布。 ( 3 ) 训练最佳弱分类器:对每一个h a a r 特征进行训练,然后选出加权错误率最 低的h a a r 特征最为最佳特征( 弱分类器) 。 ( 4 ) 样本权重更新:增加被当前弱分类器错误分类的样本的权重。 ( 5 ) 调整强分类器阈值:在验证集上,调整当前的强分类器的阈值来判断是否符 合设定的检测率和误检率。算法流程如下: 假设每级强分类器的最低检测率为d r ,最大误检率为f r ,当前验证样本数 c ;n 曲f m 如 们 k”岫t n “ 曳a :t t h t r 眺 k呲呲冽呲|莒 s 乩n 曲n 蚶n 伽 :; 眦n 曲n 蚶n 伽 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 目为。 s t e p l :对验证集上的每个样本工,计算器对应的强分类器的输出值 s = q q ( x ) 。 f ;l s t e p 2 :对 s ) 从小到大排序得到( 墨,最,& ) ( 墨是s s & ) ,对应的样 本标签为u ,五,厶) 。 s t e p 3 :i 从n 到1 ,依次计算以墨作为强分类器阈值时的检测率,直到找到 满足目标检测率d r 的位置j 。 s t e p 4 :计算砖作为强分类器阈值时的误检率。如果此时的误检率高于目标 误检率,则当前的强分类器不符合要求;否则当前强分类器符合要求, 阈值为s 。 4 2 6 自举训练用反例样本模块 功能描述:使用训练出来的当前级联分类器自举反例样本。 输入:原始非人脸图像库、当前级联分类器、要生成的非人脸样本个数、非人脸 样本的大小 输出:误检的非人脸样本 说明:训练级联分类器时,反例样本的处理是一个关键的问题。本文使用训练出 的当前级联分类器对原始非人脸图像库进行检测,将误检的子窗口保存下来作为 下一级强分类器训练用的反例样本。这样的反例样本有比较好的代表性。当级联 分类器的误检率比较高时,采用随机的自举方式;当级联分类器的误检率很低时, 采用顺序自举的方法来提高效率。 4 2 7 更新验证用样本模块 功能描述:使用当前强分类器去更新验证集。 输入:当前强分类器、验证集 输出:更新后的验证集 说明:删除验证集中被当前强分类器正确分类的反例样本,对验证集中的正例样 3 1 华东师范大学硕士学位论文 基于近红外图像的实时精确人脸检测算法的研究 本不做处理。更新后的验证集用于训练下一级强分类器。 4 2 8 级联分类器训练模块 功能描述:用于训练级联分类器。 输入:训练样本库、验证样本库、级联分类器的最大误检率、每级强分类器的 检测率和误检率 输出:级联分类器 说明:本模块为a d a b o o s t 子系统最高层模块,负责调用其他模块。级联分类器 的结构体定义如下: s t r u c ts c s c d v e c t o r ( c h a a r w c ) 耽:弱分类数组 v e c t o r ( i n t n u m ;每级强分类器中弱分类器个数数组 v e c t o r f l o a t yt h ; 每级强分类器阈值数组 i n tw i d t h ;搜索窗宽度 i n th e i g h t : 搜索窗高度 ) ; 数组n u m 表示每个强分类器中的弱分类器个数,数组廿l 表示每个强分类器的阈 值,数组w c 表示级联分类器中所有的弱分类器( 按顺序排列) 。数组r l u m 和数 组廿l 的长度相同,它们的长度代表级联分类器的级联数目。数组s u m 所有元素 的和等于数组w c 的长度。 4 3 眼睛定位子系统设计与实现 眼睛定位子系统的功能是使用训练得到的人脸分类器对输入图像进行人脸 检测,并输出眼睛坐标。 眼睛定位子系统可分为人脸区域检测和眼睛定位两大模块。人脸区域检测模 块使用训练得到的人脸分类器,采用图像金字塔的方式对输入图像进行搜索,然 后合并人脸区域返回最终的人脸区域。眼睛定位模块在检测到的人脸区域基础上 进行眼睛定位。 4 3 1 人脸区域检测模块 功能描述:对一幅待检测的图像,使用人脸分类器检测各个位置和尺度的人脸。 华东师范大学硕士学位论文 基于近红外图像的实时精确人脸检测算法的研究 输入:待检测的图像、人脸分类器 输出:检测到的人脸区域 说明:人脸区域检测模块的接口定义如下: v e c t o r 木d e t e c t f a c e s ( s i m a g e & i m g ,s c s c d & c s c d ) : 第一个参数表示输入的图像,第二个参数表示人脸分类器。它返回一个指向 矩形结构体向量的指针,这个向量的长度代表人脸的个数,每个矩形结构体表示 人脸区域的位置。 图像结构体定义如下: s t r u c tsi m a g e u n s i g n e dc h a r * b y t e s : 图像数据( 从上到下以行优先方式排列) i n tw i d t h ; 图像宽度 i n t h e i g h t ; 图像高度 ) 矩形结构体定义如下: s t r u c ts r e c t a n g l e i n tt l _ x ; 矩形左上角点的x 坐标 种 i n tt ly ; 矩形左上角点的y 坐标 i n tb rx ; 矩形右下角点的x 坐标 i n tb ry ; 矩形右下角点的y 坐标 矗 i n tr : 矩形的权重 ) : 基于金字塔结构的人脸区域检测算法流程如下: s t e p l :根据输入图像和图像缩小倍数k 以及人脸分类器的大小确定图像金字 塔的层数。 s t e p 2 :f o ri = 0 t on - 1 将输入图像j r 缩小倍,得到缩小后的图像,。 按搜索步长吱和d ,对图像,进行搜索。若子窗口( 墨y ) 被判定为人 脸,则把子窗口的坐标和当前图像的层数( x ,y ,i ) 加入结果集r 。 s t e p 3 :合并结果集r 。 s t e p 4 :输出合并后的人脸区域。 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 4 3 2 眼睛定位模块 功能描述:根据检测到的人脸矩形区域,确定左右眼睛的坐标。 输入:人脸矩形区域 输出:左右眼睛的坐标 说明:眼睛定位模块的接口定义如下: i n tl o c a t e n i r e y e s ( c o n s ts i m a g e & i m g ,c o n s ts r e c t a n g l e & c a n d i d a t e f a c e , s c s c i ) c s c d ,s p o i n t & l e f t _ e y e ,s p o i n t & r i g h t _ e y e ) : 本模块用于近红外人脸图像的眼睛定位,只需要提供输入图像、人脸矩形区 域和人脸分类器就可以计算得到左右眼睛的位置。本模块划分为眼镜检测、 n q u o i t 滤波处理和计算f a c e n e s s 值三个子模块。 ( 1 ) 眼镜检测:使用3 3 1 的眼镜检测算法对输入图像的人脸区域进行眼镜检测, 返回戴眼镜与否的状态。 ( 2 ) 计算f a c e n c s s 值:对一幅输入图像和假定的左右眼睛坐标,利用人脸分类器 计算对应的人脸可信值f a c c n e s s ( 详细说明见3 3 3 ) 。 ( 3 ) n q u o i t 滤波处理:对一幅输入图像和检测到的人脸矩形区域,采用n q u o i t 滤波器在左眼候选区域内进行滤波处理,然后对滤波后的图像进行二值化处 理,把白色连通区域的质心作为左眼坐标的备选点集合。用同样的方法确定 右眼坐标的备选点集合。 4 4 本章小结 本章从软件工程的角度对人脸检测系统的设计进行了详细描述,按照第三章 提出的人脸检测算法进行子系统的划分和模块的定义。对各个模块的基本功能、 接口和算法进行了说明。 华东师范大学硕士学位论文 基于近红外图像的实时精确人脸检测算法的研究 5 1 实验数据 第5 章实验与评估 为了说明并验证本文算法的有效性,我们在近红外光人脸图像数据库上进行 实验。近红外光人脸图像数据库由训练库和测试库两部分组成。训练库采用红格 公司【4 0 】的近红外人脸图像,用于人脸检测器的训练。测试库是实验室采集的近 红外光人脸图像,主要用于测试本文算法的性能。 训练库:红格公司的近红外人脸数据库包含8 0 0 多人,每人分为正常、戴眼 镜和戴帽子三个部分,每个部分有4 0 张图像,整个数据库共有1 0 万多张图像。 这些图像具有一定的多样性,包含姿态、表情、光照和饰物的变化( 图5 1 ) 。 测试库:实验室采集的近红外人脸图像( 大小为3 2 0 x 2 4 0 像素) ,共有7 4 人,每个人分为正常( 不戴眼镜) 和戴眼镜两个目录,共1 0 1 7 1 幅图像,每张图 像仅包含一个人脸,包含姿态、表情和饰物( 戴眼镜) 的变化。 口目日日 日目日日 日日日囵 图5 1 红格公司近红外人脸数据库( 第一行图像为正常部分、第二行图像为戴眼镜部 分、第三行图像为戴帽子部分) 图5 1 为红格公司的近红外人脸数据库,图5 2 为训练时使用的部分归一 化人脸样本,本实验归一化人脸大小为2 4 x 2 4 。 圆圈囝殴圆圈n 圜雹圆圆圆圈口圆圈2 圈蜀圆 曰国凹囝团臼团园盈翟囡园囵口园臼譬国盈囵 图5 2 训练库中的部分归一化人脸样本( 2 4 x 2 4 ) 华东师范大学硕士学位论文 基于近红外图像的实时精确人脸检测算法的研究 5 2 实验方法及实验结果 首先使用近红外图像训练库进行人脸分类器的训练。训练用人脸样本数目为 8 2 9 4 个,每级训练用非人脸样本数目设为1 0 0 0 0 个。验证用人脸样本数目为8 2 9 4 个,验证用非人脸样本总数为2 2 6 7 0 0 8 7 9 个。每级强分类器的最低检测率设为 0 9 9 9 8 ,最大误检率设为o 5 ,最终级联分类器的最大误检率设为2 x 1 0 4 。归一 化图像的大小为2 4 x 2 4 ,h a a r 特征总数为8 6 2 8 个。 训练得到的级联分类器共1 0 级,弱分类器总数为1 2 6 0 个,每级强分类器的 弱分类器数目分别为8 ,1 6 ,1 6 ,3 0 ,4 0 ,4 0 ,6 0 ,1 0 0 ,4 2 0 ,5 3 0 。最终验证集上的检测率为 9 9 9 4 ( 漏检的人脸只有5 个) ,误检率为1 8 x 1 0 4 ( 误检的非人脸数目为4 1 9 3 9 个) 。详细情况见表5 1 。 表5 1 级联分类器具体信息 强分类器个数弱分类器个数检测率误检率 181 0 0 0 0 0 0 2 2 9 3 0 8 21 69 9 9 8 8 一0 0 7 8 2 5 4 31 69 9 9 8 8 0 0 3 7 8 8 4 43 0 9 9 9 7 6 o 0 1 8 5 1 8 54 0 9 9 9 6 4 0 0 0 8 8 1 9 64 09 9 9 6 4 0 0 0 4 0 81 76 09 9 9 6 4 0 0 0 1 6 0 8 81 0 09 9 9 6 4 0 0 0 0 7 5 8 94 2 09 9 9 5 2 0 0 0 0 3 7 3 1 05 3 09 9 9 4 0 0 0 0 0 18 5 下图显示的是前5 级级强分类器的前5 个h a a r 特征的位置。 华东师范大学硕士学位论文 基于近红外图像的实时精确人脸检测算法的研究 图5 3 训练出来的部分h a a r 特征的位置( 第一行表示第一个强分类器的前5 个h a a r 特征的位置,以此类推) 本文使用通用的指标e 1 】来定量的衡量人脸检测算法的效果。假设码( 4 ) 表示左眼( 右眼) 定位结果和真实左眼( 右眼) 位置之间的欧式距离,d 定义为 真实双眼位置之间的欧式距离,则e r r 定义为:胛= m a x ( 五d l , d 一, ) 。 为了说明并检验算法各个部分的作用,本文设计以下实验。 实验l :为了单独检验眼镜检测算法的有效性,实验将测试库中全部1 0 1 7 1 个人脸样本作为输入进行人脸区域检测,实验仅对成功检测的人脸区域进行眼镜 检测。实验结果如下:成功检测到的人脸总数为1 0 0 3 2 ( 其中戴眼镜的个数为 5 1 6 0 ,不戴眼镜的个数为4 8 7 2 ) ,戴眼镜的样本中被误判的个数为1 4 9 ,不戴眼 镜的样本中被误判的个数为1 9 8 ,正确率达9 6 5 。 实验2 :为了检验整个算法的效果,我们在以下三个数据集上进行实验。数 据集s 1 中的图像为不戴眼镜的人脸图像,数目为1 4 2 9 ;数据集s 2 中的图像为 戴眼镜的人脸图像,数目为1 3 7 3 ;数据集s 3 为s 1 和s 2 的并集,包括戴眼镜和 不戴眼镜的样本,样本总数为2 8 0 2 个。以上三个数据集的人脸样本均来自测试 库,并且已经手工标定眼睛位置。在三个不同数据集上的测试结果如表5 2 所示。 计算眼睛定位平均误差时,每个样本误差定义为左眼误差和右眼误差的最大值。 囝囝囝团圆菌e 圆团圆圆圈困囝国囡圆圈圈囡圈面囱困囱 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 运行时间为人脸区域检测时间和眼睛定位时间的总和,括号内的数值分别表示人 脸检测时间和眼睛定位时间。 表5 2 三个数据集上实验结果的比较 数据集s 3 包含戴眼镜和不戴眼镜的人脸图像,比较符合真实的样本分布。 在c p u 为2 i g h z 的p c 机上,处理一幅图像的时间为3 4 m s ,其中a d a b o o s t 人 脸检测耗时2 1 m s ,眼睛定位耗时1 3 m s 。眼睛定位结果和真实眼睛位置的平均误 差为3 8 个像素。在e r r _ _ _ 0 2 5 的条件下,检测率为9 4 1 :当e n 0 1 5 时,检测 率为8 6 2 。图5 4 详细的给出了实验2 的结果。图5 8 为部分近红外光图像的 实验结果。 得 蘸 裂 图5 4 实验2 的结果 实验3 :实验3 对本文的眼睛定位算法和基于q u o i t 滤波器的眼睛定位算法 进行比较。以下是在三个数据集上的比较结果。 华东师范大学硕士学位论文 基于近红外图像的实时精确人脸检测算法的研究 表5 3 不同眼睛定位方法的比较( 数据集为s 1 ) 表5 4 不同眼睛定位方法的比较( 数据集为s 2 ) 表5 5 不同眼睛定位方法的比较( 数据集为s 3 ) 得 聪 翱 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 碍 翳 轺 蟹 鬓 g 图5 5 实验3 的结果( 数据集为s 1 ) e 盯 图5 6 实验3 的结果( 数据集为s 2 ) 盯 图5 7 实验3 的结果( 数据集为s 3 ) 从上述的实验结果可以看出,这两种眼睛定位算法的运行时间相差不大,但 是在精度上本文的方法高于q u o i t 方法。在数据集s 3 上,本文的眼睛定位方法 平均误差约为q u o i t 方法一半左右。 4 0 华东师范大学硕士学位论文基于近红外图像的实时精确人脸检测算法的研究 5 3 实验分析 从上述的实验结果看,本文的算法有较好的效果,但是仍然存在不少定位不 准或者判断错误的情况。a d a b o o s t 人脸检测时,当眉毛区域被头发遮挡较多时 容易发生漏检。从图5 3 也可以看出,眉毛区域是比较重要的特征区域。眼镜检 测的错误主要有:头发等异物落入眼镜横梁区域上方时,引起戴眼镜的误判断。 有些眼镜的横梁区灰度与皮肤太接近时,也会造成不戴眼镜的误判断。这些都是 算法需要改进的地方。 从表5 2 中可以看出,本文算法在数据集s l 上的效果优于在数据集s 2 上的 效果,前者的运行时间较短、且

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论