您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 基于MATLAB的人脸检测
基于MATLAB的人脸检测概要•课题背景•设计方案选择•总体设计思路•各模块具体设计介绍–输入图像模块–图像处理模块–肤色分割,优化模板模块–模板匹配以及显示模块基于MATLAB的人脸检测课题背景•生物统计识别技术得到重视•安全入口控制、金融贸易安全等应用的快速增长•人脸识别是生物识别方法中应用最广泛的技术之一•人脸识别技术主要应用在公安、金融、网络安全、物业管理以及考勤等领域,国外被大量使用在国家重要部门以及军警得安防部门•人脸检测是人脸表征和人脸识别的前提和基础设计方案的选择•人脸检测实现方法:基于模板、基于级联分类器、基于特征脸空间重建、基于独立成分分析(ICA)和多项式神经网络(PNN)相结合等。•基于模板的人脸检测是一种有效而普遍适用的方法。利用人脸模板同原始图像进行匹配可以检测到图像中的人脸,进而可以用模板定位脸部的器官位置,该方法是一种颜色分割和模板匹配相结合的人脸检测算法。对脸部区域的获取比较准确(成功率90%以上)、速度快。总设计思路输入图像图像处理肤色分割,优化模板模板匹配显示检测效果读入人脸模板图1总体结构设计流程图•总设计思路:基于肤色分割和模板匹配验证•在rgb色彩空间中建立肤色分布的高斯模型,得到肤色概率似然图像,在最佳动态阈值选取算法下完成肤色区域的分割。•采用数学形态学和一些先验知识对所得到的肤色区域进行人脸特征筛选。•针对图像中的人脸通常有一定角度旋转和尺寸大小不确定的问题,通过计算候选人脸图像块的偏转角度和面积,并以此调整模板,优化模板配准,提高模板匹配的准确性。•利用候选人脸图像区域和模板质心作为配准的原点,抑制人脸图像噪声的干扰。•各模块具体设计介绍•1、输入图像模块•输入的图像的文件格式必须是JPG/jpg、BMP/bmp、TIF/tif或者GIF/gif几种中的一种,不属于这几中格式的图像文件是不能打开的。•2、图像处理模块•为下一步肤色分割奠定基础,对输入图像的处理包括图像色彩空间转换、建立肤色分布高斯模型、去噪、二值化四大部分。•图像色彩空间转换•将图像由RGB色彩空间转换到rgb色彩空间rgb模型的转换公式为:•rgb模型是归一化的RGB模型,并且一般只使用(r,g)空间,这样又实现了三维空间到二维空间的转换。•建立肤色分布高斯模型•根据彩色图像像素属于肤色模型的可能性的大小,来表示灰度的大小,将一幅彩色图像转变为灰度图像,灰度值对应于该点属于皮肤区域的可能性,根据肤色在色度空间的高斯分布,得到高斯分布的中心,然后根据图像所有像素离该中心点的远近计算肤色的相似度,得到肤色相似度灰度图。B)GB/(RbB);GG/(RgB);GR/(Rr(a)肤色分布(b)高斯模型图2(a)输入原图(b)概率分布似然图像图3•低通滤波去噪声•采用线性平滑滤波器对图像进行滤波去噪处理。高频分量对应图像中的区域边缘等灰度值具有较大较快变化的部分,平滑滤波将这些分量滤去可减少局部灰度起伏,使图像变得平滑、去除噪声。•采用线性平滑滤波器的邻域平均法。利用3×3的BOX模板对图像进行模板作(卷积运算),Box模板对当前像素及其相邻的的像素点统一进行平均处理,这样就可以滤去图像中的噪声。•邻域平均法通过求平均来去除突变的像素点,从而滤掉一定的噪声,其优点是算法简单,计算速度快,但会造成一定程度的图像模糊。(a)输入原图(b)概率分布似然图像(c)低通滤波后效果图图4•二值化•图像经过平滑滤波后,噪声大多已经被消除,为提取特征点,需对图像进行分割,要二值化。•本文采取自适应阀值分割。•本文的自适应阀值程序让阈值从0.65开始计算,每次减少0.1,直到0.05。当被分割肤色区域的数量变化最小时,这时候的阈值是最佳的。通过选取合适的门限值,可以将灰度图像进一步转换为二值图像。•最佳的阈值一旦确定,灰度图像就可以转化成二进制的图像了。0(黑色区域)和1(白色区域)分别表示非皮肤区域和皮肤区域。(a)输入原图(b)概率分布似然图像(c)低通滤波后效果图(d)二值化后效果图图5•3.肤色分割,优化模板模块•分割人脸候选区域•二值皮肤分割图像只是给出了所有与皮肤颜色相同的区域,有可能把肩膀、手臂等肤色区域或是与肤色相近的其他物体也包括了进去,所以,要通过各种算法将那些非人脸区域尽可能去除掉。•人脸包含眼睛、鼻子以及嘴巴,因此一张脸在被分割的区域里应包含至少一个洞。•标注二值图像中连接的部分,找出每个颗粒的坐标,针对每个颗粒进行区域空洞判断。若区域中有空洞,则将此区域保留,然后做填充将洞封住(即将灰度值赋为1)。最终会在整个二值图像中保留出一片区域,即初步判断的人脸区域。•优化模板•对上面获得的二值图像中的目标区域进行比例、结构的分析,过滤掉不可能的人脸区域,便于后面的形状模板的匹配。•长宽比:人脸的比例通常是1:1,但考虑到与人脸相连的脖子可能没有被衣服覆盖的情况,本文规定,如果目标区域的高度/宽度比例wratio小于0.8,或者大于2.0,则认为不是人脸区域,删除该区域。•区域填充率:矩形面积S,目标区域的面积为A,如果A/s小于0.35,则认为不是人脸区域,删除该区域。•4.模板匹配以及显示模块•选取被分割的一个区域,将一个人脸模板放在这个区域。人脸模板要根据被分割区域的尺寸重新进行缩放,被分割区域的倾斜度被用来以一定的角度旋转人脸模板。确定被分割区域和人脸模板的中心,以便人脸模板能够直接放在区域中心。•在去掉假区域后,可以将模板脸覆盖在剩下的认为是人脸的区域上,进行模板匹配的相关运算,即计算两个图像矩阵之间的相关系数。•如果人脸模板矩阵和被分割区域矩阵的相关系数是0.6或者更高,原始图像就会被用灰度图像显示出来,并将人脸模板放在被分割区域。(a)人脸模板(b)覆盖了模板人脸的灰度图像(c)检测效果图图6
本文标题:基于MATLAB的人脸检测
链接地址:https://www.777doc.com/doc-2570589 .html