人脸检测技术研究及MATLAB实现Word格式.docx
《人脸检测技术研究及MATLAB实现Word格式.docx》由会员分享,可在线阅读,更多相关《人脸检测技术研究及MATLAB实现Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
1.3论文的主要内容安排3
2人脸检测及其算法简介5
2.1人脸检测介绍5
2.2人脸检测的常用方法5
2.2.1基于特征的人脸检测方法5
2.2.2模块匹配法的人脸检测6
2.2.3基于adaboost算法的人脸检测方法7
3基于视频的人脸检测研究及其实现8
3.1matlab图像处理工具箱中的视频操作8
3.2提取AVI视频文件的帧9
3.3对图像进行肤色特征的人脸检测11
3.3.1色彩空间及其内容介绍11
3.3.2对图像进行预处理11
3.3.3对人脸肤色进行建模13
3.3.4检测人脸区域的选定14
3.4图像向AVI视频文件的转换16
4人脸检测在MATLAB软件下仿真实现18
4.1设计条件18
4.2设计流程18
4.4.1基于视频的人脸检测的总设计模块图18
4.4.2对图像进行人脸检测具体框图19
4.3人脸检测的MATLAB实现19
4.3.1人脸检测运行结果19
4.3.2人脸检测结果分析21
5结论22
致谢23
参考文献24
附录25
1绪论
当前,人脸检测越来越受到大家的关注,它作为生物特征识别中一个非常重要的一个分支,已成为计算机视觉与模式识别领域中非常活跃的一个研究领域。
而基于视频的人脸检测更是学术界的一个难点。
数字视频是数字图像在时间轴上的扩展,可以将视频的每一个帧视为一副静止的图像,而本文先会对视频进行处理,然后再对图像进行人脸检测[3]。
作为图像与视频中最重要的视觉图像之一,人脸包含很多信息,,通过人脸检测,我们可以很快的知道一个的部分基本资料,如性别,表情,年龄和身份等基本信息,在现实生活中如在公安、金融、网络安全、物业管理以及考勤等都会用到人脸检测,因此人脸检测技术具有很高的学术的研究价值和商业价值,这就引起了在人脸识别这方面的广大科学研究工作者的浓厚兴趣,可以这么说,人脸检测已经成为当前科学界最热门的一个课题之一。
1.1论文的研究历史背景及目的
近年来,由于视频监控,人机交互和视频检索等应用的需求,视频中的人脸
检测研究得到迅速发展。
视频中人脸检测可以划分为三个环节:
先提取视频文件中的帧,对图像进行人脸检测,再还原成视频,完成视频中人脸的检测。
人脸检测最初来源于人脸识别。
是指对于任意一副给定的图像,采用一定的策略对其进行搜索以确定其中是否含有人脸,如果是则返回一脸的位置、大小和姿态,并把有人脸的地放识别出来。
早期,人脸检测技术主要服务于人脸识别课题的研究;
但是,随着生物识别技术的快速发展,入脸检测技术己经被广泛的应用于其它相关领域,产生一定的商业价值。
例如:
国家军事、安全系统验证、视频会议、人机智能交,各类金融卡、身份验证等等方面具有重要的应用价值,所以,现在人们有许多人对人脸识别越来越重视了。
人脸检测的研究同时也具有非常重要的的学术价值,人脸是一类具有相当复杂的细节变化的自然结构目标,对此类目标的挑战性在于:
人脸由于外貌、表情、肤色等不同,具有模式的可变性;
一般意义下的人脸上,可能存在眼镜、胡须等附属物;
作为三维物体的人脸影像不可避免地受由光照产生的阴影的影响。
因此,如果能够找到解决这些问题的方法,成功地构造出人脸检测系统,将为解决其他类似的复杂模式的检测问题提供重要的启示。
人脸检测的目的是检测一张图像是否由人脸,如果有人脸,就把它从图像背景中分离出来,然后对特征进行人脸识别。
而在视频中的人脸检测在信息处理中,已经成为是一项相当难突破的技术,越来越受到计算机视觉界的广泛关注,作为这个有价值课题,已经渗透到各不同领域中。
1.2国内外研究现状
目前,越来越多的国家开始对人脸检测及其识别的研究。
并且发展得很快,已经由原来的静态识别到动态识别,由单向多张脸识别,还有从最初的二维脸识别到现在的三围立体的识别。
在国内,最早研究人脸检测识别的,当属于中科院计算所跟哈工大的一个联合面像实验室。
该实验室的高文教授,陈熙林教授,山世光教授,直到今天,都一直活跃在人脸识别领域,更可贵的是,在IEEE上面发表了很多paper。
这一点,很值得国内的同行学习。
后来,该实验室,成为上海银晨的研发中心,专门为上海银晨做技术研发和技术支持。
其次是中科院生物识别研究所的李子青教授,以及下属的中科奥森公司。
李子青教授,当年在微软亚洲研究院的时候,就从事人脸识别方面的研究工作。
后来,在中科院组建了专门的人脸识别研究团队。
该研究团队,首先提出了基于近红外的人脸识别技术,并将该项人脸识别技术用于08年北京奥运会。
同时,基于近红外的人脸识别技术,得到了国际上同行业专家的认同和一致肯定。
接着,是清华大学的丁晓青教授。
丁晓青教授在OCR(字符识别)领域,可谓国内第一人。
不过,最近几年转行做人脸识别,也是非常有成就的。
不说别的,就只从FRVT2006(美国国家标准研究所2006年全球人脸识别供应商系统性能测试)的测试结果来看,丁晓青教授的研究团队是唯一一个完成大规模3D人脸识别性能测试的参赛团队。
由此可见,在国内人脸识别领域来说,她们的算法,在3D领域,绝对排名第一。
国外主要有美国、欧洲国家、日本等著名的科研机构有美国的MIT和CMU,英国的剑桥大学。
在人脸识别领域中,国际上逐步形成了一下几个研究方向:
基于几何特征的方法、基于肤色模型的方法、基于模板匹配的方法、基于KL变换的特征脸方法、基于隐马尔可夫模型的方法和神经网络识别的方法等等。
它们可以被归类到基于显式特征和基于隐式特征的两大类方法中。
发展至今,人脸识别的方法越来越多,最有代表的是基于Haar特征的人脸识别方法是其中较为典型的方法,该算法不仅具有较高的检测率,同时也能够满足实时检测的要求。
基于Haar特征的人脸识别方法始于2001年PaulViola和MichaelJones两者撰写的一篇论文,他们在论文中提出了Haar特征和Adaboost算法,并利用它们进行人脸检测。
但是此方法只能用于检测正面无旋转的人脸。
为此,RainerLienhart等人于2002年对此方法进行了扩展,增加了倾斜特征的定义,此后此方法被扩展到全旋转缩放情况下的人脸检测。
自从以上几位学者运用基于Haar特征和Adaboost算法进行人脸检测取得长足进步之后,基于Haar特征的人脸检测方法备受专家学者的青睐,国内外相关内容的研究成果也是层出不穷。
1.3论文的主要内容安排
本文首先介绍人脸检测的基本内容,介绍人脸检测及其的方法,然后就是基于视频的人脸检测设计及其实现,在这部分中首先从视频中提取视频文件的帧,再对图像进行肤色特征的人脸检测,然后把检测后的图像还再转换成视频,再播放,以达到人脸检测的目的。
检测图像是否有人脸,如果有,则把人脸从图像中标识出来达到预想的目的。
最后再通过Matlab软件仿真,达到我们人脸检测的目的。
本论文的章节安排和主要内容如下:
第一章绪论。
主要介绍了本文的历史背景,着重介绍了人脸检测技术的研究现状以及国内外研究现状,并明确了本文的工作内容和章节安排。
第二章是对人脸检测及其算法的介绍。
首先进行人脸检测的介绍;
然后介绍了当前国内外用到的人脸检测技术;
其次介绍人脸检测的几种方法,当前人脸检测的几种方法,如基于特征的人脸检测,模块匹配的人脸检测,基于统计的的人脸检测和基于adaboost算法的人脸检测方法。
对本设计中所用到的关键技术进行重点阐述。
第三章介绍基于视频的人脸检测研究及其实现。
在这章中首先matlab图像处理工具箱中的视频操作,因为我们首先要对视频进行提取帧的处理,然后介绍帧(图像)基于肤色特征的人脸检测的设计。
可以分为三大步骤:
(1)对图像初步处理。
详细利用色彩平衡、光照补偿对人脸图像进行预处理的方法。
(2)基于肤色特征的人脸检测。
介绍了色彩空间的相关知识,通过肤色分析选择YCbCr色彩空间建立肤色模型,再运用该肤色模型进行了人脸肤色分割,并对图像进行膨胀腐蚀以及平滑操作,得到人脸候选区域,完成对人脸的粗检测。
检测完后的图像再进行转化为视频,以达到在视频中检测人脸的目的。
第四章,人脸检测的Matlab实现及仿真。
并对其进行分析,首先对软件的硬件做了简单介绍;
然后从整体上描述基于视频的人脸检测的流程图。
展示了人脸检测的实验结果并进行了比较分析。
运用编写好的程序对图片进行人脸检测。
看是否能达到我们所想要的效果。
最后部分是对整个毕业设计工作进行了总结和展望。
2人脸检测及其算法简介
2.1人脸检测介绍
人脸检测(facedetection)是指在输入图像中确定所有人脸(如果存在)的位置、大小、位姿的过程。
人脸检测作为人脸信息处理中的一项关键技术,近年来成为模式识别与计算机视觉领域内一项受到普遍重视、研究十分活跃的课题。
人脸检测(facedetection)问题来源于人脸识别(facerecognition)问题。
人脸检测是对给定的图像,判断其中是否有人脸,若有,将所有人脸从背景中分割提取出来,并确定每个人脸在图像中的位置和大小。
人脸检测技术可以应用于人脸识别、视频会议、图像与视频检索、刑侦破案和证件验证等领域。
人脸检测是对于输入的人脸图像或视频,首先判断其中是否存在人脸,如果存在人脸,则进一步给出每个人脸的位置、大小以及各个主要面部器官的位置信息,并依据这些信息,进一步提取每个人脸中所蕴含的特征,并将其与已知人脸库中的人脸图像进行对比,从而得到识别结果。
由此可见,一个完整的人脸识别过程应包括人脸检测与人脸识别两大部分。
人脸识别由两部分工作组成:
(l)人脸检测:
在输入的图像或视频画面当中确定存在的人脸位置、尺寸等的过程,这是识别工作的基础课题,在减少算法复杂度等方面对识别工作有关键性影响。
(2)人脸识别:
通过与计算机相连的摄像头动态捕捉人的面部信息,并把捕捉到的人脸与预先录入的人脸数据库中存储的人脸进行比较识别。
人脸检测的基本思想是建立人脸模型,比较所有可能的待检测区域与人脸模型的匹配程度,从而得到可能存在人脸的区域。
2.2人脸检测的常用方法
随着科学技术的不断发展,人脸检测技术的方法越来越多,如早期的模块匹配法,基于特征的方法,还有中期的神经网络,统计模型,色彩信息,形状分析,还有最近的支持向量法,多模块信息融合,Adaboost算法等,下面我们来介绍这些方法。
2.2.1基于特征的人脸检测方法
特征是人从肉眼看到的特性,人脸检测基于特征我们可以从肤色,脸部,还有五官特征进行。
下面我们来简单介绍这些东西。
整体轮廓法:
我们知道人的脸看起来有点圆,所以我们可以通过圆形的检测以完成对人脸检测的进行,在前人研究中,有人把人脸分割为三个轮廓区:
即头顶轮廓区,左脸轮廓区和右脸轮廓区,检测任何一张图像,先进行边缘区域测试,然后提取脸部特征,最后运用评估函数来检测人脸。
肤色检测法:
我们知道人脸肤色在去除亮度后具有聚类性,所以人脸的肤色在一定程度上可以把人脸统大部分背景中分离区分出来,因此我们可以运用肤色模型来检测人脸,关于这类方法我们会在第三章中详细介绍。
器官分布法:
人脸的人和人可以不同,但人脸的大致器官的分布都差不多的,就是人的五官的几何分布。
在这方面yang等人提出的mosaic方法,它给出了人脸区域灰度分布的规则,依据这些规则对图像进行筛选,以样本满足这些规则的程度作为检查的依据。
也可以先检测器官的位置,然后将这些位置排列组合,运用器官的分布规律进行检测,基本上找到人脸的位置[4]。
2.2.2模块匹配法的人脸检测
这种方法首先要把人脸的模板进行建立并保存,如人的正面人脸或是眼睛,鼻子,嘴巴等。
接着利用一些算法来计算各待测区域与标准模板的相似程度(或称相关性),利用这一相似程度来判断某一区域是否为人脸。
(1)镶嵌图法(又称为马赛克图):
就是将图像划分为一组大小相同的方格,每个方格的灰度为格中各个像素的平均值。
镶嵌图特征是指这些块的值应满足的约束规则Yang[6]等人将人脸的五官区域分别划分为和个马赛克块,使用一组规则进行检验,并且利用边缘特征进一步验证。
卢春雨等对镶嵌图方法进行了改进,按照人脸器官的分布将人脸划分为个马赛克块,在检测中自适应的调整各块的大小,使用一组基于各
块灰度和梯度统计特征的知识规则检验该区域是否为人脸,取得了较好的实验结果。
(2)预定模板匹配法:
根据人脸的先验知识确定出人脸轮廓模板以及各个器官特征的子模板,先通过计算图像中区域和人脸轮廓模板的相关值来检测出人脸候选区域,然后利用器官特征子模板验证上一步检测出的人脸候选区域是否包含人脸。
采用“双眼一人脸”模板,将平均脸的双眼模板剪裁出来,滤波时先使用双眼模板再使用人脸模板,用以提高匹配速度并取得更好的性能。
将人脸图像二值化后得到人脸轮廓,然后与模板库中的人脸模板匹配,根据图像与模板之间的Hausdroff距离及相关闭值判定取舍。
这种方法的缺点在于不能有效处理尺度、姿态和形状的变化。
(3)变形模板法:
其主要思想是定义一个可变形的参数模板和一个能量函数来描述特征,通过一个非线性最优化方法求得能使能量函数最小的参数模板,此模板即被认为是所求特征的描述。
Yullie等人提出来基于弹性模板的方法用于人脸的检测。
当用弹性模板进行人脸检测时,将可调模板在待检测图像中移动并动态的调整其参数,计算能量函数。
当能量函数达到最小值时,根据其位置和参数所决定的可调模板形状应该达到与人脸形状的最佳拟合,由此检测到人脸。
这种方法的优点是由于使用的弹性模板可调,能够检测不同大小、具有不同偏转角度的人脸。
但缺点是检测前必须根待测人脸的形状来设计弹性模板的轮廓,否则影响收敛的效果;
当对图像进行全局搜索时,由于要动态的调整参数和计算能量函数,计算时间过长[8]。
2.2.3基于adaboost算法的人脸检测方法
前面我们已经介绍了基于特征和和模块匹配的的方法,接下来我们介绍有关人脸识别的另一种方法,那就是基于adaboost算法,来检测人脸位置,真正实现人脸识别的目的。
Adaboost算法是将大量的分类能力弱的弱分类器通过的特定的方法组合起来,构成一个强的分类器。
目前基于haar特征的Adaboost算法比较受广大学者的欢迎,关于其具体算法,在这里就不必做详细的说明[9]。
3基于视频的人脸检测研究及其实现
在日常生活中,基于视频的人脸检测与跟踪作为人脸信息处理中的一项关键技术,在基于内容的图像检索、视频会议、可视电话、远程视频监控以及人机交互等方面都有着很重要的应用价值。
在实际应用中,由于客观因素的影响,如人脸本身复杂的细节变化、人脸多姿态、各种遮挡、光照不均匀、以及复杂背景时,人脸检测和识别普遍存在计算量大、速度慢、鲁棒性差的弱点.所以我们可以采用提取视频文件的帧,然后对图像进行肤色检测,再把检测过的图像还原成视频,然后播放视频,以基本上完成了视频下的人脸检测。
3.1matlab图像处理工具箱中的视频操作
图像文件格式有多种,包括BMP,JPEG和PNG等,MATLAB都提供支持,可以直接读取这些文件。
视频也有许多种格式可以从不同的角度进行分类。
最常见的是没有压缩的视频文件是YUV,它是由相互关联的若干帧静态图像所组成的图像序列。
由于视频的数据量大,通常以压缩后的形式进行存储和传输,压缩后的视频可以分为两大类:
一类是面向存储的,包括avi mpg mpeg rm 等;
另一类是面向流式媒体的,在在线实况和流媒体电影等中应用广泛。
下面我们重点介绍AVI AVI—AudioVideoInterleave,即音频视频交叉存取格式。
1992年初Microsoft公司推出了AVI技术及其应用软件VFW(VideoforWindows)。
在AVI文件中,运动图像和伴音数据是以交织的方式存储,并独立于硬件设备。
这种按交替方式组织音频和视像数据的方式可使得读取视频数据流时能更有效地从存储媒介得到连续的信息。
构成一个AVI文件的主要参数包括视像参数、伴音参数和压缩参数等。
AVI文件用的是AVIRIFF形式,AVIRIFF形式由字符串“AVI”标识。
所有的AVI文件都包括两个必须的LIST块。
这些块定义了流和数据流的格式。
AVI文件可能还包括一个索引块。
只要遵循这个标准,任何视频编码方案都可以使用在AVI文件中。
这意味着AVI有着非常好的扩充性。
这个规范由于是由微软制定,因此微软全系列的软件包括编程工具VB、VC都提供了最直接的支持,因此更加奠定了AVI在PC上的视频霸主地位。
由于AVI本身的开放性,获得了众多编码技术研发商的支持,不同的编码使得AVI不断被完善,现在几乎所有运行在PC上的通用视频编辑系统,都是以支持AVI为主的。
AVI的出现宣告了PC上哑片时代的结束,不断完善的AVI格式代表了多媒体在PC上的兴起。
说到AVI就不能不提起英特尔公司的Indeovideo系列编码,Indeo编码技术是一款用于PC视频的高性能的、纯软件的视频压缩/解压解决方案。
Indeo音频软件能提供高质量的压缩音频,可用于互联网、企业内部网和多媒体应用方案等。
它既能进行音乐压缩也能进行声音压缩,压缩比可达8:
1而没有明显的质量损失。
Indeo技术能帮助您构建内容更丰富的多媒体网站。
目前被广泛用于动态效果演示、游戏过场动画、非线性素材保存等用途,是目前使用最广泛的一种AVI编码技术。
现在Indeo编码技术及其相关软件产品已经被LigosTechnology公司收购。
随着MPEG的崛起,Indeo面临着极大的挑战。
下面就简单介绍几种常用的函数
AVIREAD()
AVIREAD()函数的功能是读/写一个AVI文件到MATLAB视频结构中。
它的使用语法如下。
MOV=AVIREAD(FILENAME)
其中,参数FILENAME是生成的AVI文件的文件名称,如果没有扩展名,系统将会自动默认其扩展名为avi,而返回值MOV有两个字段:
cdata和colormap。
ADDFRAME()
ADDFRAME()函数的功能是添加单一的视频到AVI文件中。
他的使用语法如下。
AVIOBJ=ADDFRAME(AVIOBJ,FRAME)
添加FRAME中的数据到使用FRAME创建的AVIOBJECT中去。
FRAME既可以是一个索引图像,也可以是一个真彩色图像。
如果FRAME不是添加到AVI文件的第一帧,它是维数必须和前面的帧一致。
3.2提取AVI视频文件的帧
类似地,也可以编写一个简单的函数avi2bmp(),将AVI文件红的视频帧单独存储为JPG格式的静止图像。
函数的MATLAB代码如下。
mov=aviread(example.avi)
mov=aviread('
example.avi'
)
mov=aviread
example1.avi'
temp=size(mov)
fori=1:
20,strtemp=strcat(exmbmp,int2str(i),'
.jpg'
);
imwrite(mov(i).cdata(:
:
),strtemp)
end
imshow
imshow('
exmbmp20.jpg'
clc
imshow(f)
效果图如下:
图3-1为提取出来的20张图像
以上为AVI文件转换为JPG图像
对上述avi2bmp()函数稍作修改,即可将AVI文件中的视频的帧单独存储为BMP,PNP等格式的静止图像。
3.3对图像进行肤色特征的人脸检测
3.3.1色彩空间及其内容介绍
色彩空间
“色彩空间”一词源于西方的“ColorSpace”,又称作“色域”,色彩学中,人们建立了多种色彩模型,以一维、二维、三维甚至四维空间坐标来表示某一色彩,这种坐标系统所能定义的色彩范围即色彩空间。
我们经常用到的色彩空间主要有RGB、CMYK、Lab等。
本文主要介绍RGB色彩空间的相关知识。
RGB色彩空间
RGB,就是红、绿、蓝(red、green、blue)的缩写。
RGB色彩空间可以表示所有颜色,因此应用十分广泛。
在RGB模式中,图像中每一个像素点的RGB分量的强度值都可从0(黑色)到255(白色)变化。
三种颜色按照不同的比例混合,将各种色彩表现出来,这一道理十分易于理解。
将图像由RGB色彩空间转换到rgb色彩空间rgb模型的转换公式为