数据处理大作业
- 格式:doc
- 大小:510.71 KB
- 文档页数:10
山东大学数据图像处理大作业学生姓名:陈呈举学号: 201200121009专业班级:物联网工作单位:信息工程学院2015.6.8基于YCrCb颜色空间的人脸检测1.1背景及研究意义人脸检测(FaceDetection)是指在输入图像中确定所有人脸(如果存在)的位置、大小和位姿的过程,人脸检测的研究目的是使计算机具有类似人脸的脸像识别能力, 系统输入可能包含人脸的图像,输出关于图像中是否存在人脸以及人脸的数目、位置、尺度、位姿等信息的参数化描述。
具体地说,就是根据一定的算法确定输入图像是否存在人脸;如果存在的话,标出人脸的位置作为人脸检测系统的输出。
人脸检测问题最初来源于人脸识别( Face Recognition) .。
人脸识别的研究可以追溯到20世纪60—70 年代, 经过几十年的曲折发展已日趋成熟。
人脸检测是自动人脸识别系统中的一个关键环节, 但是由于早期对人脸识别的研究主要针对约束条件较强的人脸图像( 如静止的无背景的图像) , 常常假设的人脸位置已知或很容易获得, 因此人脸检测问题并没有受到大家的重视。
近几年来随着电子商务应用的快速发展, 人脸识别逐渐成为最有潜力的生物身份验证手段。
人脸作为人的特征之一,它同虹膜、视网膜,和指纹一样具有不可更改性和唯一性。
同时,人脸提供了大量丰富的信息,同其他生物特征识别技术相比,它作为一个信息极丰富的模式集合,是人们之间互相判别、认识、记忆的主要标志。
人脸识别技术具有例如操作方便、结果直观、隐蔽性好的优势,是一种非常有潜力的身份验证途径,也是近年来机器视觉、图像处理、模式识别、神经网络等领域非常热门的课题之一。
人脸是一类具有相当复杂的细节变化的自然结构模式, 此类目标的检测问题的难点在于 : ( 1) 人脸由于外貌、表情、肤色等不同, 具有模式的可变性; ( 2) 一般意义下的人脸上, 可能存在眼镜、胡须等附属物;( 3) 作为三维物体的人脸的影像不可避免地受由光照产生的阴影的影响. 因此, 我们如果能够找到方法解决这些问题, 成功构造出人脸检测系统,就可以为解决其它类似的复杂模式检测问题提供重要的基础。
虽然人脸作为一种自然形体具有很强的共性,但是,由于个体的外貌差异、表情变化以及图像在采集时所受光照、角度等因素的影响,使得我们所得到的人脸图像是有着复杂而细致的模式变化的,这就加大了人脸检测的复杂性。
现在,我们还没有找到一种能够适应各种情况的通用检测方法,那些已有的算法和软件对使用环境都有着太多的要求。
1.2人脸检测技术研究现状人脸检测作为人脸信息处理中的一项关键技术,具有着广阔的应用前景,它越来越受到研究者们的关注。
当今国外从事人脸检测研究机构非常多,比较著名的有 MIT,CMU 等;国内的有清华大学、中科院计算所和自动化所等。
并且 MPEG 标准组织已经建立了人脸识别草案小组,人脸检测算法也是一项征集的内容。
近年来人脸检测技术的研究已经取得了很大进步,研究出了许多新的人脸检测方法。
目前人脸检测的方法主要分为四类:基于知识的方法、基于特征的方法、基于模板匹配的方法和基于外观学习的方法。
1.3人脸检测技术路线1)将基于彩色空间的RGB模型转换为YCbCr模型(考虑到人脸的生理特征,只采取了Cr分量作为辅助)2)阈值分割,根据多次实验发现,正常黄种人的Cr分量大约在140~·160之间3)滤波,本实验采用性能较好的中值滤波4)特征区域提取,利用matlab的bwlabel函数5)对标记的特征区域利用高宽度之比和面积两个指数来进一步简化特征区域1.4具体实验代码及开发说明1)rgb->ycbcr%公式Y = 0.2990*R + 0.5780*G + 0.1140*B + 0%公式Cr = 0.5000*R - 0.4187*G - 0.0813*B + 128%公式Cb = -0.1687*R - 0.3313*G + 0.5000*B + 128本实验直接采用mtalab自带函数rgb2ycbcr()转换就OK了。
I1=imread('blue_lg.jpg');si=size(I1);m=si(1);n=si(2);img1=rgb2ycbcr(I1);cr1=img1(:,:,3);%大小为mxn的二维矩阵2)阈值分割cr3=cr1;for i=1:mfor j=1:nif(cr3(i,j)>140&&cr3(i,j)<160)%140~160为本人实验多次得到的合理值cr3(i,j)=255;elsecr3(i,j)=0;endendend3)中值滤波器(采用的是5x5的子模板)c_r=cr3;for i=3:m-2for j=3:n-2;temp=cr3(i-2:i+2,j-2:j+2);%提取5x5区域temp1=sort(temp);%排序c_r(i,j)=temp1(13);%中值endend4)利用bwlabel进行特征区域提取关于matlab函数bwlabel:[L, num] = bwlabel(BW, n);根据领域的链接性质,将整个区域分为num个子区域,L为一矩阵,其中每个子区域在此矩阵中的值为子区域的序号。
值得注意的是,序号为0的情况(我理解为背景,直接弃之不用)。
n指的是领域性质,4邻域or8邻域。
举个例子,BW = logical ([1 1 1 0 0 0 0 01 1 1 0 1 1 0 01 1 1 0 1 1 0 01 1 1 0 0 0 1 01 1 1 0 0 0 1 01 1 1 0 0 0 1 01 1 1 0 0 1 1 01 1 1 0 0 0 0 0]);3种背景颜色分别表示3个子区域,剩下的即为区域0,理解为背景吧。
对应生成的L矩阵即为% L = bwlabel(BW,4);L =1 1 1 0 0 0 0 01 1 1 02 2 0 01 1 1 02 2 0 01 1 1 0 0 0 3 01 1 1 0 0 0 3 01 1 1 0 0 0 3 01 1 1 0 0 3 3 01 1 1 0 0 0 0 0我的做法是在当前路径下重新定义了一个子函数findlimit()。
function [l,kk]=findlimit(I)%l为已分类有序矩阵%kk为特征区域的序号tt=size(size(I));if tt(2)==3 %若I为3维矩阵,则需要转换为灰度图像J=rgb2gray(I);else %I为3维矩阵J=I;end%[m,n]=size(J);[l,num]=bwlabel(J,8);area=zeros(1,num+1);%面积zhonghengbi=zeros(1,num+1);%比例%re=zeros(num+1,4);re1=zeros(num+1,2);for k=0:num[r,c]= find(l==k);% re(k+1,1)=min(r); %垂直方向最小值(上)% re(k+1,2)=max(r); %垂直方向最大值(下)% re(k+1,3)=min(c); %水平方向最小值(左)% re(k+1,4)=max(c); %水平方向最大值(右)re1(k+1,1)=max(r)-min(r);%高度re1(k+1,2)=max(c)-min(c);%宽度zhonghengbi(k+1)=re1(k+1,1)/re1(k+1,2);%高宽比if(re1(k+1,2)==0) zhonghengbi(k+1)=0;end%防止出现单条垂直线的情况area(k+1)=re1(k+1,1)*re1(k+1,2);endj=1;for i=1:num+1ifzhonghengbi(i)>0.2&&zhonghengbi(i)<3.0&&area(i)>1000 %高宽比设置为0.2~3.0之间,面积认为大于1000,注意面积为随机项,与图片大小有很大的关系kk(j)=i-1;j=j+1;endend5)把特征区域整个提取出来在此之前定义了一个判断序号是否在提取出的特征区域内的isson()函数,如下:function x=isson(y,I)x=0;z=size(I);for i=1:z(2)if(y==I(i))x=1;break;endend[l,kk]=findlimit(c_r);J=l;for i=1:mfor j=1:nif(l(i,j)~=0&&isson(l(i,j),kk)==1) J(i,j)=255;elseJ(i,j)=0;endendendfigure;imshow(J,[]);1.5实验结果及分析从结果截图可以明显看到人脸检测效果还是非常明显,图一的检测中眼镜框、眉毛等细节全部展示出来,可以看到程序的处理效果还是蛮不错的。
在复杂背景下的人脸检测以及多脸检测情况下检测结果还是可以接受的。
1.6结论基于肤色的人脸分割主要分为三大部分:(1)预处理,针对噪声,光照带来的影响进行消除。
(2)基于肤色模型的肤色分割。
(3)连通域分析,人脸区域定位。
预处理主要使用高斯滤波和直方图均衡,这些原理比较基础,网上可以很容易找到,不是重点。
通过比较RGB,HSV,Ycbcr空间,发现Ycbcr和HSV空间在进行人脸肤色分割方面由于肤色范围紧密,不易受光照其他物体干扰(基于肤色模型的,如果背景中有与人脸颜色类似的物体,且距离较近很容易产生干扰,影响人脸区域定位的准确性,这也是这一算法不能解决的问题)。
但是RGB与HSV空间的转换相比RGB到Ycbcr空间转换来说较为复杂些,所以我们采用Ycbcr空间进行人脸肤色的建模与分割。
1.7参考文献[1] Chellappa R, Wilson C L, Sirohey S . Human and machine recognition of faces :A survey. Proceedings of the IEEE,1995, 83( 5) : 705- 740[2] 周杰, 卢春雨, 张长水等. 人脸自动识别方法综述. 电子学报, 2000, 28( 4) : 102- 106[3] Sung K, Poggio T . Example-based learning f or view bas ed human face detection . IEEE Trans Pat t er n Analysis and Machine Intelligence, 1998, 20( 1) : 39- 51[4] 王志良,孟秀艳.人脸工程学[M].北京:机械工业出版社,2008.1[5]李月敏,陈杰,高义等.快速人脸检测技术综述.全国16届计算机科学与技术应用学术论文集[C],2004:771一774[6]王科俊,姚向辉.人脸图像检测与识别方法综述[J].自动化技术与应用,2004,23(l2):5一8,15.[7]YangG,HuangT5.Human face detection ine complex background[J].Patter Recognition,1994,27(1):53一63[8]卢春雨,张长水,闻芳等.基于区域特征的快速人脸检测[J].清华大学学报(自然科学版),1999,39.1:101一105[9]LeungTK,BurlMC,PeronaP.Finding faces in clotured scene using labeled random Graph mathing[C].hi:puter Vision.MIT,Boston,1995,637一644 [10]艾海舟,梁路宏,徐光佑等.基于肤色和模板的人脸检测[J].软件学报,2001,12.12:1784一1792[11]YullleA,HallinanP,CohenD. Extraction from Faces Using DeformableTemplates[J].International Journal of Computer Vision.1992,8.2:99一111[12]彭辉. 人脸自动检测与识别方法研究[ D] . 北京: 清华大学, 1998.[13] 赵丽红,刘纪红,徐心和 .人脸检测方法综述 . 计算机应用研究 .2004,21(9):1-4.[14]张书真.人脸检测技术浅析IJ].中国西部技术,2005,(6):36一37.[15]章毓晋,图像处理和分析,清华大学出版社,1999.。