一种基于视频的行人人脸检测与跟踪算法的制作方法

文档序号:6458740阅读:243来源:国知局
专利名称:一种基于视频的行人人脸检测与跟踪算法的制作方法
技术领域
本发明属于模式识别技术领域,具体涉及一种利用运动物体检测和跟踪的方法进行基于视频的行人人脸检测与跟踪的方法。

背景技术
随着视频监控在各大中城市的广泛部署,对于监控视频的海量信息的智能处理也提上议事日程。基于视频的行人人脸检测和跟踪就是监控视频智能信息处理的一种,在社会治安和公安刑侦等方面有广泛和重要的应用。
目前,人脸检测的算法大都基于图像,而不是基于视频。这些算法用一个窗口遍历整个图像,检测窗口里是否包含人脸。为了适应人脸大小的变化,这些算法要用大小不同的窗口反复遍历图像。因此,基于图像的人脸检测算法是一个时间复杂度很高的算法。把基于图像的人脸检测算法不加修改,直接应用到视频的各帧图像,将无法满足视频处理实时性的要求,更何况在实际应用中,人脸检测之后往往是人脸识别。人脸识别算法也是一个时间复杂度很高的算法。因此,如果把人脸检测算法与人脸识别算法的时间复杂度通盘考虑,则对人脸检测算法实时性的要求将更为苛刻。
基于视频的人脸跟踪有重要的意义。首先,人脸跟踪可以减少视频相邻各帧中人脸检测的重复运算,从而大幅度减少整个算法的运算量;其次,人脸跟踪可以应用于图像增强,提供清晰的人脸图像;最后,人脸跟踪可以提供人脸多个视角的信息,丰富人脸识别的依据。但是,基于视频的人脸跟踪困难很多,这是因为在视频中,人脸的姿态、形状和大小都在不断变化,加之人脸在整个图像中所占画面比例很小以及遮挡、表情等因素,很难找到人脸的稳定特征可以在视频相继各帧中贯穿始终。
本发明提出以种借助运动物体监测和跟踪的方法进行性人人脸监测和跟踪的算法,较好地解决了目前目前行人人脸检测和跟踪遇到的难题。


发明内容
本发明提出一种利用运动物体检测与跟踪的算法进行行人人脸检测与跟踪的算法。这种算法是建立在视频中人体的运动信息基础上的,利用了人体运动的空间相关性和时间相关性的信息,具体内容如下 1.把运动物体的检测算法运用到行人人脸的检测中(参见图1、图2) (1)运动区域的检测对于一个给定的视频图像序列,一般采用差分固定背景来对当前帧的目标图像减除背景,经阈值化处理后,将图像分割为运动区域和背景区域。
(2)运动物体(行人)的判别用根据人体测量数据构建的二维人体模板对上述运动区域进行判别,确定该区域内是否包含行人。
(3)人脸区域的判定在识别出运动人体区域之后,把运动人体重心以上四分之三的区域认为是人脸区域,把这部分区域标记出来。通常,基于图像的人脸区域判定是在整幅图片上检测人脸区域,而本发明基于运动分析的人脸区域判定仅仅只在运动区域上判定人脸区域,大大减小了搜索范围,缩短了搜索时间。
(4)在人脸区域中进行人脸检测将人体区域重新在原始图像上进行定位,进行肤色分割和数学形态学处理,并排除那些过宽或过长或者长宽比过大过小的类肤色区域。最后利用平均脸模板匹配的方法来进行检测,得到最终的人脸区域。
根据得到的粗检测结果依次将候选人脸区域提取出来,进行一些灰度处理后使用人脸模板对待选人脸图像窗口进行匹配,将满足一定条件并达到匹配度阈值的图像窗口作为人脸。
2.把运动物体的跟踪算法运用到行人人脸的跟踪中 本发明把运动物体的跟踪算法运用到行人人脸的跟踪上,运用已有的成熟的行人人体跟踪算法来达到实时的人脸跟踪的目的。主要利用了卡尔曼滤波器递推线性最小方差估计的特点,具有估计快速准确的优点,具体分为以下两大步骤 (1)通过跟踪人体来跟踪人脸根据从当前帧中检测得到的人体位置,利用卡尔曼滤波器对当前帧中人体的位置、速度和加速度进行估计,同时利用这个估计值对人体在下一帧中的位置做出预测。当对行人人体的跟踪完成后,再次利用1中所述的行人人脸检测方法在被跟踪的人体上检测出人脸,实现对行人人脸的跟踪。本发明基于行人人体跟踪的人脸跟踪方法不仅克服了行人人脸目标过小姿态变化过多等特点造成的跟踪不利因素,而且缩小了每次跟踪定位人脸时的搜索范围,大大提高了跟踪的速度。
(2)对其他区域的分析用上述基于运动物体检测的人脸检测方法对其余区域进行分析,判断有无新的人脸出现。若有,则继续用基于运动物体跟踪的人脸跟踪方法对其进行跟踪。显而易见,这时需要进行行人检测的区域减小了,大大节省了运算量。
本发明的整个算法流程图参见图3。
本发明特点 本发明提出的算法构造了一种行人人脸检测和跟踪的算法框架,在这个框架下,大部分运动物体检测和跟踪的算法都可以结合成为行人人脸检测和跟踪的算法。本发明提出的算法有两个显著的特点 (1)本发明提出的算法先找行人后找人脸,行人做为人脸区域定位的依据。由于行人的目标比人脸的目标大,加之有运动信息可资利用,因此,在视频中找行人要比直接找人脸容易得多。
(2)本发明提出的算法通过跟踪行人实现人脸的跟踪。由于行人在行进中相对于摄像头的位置会发生变化,头部也会摆动或转动,致使其脸部在视频相继各帧中形状、大小、方向都会发生变化,加之表情和遮挡等因素,很难从人脸中提取稳定的特征做为跟踪的依据。相比之下,行人目标较大,行人身上有较多稳定的特征可以作为视频相继各帧中跟踪的依据。



图1、运动人体检测流程图 图2、人脸检测流程图 图3、本发明中整个算法的流程图 具体实施方案 步骤1利用运动物体检测来进行人脸检测 利用运动物体的运动信息进行人脸检测包括下面几个步骤运动区域检测,运动人体识别,肤色分割,数学形态学处理,类肤色区域滤除以及平均脸模板匹配,下面分别说明。
一、运动区域检测 首先,对于给定的一个视频中的图像序列,本具体实施方案先用正交高斯厄米特矩(OGHMs)的方法检测到运动区域,并把运动区域和背景区域分割开来。
正交高斯厄米特矩模板窗口大小为3,对应的标准偏差为0.2。窗口大小为3时,基函数的取值域为[-0.9972,0.9972]。模板如下所示 一阶模板 三阶模板 五阶模板 得到OGHMIs之后,并不能从中直接提取运动物体,必须对得到的图像进行分割。同一幅图像中处在同一个物体中的像素点有着很强的空间相关性,若仅仅简单的设定阈值分割,会对这种相关性造成破坏,使分割的鲁棒性降低。在分割方面,不变矩算法没有考虑到物体的空间相关性,因此采取了J.Shen等(参考文献[1]J.Shen.W.Shen,H.J.Sun.J.Y.Yang.Fuzzy Neural Nets with Non-Symmetric Membership Function andApplication in Signal Processing and Image Analysis.Signal Process,2000,80965-983.)提出了Non-symmetric membership函数得出OGHMIs下的membership函数(参考文献[2]Youfu Wu,Jun Shen,Mo Dai.Traffic Object Detections and its Action Analysis.PattenRecognition Letters,2005.),在此基础上应用Fuzzy relaxation算法(FRM)进行分割,从而保证了分割时物体各像素之间拥有较强的空间相关性。
Membership函数的表达式见式(1)
通过Non-symmetric membership函数,可推出GHMIs时的membership函数u,实现归一化,见式(2)
u(M(x,y);T,Mmin(x,y))可简写为u(x,y)。
得到membership函数u(x,y)后,通过FRM算法来提取运动物体。该算法是一种区域生长算法,有几个关键步骤起始点的确定、区域生长方法、终止条件、干扰滤除。
A.起始点的确定 对图像进行左上至右下的顺序扫描,找出u(x,y)=1的点作为起始点。
B.生长方法 以起始点为当前点,搜寻其四邻域的u(x′,y′),若u(x′,y′)>0.7,则令u(x′,y′)=1,并将(x′,y′)作为种子点,继续进行四邻域搜索;否则u(x′,y′)=0,不是运动模块的点。
C.终止条件 当所有种子点都搜索完毕之后,结束当前运动快的搜索,继续对图像扫描,寻找新的起始点,重复上面步骤直到处理完全图像。
D.干扰滤除 在进行区域生长的过程中,记录属于该运动区域的点的个数,当该运动块大小小于某一阈值T时,则作为干扰滤除,对应的u(x,y)=0。
通过FRM算法的搜索处理,再将图像中二值化从而可以提取出运动物体。
提取出运动物体之后,可以采用一些优化的方法,使获得的目标更加精确。本文采用计算图像中运动块与静止块的大小,并设定了对应的阈值。
本具体实施方案中设定运动区域为白色,静止区域为黑色,当白色块中黑色块像素数目小于某个阈值时,认为这部分也是运动区域,设置为白色,这样可以解决空洞问题;当黑色块中白色块的数目小于某一个阈值的时候,认为这部分也是静止区域,设置为白色,这样可以消除背景的干扰问题。
二、运动人体识别 本具体实施方案中假设场景中的人体都处于直立状态,直立状态的人体与自然界中其它运动物体相比有一个非常特殊的特征,即人的高度、宽度比较大。在自然界中四肢行走的动物它的高度、宽度比较小。还有一些运动物体比如车辆等为了在运动时保持稳定状态,重心一般都较低,这样它的高度、宽度比一也较小。对于特定的场景,我们还可以根据对场景的一些先验知识来确定某些规则,通过它们来帮助识别人类的存在。比如说,对于已知的场景,人体面积有一个大体的范围,通过检验连通区域的面积可以通过它帮助去掉某些噪声区域。
面积这一特征值是通过计算二值化图像中连通区域的像素个数来提取,根据特定场景中靠经验获得的人体面积参数来设置阈值,然后进行阈值分割,小于该面积阈值的前景连通区域中的像素值被设置成背景像素值。
连通区域高宽比这一特征值是通过如下步骤获得 A.搜索连通区域的第一个像素,记录其横坐标和纵坐标的值,正向搜索后续的像素,记录其横坐标和纵坐标的值,通过排序算法分别找出横坐标的最大值Xmax和最小值Xmin,以及纵坐标的最大值Ymax和最小值Ymin。
B.获得连通区域高度Hn=(Ymax-Ymin),宽度Wn=(Xmax-Xmin),(n为正向搜索时连通区域的编号,第一个搜索到的连通区域编号为n=1),存储,n加1。
C.搜索下一个连通区域,转步骤A,如没有搜索到连通区域则退出。
本具体实施方案通过大量人体高度和宽度比值的试验结果,得出在人体完全进入场景后,由于受人体手臂及腿部在行走是摆动幅度的影响,还有摄像头拍摄的角度不同,他的高度、宽度比的范围大体在1到5之间。在实际应用中为了不漏掉人体,我们可以适当放宽范围尺度。
三、肤色分割 HSV空间中两点之间距离与人眼视觉一致,而且其中H分量反映物体的色调信息,比较容易作彩色图像分割处理。图像中皮肤颜色的差异主要由光照引起,在检测中只考虑色度信息,就可以减少光照的影响,因此可只用H(色调)单独来进行肤色的提取。
在本具体实施方案中,对于运动检测之后确定的区域重新在原始图像上进行定位,对这个区域内的像素点按照公式(3)完成从RGB→HSV色彩空间的转换。按照H的值判断某个像素点是否属于肤色,本具体实施方案中采取当0.02<H<0.08时,认为这个像素点是属于肤色的。
V=max(R,G,B)
其中 Delt=V-min(R,G,B)。
四、数学形态学处理 本具体实施方案中采取了腐蚀和膨胀的数学形态学处理方法来对上一步得到的区域进行处理。
腐蚀是消除物体的所有边界点的一种过程,其结果是剩下的物体沿其周边比原物体小一个像素的面积。如果物体任一点的宽度小于三个像素,那么它再该点将变为非连通的(变为2个物体)。在任何方向上的宽度不大于2个像素的物体将被除去。腐蚀可以对从一幅分割图像中除去小且无意义的物体来。
膨胀是将与某物体接触的所有背景点合并到该物体的过程。过程的结果是使物体的面积增大了相应数量的点。如果两个物体在某一点相隔少于3个像素,它们将在该点连通取来(合并成一个物体)。膨胀可以填补分割后物体的空洞。
五、类肤色区域滤除 经过基于数学形态学的滤波方法处理后,图像中的小块噪声大多数被清除,但是背景中某些较小的类肤色区域仍存在。为了删除假人脸区域,我们必须对这些区域进行分析和计算。首先把类肤色区域标记出来,然后再利用人脸的长宽比符合一定比例这个特点来进行滤除,排除那些过宽或者过长或者长宽比过大过小的区域。
为了确定某一区域的长宽比,必须将该区域的长度L和宽度W分别求出。但是由于部分人脸可能存在一些旋转倾斜,这使得无法直接利用该区域的左、右、上、下4个顶点的坐标值(这里,采用的坐标系是以图像最左下角为原点,水平向右为x轴的正方向,垂直向上为Y轴的正方向)进行判断。其详细过程为统计该区域边界上所有点的坐标值,寻找x轴上具有最小、最大x分量的坐标(Xmin,Xmax),及Y轴上的最小、最大Y分量的坐标(Ymin,Ymax),L=Xmax-Xmin、W=Ymax-Ymin值即为人脸的长宽(宽长)参数值。L与W的比值即为所求的区域长宽(或宽长)比。如果人脸为垂直正面,则该比值应该接近于1.2,但是由于人脸存在旋转,且肤色相似度分割可能造成人脸头颈部作为同一个区域分割,故厂的上限可以适当放大,以防止把正确的分割区域作为错误的判断。本具体实施方案中,r的取值范围为(0.5,2),不属于这个范围的候选区域则直接删除。
六、平均脸模板匹配 在选取的样本图像中手工裁剪出人脸的区域作为人脸样本,将其尺度标准化到24×24,将所有样本取灰度平均得到平均人脸图像,并对平均人脸图像进行灰度分布标准化后作为人脸模板。
为了适应不同形状的人脸,对原始模板分别按照1∶0.9、1∶1 、1∶1.1、1∶1.2的宽长比拉伸。
其中,灰度分布标准化是将图像的灰度均值和方差变换为μ0=128和σ0=80。设图像的灰度值矩阵为D[W][H](其中W,H分别为图像的宽度和高度),计算其均值、方差,并作如下变换 根据得到的粗检测结果依次将候选人脸区域提取出来,转变为灰度图像,并对图像进行灰度分布标准化。然后使用人脸模板对待选人脸图像窗口进行匹配,将满足一定条件并达到匹配度阈值的图像窗口作为人脸。
匹配过程中采取以下的匹配准则。假设人脸模板的灰度矩阵为T[M][N],灰度均值与方差分别为μT和σT,待选人脸图像区域的灰度矩阵为R[M][N],灰度均值与方差分别为μR和σR,则它们之间的相关系数r(T,R)为 使用人脸模板进行匹配时,若相关系数r(T,R)超过门限值t(t=0.6),则认为通过了平均脸匹配筛选,被认为是人脸。
步骤2利用运动物体跟踪算法进行人脸跟踪 运动物体跟踪的算法很多,本具体实施方案采用卡尔曼滤波器,但并不限于卡尔曼滤波器。
卡尔曼滤波器是一种递推线性最小方差估计,具有估计快速准确的优点,在视频行人的跟踪上有着成熟的应用。本具体实施方案使用卡尔曼滤波器对行人人体的运动状态进行估计,根据估计出的运动状态来跟踪行人人体,在被跟踪的行人人体上检测出人脸,实现跟踪行人人脸的目的,具体过程如下 一、行人人体进行跟踪 A.离散卡尔曼滤波器 一个有确定性控制的,受系统噪声驱动的动态系统的离散系统状态方程可以写为 X[k]=AX[k-1]+BU[k]+W[k] 观测系统的量测方程为 Z[k]=HX[k]+V[k] 其中X[k]为系统在k时刻的状态向量,U[k]为系统在k时刻的输入向量,Z[k]为系统在k时刻的输出向量,W[k]和V[k]为k时刻的噪声向量,服从高斯分布,互相独立。A、 B、H为系数矩阵。相应的卡尔曼滤波基本方程为 状态一步预测方程X[k/k-1]=AX[k-1/k-1]+BU[k] 状态估计X[k/k]=AX[k/k-1]+Kg[k](Z[k]-HX[k/k-1]) 滤波增益阵 一步预测均方误差阵P[k/k-1]=AP[k-1/k-1]AT+Q 估计均方误差阵P[k/k]=(I-Kg[k]H)P[k/k-1] 根据应用中的具体情况选取滤波初始值,然后就可以通过新得到的量测向量和上述递推公式,对系统状态进行卡尔曼滤波估计。
由图3的离散型卡尔曼滤波流程可以看出卡尔曼滤波具有增益计算回路和滤波计算回路两个计算回路。其中增益计算回路是独立的,而滤波计算回路依赖于增益计算回路。在一个周期中存在时间更新过程和量测更新过程两个更新过程。如果已知k-1时刻对k时刻的预测状态估计值和k时刻的量测值,以及k-1时刻的一步预测均方误差阵,就可以求出k时刻状态向量的最优估计值,并可以预测k+1时刻系统的状态估计值和量测值。
B.行人人体模型的建立 选用步骤1中找到的人体重心作为特征点,这是因为人体的形状是对称的,人体的重心会沿着人体的运动方向稳定的平移,不受人体自运动的约束,避免了人体形状周期性变化所造成的影响。为了减小计算复杂度,为每个人体设置了两个卡尔曼滤波器分别用于估计人体重心在X方向上和Y方向上的运动状态。
人体的运动状态可以由向量X=(sx,vx,ax,sy,vy,ay)T表示,其中sx、vx、ax分别表示人体重心在X方向上的位移、速度、加速度,sy、vy、ay分别表示人体重心在Y方向上的位移、速度、加速度。由于每个人体都使用两个卡尔曼滤波器分别对他的重心X方向、Y方向的运动状态进行估计,所以可以把向量X分解为两个向量Xx=(sx,vx,ax)T和Xy=(sy,vy,ay)T分别表示他重心在X方向和Y方向上的运动状态,这两个方向上人体的运动是相互独立的,处理方法也是相同的,所以这里只对X方向的处理做一阐述。
人体重心运动状态的系统方程为 式中sx[k]表示第k帧时人体重心X方向的位移,vx[k]表示第k帧时人体重心X方向的速度,ax[k]表示第k帧时人体重心X方向的加速度,ΔT表示时间间隔,把上式写成矩阵形式为 式中,W[k]表示噪声。
在实际应用中,只能观测人体重心在图像中的位移,无法直接观测速度和加速度,所以量测方程为 其中H=(100),可以把量测噪声Vx[k]看作是白噪声。
由上可见,系统的状态方程和量测方程的形式与标准卡尔曼滤波器的状态方程和量测方程形式相同,所以可以用离散性卡尔曼滤波基本方程对系统的状态进行估计。来跟踪视频行人人体。
C.对行人人体进行跟踪 为步骤1中利用运动物体检测方法得到的行人人体初始化两个卡尔曼滤波器,分别用来对这个行人人体重心的X方向和Y方向的运动状态进行估计。由于卡尔曼滤波器使用的是递推的估计方法,所以只要给定滤波方程的初始状态和初始估计均方误差阵,就可以利用当前的量测值得到系统状态的估计值,本具体实施方案使用第一次得到的量测值对行人人体的系统状态向量进行初始化 式中zx
和zy
是人体重心的X和Y方向的量测值。两个卡尔曼滤波器的估计均方误差的初始值都设置为 这样就可以通过卡尔曼滤波器根据当前的量测值,对人体重心X方向和Y方向的位移、速度、加速度进行估计,根据滤波方程对人体重心在下一帧中的位移、速度、加速度进行预测。如果预测得到的人体重心落在下一帧中检测到的某个行人人体的跟踪窗口内,那么就认为上一帧中的人体和这个人体相匹配,然后根据新得到的量测值对系统状态进行更新。
二、在被跟踪的行人人体上定位人脸 在被跟踪的运动人体上利用步骤1中的人脸检测方法检测人脸并用红色矩形框标示出来。由于本具体实施方案基于运动分析的人脸检测仅仅只在运动人体重心以上四分之三的区域里定位人脸,大大减小了搜索范围,缩短了算法的运行时间,使人脸检测与人体跟踪几乎是实时的同步进行,从而达到准确的跟踪行人人脸的目的。
三、对其他区域进行分析 用步骤1中基于运动物体检测的人脸检测方法对其余区域进行分析,判断有无新的人脸出现。若有,则继续用基于运动物体跟踪的人脸跟踪方法对其进行跟踪。显然,这时需要进行行人人脸检测的区域明显减小了,节省了运算量。
权利要求
1.本发明提出一种基于视频的行人人脸检测与跟踪的算法,其特征在于利用运动物体检测的算法和运动物体跟踪的算法进行行人人脸的检测与跟踪。
2.如权利1所述,把运动物体的检测算法运用到行人人脸的检测中对于给定的一个视频中的图像序列,先用运动检测的方法得到运动区域,并把运动区域和背景区域分割开来,对运动检测得到的运动区域进行运动人体的识别,人脸区域一定是位于运动人体的重心以上区域的,把这部分区域标记出来,重新在原始图像上进行定位,然后在这个区域内进行人脸检测。
3.如权利要求1所述,利用运动物体的跟踪算法来进行行人人脸的跟踪运动人体相对于人脸而言目标较大,较易跟踪,利用运动物体跟踪的算法对权力2所述检测得到的运动人体进行跟踪,再用权力1中的人脸检测方法在被跟踪的运动人体上进行人脸检测,克服了人脸姿态变化对跟踪造成的不利影响,从而达到跟踪人脸的目的。
全文摘要
本发明提出一种利用运动物体检测和运动物体跟踪的算法进行视频的行人人脸检测与跟踪,属于模式识别技术领域。本发明由基于运动物体检测的行人人脸检测算法与基于运动物体跟踪的行人人脸跟踪算法两大部分组成。本发明提出一种基于运动物体检测的行人人脸检测算法。这种算法首先利用运动分析的方法检测行人,然后计算人体重心并根据人体重心确定人脸区域,最后利用肤色模型和模板匹配的方法在人脸区域中检测人脸。本发明提出一种基于运动物体跟踪的行人人脸跟踪算法。这种算法通过跟踪行人来跟踪行人的人脸,从而有效地避免了行人人脸的摆动、转动、表情、遮挡等因素对人脸跟踪的影响。
文档编号G06K9/00GK101216885SQ20081002561
公开日2008年7月9日 申请日期2008年1月4日 优先权日2008年1月4日
发明者马争鸣, 丁晓宇, 袁红梅 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1