李科,刘允才
目前,单摄像头的监控广泛应用于工业控制、安全保障、交通监控、门禁系统等领域。在很多领域(如:安保系统,门禁系统)需要自动的将人脸的图像,从视频中检测出并记录。由于视频记录的是连续的图像,同一个人根据其停留时间的长短,可以产生几千至几万幅图像,如果将其全部记录是一种对空间的浪费,也为后期的查找工作带来很大的麻烦,选择其中清晰度高的记录,是一种直观的可行办法。由于光线、视角、遮挡等因素,视频中检测到的人脸并不总是正面清晰的,很可能是模糊的,从大量的连续图像中,自动选取一个清晰人脸成为一个难题。本文提出了利用频域变换的方法在大量人脸序列图像中得到高清晰度图像的方法。
图像是否清晰,在频域是由其高频分量决定的,而高频分量越丰富,经过频域变换后其值越大,通过一定的预处理,可以使频域变换值与清晰度成正比关系,以此来选择图像,主要包含以下处理过程:
1)图像预处理与人脸的检测
根据监控区域的特点来决定采用的图像预处理的方法。如果监控区域整体亮度太高,将首先降低亮度值;如果监控区域整体亮度太低,将首先升高亮度值。然后将彩色图像转化为黑白图像,这样一方面可以提高处理速度,一方面方便下一步的处理。然后对图像进行直方图均衡化,使整个图像的灰度平衡。最后对图像进行形态学处理,得到一个相对理想的图像。
使用参考文献[1]中的方法检测人脸。尽管这个方法可以给我们提供非常高的检测率和很低的错检率,但仍然会有一些错误的区域被当做人脸,如不是皮肤颜色的区域和相互包含的区域。可以用两个步骤来处理这个问题。首先检查各个被认为是人脸的区域的坐标和大小,如果发现有一个大区域包含了一个小区域,去除那个较大的。然后检测各个区域的颜色,大量的统计表明,在YCbCr颜色空间中,只有那些值在0 2)人脸的跟踪 如图1所示,本步骤如下所述:为便于描述,我们先定义几个变量。数组变量PRE[]用来记录前一帧捕获的人脸信息,数组变量CUR[]用来记录本帧捕获的人脸信息。数组变量有以下两种主要状态:有用,无用。有用表示这个变量正被用于记录信息,无用表示这个变量没有被使用或者已经被废弃。有用状态又有三个分支状态:新的,正常的,消失的。新的表示这个变量存储的是一个新检测到的人脸信息,并且其置信值小于置信阈值下限,我们还不信任这是一个人脸。正常的表示这个人脸连续多次被检测到。消失的表示这个人脸以前是正常的,但在最近几帧中消失了,并且消失时间小于消失时间阈值。 对每个变量CUR,我们查询哪个PRE能够和它匹配,如果有匹配的,我们记录是数组的第几个变量匹配。如果没有匹配的,我们认为这个是新出现的人脸,将其信息保存在一个无用的PRE中。 对于每一个匹配的PRE,考虑它的状态。如果它是新的,增加它的置信值,保存人脸信息。如果它是正常的,只需要保存人脸信息。如果是消失的,这说明我们再次找到了这个人,将其状态变更为正常的,保存人脸信息。 对于数组CUR[]中每一个CUR执行以上步骤,然后处理那些数组PRE[]中未被匹配的。如果状态是新的并且置信值小于阈值,认为它是噪声,直接删除。如果状态是新的但是置信值大于阈值,减小置信值。如果是正常的并且在图像边界附近,认为它是走出了监控区域,输出现有信息。如果是正常的但是没有在图像边界附近,将其标记为消失。如果状态是消失但是消失时间小于阈值,增加消失时间。如果状态是消失的并且消失时间大于阈值,认为其消失了,输出现有信息。 3)人脸的捕捉 人脸选择部分主要通过频域方法实现。首先将所有候选图像归一化为同一大小,然后截取正中间的20乘以20像素的图像进行处理。根据人脸检测的特点,人脸的主要部分主要集中在图像中央,这样做既可以减小计算量,又可以尽量减小背景的干扰。 图1 可以选择的频域方法有快速离散傅里叶变换和小波变换,小波变换也可以选择不同的基。基于实时监控的特点,要求算法具有实时性,并且具有优秀的效果,因此我们对比了FFT和基于haar基和bior基的小波变换。 i.快速离散傅里叶变换 二维离散傅里叶变换具有可分离性,即它可由两次一维离散傅立叶变换计算得到,因此,仅研究一维离散傅立叶变换的快速算法即可。一维FFT的公式如下: 定义 于是 由此,可将一个N点的离散傅立叶变换分解成两个N/2短序列的离散傅立叶变换,即分解为偶数和奇数序列的离散傅立叶变换Fe(u)和Fo(u)。 利用 FFT对候选图像进行处理,然后将变换中心移到图像中心,这时远离中心的点代表高频分量,计算高频分量的强度,综合此值以及原始图像的大小来决定选取哪副图像。 ii.小波的变换 二维小波具有可分离性、尺度不变性和平移性。核可以用3个可分的二维小波来表示: 其中,ψH(x,y), ψV(x,y)和ψD(x,y)分别称为水平、垂直和对焦小波,并且一个二维可分的尺度函数是 对候选图像进行二维小波分解,并且计算水平分量和垂直分量的大小,选取值较大的。由于人脸的运动模糊主要来至于头的水平转动和垂直转动,对角分量显得不是那么重要,在不降低质量的情况下,可以减少计算量,提高计算速度。 利用 matlab的小波包,对得到的图像进行离散傅里叶变换和小波变换,记录变换的时间以及选择的图片,比较时间的长短和图像的质量。在本实验中,由视频监控程序捕捉到得候选图像和结果如下: 图2 在matlab中分别用 FFT、Haar、bior3.1、bior3.3、bior3.5对以上图像进行变换,比较高频分量的值,选择最大的一个。左边的图像为候选人脸,右边第一列是用FFT得到的结果,右边第二列是用Bior3.1小波得到的结果(其他小波基的结果同此)。得到的结果显示,快速离散傅里叶变换和各种小波变换的选择,在质量上都是可以接受的。 对于第一行的人脸(其他人脸类似),各种方法的速度见下表,从图表中可以看出,bior3.1具有最快的速度,这对实时系统非常重要,因此可以选择基于bior3.1基的小波变换来处理图像。 表1 本文提出了一种实时提取监控视频中最清晰人脸的方法,利用图像预处理、人脸检测、人脸跟踪得到大量候选图像,然后通过频域方法选择最清晰的人脸。本文比较了快速离散傅里叶变换和几种不同基的小波变换,可以看出各种频域方法都有可以接受的质量,但是基于bior3.1基的小波具有最快的速度,最适合实时监控的特点。实验结果显示了本文所提出的方法是有效的。 [1]Paul Viola and Michael Jones: Rapid Object Detection using a Boosted Cascade of Simple Features. IEEE Conference on Computer Vision and Pattern Recognition 2001. [2]Rainer Lienhart and Jochen Maydt: An Extended Set of Haar-like Features for Rapid Object Detection.Internationl Conference on Image Processing 2002. [3]Omar Javed and Mubarak Shah:Tracking And Object Classification For Automated Surveillance.Europeon Conference on Computer Vision 2002. [4]Bo Wu and Ram Nevatia:Cluster Boosted Tree Classi fi er for Multi-View,Multi-Pose Object Detection.IEEE International Conference on Computer Vision 2007. [5]孙延禄:关于银幕画面清晰度的评价与表征方法.MOTION P ICTURE &VIDEO TECHNOLOGY 2002,No.8 22-30. [6]刘兴宝,袁道成:基于纹理分析的小波变换图像清晰度评价方法研究.仪器仪表学报2007,No.8 . [7]江泽民,徐德,杨月全,谭民:基于小波包分解的图像清晰度判定.中国图像图形学报2004,No.6.2 实验分析
3 结论