2022年2022年简单Matlab人脸检测 .pdf

上传人:Che****ry 文档编号:34253633 上传时间:2022-08-15 格式:PDF 页数:10 大小:506.08KB
返回 下载 相关 举报
2022年2022年简单Matlab人脸检测 .pdf_第1页
第1页 / 共10页
2022年2022年简单Matlab人脸检测 .pdf_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《2022年2022年简单Matlab人脸检测 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年简单Matlab人脸检测 .pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、创新性实验研究报告实验项目名称matlab 人脸识别名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 一、实验摘要本实验主要利用高斯肤色的归一化概率模型,将静态图像中的每一个像素限定在0 到1 的范围内。利用人工阈值法将肤色与非肤色区域分开,形成二值图像。 对上述图像进行开闭运算,腐蚀膨胀等操作,弱化细节。通过脸部几何特征选取脸部区域,排除非脸部区域。后利用脸部区域最大最小行列坐标得到最小外接矩形。进一步分析可得两眼,嘴部坐标,

2、以 3 点为基础画椭圆。最终圈定脸部区域。二、实验目的在一幅静态图片中找到人的脸部区域。三、实验场地及仪器、设备和材料:实验场地: J11-428实验室;仪器: PC机一台;材料: Matlab 软件、待检测图片四、实验内容1、实验原理高斯肤色概率模型:由于统计表明不同人种的肤色区别主要受亮度信息影响,而受色度信息的影响较小,所以直接考虑 YCbCr空间的 CbCr分量,映射为 CbCr空间,在 CbCr空间下,受亮度变化的影响少,且是两维独立分布。 通过实践,选取大量肤色样本进行统计, 发现肤色在 CbCr空间的分布呈现良好的聚类特性。统计分布满足: 77Cb 127 并且满足: 133Cr

3、173 根据肤色在色度空间的高斯分布,对根据肤色在色度空间的高斯分布,对于彩色图像中每个像素,将其从RGB 色彩空间转换到YCbCr 空间后,就可以计算该点属于皮肤区域的概率,即根据该点离高斯分布中心的远近得到和肤色的相似度,将彩色图像转化为灰度图,其中每个像素的灰度对应该点与肤色的相似度,相似度的计算公式如下:)()(5.0exp)(1mxCmxCbCrpT其中 m 为均值, m=E(x),C 为协方差矩阵,TCbCrx)(,)(TmxmxEC肤色分布的 2D 高斯模型 G(m,V2)也可表示为),(CrCbmKiiCrNCr11NiiCbNCb11名师资料总结 - - -精品资料欢迎下载

4、- - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - 其中,CrCb、为CrCb、相应的平均值,V为协方差矩阵。为了利用肤色在色度空间的聚类性, 选取YCbCr 色彩空间进行肤色提取。首先将彩色图片颜色空间转换到 YcbCr空间,然后对该区域的 CbCr值进行统计处理。处理的方法就是采用高斯模型。 m=E(x) ,TCbCrx)(,C为协方差矩阵 ,()() TCExm xm。通过这个肤色高斯分布可得到待检测彩色图像中任意一个像素点属于皮肤的概率。对于某像素点 s, 从 R

5、GB 空间转换到 YCbCr色彩空间得到色度值 (Cb,Cr) 则该像素的肤色概率密度可由下式计算得到 :)()(5.0exp)(1mxCmxCbCrpT式中: TCbCrx)(。通过计算,得到 m和C的值如下: m=117.4316 148.5599; 9966.1414700.244700.240946.97C(1)YCbCr 色彩空间是数字视频常用的色彩模型。在模型中,亮度信息单独储存在Y 中,色度信息储存在Cb 和 Cr 中。Cb 和 Cr 分别表示蓝色分量和红色分量相对的参考值。Matlab 中实现 YCbCr 色彩空间的转换函数为rgb2ycbcr。YCbCr 色彩空间是人脸检测非

6、常好的选择。因为其受亮度变化的影响小,能较好地限制肤色分布区域,而且在YCbCr 色彩空间中肤色聚类特性比较好。因此我们采用构建YCbCr 色彩空间的肤色模型来得出肤色概率谱,计算出每一个像素与肤色的相似度,并将每一点的灰度值与其为肤色的概率关联起来,得到肤色似然图。越靠近肤色灰度值越高,无关部分灰度值会较低。(2)阈值化是人脸检测中非常重要的一步。上一步操作得到肤色似然图后,由于近似肤色部分灰度值比较高,无关部分灰度值比较低,因此,选定合适的阈值后进行阈值分割,得到的二值图像可以有效地将近似肤色区域和无关部分分割开,无关部分将作为黑色背景色。便于下一步的操作。经过测试,阈值在0.5-0.6

7、都能满足实验要求。(3)因为要考虑到原图像的多样与复杂性,非肤色区域中依然有可能有部分区域颜色与肤色相近,所以阈值分割后的图像依然存有部分假肤色区域,经过开闭操作、填洞操作、腐蚀膨胀操作可以有效地去掉毛刺、假肤色区域等,从而得到一个较为纯净的肤色区域。(4)得到的肤色区域可能含有较多的人体信息,包括人脸、 手臂、手掌、腿部等等。由于实验目标是人脸检测,所以需要做面部特征定位把人脸和其他肤色区域区分开来。因为待检测图片中的人物信息都是着装的,所以人脸或者人脸包括颈部和身体的其他部分区域可以被衣服隔开,一般都是非联通的。因此本次实验使用的方法为对每个区域进行扫描,通过限制长宽比、区域的像素个数(等

8、同于限制区域大小)和矩形度可以有效地将人脸部分从肤色区域中筛选出来,非人脸区域可以全赋值为0 融入背景色。同时得到结果与阈值化图像相与,得到眼嘴特征。(若有)(5)最终得到的区域即为人脸区域,对其扫描后可以得到其长宽的最大最小值坐标,从而可以轻易画出此区域的最小外接矩形,在原待测图片上按照相同坐标画出矩形后,矩形框内即为人脸; 而对有眼嘴特征的图像, 则扫描定位眼睛和嘴巴的位置,用“*”号标注,以这三点为基准画出更贴近人脸的椭圆。这两种方法都能达到返回人脸位置大小的目的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整

9、理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - 2、实验内容实例一:(1)通过肤色概率模型得到源图像概率图:(2)人工阈值得二值化图像:(3)选定脸部区域:(4) 将 2,3 所得图像做 and运算:Face Region(5) 通过眼嘴确定人脸区域:实例二:通过肤色概率模型得到源图像概率图:(2) 人工阈值得二值化图像:(3)选定脸部区域:(4)将 2,3 所得图像做 and运算:Set thresholdFace and FeaturesSet threshold名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -

10、- - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - Face Region(5)通过脸部区域坐标确定人脸区域:Test Face Rec-ed3、实验步骤根据课题要求,查阅相关书籍;根据课题条件,设计算法流程;算法步骤如下:寻找合适的肤色概率模型。对概率模型进行阈值选择。形成二值化图像将上述的二值化图像进行几何辨识,筛选出脸部区域。对脸部区域特征扫描,找到眼,嘴坐标,若未扫描到眼,跳至(6)。对所得 3 点坐标为基准画椭圆,确定出脸部区域。将(3)得到的脸部区域图加上最小外界矩形,可粗略确定出脸部区域。在 ma

11、tlab环境中运行根据算法编写的程序;测试程序;调试;进一步优化算法,优化程序。Face and Features名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - 五、实验结果与分析1、实验现象、数据记录本次人脸检测实验采用了2 种圈定人脸的方法 (椭圆和最小外接矩形 ),如果静态图片人脸检测成功,将显示类似如下结果:(其中最小外接矩形在扫描不出人眼时作为备用圈定人脸的方案 ) 图 1 椭圆圈定人脸图 2 矩形圈定人脸另外,程序

12、中还有在图片中定位眼嘴的语句,以方便程序后期调试,现象类似如下:图 3 人脸特征标记2、对实验现象、数据及观察结果的分析与讨论:本次实验程序对正面人脸的检测率基本能满足快速检测出图片中人脸的需要,检测率也比较让人满意。实现方法简便有效,如果能进一步增加滤波、光照补偿等步骤,将可以在满足实验要求的前提下进一步提高检测率和检测精度。Test Face Rec-ed名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 10 页 - - - - - - - - - 3、关键点:本次实验

13、实现人脸检测的方法为利用人脸的明显特征,肤色,过程是把人脸图像视为一个高维向量, 从而将人脸检测问题转化为高维空间中分布信号的检测问题,这个转化的数学形态学思想实现起来较为简便,不仅省去了训练的过程, 而且对人脸的表情、 脸部细节容差也比较大, 在符合本次实验目的的前提下选用这种方法是很适合的,而这种方法所带来的肤色模型、肤色采集、阈值分割等问题,也成为了这次创新性实验的关键。六、实验结论这次基于肤色的人脸检测肤色分割方法本身就是一种较为基础的基于特征的静态人脸检测方法, 如果要求更高, 还需要更高级的算法, 因为要考虑到待测图片的多样性和复杂性,由于人的姿态、 人种肤色、光照、噪声等等都有可

14、能影响到图片质量或者图片色度,这个人脸检测程序还需要进一步的完善才能满足更高的要求。七、指导老师评语及得分:签名:年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 10 页 - - - - - - - - - 附件:源程序等。clc; clear all; close all; x=imread(f.jpg); y=rgb2ycbcr(x); a b c=size(y); cb=double(y(:,:,2); cr=double(y(:,:,3); for i=1:

15、a; for j=1:b w=cb(i,j) cr(i,j); m=117.4316 148.5599; n=260.1301 12.1430;12.1430 150.4574; p(i,j)=exp(-0.5)*(w-m)*inv(n)*(w-m); end end z=p./max(max(p);%-complextion probability imshow(z) %figure;imshow(x); th=0.5; for i=1:a for j=1:b if(z(i,j)th) z(i,j)=1; else z(i,j)=0; end end end figure;imshow(z)

16、;title(Set threshold)%-threshold se=strel(square,3); f=imopen(z,se); f=imclose(f,se); %figure,imshow(f);%open and close processing; f=imfill(f,holes); %figure,imshow(f);%fill holes in the Img se1=strel(square,8); f=imerode(f,se1); f=imdilate(f,se1); %figure,imshow(f);%-erosion and expansion; L,num=b

17、wlabel(f,4); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 10 页 - - - - - - - - - for i=1:num;%region loop; r,c=find(L=i); len=max(r)-min(r)+1; wid=max(c)-min(c)+1; area_sq=len*wid; area=size(r,1); for j=1:size(r,1)%pixel loop; if(len/wid2.4)|size(r,1)200|area

18、/area_sq0.55 L(r(j),c(j)=0;%not zero pixel =0; else continue; end end end figure;imshow(L);title(Face Region)%-eliminate NOT face rengion; w=L&z; figure;imshow(w);title(Face and Features)%-recover the features of face r c=find(L=0); r_min=min(r);r_max=max(r); c_min=min(c);c_max=max(c); figure;imshow

19、(x); hold on %plot(round(.5*(c_max+c_min),round(.5*(r_max+r_min),+) flg=0; for i=round(.5*(r_min+r_max):-1:round(1/3*(r_max-r_min)+r_min) for j=round(.5*(c_max+c_min):-1:round(1/3*(c_max-c_min)+c_min) if(w(i,round(j)=0) flg=1; break; end end if(flg=1),break,end end w(i,j) if(w(i,j)=0) e1_x=j;e1_y=i;

20、 %plot(j,i,*)%-Note left eye flg=0; for i=round(.5*(r_min+r_max):-1:round(1/3*(r_max-r_min)+r_min) for j=round(.5*(c_max+c_min):round(2.2/3*(c_max-c_min)+c_min) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 10 页 - - - - - - - - - if(w(i,j)=0)flg=1;break;end en

21、d if(flg=1)break,end; end w(i,j) e2_x=j;e2_y=i; %plot(j,i,*)%-Note right eye for i=round(1/2*(r_max+r_min):round(r_min+2/3*(r_max-r_min) if(w(round(i),round(.5*(c_max+c_min)=0),break,end end w(i,round(.5*(c_max+c_min) m_x=.5*(c_max+c_min);m_y=i; %plot(round(.5*(c_max+c_min),i,*)%-Note mouth ox=(e1_x

22、+e2_x+m_x)/3;oy=(e1_y+e2_y-e1_x+e2_x)/2; a=2*(e2_x-e1_x);c=(e1_y+e2_y)/2-m_y;b=(a*a-c*c)0.5; t=0:.01:2*pi; x=ox+.65*b*cos(t);y=oy+.8*a*sin(t); plot(x,y,.) else rectangle(Position,c_min r_min c_max-c_min r_max-r_min,EdgeColor,r); title(Test Face Rec-ed)%-test the face region end 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁