未来智讯 > 人脸语音识别论文 > 基于WebCam的人脸识别过程

基于WebCam的人脸识别过程

发布时间:2018-11-30 01:06:05 文章来源:未来智讯    
    基于WebCam的人脸识别过程作者: 徐法璐 苏丹   人脸识别技能能够应用于基于网络的身份认证,本文通过截取视频流中的单帧图像,对其依次进行了色彩空间的转换、人脸肤色的建模、后处理操作以及人脸定位算法四个过程的操作,详述了基于WebCam(Internet上的摄像头)的人脸识别的处理过程。
  【关键词】人脸识别 视频流 WebCam
  1 人脸识别技能
  基于视频流的人脸分析的目的是在视频中自动检测、人脸定位、跟踪和人脸的识别,这是目前计算机模式识别领域和图形图像领域中的研讨热点,广泛应用于生物认证、计算机平安等领域。由于人脸存在动态性和可变性的特点,人脸检测技能还是机器视觉中的一个难点。
  当前,已有多种生物认证技能广泛应用于身份认证或加强传统身份认证技能(如口令),然而受限于单机操作,而不能用于网络上身份的验证。基于WebCam的人脸识别技能,在人脸分析技能的基础上,联合基于网络的视频流,实现基于网络的身份认证。
  人脸的分析是基于WebCam的人脸识别技能的核心,主要包括彩色空间及转换、人脸肤色模型二值化、后处理、人脸定位4个过程。本文利用WebCam截取视频流,并对截取的视频流进行人脸分析,实现人脸定位。
  2 基于肤色的人脸分析
  人脸和背景之间的色彩差异能够作为为程序区分人脸和背景的依据。本文将人脸中的肤色作为背景。
  2.1 彩色空间及其转换
  单帧图像的采集是通过AVICap、WebCam提供的视频采集函数实现的,图像保存为32位真彩色格式,选择YUV彩色空间来完成人脸肤色和背景色的分析,并完成人脸肤色的建模。
  YUV彩色空间含Y、Cr、Cb 3个分量,其中Y为像素的亮度,Cr为红色色差分量,Cb为蓝色色差分量,分辨用来传送亮度分量Y的差值信号、红基色分量R、蓝基色分量B。而对于彩色图像,由决定其色调,由 决定其饱和度。在选取的YCrCb彩色空间进行数字化后Y:Cb:Cr的值为8:4:4或8:2:2。处理亮度分量时,每个像素将数字化为8b,Cb、Cr色差分量是每四个像素用一个8b数据表示。利用公式将RGB彩色空间的每个像素存放位数转换为YCrCb彩色空间的存放位数:
  Y=0.229R+0.587G+0.114B(1)
  Cr=R?Y=?0.229R?0.587G+0.886B(2)
  Cb=B?Y=0.701R?0.587G?0.114B (3)
  转换后的24位像素值中,前8位表示Y,中间8位表示Cr分量,后8位表示Cb分量。
  2.2 人脸肤色模型二值化
  将单帧图像转换到YUV彩色空间后,判断像素的灰度值时选取“阈值处理”的方法,将适合“阈值处理”公式的像素标记出来,将图像二值化并确定该单帧图像中某一像素是不是人脸像素。其中,阈值处理是指当输入图像的各像素灰度值属于某阈值范围内时,将其对应输出图像的像素设为白色或黑色。
  实现单帧图像的二值化时,最初确定合适的人脸肤色模型。人脸肤色的变化多是由于肤色亮度值的差异造成,所以在确定人脸肤色模型时,能够只用色度值来确定而忽略掉由肤色亮度值造成的差异。
  2.3 后处理
  二值化操作后得到的单帧图像中,适合人脸肤色模型的像素是白色局部的像素,黑色像素不适合模型判别条件。由于在WebCam采集到的图像中,人脸所占范围很大,要去掉单帧图像中离散的非人脸区域能够选取膨胀与统计的后处理方法。
  最初,使用形态学上的膨胀(dilation)和腐蚀(erosion)操作,填满被检测到的脸部皮肤区域里的小且稀少的洞,这样既不明显改变这些区域,又能使其边界线变得平滑。其中:膨胀是指某像素的邻域内只要有一个像素是白像素,该像素就由黑变白,其他像素不作变化;腐蚀是指某像素的邻域内只要有一个像素是黑像素,则该像素就由白变黑,其他像素不作变化。在图形学中,一个像素的邻域范围内最多能够有8个像素,在确定操作的邻域范围时,选择某个像素的上下、左右四个像素进行相应的操作即可。
  然后,统计图像中的连续白色区域内的白色像素数,把在作出对照之后的白色像素个数最多的区域保留下来。
  最终,用一个常量AREAPIXEL来判定白色像素的个数,这个常量值的确定应以“视频帧图像中有效人脸的范围”为依据,白色像素的个数大于该常量时,将该区域判定为人脸区域。反之,白色像素个数小于该常量时,判定为非人脸区域,同时将该区域黑色化。当确定有适合判定条件的人脸存在时,人脸区域便是进行二值化后的单帧图像剩下的白色区域。
  2.4 定位人脸区域
  后处理操作后,确定图像中有人脸的存在时,要进行人脸区域的定位操作。
  人脸区域的确定是通过扫描图像检测出人脸的边缘来完成的。按照图像的存储原理,最初从下往长进行扫描,将出现白色像素的第一行作为人脸的下边界,记为y1。然后继续向上扫描,扫描的同时记录下该行的黑色像素个数,如果某一行的黑色像素个数和该行的宽度值相同,那么将这行扫描线的前面的一行作为人脸的上边界,记为y2。同样的方法,从左往右进行顺序扫描,记下人脸的左、右边界,分辨记为x1、x2。于是得到由(x1,y1),(x2,y1),(x1,y2),(x2,y2)四个点所确定的矩形区域,也便是为人脸区域。然后,在RGB彩色空间表示的单帧图像中把由以上四个坐标所确定下来的矩形边线的像素值赋为(0,255,0),再用DrawDibDraw函数以DIB位图方式绘制出来,实现人脸的定位。
  3 小结
  本文讨论了单帧图像的人脸识别过程,主要包括彩色空间及转换、人脸肤色模型二值化、后处理、人脸定位4个过程,更适用于近距离人脸的检测,而要想实现对人脸的更正确的定位,还需要更好的能抽象出人脸特征的建模公式。
  参考文献
  [1]胡晓军,邓波,高宏伟等.Visual C++高级开发范例解析[M].电子工业出版社,2002.
  [2]阮鹏,赵明生,平安监控中的一种快速人脸定位算法[Z].清华大学电子工程系网络与人机语音通讯研讨所,2003.
  [3]张翔羽,林志勇等.OpenGL 在人脸建模和动画中的应用[J].计算机应用,2000.
  [4]David F.Rogers.计算机图形学算法基础[M].北京:电子工业出版社,2002.
  [5]徐慧.Visual C++数字图像实用工程案例精选[M].人民邮电出版社,2004.
  作者单位
  国网技能学院 山东省济南市 250002
转载请注明来源。原文地址:https://www.7428.cn/page/2018/1130/49131/
 与本篇相关的热门内容: