数字图像处理技术基于Matlab的人脸检测

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成绩评定表

任务书

摘要

人脸识别是一门新兴的科研项目,起始于上个世纪60年代。经过几十年的发展,现已成为一项最有上升潜力的人体特征识别技术。具有广泛的应用前景,它的工作原理是借由的生物特征来确认生物个体,报告利用MATLAB软件实现人脸信息的检测与识别,在输入的整幅图像中寻找人脸区域,把图像分割成两个部分——人脸区域和非人脸区域,从而为后续的应用做准备。报告利用YCbCr空间以及二值图像实现人脸边缘分割,将真彩图像转换为YCbCr图像,根据面部肌肤在YCbCr色度空间的分布范围,设定门限阀值,实现人脸区域与非人脸区域的分割,通过膨胀腐蚀等一系列运算剔除干扰因素,再结合长宽比、目标面积等计算方法在图像中分割出人脸区域,经试验,该方法能够排除面部表情、发型、衣着背景等干扰而确定人脸区域。

关键词:Matlab程序; YCbCr色度空间; 灰度图像; 人脸检测

目录

摘要 (3)

一、绪论 (5)

1.1 本文研究的问题 (5)

1.2 Matlab基本功能介绍 (6)

二、人脸识别的设计方案与理论分析 (7)

2.1 YCbCr色彩空间变换 (7)

2.2 灰度图像转换 (7)

2.3 灰度图像噪声消除 (9)

2.4 灰度图像填孔 (10)

2.5 灰度图像重构 (10)

2.6 灰度图像边缘检测 (11)

2.7 人脸区域确定 (12)

三、人脸识别的Matlab实现 (14)

四、结论 (17)

参考文献 (18)

一、绪论

早在20世纪六十年代,人脸识别的研究就以经开始起步,到了今天,这项研究已经越发的成熟。根据计算机的发展规模可将其分为三个阶段:在1963年至1991年期间,人脸识别只是作为一种针对事物外形,现象进行识别描述的技术来研究,所针对的人脸图像具有较强的约束条件,比如不提供图像背景或图像背景不会对识别产生干扰,再其次用于研究的图片中人脸部位总是处于任意获得的位置,因此在这一时期人脸识别技术还未受到人们的重视。

之后的1991年到1997年期间,借助计算机技术的革新以及各类工程软件的出现,人脸识别技术得到了喷发式的发展。在商业领域上的应用被人们不断的发掘出来,由此诞生了若干具有代表性的人脸识别算法,其中最为著名的便是美国军方的FaceIt系统。

1998年至今,电子商务领域,安全领域等方面对人脸识别技术的创新需求越发迫切。人脸识别研究的重点也逐渐倾向于人脸形体,图像亮度等问题。与此同时,人脸识别的商业应用进一步提高,进入21世纪,人脸识别技术的研发硕果越发丰盛,活动图像专家组(MPEG)已将人脸检测算法征集进了人脸识别草案小组的范围之内。清华大学,北京工业大学,中国科学院计算计研究所和自动化研究所等,人脸识别技术已经成为一项世界性的课题受到世人的高度关注,其技术上的创新将会给人们的生活带来方方面面的便利。

1.1 本文研究的问题

本文介绍了人脸图像识别中所应用MATLAB对图像进行预处理,对图像进行处理,通过实例来应用Matlab图像处理功能,对某一特定的人脸图像处理,进而应用到人脸识别系统。本文在总结分析人脸识别系统中几种常用的图像预处理方法基础上,利用MATLAB实现了一个集多种预处理方法于一体的基于肤色的人脸图像预处理仿真系统。

1.2 Matlab基本功能介绍

图像是人类获取信息、表达信息和传递信息的重要手段。利用计算机对图像进行去除噪声、增强、复原、分割、提取特征等的理论、方法和技术称为数字图像处理。数字图像处理技术已经成为信息科学、计算机科学、工程科学、地球科学等诸多方面的学者研究图像的有效工具。数字图像处理主要包括图像变换、图像增强、图像编码、图像复原、图像重建、图像识别以及图像理解等内容。

1、图像处理的基本操作

读取和显示图像可以通过imread()和imshow()来实现;图像的输出用imwrite()函数就可以很方便的把图像输出到硬盘上;另外还可以用imcrop()、imrisize()、imrotate()等来实现图像的裁剪、缩放和旋转等功能。

2、图像类型的转换

Matlab支持多种图像类型,但在某些图像操作中,对图像的类型有要求,所以要涉及到对图像类型进行转换。Matlab7.0图像处理工具箱为我们提供了不同图像类型相互转换的大量函数,如mat2gray()函数可以将矩阵转换为灰度图像,rgb2gray()转换RGB图像或颜色映像表为灰度图像。在类型转换的时候,我们还经常遇到数据类型不匹配的情况,针对这种情况,Matlab7.0工具箱中,也给我们提供了各种数据类型之间的转换函数,如double()就是把数据转换为双精度类型的函数。

3、边缘检测

数字图像的边缘检测是图像分割、目标区域识别、区域形状提取等图像分析领域十分重要的基础,也是图像识别中提取图像特征的一个重要属性。边缘检测算子可以检查每个像素的邻域并对灰度变化率进行量化,也包括对方向的确定,其中大多数是基于方向导数掩模求卷积的方法。常用的有Sobel算子,Prewitt算子,Roberts算子,Log算子等。Matlab7.0工具箱中提供的edge()函数可以进行边缘检测,在其参数里面,可以根据需要选择合适的算子及其参数。

二、人脸识别的设计方案与理论分析

2.1 YCbCr 色彩空间变换

光照强度的不同、人脸肤色的不同、图片背景的不同往往导致每张图片都具有自身的特色,将人脸区域从背景、衣着、发型等非人类区域中分割出来。一般使用的RGB 图片不适合于建立人脸皮肤模型,因为在RGB 空间中,使用三基色(红绿蓝)表示图片的亮度以及颜色。在不同的环境下光照条件的改变,很难将肤色点从非肤色点中分离出来,如果在RGB 图像上进行处理,将产生离散的肤色点,图片中间嵌有很多的非肤色点,提高了人脸检测的难度,容易产生不可靠的肤色分割。解决方法是隔离颜色表达式中的亮度信息与色度信息,充分利用色度空间中肤色所表示出来的聚类性。为此需要创造这样一个色彩空间,这个空间能把R 、G 、B 所代表的色度信息与亮度信息分开表示。色彩空间常用的转换颜色模型主要有:YIQ 、YCbCr 、HSV 等。这里,采用YCbCr 色彩空间作为报告的设计空间。

YCbCr 色彩空间一般是在数字视频领域内应用于高品质的视频播放。在这种色彩空间中,用单个分量Y 来表示亮度信息,用两个色差分量Cb 和Cr 来存储彩色信息。其中分量Cb 表示蓝色分量和一个参考值的差,分量Cr 表示红色分量和一个参考值的差。RGB 转换为YCbCr 所用的变换公式是:

⎥⎥⎥⎦

⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡B G R C C Y 214.18786.93000.112000.112203.74797.37966.24553.128481.6512812816r b Matlab 的转换函数是:YCBCR=rgb2ycbcr(RGB)。

2.2 灰度图像转换

灰度图像就是一个数组描述,通常由一个uint8、uint16或双精度类型表示,是使用一个特殊的图像来表示图片中的所有像素。这个特殊图像就是灰度,一般表示为图像的最黑暗色到图像的最白亮色。灰度图像不同于黑白图像,黑白图像只有0、1两种取值颜色,而灰度图像的实质是一个数据矩阵,该矩阵中使用了

相关文档
最新文档