收藏 分享(赏)

图像模式识别.ppt

上传人:rav7596 文档编号:8254183 上传时间:2019-06-17 格式:PPT 页数:43 大小:3.87MB
下载 相关 举报
图像模式识别.ppt_第1页
第1页 / 共43页
图像模式识别.ppt_第2页
第2页 / 共43页
图像模式识别.ppt_第3页
第3页 / 共43页
图像模式识别.ppt_第4页
第4页 / 共43页
图像模式识别.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、图像模式识别,报告人:,什么是模式识别,模式识别(pattern recongnition)就是机器识别,计算机识别或机器自动识别,目的在于让机器自动识别事物。 该学科研究的内容是使机器能做以前只能由人类才能做的事,具备人所具有的对各种事物与现象进行分析、描述与判断的部分能力。,模式识别的层次,模式识别的目的就是利用计算机实现人的类识别能力,是对两个不同层次的识别能力的模拟。对信息的理解往往含有推理过程,需要专家系统,知识工程等相关学科的支持。 我们所讲的模式识别理论主要是指对人的低级类识别能力的模拟,具体的说,就是实现观察对象是什么的判断,其中观察对象就是模式。模式是指具有某种特定性质的观察

2、对象。特定性质指的是可以用来区别观察对象是否相同或是否相似而选择的特性。 模式识别是一种智能活动,包含分析和判断两个过程。分析的过程在于确定用于划分模式类的特征及其表达方法,判断的过程则体现在依据识别对象的特性,将其判入某一个模式类。,一个典型的模式识别系统,未知类别模式的分类,分类器设计,分类结果,图像识别的基本原理,一个图像识别系统主要包括三部分:图像信息的获取、特征提取和分类判决。图像信息的获取就是把图片、底片、文字图形等用扫描设备变换为电信号以备后续处理;特征提取就是抽出能反映事物本质的特征;分类判决是根据所提取的特征做出分类结论的过程。其中,特征提取和分类判决关系密切。,图像模式识别

3、方法分类,对应于模式识别的理论与方法,有代表性的图像识别方法主要有以下四类。 (1)统计图像识别方法 (2)结构图像识别方法 (3)模糊图像识别方法 (4)神经网络图像识别方法,图像模式识别过程框图,图像模式识别的应用,图像识别主要研究某些对象或过程(统称图像)的分类与描述,也就是预处理后的图像,经分割和描述,提取有效的特征,进而加以判决分类。 图像识别的几种典型应用,包括人脸识别、签名识别和车牌识别等。 其中,手写数字识别,结果就是将手写的数字分到具体的数字类别中。智能交通管理系统的识别,就是判断是否有汽车闯红灯,闯红灯的汽车车牌号,还有文字识别,语音识别,图像中物体识别,等等。,人脸检测定

4、位,人脸检测是指在图像处理或视频中判断人脸是否存在,如存在,再进一步确定人脸的大小、位置等。 人脸检测是实时人脸识别和表情识别的基础,只有将人脸检测得准确,人脸识别和表情识别才能得以实现。 人脸检测还在视频监控、数字视频处理和基于内容的人脸的自动检测与特征点定位。,人脸检测方法,基于形状的检测方法 基于肤色的检测方法 基于统计理论的检测方法:基于统计理论的检测方法是利用统计分析与机器学习的方法来寻找出人脸样本与非人脸样本各自的统计特征,再使用各自的特征构建分类器来完成人脸检测。,基于人脸的形状特征检测,基于形状的检测方法利用人脸五官形状的信息,用一些形状模式在数字图像中匹配人脸,进而进行人脸检

5、测。 人脸的形状特征是指人类面部器官在几何上表现的特征。其中有以下几种常用的方法:(1)基于先验知识的方法(2)基于特征不变性的方法(3)基于模板的方法,(1)基于先验知识的检测方法,基于先验知识的检测方法是将人脸面部器官之间的关系编码准则化的人脸检测方法。该方法是一种自定而下的方法,依据人脸面部器官的对称性、灰度差异等先验知识,制定出一系列的准则。当图像中的待测区域符合准则,则被检测为人脸。自顶而下的方法能够较好的把握全局信息,但是非常强调对初始位置的定位,一旦出现偏差,将导致整体跟踪结果的移和变形。 目前比较好的方法有,4*4镶嵌图人脸分块方法、3*3的广义三分图方法、结合4*4和3*3的

6、分块方法。 分块的思想在于根据每块的灰度值制定准则来进行判定。例如将系统分为三级,利用不同精度的平均和二次采样产生三级不同分辨率的图像。针对不同分辨率的图像采用不同的准则进行判定,低分辨率图像里的准则主要体现了人脸的大体轮廓,高分辨率图像里的准则主要体现了人脸的细节特征。,(2)基于特征不变性的方法,基于特征不变形的方法着眼于检测面部的一些不变的特征,例如眼睛、鼻子、嘴巴等。与基于先验知识的方法不同,该方法是自底而上的,先利用各种手段寻找上述不变特征,然后综合找到的这些不变特征来确定待检测区域是否是人脸。自底而上的方法与自顶而下的方法正好相反,它考虑到人脸各器官之间存在着空间约束,通过对各局部

7、信息(脸部器官)的定位和跟踪,并结和各器官之间的空间位置关系,完成对整体(人脸的)定位。绝大多数自底而上的方法均将眼睛作为首选的特征进行搜索,这主要是因为眼睛具有特殊的外观特性以及相对稳定的对称性,可以使用模板方法或基于特征空间的方法等。 但是这些方法都是在亮度空间内对眼睛进行搜索,其效果难免会受到获取图像时的外部环境影响,比如光照条件、脸的朝向和位置,以及表情等。,(3)基于模板的方法,基于模板的方法可以分为两类:预定模板和变形模板。预定模板方法是指首先制定出标准的模板,然后计算检测区域和模板的相关值,当相关值符合制定的标准时就判定检测区域为人脸。变形模板是指首先制定出模板参数,然后根据检测

8、区域的数据对参数进行修改至收敛,以达到检测出人脸面部器官位置的目的。现有比较好的方法有:层次模板匹配方法、多模板匹配方法、主动形状模板(Active Shape Models,ASM)、主动表观模板(Active Appearance Models,AAM)等。,基于肤色的检测方法,基于肤色进行人脸检测是常用的方法,因为人脸肤色和环境存在较大的颜色差异,所以通过肤色很容易将人脸和背景环境区分,该方法需要建立有关人脸的肤色颜色模型。 计算机图形学领域定义的颜色模型,就是在某种特定上下文中对于颜色的特性和行为的解释方法。,颜色空间,RGB颜色空间 YCbCr颜色空间 NTSC颜色空间 HSV颜色空

9、间,RGB颜色空间,是彩色最基本的表示空间。R、G、B分别代表红(Red)、绿(Green)、蓝(Blue)3种基本颜色,每种颜色的亮度大小用数字0255表示。通过R、G、B 3个颜色通道的变化以及它们相互之间的叠加可得到1670万种颜色。,YCbCr颜色空间,又称YUV空间,是视频图像和数字图像中常用的色彩空间,主要用于数字电视系统中。Y代表亮度,Cb、Cr分别为蓝色分量和红色分量。此模型中的数据可以是双精度类型,但存储空间为8位无符号整型空间。Y的取值范围为16235,Cb和Cr的取值范围为16240。在目前通用的图像压缩算法中(如JPEG算法),首要的步骤就是将图像颜色空间转换为YCbC

10、r空间。 从RGB转换为YCbCr,输入输出都是8位二进制格式,转换公式如下: Y=0.2990R+0.5870G+0.1140B Cb=-0.1687R-0.3313G+0.5000B+128 Cr=0.5000R-0.4187G-0.0813B+128 其中,R、G、B是RGB颜色空间中红绿蓝3个颜色通道的颜色值。,NTSC颜色空间,是一种用于电视图像的颜色空间。使用YIQ色彩坐标系,其中,Y为光亮度,表示灰度信息;I为色调,Q为饱和度,均表示颜色信息。 因此,该空间的主要优点就是将灰度信息和颜色信息进行区分表示。,HSV颜色空间,HSV空间是面向用户的,是一种复合主观感觉的颜色空间。H、

11、S、V分别指的是色调(彩)(Hue)、色饱和度(Saturation)和明度(Value)。 所以,在这个空间中,一种颜色的参数便是H、S、V3个分量构成的三元组。,肤色模型,人脸区域检测定位在matlab中的实现,基于人脸形状特征的检测实现代码 实现基于肤色模型的人脸检测代码,%显示原始图像、灰度图像和二值化图像 clear all filename, pathname = uigetfile(*.jpg, JPEG文件(*.jpg);*.bmp,BMP文件(*.bmp);); if(filename = 0), return, end global FILENAME %声明全局变量 FIL

12、ENAME = pathname filename;I=imread(FILENAME); figure(1),imshow(I); %显示图像I I1=rgb2gray(I);%RGB图转化为灰度图 figure(2),imshow(I1); I2=wiener2(I1,5,5);%二维维纳滤波 figure(3),imshow(I2); w1=medfilt2(I1); %中值滤波 figure(4),imshow(w1); BW1=im2bw(I2); %二值化 BW2=im2bw(w1); figure(5),imshow(BW1); figure(6),imshow(BW2);,%二

13、值图像预处理,减小背景区域,尽量去除图像中背景区域,为人脸区域检测定位做好准备 n1,n2=size(BW2); %图像尺寸 r=floor(n1/10); %floor向下取整 c=floor(n2/10); %尺寸除10 x1=1;x2=r; %减小背景区域,将图像部分边缘区域设置为黑色for i=1:10y1=1;y2=c;for j=1:10if(y2=9*c)|(x1=1|x2=r*10)BW2(x1:x2,y1:y2)=0;endy1=y1+c;y2=y2+c;endx1=x1+r;x2=x2+r; end figure(7),imshow(BW2) %显示减小背景区域后的图像,L

14、=bwlabel(BW2,4); %标注各联通区域 BB1=regionprops(L,BoundingBox); %计算包含这个区域的最小矩形坐标 BB3=struct2cell(BB1); %将各联通区域的坐标转换成元胞数组 BB4=cell2mat(BB3); %将各联通区域的元胞数组坐标转换成数组 s1,s2=size(BB4); mx=0;%通过确认人脸面积在包含连通区域的矩形中面积最大,%且面部长度与宽度比小于2来确定面部矩形for k=3:4:s2-1p=BB4(1,k)*BB4(1,k+1);if pmx rectangle(Position,BB4(1,j-2),BB4(1,

15、j-1),BB4(1,j),BB4(1,j+1),EdgeColor,r),原始图像,灰度图像,二维维纳滤波,中值滤波,二维维纳滤波二值化图像,中值滤波二值化图像,去除图像背景区域,圈出人脸部位,基于肤色的人脸检测定位实现matlab代码,我们采用一种基于肤色信息和眼睛粗略定位的人脸检测算法。该算法先对 Anil K.Jain 的 Cb 、 Cr 椭圆聚类方法进行了改进,用改进的算法进行肤色提取,经过肤色区域的分析,对人脸区域进行预检测,确定人脸可能区域,然后再根据眼睛的粗略定位进一步确定人脸区域。,% Anil K.Jain提出的基于YCbCr颜色空间的肤色模型 % 根据当前点的Cb Cr值

16、判断是否为肤色 function result = skin(Y,Cb,Cr) % 参数 a = 25.39; b = 14.03; ecx = 1.60; ecy = 2.41; sita = 2.53; cx = 109.38; cy = 152.02; xishu = cos(sita) sin(sita);-sin(sita) cos(sita); % 如果亮度大于230,则将长短轴同时扩大为原来的1.1倍 if(Y 230) a = 1.1*a; b = 1.1*b; end,肤色分析(skin.m),% 根据公式进行计算 Cb = double(Cb); Cr = double(C

17、r); t = (Cb-cx);(Cr-cy); temp = xishu*t; %temp为value = (temp(1) - ecx)2/a2 + (temp(2) - ecy)2/b2; % 大于1则不是肤色,返回0;否则为肤色,返回1 if value 1 result = 0; else result = 1; end,% 判断二值图像中是否含有可能是眼睛的块 % bImage-二值图像 % x-矩形左上角顶点X坐标 % y-矩形左上角顶点Y坐标 % w-矩形宽度 % h-矩形长度 % 如果有则返回值eye等于1,否则为0 function eye = findeye(bImage

18、,x,y,w,h) % 根据矩形相关属性得到二值图像中矩形区域中的数据 % 存放矩形区域二值图像信息 part = zeros(h,w);,判断可能有眼睛的块(findeye.m),% 二值化 for i = y:(y+h) for j = x:(x+w) if bImage(i,j) = 0 part(i-y+1,j-x+1) = 255; else part(i-y+1,j-x+1) = 0; end end end L,num = bwlabel(part,8); %bwlabel对图像进行标记就是黑背景下%面有多少白的块% 如果区域中有两个以上的矩形则认为有眼睛 if num 2 ey

19、e = 0; else eye = 1; end,function facedetection(img_name) % 读取RGB图像 I = imread(img_name); % 转换为灰度图像 gray = rgb2gray(I); % 将图像转化为YCbCr颜色空间 YCbCr = rgb2ycbcr(I); % 获得图像宽度和高度 heigth = size(gray,1); width = size(gray,2);,人脸检测(facedetection.m),% 根据肤色模型将图像二值化 for i = 1:heigth for j = 1:width Y = YCbCr(i,j

20、,1); Cb = YCbCr(i,j,2); Cr = YCbCr(i,j,3); if(Y 80) gray(i,j) = 0; else if(skin(Y,Cb,Cr) = 1) gray(i,j) = 255; else gray(i,j) = 0; end end end end,%清理窗口 close all clear all img_name = input(请输入图像名字(图像必须为RGB图像,输入0结束):,s); % 当输入0时结束 while strcmp(img_name,0) % 进行人脸识别 facedetection(img_name); img_name = input(请输入图像名字(图像必须为RGB图像,输入0结束):,s); end,测试(FaceTest.m),识别肤色部分图像,对以上两种方法,你有什么好的想法或者结论?,基于人脸形状特征的检测结果,对比结论,从测试图片对比中我们可以得出以下几点: (1)基于人脸形状特征的人脸检测精确度不够高,并不能准确圈出人脸部位,包含了一部分背景图像区域; (2)基于肤色的人脸检测精度相比基于人脸形状特征检测方法要高一些,在图像中圈出的人脸基本上符合真实的认脸部位;但是,还存在有一些人脸检测不到的问题,还需要进一步该进。,Thats all ! Thank you !,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报