基于matlab的人脸识别技术
- 格式:doc
- 大小:50.00 KB
- 文档页数:5
基于matlab的彩色图像皮肤区域分割及人脸检测目录第一章引言 (1)第二章算法理论与实现原理 (1)2.1肤色分割理论 (1)2.2常见肤色模型比较 (2)2.2.1 区域模型 (2)2.2.2简单高斯模型 (2)2.2.3 混合高斯模型 (2)2.2.4 直方图模型 (3)2.3常见色彩空间比较 (3)2.3.1RGB .........................................................32.3.2HSV...........................................................42.3.3YcbCr........................................................4 第三章系统设计 (7)3.1建立肤色模型 (7)3.2肤色分割步骤 (8)第四章参考文献 (12)第五章心得体会 (12)第一章引言近年来,随着人工智能的快速发展,人脸识别技术逐渐成为模式识别与计算机视觉领域的一个研究热点,可用于身份认证、人员监视、图像数据库检索以及目标跟踪等场合。
第 1 页共 16 页人脸识别(Face Recognition)是将输入的人脸图像与系统已知人脸库中的模型进行比较,以确定是否存在相匹配的人脸,而人脸检测( Face Detection) 是指在输入图像中确定所存在的人脸的位置与大小,所以快速有效的人脸检测则显得至关重要,是实现人脸识别的前提和基础。
人脸检测系统要求实现对输入的可能包含人脸的图像进行处理,并输出图像中是否存在人脸以及人脸的数目、位置、尺度、位姿等参数信息。
传统的人脸检测方法大多是在亮度空间内进行,利用灰度的变化做多尺度空间的全搜索,计算量非常大、效率极低,而在人脸区域中,肤色一定是占主导地位的像素色彩值,虽然肤色因人而异,但经过研究可以发现肤色在色彩空间中的一定范围内是呈聚类特性的,特别是在排除了光照亮度和在经过变换的色彩空间中,利用肤色这一特征可以排除掉在灰度图像中的非皮肤区域,这对人脸检测起到了积极的作用。
基于matlab程序实现人脸识别
人脸识别已经成为一个广泛被应用的技术,例如手机的解锁方式,安全系统等等。
它是一种基于人脸图像进行身份验证或身份识别的技术,也是近年来计算机视觉和模式识别领域研究的热点方向之一。
在这篇文档中,我们将介绍如何使用matlab编写一个简单的人脸识别程序。
人脸识别是什么?
人脸识别可以被定义为一个过程,旨在使用数字算法识别和验证图像或视频中
人脸身份。
在计算机科学的领域中,这项技术可以被描述为一种模式识别技术,
旨在通过在人脸图像上提取可识别特征来确定身份验证。
通俗易懂地理解,就是计算机能够识别人脸的特征,并将其与已知的数据匹配,从而确定人物身份。
人脸识别程序的开发流程
以下是本文介绍的基本程序开发流程:
1.数据集导入和预处理
2.特征提取和脸部对齐
3.模型训练和分类器设计
4.模型评估和测试
数据集导入和预处理
考虑到一个好的项目,我们需要一个良好的数据集。
在这里,我们可以使用来
自orl人脸数据集的数据。
该数据集中包含的有40个人的400幅灰度图像,每个
人有10个不同的示例。
您可以从该网站下载并使用这些数据来测试您的算法。
在这个过程中,我们需要使用matlab中的imread函数将数据读取为数字矩阵,然后将数据分为训练集和测试集。
这个过程旨在将原始的数据转换为我们算法能
够处理的数字矩阵,并将数据划分为训练集和测试集。
``` % 读取数据集 dataFolderPath =。
长沙民政职业技术学院毕业实践报告 题目:基于MATLAB 勺人脸识别系统的研扌旨导老师: ______ 谭刚林 ______________________ 系 另寸: 电子信息工程系 __________________ 班 级: ______________ 电子1133 ____________学号:1119013333 1119013334 1119013335 姓 名: 刘盼符思遥樊阳辉类型:2014年5月5日基于MATLAB勺人脸识别系统的研究符思遥、刘盼、樊阳辉指导老师:谭刚林苏宏艮马勇赞【摘要】人脸检测与识别技术是计算机视觉和模式识别等学科的研究热点之一,是进行身份认证最友好直接的手段,在出入境安全检查、内容检索、证件验证、门禁系统等领域都具有十分广泛的应用前景。
多年来,人脸识别技术中的很多问题都被深入地研究,而且大量的算法已经成功应用于人脸识别。
本文在研究了人脸检测和身份识别的关键技术和相关理论的基础上,重点讨论了在光照和背景不同的条件下,彩色静止图像的人脸检测和身份识别问题,它包括基于肤色分割的人脸粗检测、基于人眼检测的几何归一化和基于二维主成分分析法(2DPCA的身份识别。
本文主要工作如下:首先对彩色图像进行光照补偿,其次通过肤色检测获得可能的脸部区域并二值化,再用形态学开闭运算对图像进行滤波处理并通过一定规则确定人脸区域,然后运用水平垂直投影定位人眼坐标以此对人脸进行几何归一化,识别部分运用2DPCA勺图像映射方法对灰度图进行特征匹配,最后输出识别结果并进行语音播报。
实验结果表明,结合肤色和面部几何特征的算法能够对人脸进行较快速和准确的定位,同时2DPCAT法运用于身份识别也能达到较高的识别率。
本毕业设计对实际应用具有一定的参考价值,该系统的操作流程和输入输出方式是以实际应用为出发点,可应用于公安机关证件验证以及日常家庭的自动门禁系统等。
【关键词】人脸检测;肤色分割;人眼检测;2DPCA特征提取1绪论 (1)1.1选题的背景 (1)1.2人脸识别系统 (2)1.3人脸识别的典型方法 (2)2基于YCbCr颜色空间的肤色分割 (3)2.1三种色彩空间 (3)2.1.1 RGB色彩空间 (3)3基于2DPCA特征提取的身份识别 (4)3.1 2DPCA算法实验结果与分析 (5)3.1.1实验用数据库 (5)3.1.2实验结果与分析 (5)3.1.3 结论 (7)4人脸检测与识别系统设计与实现 (7)4.1系统环境 (7)4.2人脸检测与识别系统框图 (7)4.3系统功能模块 (8)4.4实验结果分析 (9)5总结与展望 (10)5.1总结 (10)5.2展望 (10)参考文献 (12)1绪论1.1选题的背景近年来随着计算机技术和互联网的发展,信息技术的安全变得越来越重要,生物特征识别技术得到广泛研究与开发,如人脸识别、指纹识别、掌形识别等。
Matlab技术面部表情识别与情感分析近年来,随着计算机视觉和人工智能的发展,面部表情识别与情感分析成为了研究的热点。
在各个领域,包括人机交互、心理学和市场研究等,对于准确分析和理解人们的情感和表情,这项技术具有重要的应用价值。
Matlab作为一种流行的科学计算软件,具有强大的图像处理和模式识别功能,在面部表情识别与情感分析中发挥着重要的作用。
首先,面部表情识别是通过分析面部特征,包括眼睛、眉毛、嘴唇等部位的变化,来判断人的情绪状态。
Matlab提供了丰富的图像处理工具箱,可以对面部图片进行预处理、特征提取和分类。
例如,通过使用Matlab提供的Haar级联分类器,可以检测面部区域,并使用典型的图像特征,如梯度直方图、局部二值模式等,来捕捉面部表情的特征。
同时,Matlab还支持各种分类算法,如支持向量机、神经网络和决策树等,可以根据提取的面部特征进行训练和分类。
其次,情感分析是通过对文本、音频或图像等媒体数据进行分析,来推断人们的情绪状态和情感倾向。
在基于图像的情感分析中,Matlab提供了丰富的图像处理和特征提取函数。
通过对面部图片进行增强、滤波和二值化等预处理操作,可以提取出图像中的感兴趣区域,并计算出相关的纹理和颜色特征。
例如,使用Matlab的纹理特征函数可以提取出面部图片的熵、对比度和能量等纹理信息,这些信息可以反映面部表情的细微变化。
在特征提取的基础上,可以使用机器学习算法,如朴素贝叶斯和随机森林等,根据特征的统计分布和关联性来进行情感分类和分析。
此外,Matlab还提供了人脸数据库和算法库,方便研究人员进行面部表情识别和情感分析的实验。
例如,AT&T数据库和FER2013数据库提供了大量的面部表情图片和相应的标签,可以用于训练和验证算法的效果。
同时,Matlab还提供了一些开源的面部表情识别和情感分析算法,如Active Appearance Model (AAM)、Facial Action Coding System (FACS)和Convolutional Neural Network (CNN)等,这些算法可以作为研究的基准和参考。
如何使用Matlab进行人脸检测和人脸识别人脸检测和人脸识别是计算机视觉领域中的重要技术应用,可以广泛用于人脸识别系统、人脸支付、安全监控等众多领域。
本文将介绍如何使用Matlab进行人脸检测和人脸识别。
1. 背景介绍人脸检测和人脸识别技术的出现,为计算机系统实现对人脸的自动分析和识别提供了可能。
人脸检测是指从一幅图像或视频序列中确定是否存在人脸,并找出人脸的位置和大小。
而人脸识别则是在检测到的人脸图像上进行特征提取和模式匹配,以实现对人脸的身份识别。
2. 人脸检测在Matlab中,可以使用Viola-Jones算法进行人脸检测。
该算法通过构造Haar特征与Adaboost集成学习算法相结合,能够在较短的时间内实现高效的人脸检测。
具体操作如下:2.1 加载图像首先,在Matlab中加载需要进行人脸检测的图像。
可以使用imread函数进行图像加载,并将其转换为灰度图像进行处理。
例如:```Matlabimage = imread('face.jpg');gray_image = rgb2gray(image);```2.2 构建人脸检测器在Matlab中,可以使用vision.CascadeObjectDetector对象构建人脸检测器。
该对象可以通过Viola-Jones算法进行人脸检测。
具体代码如下:```MatlabfaceDetector = vision.CascadeObjectDetector();bbox = step(faceDetector, gray_image);```2.3 显示检测结果最后,可以使用insertObjectAnnotation函数将检测到的人脸位置在原始图像上标记出来。
代码示例如下:```Matlabdetected_image = insertObjectAnnotation(image, 'rectangle', bbox, 'Face');imshow(detected_image);```3. 人脸识别在Matlab中,可以使用基于人脸特征的Eigenface、Fisherface和LBPH等算法进行人脸识别。
电子技术‖77‖基于MATLAB的人脸识别考勤系统◆杨天成本文的主要研究内容是人脸识别技术。
在研究中了解人脸识别技术在国内外的研究现状及发展前景,掌握了部分MA TLAB 的图像处理功能,并按照人脸图像采集、图像预处理、人脸特征提取与识别这条技术路线开发实现了一个简易人脸识别系统。
本次设计中的核心部分是人脸的检测与识别,此人脸识别可应用于企业员工考勤签到上。
本设计分为图像采集、数据库信息存储与显示、人脸识别、数据库信息清除、退出程序几部分组成。
采集图像模块的目的就是采集所要存储的人脸图片,将其存入数据库中,为后面的人脸识别算法提供相应的训练素材。
模块代码如下:if chos==1, clc ;[namefile ,pathname]=uigetfile ('*.pgm','Select image');%读取.pgm 文件 if name fi le~=0[img ,map]=imread (strcat (pathname ,name fi le ));imshow (img ); elsewarndlg ('放入的图片必须是已采集的',' Warning ') end end其中的name fl ie ,和pathname 分别指的是文件名和查找文件的路径。
当点击“采集图像”时,系统会根据操作指令弹出要采集的图片,选择确定后,会将这个图片的路径以及图片名相关信息保存到变量pathname 和name fi le 里。
当采集到图片后要将采集的图片保存到数据库中,此目的是为了给后期人脸识别时提供相应的训练素材。
但是需要注意的是在进行保存图片时要对保存的图片划分类别,同一个人的不同照片要划分到同一类中。
设第一个人的所有图片组成的类别为1,第二个人的所有图片组成的类别就为2,由此以此类推。
每一类的图片种类越多,越能保证后期识别的成功率。
同时为了能够保证录入的信息正确,可以点击“数据库信息”就会显示出数据库中存入了多少张照片以及分了多少类别。
Matlab在视频人脸检测与人脸识别中的应用技巧人脸检测和人脸识别是计算机视觉领域中的重要研究方向,近年来得到了广泛的应用。
在视频处理中,人脸的准确检测和识别是实现许多高级应用的基础。
Matlab作为一种功能强大的数学建模与仿真软件,提供了丰富的图像处理工具箱,使得人脸检测与识别算法的实现变得简单与高效。
一、图像预处理在进行人脸检测与识别之前,通常需要对图像进行预处理,以提高算法的准确性。
图像预处理的过程包括灰度化、直方图均衡化、尺寸归一化等。
利用Matlab的图像处理工具箱,可以快速实现这些预处理操作。
1.1 灰度化灰度化是将彩色图像转换为灰度图像的过程,将去除色彩信息,使图像变得更易处理。
在Matlab中,使用rgb2gray函数可以方便地将彩色图像转换为灰度图像。
1.2 直方图均衡化直方图均衡化是一种增强图像对比度的方法,通过对图像的灰度直方图进行变换来实现。
在Matlab中,使用histeq函数可以对图像的灰度直方图进行均衡化操作,提高图像的细节显示能力。
1.3 尺寸归一化不同的人脸图像具有不同的尺寸和角度,这对人脸检测与识别算法会造成影响。
为了提高算法的鲁棒性,通常需要将人脸图像进行尺寸归一化处理。
在Matlab中,可以使用imresize函数将图像进行缩放,使得人脸图像具有相同的尺寸。
二、人脸检测人脸检测是指在一幅图像中自动识别和定位人脸的过程,是人脸识别的首要步骤。
Matlab提供了多种人脸检测算法的实现,其中常用的有Haar特征分类器和基于深度学习的卷积神经网络(CNN)。
2.1 Haar特征分类器Haar特征分类器是一种基于机器学习的人脸检测算法,可以通过训练集的正负样本学习出人脸的特征。
在Matlab中,可以使用vision.CascadeObjectDetector对象和trainCascadeObjectDetector函数来实现Haar特征分类器的训练与检测。
2.2 基于深度学习的卷积神经网络(CNN)近年来,深度学习在图像处理领域取得了巨大的突破,其中卷积神经网络是一种非常有效的人脸检测方法。
Matlab中的人脸识别与人脸特征提取近年来,随着计算机技术的快速发展和应用的普及,人脸识别技术逐渐进入了我们的生活。
无论是在安全领域的门禁系统、身份验证应用,还是在娱乐领域的人脸美化软件,人脸识别都发挥着重要的作用。
而在人脸识别技术的实现中,人脸特征提取是一个关键的环节。
本文将介绍在Matlab中实现人脸识别和人脸特征提取的方法与技巧。
在Matlab中,有许多经典的人脸识别算法可供选择,其中最为常见且被广泛应用的是基于主成分分析(PCA)的人脸识别算法。
PCA是一种经典的降维算法,它通过线性变换将高维数据映射到低维空间中,从而捕捉数据的主要特征。
在人脸识别中,我们可以将每张人脸的像素矩阵视为一个高维数据向量,利用PCA算法将其映射到一个低维特征空间中。
在特征空间中,每张人脸都可以表示为一个特征向量,就像每个人都有自己独特的“人脸特征码”一样。
要在Matlab中实现基于PCA的人脸识别,首先需要收集一组包含多个人脸的图像数据集作为训练样本。
然后,将每个人脸的像素矩阵展开成一个列向量,并将这些列向量按列排成一个矩阵,构成一个大的数据矩阵。
接下来,通过对数据矩阵进行协方差矩阵分解和特征值分解,可以得到一组特征向量。
这些特征向量被称为“特征脸”,它们是训练样本中人脸数据的主要变化方向。
最后,通过计算待识别人脸与训练样本中每个人脸的特征向量的距离,并找出距离最小的特征向量所对应的人脸,即可完成人脸识别的过程。
除了PCA算法,还有其他一些在Matlab中常用的人脸识别算法,如线性判别分析(LDA)算法、小波变换、局部二值模式(LBP)等。
这些算法在原理和实现上各有特点,可以根据实际需求选择合适的算法进行人脸识别。
在人脸识别之前,首先需要对输入的人脸图像进行预处理。
通常的预处理步骤包括灰度化、直方图均衡化和人脸检测。
灰度化是将彩色图像转换为灰度图像,降低了计算复杂度,同时保留了图像的关键信息。
直方图均衡化可以增强图像的对比度,使得人脸特征更加明显。
MATLAB中的人脸检测与人脸关键点定位技术人脸检测与人脸关键点定位是计算机视觉中一个重要的课题,它在许多应用领域都有着广泛的应用,如人脸识别、人机交互、表情分析等。
MATLAB作为一种非常强大的科学计算软件,也提供了丰富的工具和函数来实现这些功能。
在本文中,将探讨MATLAB中的人脸检测与人脸关键点定位技术,并介绍其原理和具体实现方式。
一、人脸检测技术人脸检测是计算机视觉中的一项基础任务,其目标是在给定的图像中准确地识别出人脸的位置。
在MATLAB中,人脸检测通常基于基于统计模型的方法,如Haar特征和级联分类器。
1. Haar特征Haar特征是一种用于物体检测的特征描述方法,它通过计算图像中不同区域的灰度差异来表示目标物体的特征。
在人脸检测中,Haar特征可以用来检测人脸的各种细节,如眼睛、鼻子、嘴巴等。
MATLAB提供了一系列函数和工具箱来计算和提取Haar特征,以及构建Haar特征分类器。
2. 级联分类器级联分类器是一种常用的目标检测方法,它通过级联多个简单的分类器来实现对复杂目标的检测。
在人脸检测中,级联分类器可以用来筛选候选区域,并排除一些不可能是人脸的区域,从而提高检测的准确率。
MATLAB中的人脸检测函数通常会使用级联分类器进行初步筛选,以减少计算量。
二、人脸关键点定位技术人脸关键点定位是在检测到人脸后,进一步定位人脸的关键特征点,如眼睛、眉毛、鼻子、嘴巴等。
在MATLAB中,人脸关键点定位主要基于形状模型和特征点回归方法。
1. 形状模型形状模型是一种用于描述人脸形状变化的数学模型,它通过学习和建模一组训练数据的形状变化,从而能够对新的输入数据进行形状预测。
在人脸关键点定位中,形状模型可以用来对给定的人脸进行局部形状的估计,从而进一步定位关键点。
MATLAB提供了一些函数和工具箱来实现形状模型的训练和预测。
2. 特征点回归特征点回归是一种常用的人脸关键点定位方法,它通过学习一个回归函数,将图像中的像素坐标映射到关键点的位置坐标。
《基于MATLAB的人脸识别算法的研究》篇一一、引言人脸识别技术是近年来计算机视觉领域研究的热点之一,其应用范围广泛,包括安全监控、身份认证、人机交互等。
MATLAB作为一种强大的数学计算软件,为研究人员提供了丰富的工具和函数,使得人脸识别算法的研究和实现变得更加便捷。
本文将介绍基于MATLAB的人脸识别算法的研究,包括算法原理、实现方法、实验结果及分析等方面。
二、人脸识别算法原理人脸识别算法主要基于计算机视觉和模式识别技术,通过对人脸特征进行提取和匹配,实现身份识别。
常见的人脸识别算法包括特征提取、特征匹配等步骤。
其中,特征提取是关键步骤,需要从人脸图像中提取出有效的特征,如纹理、形状、颜色等。
特征匹配则是将提取出的特征与人脸库中的特征进行比对,找出最匹配的人脸。
三、基于MATLAB的人脸识别算法实现1. 预处理在人脸识别算法的实现中,首先需要对人脸图像进行预处理,包括灰度化、归一化、降噪等操作。
这些操作可以有效地提高图像的质量,为后续的特征提取和匹配提供更好的基础。
2. 特征提取特征提取是人脸识别算法的核心步骤之一。
在MATLAB中,可以使用各种算法进行特征提取,如主成分分析(PCA)、局部二值模式(LBP)、方向梯度直方图(HOG)等。
本文采用PCA 算法进行特征提取,通过降维的方式将高维的人脸图像数据转化为低维的特征向量。
3. 特征匹配特征匹配是将提取出的特征与人脸库中的特征进行比对的过程。
在MATLAB中,可以使用各种相似度度量方法进行特征匹配,如欧氏距离、余弦相似度等。
本文采用欧氏距离作为相似度度量方法,通过计算特征向量之间的欧氏距离来找出最匹配的人脸。
四、实验结果及分析为了验证基于MATLAB的人脸识别算法的有效性,我们进行了多组实验。
实验数据集包括ORL人脸库、Yale人脸库等。
在实验中,我们使用了不同的特征提取和匹配方法,对算法的性能进行了评估。
实验结果表明,基于PCA算法的特征提取方法和欧氏距离相似度度量方法在人脸识别中具有较好的性能。
基于matlab 的人脸识别技术论文摘要:随着计算机技术的飞速发展,人脸识别技术逐渐发展壮大起来,并应用到众多领域。
人脸识别是指在人脸检测的基础上针对输入的人脸图像,通过特征提取与特征匹配,找出与人脸库中匹配的人脸图像,从而达到识别效果。
当前主要采取的人脸识别方法有:基于几何特征的方法 ,基于模板的方法和基于模型的方法。
这些方法较适合于人脸信息的验证,即待识别者是否为预先指定的对象。
不足之处在于,需要建立一个拥有庞大人脸信息的训练样本库,因此就降低了输出结果的时效性和准确性。
在应用领域中存在局限性,不适于具有庞大人脸样本训练库的身份鉴别领域。
鉴于种种不足,本文提出了一种基于可变人脸库的快速人脸识别方法,使人脸识别技术适用于更多的行业。
网络信息化时代的一大特征就是身份的数字化和隐性化,如何准确鉴定一个人的身份,保护信息安全是当今信息化时代必须解决的一个关键社会问题。
正在悄然兴起的人脸识别技术正好可以解决这一问题。
关键词:模式识别,K-L 变换,人脸识别,图像处理,matlab,图像增强,边缘检测,图像预处理,灰度直方图,特征提取1.1识别系统构成自动人脸识别系统具有如图所示的一半框架并完成相应功能的任务。
(1)人脸图像的获取:一般来说,图像的获取都是通过摄像头摄取,氮摄取的图像可以是真人,也可以是人脸的图片或者为了相对简单,可以不考虑通过摄像头来摄取头像,而是直接给定要识别的图像。
(2)人脸的检测:人脸检测的任务是判断静态图像中是否存在人脸。
若存在人脸,给出其在图像中的坐标位置,人脸区域大小等信息。
而人脸跟踪需要进一步输出所检测到的人脸位置,大小等状态随时间的连续变化情况。
(3)特征提取通过人脸特征点的检测与标定可以确定人脸图像中显著特征点的位置(如眼睛,眉毛,鼻子,嘴巴等器官),同时还可以得到这些器官及其面部轮廓的形状信息的描述。
1.人脸特征提取的算法:K-L 变换是图像压缩中的一种最优正交变换,通过它可以把人脸样本从高维空间表示转换到低维空间表示,且由低维空恢复的人脸样本和原人脸样本具有最小的均方误差,从而可用人脸样本在低维空间的变换系数作为对人脸特征的描述。
其中主元分析法(PCA )就是基于K-L 变换的一种比较流行的算法,它是统计学中分析数据的一种有效的方法,其目的是在数据间中找到一组向量以尽可能地解释数据的方差,将数据从原来的R 维空间将维投影到M 维空间(R>>M)并保存数据的主要信息,从而使数据更易于处理.按照K-L 变换识别算法流程.从人脸样本中提取面部特征.是人脸识别中重要步骤.其实质是一个从高维图像空间到低维数字空间的转换过程,可表示为:Y=T{x}式中:x 表示原始数据,Y 表示为特征信息,T 表示映射人脸样本特征提取算法如下:首先计算该库中所有样本的平均值(平均脸): ∑==p i n f P f 11 式中;P 表示照片数.f 表示每张照片的线性表示然后构建协方差矩阵:TT i pi i A A f f P C ⨯==∑=)'('11式中:f f f i -='表示每张照片与样本平均值的差。
A 表示差值形成的矩阵接着,进行特征的提取:由于此协方差矩阵进行求解特征值和特征向量比较困难的,因此采用奇异值分解的方法得到特征矩阵。
i T i f U Y '=式中:U表示的是采用奇异值分解特征向量提取方法。
2.基于协同模式的人脸样本分类:将人脸样本进行分类,采用上文所述方法获取原始图像的非线性最优表示,以消除图像冗余信息的干扰。
在获得人脸样本图像的特征值后,运用协同模式识别的方式进行人脸样本的分类。
(1)基于人脸图像对比的身份识别:即人脸识别问题。
通过将输入人脸图像于人脸数据库中所有已知原型人脸图像计算相似度并对其排序来给出输入人脸的身份信息。
这些包括两类识别问题:一类是闭集,即假定输入的人脸一定是人脸库中得某个个体;另一个是开集识别,即首先要对输入人脸是否在已知人脸库中做出判断,如果是,则给出其身份。
(2)基于人脸图像对比的身份验证:即人脸确认问题。
系统在输入人脸图像的同时输入一个用户宣称的该人脸的身份信息,系统要对该输入人脸图像的身份于宣称的身份是否相符作出判断。
1.2实现过程:人脸库的建立(1)照片预处理预处理的主要作用有两方面:第一,消除噪音;第二,归一尺度。
为了提高识别速度,应该尽量减少入库照片的冗余信息。
因此库中的照片中涵盖的信息主要为人脸五官信息,其他与人脸特征提取与比对不相关的信息都视为背景信息,需要剔除经过尺度归一化处理及灰度均衡化处理,样本照片存储为像素大小112*92的灰度图像(2)人脸样本分类通常的人脸识别方法是将人脸库视为一个整体进行训练,得出整个人脸库的特征值,之后再进行人脸识别。
把一个常规的人脸库看成是若干个相对较小的人脸库的集合。
进行人脸识别时,按照需求查找相应的子库,这样降低了参加训练的样本基数,从而达到了在不降低识别准确性的前提下,降低了人脸识别耗时的效果。
(3)数据库的建立数据库起到了辅助的作用,是人脸识别算法与人脸库连接的一个桥梁。
当识别待测样本时候,首先需要把待测样本进行人脸分类,在确定了该样本属于哪个聚类之后,从数据库中查找与之对应的人脸子库,进而进行人脸识别工作。
该数据库中存储了人脸库中的每个照片的数据信息,包括:姓名,照片编号,协同模式分类:存储该样本的物理地址等信息2.1基于matlab图像处理的基本操作读取和显示图像可以通过imread()和imshow()来实现;图像的输出用imwrite()函数就可以很方便的把图像输出到硬盘上;另外还可以用imcrp(),imrisize(),imrotate()等来实现图像的裁剪,缩放和旋转。
2.2 图像处理功能的Matlab实现实例可以通过图像处理工具箱的有关函数对一人脸的彩色图像进行处理1)图像类型的转换因后面的图像增强,边缘检测都是针对灰度图像进行的,而我们的原图是RGB图像,所以首先我们要对原图类型进行转换,实现代码如下:i=imread(’f:\face1.jpg’);j=rgb2gray(i);imshow(j);imwrite(j,’f:\face1.tif)效果图如下:2)图像增强(1)灰度图像直方图均衡化,代码如下:i=imread(’f:\face1.tif’);j=histeq(i);imshow(j);figure,subplot(1,2,1),imhist(i);subplot(1,2,2),imhist(j)效果入下图:(1)灰度图像平滑与锐化处理采用了预定义高斯滤波器的方法对图像进行锐化滤波。
功能实现的代码如下:i=imread(’f:\face1.tif’);j=imnoise(i,’gussian’,0,0.02);subplot(1,2,1),imshow(j);j1=wiener2(j);subplot(1,2,2),imshow(j1);h=fspecial(‘gaussian’,2,0.05);j2=imfilter(i,h);figure,subplot(1,2,1),imshow(i)subplot(1,2,2),imshow(j2)效果图如下:2)边缘检测采用canny算子进行边缘检测,代码如下:i=imread(’f:\face.tif’);j=edge(i,’canny’,[0.04,0.25],1.5);imshow(j)效果如下图:3.1人脸识别计算机系统人脸识别是一个复杂的过程,一个计算机人脸识别包括几个步骤:对采集到的图像,首先进行人脸检测(在输入图像中需找人脸),给出人脸有无的结果;然后进行人脸定位,确定人脸额位置并提取出来。
对人脸的定位在输入是图像序列时一般业称之为人脸跟踪。
通常检测和定位结合进行。
对提取出来的人脸借助人脸描述就可以进行(狭义的)人脸识别,即通过提取特征来确定其身份。
下面是运用matlab 仿真进行人脸检测定位程序:%%%%%Reading of a RGB imagei=imread(‘face1.jpg’);I=rgb2gray(i);BW=im2bw(I);figure,imshow(BW)%%%%%minimisation of background portion[n1 n2]=size(BW);r=floor(n1/10);c=floor(n2/10);x1=1;x2=r;s=r*c;for i=1:10y1=1;y2=c;for j=1:10if(y2<=c|y2>=9*c)|(x1==1|x2==r*10)loc=find(BW(x1:x2,y1:y2)==0);[o p]=size(loc);pr=o*100/s;if pr<=100BW(x1:x2,y1:y2)=0;R1=x1;r2=x2;s1=y1;s2=y2;pr1=0;endimshow(BW)endy1=y1+c;y2=y2+c;endx1=x1+r;x2=x2+r;endfigure,imshow(BW)%%%%%detection of face objectL=bwlabel(BW,8);BB= regionprops(L,’BoundingBox’);BB1=struct2cell(BB);BB2=cell2mat(BB1);[s1 s2]=size(BB2);mx=0;for k=3:4:s2-1p=BB2(1,k)*BB2(1,K+1);if p>mx&(BB2(1,k)/BB2(1,k+1))<1.8mx=p;j=k;endendfigure,imshow(I);hold on;rectangle(‘Position’,[BB2(1,j-1),BB2(1,j+1)],’EdgeColor’,’r’)效果如下图:4.1结束语基于matlab的人脸识别,很具有研究和应用价值,并且得到了越来越多的研究机构和公司的青睐,在国家安全,计算机交互,家庭娱乐等其他很多领域有着举足轻重的作用,对提高办事效率,防止社会犯罪等有着重大的经济和社会意义。
因此,通过接触这一比较前沿的技术,了解一些原理算法和系统的设计实现等。
比如我了解了很多人脸识别中常用到算法,比如基于二维Gabor小波矩阵表征人脸的识别方法,基于多特征融合和Boosting RBF神经网络的人脸识别方法,以及基于模型匹配人脸识别方法等等算法。
参考文献[1]祝磊,朱善安.人脸识别的一种新的特征提取方法[J].计算机学报,2007,34(6):122-1251[2]何东风,凌捷.人脸识别技术综述[J].计算机学报,2003,13(12)75-78[3]“Younus Fazl-eeBasit Javed 和 Usman Qayyum”,采用直方图的人脸识别和处理,第三阶段仅相关新兴技术研报告。