初春岭:人脸面部特征提取技术的研究
第2章 系统需求分析
2.1 系统功能需求
系统功能主要围绕人脸检测和人脸特征定位进行设计,首先该系统会对图像进行人脸检测,人脸检测主要是对图像进行预处理的过程,预处理这个模块在整个人脸识别系统的开发过程中占有很重要的地位。该系统主要是将处理后的人脸图片进行定位,将眼睛、鼻子、嘴巴标记出来。
2.1.1功能划分及描述
图像的处理方法很多,我们可以根据需要,有选择地使用各种方法。在确定脸部区域上,通常使用的方法有肤色提取。肤色提取,则对脸部区域的获取则比较准确,成功率达到95%以上,并且速度快,减少很多工作。
图像获取模块:
该模块主要是从图片库中获取图片,获取后的图片可以在软件的界面中显示出来以便进行识别。
图像预处理模块:
图像预处理就是对获取得来的图像进行适当的处理,使它具有的特征能够在图像中明显的表现出来。该模块中的子模块有如下几个,下面对它们进行概述:
中值滤波:在图像的采集过程中,由于各种因素的影响,图像中往往会出现一些不规则的随机噪声,如数据在传输、存储时发生的数据丢失和损坏等,这些都会影响图像的质量,因此需要将图片进行平滑操作以此来消除噪声。
灰度化:图像灰度化的过程就是把彩色图像转换为灰度图像的过程,彩色图像包含较多人脸特征信息,但是直接作为处理对象会使过程复杂化.相比之下灰度图像在保留了人脸主要特征信息的基础上,减少了总信息量。
4
2008届计算机科学与技术专业毕业设计(论文)
Sobel提取(边缘提取):采用梯度微分锐化图像,使噪声、条纹等得到增强;对图像中的随机噪声也有一定的平滑作用;标记人脸的边缘,使其边缘显得粗而亮。
对比度增强:对比度增强,就是对图像的进一步处理,将对比度再一次拉开。它针对原始图像的每一个像素直接对其灰度进行处理的,其处理过程主要是通过增强函数对像素的灰度级进行运算并将运算结果作为该像素的新灰度值来实现的。通过改变选用的增强函数的解析表达式就可以得到不同的处理效果。
相似度计算:相似度计算是为了判别两对象的相似程度而设定的算法,比如文字、指纹、人脸等。为了便于二值化阈值的确定,肤色相似度计算的意义是通过计算出与人脸肤色相近的像素点,确定人脸区域,用灰度图象显示出来,并为二值化提供一个可计算出阈值的比较值。
二值化:通过一些算法,通过一个阈值改变图像中的像素颜色,令整幅图像画面内仅有黑白二值,该图像一般由黑色区域和白色区域组成,可以用一个比特表示一个像素,“1”表示黑色,“0”表示白色,以便有利于我们对特征的提取。
直方图:直方图是图象处理中一种十分重要的图象分析工具,它描述了一幅图像的灰度级内容,任何一幅直方图都包含了丰富的信息。从数学上来说图像直方图是图像各个灰度值统计特性与图像灰度值的函数,它统计了一幅图像中各个灰度级出现的次数和概率。
2.1.2 开发环境
?
硬件环境
硬件配置原则:具有可靠性,可用性和安全性,具有完善的技术支持。能够满足个人学习和设计需要。
运行本软件所需的硬件资源:CPU: 800M及以上;内存: 128M及以上 ?
软件环境
系统软件配置原则能够满足该软件的可靠性,可用性和安全性的要求系统软件配
5
初春岭:人脸面部特征提取技术的研究
置方案
① 配置有持续工作能力、高稳定性、高度可集成的开放式标准的操作系统,如Windows2000,Windows NT,UNIX,Linux等。
② 配备符合ANSI/ISO标准的高级程序设计语言处理软件。如:Visual C++ 6.0。 ③ 熟悉C++高级程序设计语言。
2.1.3 运行环境
(1)硬件环境
CPU:800M以上;内存:128 M及以上。 (2)软件环境
可以运行在微软公司近年来所出的各种操作系统。如Windows 98、Windows Me、Windows 2000、Windows NT等。
2.2 可行性分析
在开发该人脸识别软件之前,我们查询了前人所写过的诸多论文以及源程序,在开发之时,结合了资料中的算法并揉进了自己的一些思想,使程序可以对人脸图片进行简易识别。
2.2.1操作可行性
该人脸识别软件需要如下的运行环境:CPU:800M及以上;内存:128 M及以上。安装有Windows 98、Windows Me、Windows 2000、Windows NT等操作系统中的其中一种。因此,从操作可行性来看,只要系统用户的硬件软件设备满足以上条件,即可用该人脸识别软件进行人脸的识别。
2.2.2 技术可行性
图像的处理方法很多,我们可以根据需要,有选择地使用各种方法。在确定脸部区域上,通常使用的方法有肤色提取。肤色提取,则对脸部区域的获取则比较准确,成功率达到95%以上,并且速度快,减少很多工作。人脸自身变化的挑战:同一个人的人脸图像因为表情、精神状态、健康状况、姿态、整容、年龄变
6
2008届计算机科学与技术专业毕业设计(论文)
化、意外损伤、化妆、眼镜帽子、头发胡须等变化而发生巨大的变化;外部环境的挑战:光照环境条件、摄像设备、人与摄像设备的距离角度、图像存储质量等,都会使人脸图像发生教大变化。面队这些就要求我们进一步研究基于人脸肤色提取的算法,提高识别精度,,提高识别速度,提高系统的适用性。
2.3 预处理方案选择 2.3.1设计方案原则的选择
本应用程序的设计方案原则如下:
①采用较为先进的技术力量,保证应用程序在技术上具备一定的优势。 ②采用成熟的技术,保证应用程序的安全性和可靠性。 ③应用程序便于扩展和维护,易于技术的更新。
④应用程序充分利用现有的资源,尽量减少不必要的再投资。
⑤编写的代码必须严谨易读,代码的解释必须清楚明白,为应用程序的再开发提供应尽的责任。
2.3.2 图像文件格式选择
图像采集是在Windows操作系统下开发的,需要了解在此环境下图像的存储、
显示等方面的机制。在Windows操作系统中,任何图像格式(如.jpeg格式,.gif格式)在系统中显示之前最终必须转化为位图格式。BMP图像文件格式(位图格式)是微软公司为其Windows环境设置的标准图像格式,在设计的过程中,为了定位和特征提取的方便,我们采用的是BMP格式的图像。
2.3.3开发工具选择
本次设计所用的开发工具是Microsoft Visual C++ 6.0。 Visual C++ 6.0是Microsoft公司推出的一种可视化编程工具。它支持多平台和交叉平台的开发,将各种编程工具如编辑器、连接器、调试器等巧妙的结合在一起,构成一个完美的可视化开发环境。用户无需通过繁杂的编程操作,即可完成Windows下应用程序的编辑、编译、测试和细化等工作。
7
初春岭:人脸面部特征提取技术的研究
2.3.4算法选择分析
本文主要研究的对象是图像预处理模块,该模块分为中值滤波、图像灰度化、相似度计算、二值化每个小模块的实现都有许多相应的算法。下面将本系统采用的算法进行介绍:
中值滤波:在图像的采集过程中,由于各种因素的影响,图像中往往会出现一些不规则的随机噪声,如数据在传输、存储时发生的数据丢失和损坏等,这些都会影响图像的质量,因此需要将图片进行平滑操作以此来消除噪声。但是如果平滑不当,就会使图像本身的细节如边界轮廓、线条等变的模糊不清,为了既平滑掉噪声有尽量保持图像细节,本系统采用中值滤波算法处理。
图像灰度化:图像灰度化是将图像变成灰色,本系统中采用加权平均值法来实现图像的灰度化,这样可以获得最合理的灰度图像。
肤色相似度计算:相似度计算是为了判别两对象的相似程度而设定的算法,比如文字、指纹、人脸等。为了便于二值化阈值的确定,肤色相似度计算的意义是通过计算出与人脸肤色相近的像素点,确定人脸区域,用灰度图象显示出来,并为二值化提供一个可计算出阈值的比较值。
二值化:通过一些算法,通过一个阈值改变图像中的像素颜色,令整幅图像画面内仅有黑白二值,该图像一般由黑色区域和白色区域组成,可以用一个比特表示一个像素,“1”表示黑色,“0”表示白色,以便有利于我们对特征的提取。
8