网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > VC与C++类别 > 正文

vc人脸识别程序的开发

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/14

网学网为需要VC与C++类别的朋友们搜集整理了vc人脸识别程序的开发相关资料,希望对各位网友有所帮助!

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

    单帧图像的人脸定位
       我们之所以能通过眼睛和大脑把单帧图像中的人脸从背景区域中区分出来,很重要的一点原因就是人脸和背景之间存在着可以区分的色彩差异,这种差异同样可以成为程序区分人脸和背景的依据。因此,本文采用人脸中最大块,最集中的不变特征――肤色作为从背景中区分人脸的依据。
2.1彩色空间,以及彩色空间的转换
       本文是通过WebCam和AVICap提供的视频采集函数来采集单帧图像的,它是以32位真彩色的色彩实现方式存放的。图像中每个像素都是由3个字节24个二进制位来表示的,每个字节(8位)代表一个不同的颜色分量。这三个分量依次是蓝色分量B、绿色分量G、红色分量R,而这三个字节存储的实际内容就是这三个分量的值。根据存储单位的大小,我们不难得出这三个分量的取值范围都是在(0,255)之间,其中三个分量的值全取0表示黑色,全取255表示白色,而其他颜色也可以通过对BGR三个分量取不同的数值来得到。这种被大多数图像格式所采用的彩色空间,称之为RGB彩色空间。在RGB彩色空间中,颜色的表达是由红、绿、蓝三种颜色按不同比例混合而成,这样的表达方式并不能准确地反映出颜色本身的特征。因为,人眼看到的任何一种彩色光都是彩色三要素:亮度(Brightness)、色调(Hue)、饱和度(Saturation)综合而成的效果。其中,亮度是光作用于人眼时所引起的明亮程度的感觉,它与被观察事务的发光强度有关;色度反映颜色的种类,是当人眼看到一种或多种波长的光时所生产的彩色感觉,它与光的波长有关,是决定颜色的基本特征;饱和度是指颜色的深浅程度,即各种颜色混入白光的程度。由此可见,这三个要素才是对颜色本身最准确地诠释。而且,据研究表明,人的视觉对亮度细节的敏感程度远大于对色度细节的敏感程度,此外,经过统计证明,不同人种,不同环境下的肤色区别主要受亮度影响,受色度影响较小,可见,RGB彩色空间并不适合人类的视觉特征。因此,我们完全可以选择更能突出颜色特征的彩色空间来分析人脸肤色和背景色,并为人脸肤色建模。
       本文选择YCrCb彩色空间(即YUV),其中的Y分量是表示像素的亮度, CrCb称为色度,其中Cr(U)分量表示红色色差分量,Cb(V)表示蓝色色差分量,这两个色差信号分别传送红基色分量R和蓝基色分量B与亮度分量Y的差值信号,即,其中为加权系数。对于黑白图像有:R=G=B,则Cb=0Cr=0。而对于彩色图像,决定了图像的色调,代表图像的饱和度。在多媒体计算机中采用的YCrCb彩色空间,数字化后Y:Cb:Cr8:4:48:2:2。具体的实现方法是处理亮度分量时,每个像素数字化为8bit256级亮度),而CbCr色差分量则是每四个像素用一个8bit数据表示,这样以来,将一个像素用24bit表示压缩为用12bit表示,对这种变化人眼是感觉不到的。但是,在本文中,从RGB彩色空间转换到YCrCb彩色空间,每个像素的存放位数未做压缩,经过如下公式:
              1
                       2
                         3
转换的单帧图像,仍以24bit表示一个像素值,其中第1个字节(前8位)表示Y分量,第2个字节(中间8位)表示Cr分量,第3个字节(后8位)表示Cb分量。在程序代码中,用RGB彩色空间表示的单帧图像是存放在以DIBINFO类型定义的变量m_dibinfo的buffer数据成员中,而经过彩色空间转换后的单帧图像是存放在m_ycc_buffer缓冲区中(有关DIBINFO类型、变量m_dibinfo和m_ycc_buffer的说明详见本文的第三部分)。这样一来,当我们需要将人脸定位后的单帧图像以DIB位图方式绘制出来时,就无需再将彩色空间转换回RGB彩色空间,而只需要根据计算得到人脸定位信息,在原来的、以RGB彩色空间表示的单帧图像中勾勒人脸的位置。
       本文选择YCrCb彩色空间,主要原因是从RGB彩色空间到YCrCb彩色空间的转换相当于对RGB空间做了一个解相关的线性变化,其计算过程相对于RGB彩色空间到YIQ彩色空间和HIS彩色空间的转换过程要简便得多,而尽可能少而简单的计算可以减少转换过程的失真率。此外,转换彩色空间而不做压缩操作的原因是毕业设计中采集的单帧图像的数据容量(144×176)较小,所需要的内存空间足够,而且对不做压缩的图像像素地访问也更为便捷。
2.2人脸肤色模型,二值化
将单帧图像转换到YCrCb空间后,要检测该单帧图像中某一像素是否属于人脸像素,可以通过“阈值处理”的方法对该像素的灰度值进行判断,然后把符合“阈值处理”公式的像素标识出来,从而实现图像的二值化。其中,阈值处理就是指,对于输入图像的各像素灰度值属于某定值(称为阈值,threshold)范围内时,赋予对应输出图像的像素为白色或黑色。
要通过“阈值处理”的方法实现对单帧人脸图像的二值化,必须先解决的问题是确定适合的人脸肤色模型。虽然人脸的肤色看起来是变化的,但是人脸肤色的变化多数情况是因为肤色亮度值的差异造成的。因此,在确定人脸肤色模型时,我们可以把这种由肤色亮度值造成的差异忽略掉,即只采用肤色的色度值来确定人脸的肤色模型。根据《Detection and Tracking of Faces in Real-Time Environments》一文中的介绍,忽略肤色亮度值将不会影响对人脸肤色的成功检测,反而可以减少对大容量的三维YCrCb彩色空间的处理,转而对易处理的二维CrCb图进行研究,同时还有助于减少对单帧图像的计算处理。
       在试图寻找适合的人脸肤色模型的过程中,笔者首先尝试了Detection and Tracking of Faces in Real-Time Environments》一文中介绍的人脸肤色模型。现介绍如下:

图二 
       前面的叙述中笔者也已经提到过了,在Detection and Tracking of Faces in Real-Time Environments》一文中的人脸肤色模型是忽略人脸肤色的亮度值的,因此文中所进行的试验都是在二维的UVCrCb)图中展开的。为了确定在UVCrCb)图中的脸部肤色精确度,使用重复实验法来找出压缩方法,来压缩所有人脸都共有的色度的根本性质,无论肤色的变换度如何。这些实验的结果把最佳匹配(best-fit)区域分为3个单独的脸部肤色类,分别是浅肤色、中等肤色和深肤色。每一个类用一种特殊的人种群来表示。用浅肤色

本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

原创论文

设为首页 | 加入收藏 | 论文首页 |原创论文 |
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师