基于WebCam的人脸检测技术的设计与实现
无需注册登录,支付后按照提示操作即可获取该资料.
摘要
人脸识别技术可以应用于基于网络的身份认证,我们实现了基于WebCam的人脸识别与跟踪系统。本文以WebCam采集的视频流为数据源,截取视频流中的单帧图像,通过转换彩色空间、人脸肤色建模、后处理操作和人脸定位算法实现了人脸检测,并以此为基础实现了在视频流中对于人脸的跟踪。试验结果表明,我们所实现的人脸识别算法适用于近距离人脸的检测,可以应用于基于WebCam的身份认证。
关键词
人脸识别,人脸检测,肤色,定位,视频流
Abstract
Face recognition can be applied to identity authentication on Internet, now we have realized face recognition and tracking system based on WebCam. This essay takes video flowing collected from WebCam as data source, and cuts off Single frame in video flowing. It has realized face detection through transforming colored space, complexion modeling, aftertreatment and face orient algorithms, and based on which the essay has realized face tracking in video flowing.The result of the test shows that the face detection algorithms we realized adapts to short distant face detection, and also can be used as identity authentication based on WebCam.
Keyword
Face recognition, face detection, Complexion, video flowing
1 人脸检测的意义,国内外的情况综述
基于视频流的人脸分析是目前计算机模式识别和图形图像领域中的研究热点,其目的是在视频中自动检测、定位、跟踪和识别人脸。该技术能广泛应用于基于内容的图像检索、视频编码、生物认证、计算机安全、电子商务等领域。虽然已经有很多人脸检测和识别算法,但至今仍有大量的研究者在研究这项技术,这是因为人脸是一个动态的目标,在表达形式上有高度的可变性,导致该项技术仍然是机器视觉中的难点。
基于WebCam(Internet上的摄像头)的人脸检测和跟踪技术是将人脸分析技术与基于Internet的视频流相结合的一项技术,可以应用于在Internet上的身份认证和安全。目前已经有大量的生物认证技术(如指纹识别,虹膜识别,人脸识别)应用于身份认证,用于加强传统身份认证技术(如口令)。但是这些技术均只能用于本机操作,而不能用于Internet上身份的验证。例如,我系计算机教育与应用研究所开发出了基于B/S模式的考试系统,从理论上说可以实现在Internet上的考试。然而,由于不能解决在Internet上的身份认证,该系统目前只能适用于在局域网中进行在线测试。可以设想,如果有了基于WebCam的人脸检测和跟踪技术,我们就可以在此基础上实现考试过程中的身份认证和考试监控。
基于WebCam(Internet上的摄像头)的人脸检测和跟踪技术的核心是人脸分析。人脸分析的任务包括人脸检测,人脸识别和人脸跟踪。人脸检测是许多后期应用的预处理过程。有许多方法可以用于人脸检测,这些方法可以分成四大类:
(1)基于知识(Knowledge-based)的方法,是基于规则的方法,试图对人脸特征在直觉上建模。
(2)基于特征不变性(Feature invariant)的方法,是利用特征的不变性进行检测,如比例、方位、灰度级和肤色等)。
(3)模板匹配(Template matching)的方法,通过手工定义人脸的模板,或者是脸部特征,来与输入图像进行匹配。
(4)基于外貌(Appearance-based)的方法,通过机器学习的方法找到人脸中的相关特征。
单帧图像的人脸定位
我们之所以能通过眼睛和大脑把单帧图像中的人脸从背景区域中区分出来,很重要的一点原因就是人脸和背景之间存在着可以区分的色彩差异,这种差异同样可以成为程序区分人脸和背景的依据。因此,本文采用人脸中最大块,最集中的不变特征――肤色作为从背景中区分人脸的依据。
本文是通过WebCam和AVICap提供的视频采集函数来采集单帧图像的,它是以32位真彩色的色彩实现方式存放的。图像中每个像素都是由3个字节24个二进制位来表示的,每个字节(8位)代表一个不同的颜色分量。这三个分量依次是蓝色分量B、绿色分量G、红色分量R,而这三个字节存储的实际内容就是这三个分量的值。根据存储单位的大小,我们不难得出这三个分量的取值范围都是在(0,255)之间,其中三个分量的值全取0表示黑色,全取255表示白色,而其他颜色也可以通过对B、G、R三个分量取不同的数值来得到。这种被大多数图像格式所采用的彩色空间,称之为RGB彩色空间。在RGB彩色空间中,颜色的表达是由红、绿、蓝三种颜色按不同比例混合而成,这样的表达方式并不能准确地反映出颜色本身的特征。因为,人眼看到的任何一种彩色光都是彩色三要素:亮度(Brightness)、色调(Hue)、饱和度(Saturation)综合而成的效果。其中,亮度是光作用于人眼时所引起的明亮程度的感觉,它与被观察事务的发光强度有关;色度反映颜色的种类,是当人眼看到一种或多种波长的光时所生产的彩色感觉,它与光的波长有关,是决定颜色的基本特征;饱和度是指颜色的深浅程度,即各种颜色混入白光的程度。由此可见,这三个要素才是对颜色本身最准确地诠释。而且,据研究表明,人的视觉对亮度细节的敏感程度远大于对色度细节的敏感程度,此外,经过统计证明,不同人种,不同环境下的肤色区别主要受亮度影响,受色度影响较小,可见,RGB彩色空间并不适合人类的视觉特征。因此,我们完全可以选择更能突出颜色特征的彩色空间来分析人脸肤色和背景色,并为人脸肤色建模。