基于matlab的人脸初识别内容摘要:

标人物未察觉时识别完成,只需要可见 光就可以完成人脸信息的获取,不同于虹膜识别需要借助红外线采集图像,指纹识别需要依靠电子压力传感器活得指纹,获取时间短,识别精度高 [4]。 在电子商务飞速发展的今天,人脸识别系统的范畴一不足以涵括人脸识别的应用范围,在数字图像处理、视频领域、基于内容的检索等方面有着重要的应用价值。 作为一项具有最广泛应用前景的人体识别技术,人脸识别将得到越来越多的重视 [4]。 2 设计方案与分析 YCbCr 空间 光照强度的不同、人脸肤色的不同、图片背景的不同往往导致每张图片都具有自身的特色,将人脸区域从背景、衣着、发 型等非人类区域中分割出来。 一般使用的 RGB图片不适合于建立人脸皮肤模型,因为在 RGB 空间中,使用三基色 ( r,g,b) 表示图片的亮度以及颜色。 在不同的环境下光照条件的改变,很难将肤色点从非肤色点中分离出来,如果在 RGB图像上进行处理,将产生离散的肤色点,图片中间嵌有很多的非肤色点,提高了人脸检测的难度,容易产生不可靠的肤色分割。 解决方法是隔离颜色表达式中的亮度信息与色度信息,充分利用色度空间中肤色所表示出来的聚类性。 为此需要创造这样一个色彩空间,这个空间能把 R、 G、 B所代表的色度信息与亮度信息分开表示。 色彩空 间常用的的转换颜色模型主要有: YIQ、 YCbCr、 HSV等。 这里,采用 YCrCb 色彩空间作为报告的设计空间 [5]。 YCbCr 色彩空间一般是在数字视频领域内应用于高品质的视频播放。 在这种色彩空间中,用单个分量 Y 来表示亮度信息,用两个色差分量 Cb 和 Cr 来存储彩色信息。 其中分量 Cb 表示蓝色分量和一个参考值的差,分量 Cr表示红色分量和一个参考值的差 [5]。 RGB 转换为 YCbCr 所用的变换公式是: BGRCCY12812816rb 转换函数是: YCBCR=rgb2ycbcr(RGB)。 灰度图像转换 灰度图像就是一个数组描述,通常由一个 uint uint16 或双精度类型表示,是使用一个特殊的图像来表示图片中的所有像素 [5]。 这个特殊图像就是灰度,一般表示为图像的最黑暗色到图像的最白亮色。 灰度图像不同于黑白图像,黑白图像只有 0、 1 两种取值颜色,而灰度图像的实质是一个数据矩阵 I,该矩阵中使用了一定范围内的灰度级来代表图片中的数据,每一个元素对应着图像中的一个像素点,灰度级的取值范围 [0,255][5]。 ( 0 代表黑色, 255 代表白色) 在数字图像中,不同的肤色在 YCbCr 彩色空间内呈现不同的聚类分布,分布在很小的范围,其色度上的区别远大于在亮度上的区别,同样的肤色在 YCbCr 彩色空间中,在不同的光照条件下只有亮度值 Y 会随之改变。 不同的肤色可以具有相同的 2D 模型 G(m, V^2)。 为此笔者借助设定门限值实现肤色的区分。 人体肤色在 YCbCr 色度空间的灰度范围为: 4 1 7 0cr1 3 8,1 2 7cb1 0 0  程序如下: sum=0。 iptsetpref(39。 ImshowBorder39。 , 39。 tight39。 ) f=imread(39。 39。 )。 Ori_Face=f。 copy=f。 img=f。 f=rgb2ycbcr(f)。 f_cb=f(:,:,2)。 f_cr=f(:,:,3)。 f= (f_cb=100) amp。 (f_cb=127) amp。 (f_cr=138) amp。 (f_cr=170)。 figure(1)。 imshow(f)。 噪声消除 在转换后图片出现了噪声,这里采用开闭运算的方法消除噪声。 这里涉及到了形态学描述。 膨胀是二值图像的形态操作,具体功能是使图像变得粗长。 其举例程序与结果如下: i=imread(39。 39。 )。 imshow(i)。 %%%%%显示原图 se=strel(39。 line39。 ,8,6)。 %创建一个线形结构元素 i2=imdilate(i)%%%%显示膨胀结果 图 1 膨胀举例图 5 图 2 膨胀结果图 数学上,膨胀 是作为一种 集合运算 存在的 , 是所有结构运算原点位置组合成的集合, 这里指定 A为 i, B 为 i2,则 A被 B 膨胀定义为 :   AZBA Z^ )B( 其中 A与 B 的某些部位将会产生重合。 腐蚀同样二值图像的形态操作,具体作用是将图像变得细小,如同 膨胀操作,腐蚀的大小与程度取决于事先所设定的结构元素 [6]。 举例程序与结果如下: i=imread(39。 39。 )。 %载入图片 imshow(i)。 %显示图片 se=strel(39。 line39。 ,5,3)。 %生成线形结构元素 i2=imerode(i,se)。 %用线形结构元素来进行腐蚀操作 imshow(i2)%显示腐蚀结果 图 3 腐蚀举例图 6 图 4 腐蚀结果图 在数学定义上,腐蚀与膨胀相类似, A 指代为 , B 指代为 i2, A 被 B 腐蚀记为 A错误 !未找到引用源。 B,定义为: A被 B 腐蚀是所有结构 元素的原点位置的集合,其中平移的 B与 A的背景并不叠加。 开启运算就是将膨胀与腐蚀通过各种方式进行整合的运算,其间使用相同的结构元素。 在数字图像处理中的作用通常是起到平滑图像轮廓,消除图像边缘毛刺,截断狭窄的山谷 [6]。 举例程序与结果如下: i=imread(39。 39。 )。 imshow(i)%显示原图 se=strel(39。 square39。 ,3)。 %定义方形结构元素 i2=imopen(i,se)。 %进行开运算 imshow(i2) 图 5 开运算举例图 7 图 6 开运算结果图 开启运算就是对图像进行先腐蚀,后膨胀的操作,运算定义为: 闭合运算同样能平滑图像边缘,与开启运算相反,它一般能融合窄的缺口和细长的弯口,去掉小洞,填补轮廓上的缝隙 [6]。 举例程序与结果如下: i=imread(39。 39。 )。 imshow(i)%显示原图 se=strel(39。 square39。 ,9)。 %定义方形结构元素 i2=imclose(i,se)。 %进行闭运算 imshow(i2) 图 7 闭运算举例图 8 图 8 闭运算结果图 闭运算是对原图像做先膨胀,后腐蚀的操作,闭合运算定义为: 图。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。