一种立体人脸跟踪及表情识别方法与流程

文档序号:14911720发布日期:2018-07-10 23:36阅读:1294来源:国知局

本发明涉及人机交互领域,具体涉及一种立体人脸跟踪及表情识别方法。



背景技术:

人脸表情不仅在人与人的交流中发挥着重要的作用,而且是使计算机能够更准确地理解人类表情所表达的意图,实现人机交互的一个重要研究内容。

现有的人脸跟踪及表情识别系统大多是针对固定摄像头的视频,使用人脸检测技术和表情识别技术进行人脸跟踪和识别,然而这种类型的系统受限于摄像头的角度和位置,无法获取到正面的人脸表情图像或视频,从而导致识别错误。此外,人脸检测系统往往采用单摄像头进行跟踪,单摄像头难以实现人脸区域的三维位置定位,只能在二维平面内实现定位,对于远处走来的人往往容易丢失跟踪区域。



技术实现要素:

本发明目的在于克服现有技术的不足,尤其解决现有人脸跟踪及表情识别系统中,受限于摄像头的角度和位置,无法获取到正面的人脸表情图像或视频,从而导致识别错误;以及采用单摄像头进行跟踪,单摄像头难以实现人脸区域的三维位置定位,只能在二维平面内实现定位,对于远处走来的人往往容易丢失跟踪区域的问题。

为解决上述技术问题,本发明提出一种立体人脸跟踪及表情识别方法,方法包括:S1图像预处理,S2人脸检测,S3表情识别,S4人脸跟踪;其中:

所述步骤S1图像预处理包括S11图像灰度化、S12图像均衡化、S13图像二值化操作;

所述步骤S2人脸检测,使用Harr特征和AdaBoost分类器进行人脸检测;

所述步骤S3表情识别,使用小波变换和最近邻分类器实现表情识别;

所述步骤S4人脸跟踪,使用特征匹配方法计算左右摄像头图像的视差,计算出人脸的三维坐标,计算得到云台需要转动的角度,实现人脸区域的跟踪。

附图说明

图1是本发明实施例的一种立体人脸跟踪及表情识别方法的流程图。

图2为水平双目立体视觉模型示意图。

具体实施方式

下面结合附图及具体实施例对本发明进行更加详细与完整的说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。

图1是根据本发明的实施例的基于双目立体相机的障碍物视觉检测系统示意图。

S1图像预处理,包括S11图像灰度化、S12图像均衡化、S13图像二值化操作;具体描述如下:

S11图像灰度化:相机获取的人眼图像是彩色图像,包含的信息量大,图像处理速度较慢。考虑到人机交互对实时性的要求高,对彩色图像进行灰度化处理是必须的。灰度化就是使彩色像素的R、G、B分量值相等的过程,灰度图像中的灰度值等于原彩色图像中的RGB平均值,即

Gray=(R+G+B)/3 (2)

S12图像均衡化,使用直方图均衡化对光照变化进行补偿;直方图均衡化使图像的灰度间距拉开或使灰度分布均匀,从而增大反差,使图像细节清晰,达到图像增强的目的。其具体方法是:

首先给出原始图像的所有灰度级Sk(k=0,1,......,L-1);然后统计原始图像各灰度级的像素数nk;利用式(3)计算原始图像的直方图后再用(4)式计算原始图像的积累直方图:

P(Sk)=nk/n,k=0,1,...,L-1 (3)

p(tk)=nk/n (5)

其中,n是图像像素总数。对灰度值tk取整,确定Sk→tk的映射关系后统计新直方图各灰度级的像素数nk;最后利用式(5)计算新的直方图。

S13图像二值化:用最大类间方差法进行图像二值化,过程为:

设图像共有L个灰度级,灰度值为i的像素点共有ni个,图像共有N个像素点,归一化灰度直方图,令

设定一个阈值t,根据灰度值将像素点分成c0和c1两类。c0的概率ω0、均值μ0:

c1的概率ω1、均值μ1:

其中,由此可知c0和c1的类间方差σ2(t)为:

σ2(t)=ω0(μ-μ0)2+ω1(μ1-μ)2 (10)

于是将t从0到i进行取值,当σ取最大值时t为最佳阈值,即可得到最佳的二值化图像。

S2人脸检测,使用Harr特征和AdaBoost分类器进行人脸检测;

(1)使用Haar-like特征做检测,再用积分图对Haar-like特征求值进行加速。

(2)使用Adaboost算法训练区分人脸和非人脸的强分类器。

(3)使用筛选式级联把强分类器级联到一起。

(4)得到分类器后,设定阈值、最小检测大小和窗口扩展参数,使用一个滑动窗口对目标图像进行检测,得到该图像中所有符合条件的矩形。

S3表情识别,使用小波变换和最近邻分类器实现表情识别;

(1)小波变换提取特征,本实施例采用Gabor小波函数,表示为:

其中,u,v表示小波函数的方向和尺度,z=(x,y)为空间位置,ku,v表示平面的波向量,σ表示小波核函数。

本实施例中,小波滤波器组包含有5个尺度和8个方向,将人脸表情图像与5个尺度,8个方向的滤波器做卷积计算,得到小波变换特征。

(2)将小波变换特征使用最近邻分类器进行分类,即与该类表情的特征进行比较,最相近的表情类别即是该人脸图像的表情类别。

S4人脸跟踪,使用特征匹配方法计算左右摄像头图像的视差,计算出人脸的三维坐标,计算得到云台需要转动的角度,实现人脸区域的跟踪。具体描述如下:

S41:对左右摄像头捕获的图像提取特征点,其具体过程描述如下:

(1)利用水平、垂直差分算子对图像每个像素点(x,y)进行滤波以求取水平梯度Ix和垂直梯度Iy,如下式所示。

(2)每个像素点(x,y)的Harris角点值c(x,y)如下式所示。

当c(x,y)的值大于给定的阈值时,则认为该像素点是一个Harris角点。

(3)构建多尺度图像空间,对于一副图像,通过下采样得到不同尺寸的子图像,将子图像与高斯卷积核相乘进行卷积计算,从而得到多尺度图像空间。

(4)寻找尺度空间的特征点,每一个Harris角点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小。Harris角点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和图像空间都检测到特征点。一个Harris角点如果在多尺度图像空间本层以及上下两层的26个领域中是最大或最小值时,就认为该点是图像在该尺度下的一个特征点。

(5)利用特征点邻域像素的梯度方向分布特性为每个关键点指定方向参数,计算该特征点梯度的模值和方向。在特征点邻域4×4的小块上计算8个方向的梯度方向直方图,绘制每个梯度方向的累加值,形成一个4×4×8=128维的直方图,即SIFT特征描述。

S42:对左右摄像机图像的特征点进行匹配。具体描述如下:

给定两幅图像P和Q,HP(k)和HQ(k),k=0,1,2,…,L-1分别表示图像P和Q的局部特征,L表示直方图的维度。则直方图匹配D1(P,Q)由下式表示。

当匹配距离D1(P,Q)小于设定阈值时,认为两个特征点是匹配的,否则为不匹配。

S43:将匹配的图像坐标转为三维世界坐标。

参照图2,图2为水平双目立体视觉模型示意图,水平双目立体视觉模型由两个平行的水平放置的摄像机针孔模型组成。沿摄像机光轴方向观察的双目立体视觉模型示意图中,P为三维世界坐标中一点,Cl和Cr分别为左、右两个摄像机的光学中心位置(简称光心),b为左右摄像机的光心间距离,f为两摄像机的焦距。

三维空间场景中任一点P,点P在左摄像机坐标系下的坐标齐次坐标为(Xc,Yc,Zc,1),Pl为点P投影到左摄像机成像平面上的点,像素坐标系下坐标为(u,v,1);点P在右摄像机坐标系下的坐标齐次坐标为(X'c,Y'c,Z'c,1),Pr为点P投影到右摄像机成像平面上的点,像素坐标系下坐标为(u',v',1)。左右两摄像机平行水平放置,且光心间距离为b。则三维空间点的坐标(Xc,Yc,Zc,1)可以表示为:

其中ax,ay分别为水平方向和竖直方向相邻像素点的物理间距,(u0,v0)为成像平面中心在像素坐标系下的坐标。

S44计算云台移动角度,得到人脸三维位置P(x,y,z)以及原人脸三维位置P(x1,y1,z1),根据下式计算出云台的俯角Tilt,云台水平运动的角度Pan以及两个摄像头与目标之间的夹角称为Vergence:

其中,B为两个摄像头间的距离长度。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1