基于高斯混合模型的人体跟踪方法转让专利

申请号 : CN200810034533.6

文献号 : CN100585622C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张玉冰曾贵华

申请人 : 上海交通大学

摘要 :

一种图像处理技术领域的基于高斯混合模型的人体跟踪方法,本发明首先用人体线性模型对人体建立模型,将人体的头、颈、质心和双脚作为跟踪部位,然后在后续的帧中对人体各跟踪部位进行卡尔曼滤波跟踪,其中对于双腿基于高斯混合模型进行跟踪,对左脚采用卡尔曼滤波进行跟踪,并通过对左脚的状态判断出右脚的运动状态,简化对右脚的跟踪。本发明通过卡尔曼滤波预测部件在下一帧的参数,以及使用观测值修正预测值,保证了部件跟踪的准确性。使用高斯混合模型为跟踪对象建模,提高了跟踪效率并且可以识别出双腿运动的状态。

权利要求 :

1、一种基于高斯混合模型的人体跟踪方法,其特征在于,首先用圆圈表示 人体的头、颈、质心和双脚,圆圈表示的人体部位即为跟踪部位,用线段将跟踪 部位连接起来,获得相应的人体各部分的高度比例,将人体的头、颈、质心和双 脚作为跟踪部位,然后在后续的帧中对人体各跟踪部位进行卡尔曼滤波跟踪,该 卡尔曼滤波跟踪包括卡尔曼滤波预测和修正两部分,预测部分是指:预测方程组 利用前一时刻的状态值和预测误差做出预测,得到各个跟踪部件在当前时刻的位 置;修正部分是指:由于预测结果会存在误差,由修正方程组利用获得的当前时 刻的观测值来修正预测结果,其中对于双腿基于高斯混合模型进行跟踪,对于人 体的质心和双脚建立单摆模型,通过双腿的摆动角度对双脚进行定位;同时,对 双脚的运动状态建立高斯混合模型,将人体双脚的运动分为两个状态:左脚运动 右脚静止的状态和右脚运动左脚静止的状态,对于这两个状态分别建立一个高斯 模型,通过左脚摆动的状态判断出右脚的运动处于哪一个高斯模型,当右脚处在 相对地面静止的时候,则无需对其进行卡尔曼滤波预测,只需要采用修正方程修 正运动参数,对左脚采用卡尔曼滤波进行跟踪,并通过对左脚的状态判断出右脚 的运动状态,简化对右脚的跟踪;

所述的通过左脚摆动的状态判断出右脚的运动处于哪一个高斯模型是指:在 单摆模型下,双脚运动状态i可以通过以下公式来判断:

由卡尔曼滤波预测出的v′lθ符合高斯分布,v′lθ=vlθ+Δ∈λi,i=1,2,Δ为噪声, 符合参数为(μΔ,σΔ)的高斯分布,

当左脚运动的概率p(vlθ>0)大于概率阈值α时,则左脚在运动,即

p ( v > 0 ) = p ( v + Δ < Δ ) (式6)

= p ( v > Δ ) = p ( Δ - μ Δ σ Δ < v l - μ Δ σ Δ ) > α 由式6可以得出

其中 1 2 π - β e - x 2 2 dx = α .

2、根据权利要求1所述的基于高斯混合模型的人体跟踪方法,其特征是, 所述跟踪,其跟踪的特征值是人体的头部位置、颈部位置、质心位置以及双腿的 摆动角度。

3、根据权利要求1所述的基于高斯混合模型的人体跟踪方法,其特征是, 所述卡尔曼滤波观测,是指:在卡尔曼滤波预测方程组得出的位移坐标(s′x,s′y)为 中心的小邻域内采取螺旋式搜索的方法,找到观测值的坐标,将螺旋式搜索到第 一个符合ρ[pk(x,y),qk-1]<l的坐标(x,y)T作为观测值zk,其中pk(x,y)表示第k 帧以坐标(x,y)为中心的小邻域的直方图,qk-1表示k-1帧的对象颜色模型直方 图,ρ[pk(x,y),qk-1]为当前坐标的直方图与对象颜色模型的距离,l为距离阈值。

说明书 :

技术领域

本发明涉及一种图像处理技术领域的方法,具体是一种基于高斯混合模型的 人体跟踪方法。

背景技术

人体运动分析是当代生物力学和计算机视觉相结合的一项重要技术。它在智 能监控、人机交互、生物识别技术和虚拟现实等领域都有着广泛的应用。特别是 人体腿部的运动分析,为医疗、体育等研究提供了重要的参考数据。
经对现有技术文献的检索发现,Qi Zhao等在International Conference on Pattern Recognition(模式识别国际会议,2006)上发表的Part Based Human Tracking In A Multiple Cues Fusion Framework(在多线索融合框架下的基于 部件的人体跟踪)中,提出为人体各个跟踪部分建立HMM(隐马尔可夫)模型, 采用最大后验概率的准则对各部分跟踪。其不足之处在于将每个跟踪部位整体作 为跟踪对象进行跟踪,不能有效地克服遮挡问题。

发明内容

本发明的目的在于克服上述方法的不足,提出了一种基于高斯混合模型 (GMM)的人体跟踪方法,用人体线性模型对人体建立模型,采用卡尔曼滤波分 别跟踪人体的头部、颈部、质心和双脚,并且对双脚的运动状态建立GMM模型, 不但可以提高跟踪效率,而且可以识别出双脚状态。
本发明是通过以下技术方案实现的,本发明首先用人体线性模型对人体建立 模型,将人体的头、颈、质心和双脚作为跟踪部位,然后在后续的帧中对人体各 跟踪部位进行卡尔曼滤波跟踪,其中对于双腿基于GMM模型进行跟踪,对左脚采 用卡尔曼滤波进行跟踪,并通过对左脚的状态判断出右脚的运动状态,简化对右 脚的跟踪。
所述用人体线性模型对人体建立模型,具体为:用圆圈表示人体的头、颈、 质心和双脚,圆圈表示的人体部位即为跟踪部位,用线段将跟踪部位连接起来, 获得相应的人体各部分的高度比例。
所述跟踪,其跟踪的特征值是人体的头部位置、颈部位置、质心位置以及 双腿的摆动角度。
所述对人体各跟踪部位进行跟踪,具体为:采用卡尔曼滤波对人体模型的每 个部位进行跟踪,卡尔曼滤波包括预测和修正两部分,预测部分是指:预测方程 组利用前一时刻的状态值和预测误差做出预测,得到各个跟踪部件在当前时刻的 位置;修正部分是指:由于预测结果会存在一定误差,由修正方程组利用获得的 当前时刻的观测值来修正预测结果。
所述基于GMM模型进行双腿跟踪,具体为:对于人体的质心和双脚建立单 摆模型,通过双腿的摆动角度对双脚进行定位;同时,对双脚的运动状态建立 GMM模型,将人体双脚的运动分为两个状态:左脚运动右脚静止的状态和右脚运 动左脚静止的状态,对于这两个状态分别建立一个高斯模型,通过左脚摆动的状 态判断出右脚的运动处于哪一个高斯模型,当右脚处在相对地面静止的时候,则 无需对其进行卡尔曼预测,只需要采用修正方程修正运动参数就可以保证跟踪的 准确性。
与现有技术相比,本发明具有如下有益效果:本发明能够获得较高的跟踪准 确率,使用线性模型计算简单直观。通过卡尔曼滤波预测部件在下一帧的参数, 以及使用观测值修正预测值,保证了部件跟踪的准确性。使用GMM为跟踪对象建 模,提高了跟踪效率并且可以识别出双腿运动的状态,对右脚运动状态判断的正 确率为88.8%。

附图说明

图1是本发明对人体结构图建立人体线性模型示意图
其中:图(a)为人体结构图,(b)为人体线性模型示意图;
图2是本发明的双腿单摆模型;
图3是本发明实施例的实验结果;
图4是本发明的右脚摆动角度的跟踪结果曲线图。

具体实施方式

下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案 为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护 范围不限于下述的实施例。
如图3所示,本实施例用于跟踪一段视频序列中的行人。
本实施例包括如下步骤:
步骤一,用人体线性模型对人体建立模型,如图1所示,图(a)为人体结 构图,(b)为人体线性模型示意图,用圆圈表示人体的头、颈、质心和双脚,圆 圈表示的人体部位即为跟踪部位,用线段将跟踪部位连接起来,在图像序列中根 据各个部分的位置或者摆动角度作为特征进行跟踪。其中,对头部、颈部和质心 的跟踪是相互独立的,对于双腿,则利用其摆动的角度作为特征进行跟踪;
步骤二,对头部、颈部、质心的位置,采用卡尔曼滤波进行跟踪,卡尔曼滤 波的跟踪分为预测和修正两个部分。
预测部分具体为:预测方程组利用前一时刻的状态值和预测误差得到当前时 刻的预测值,预测方程组为:
x′k=Axk-1
P′k=APk-1AT+Q    (式1)
其中:x′k为k时刻的预测状态变量,xk-1为k-1时刻的状态变量,A为状态 转移矩阵,P′k为k时刻预测误差相关矩阵,Pk-1为k-1时刻误差相关矩阵的修正 值,Q为运动噪声相关矩阵。
修正部分具体为:得到预测值和预测相关误差之后,修正方程组通过当前时 刻的观测值对预测值和预测相关误差做出修正,修正方程组为:
Kk=P′kHT(HP′kHT+R)-1
xk=x′k+Kk(zk-Hx′k)
Pk=(I-KkH)P′k    (式2)
其中:Kk为卡尔曼滤波增益矩阵,H为测量矩阵,R为测量噪声相关矩阵, zk观测值。
本实施例中,观测值设定为跟踪部件中心所在的位置,状态变量设为部件 中心的位置、运动速度和加速度,并且假设部件做匀加速运动,则将参数设定如 下:
z=[sx,sy]T,x=[sx,vx,ax,sy,vy,ay]T,
其中:z为观测值,下标x,y表示横坐标和纵坐标,s、a、v分别指部件 中心的位置、运动速度和加速度。
状态转移矩阵 A = 1 1 0.5 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0.5 0 0 0 0 1 1 0 0 0 0 0 1 ,
测量矩阵 H = 1 0 0 0 0 0 0 0 0 1 0 0
参数Pk,Q和R初值需要利用先验知识来确定。
修正方程组通过观测值zk来修正当前的预测值,得到修正后的状态估计值和 噪声方差估计值。
所述观测值zk,其计算过程如下:在预测出的位移坐标(s′x,s′y)为中心的小邻 域内采取螺旋式搜索的方法,将螺旋式搜索到第一个符合ρ[pk(x,y),qk-1]<l的坐 标(x,y)T作为zk,其中pk(x,y)表示第k帧以坐标(x,y)为中心的小邻域的直方图, qk-1表示k-1帧的对象颜色模型直方图,ρ[pk(x,y),qk-1]为当前坐标的直方图与 对象颜色模型的距离,l为距离阈值。
步骤三,对于双脚,基于GMM模型进行跟踪:
首先,利用卡尔曼滤波对左脚进行跟踪。如图2所示,设质心和左脚的连线 与水平线的夹角为θl,质心和右脚的连线与水平线的夹角为θr,质心的坐标为 (xo,yo),左脚的坐标为(xl,yl),腿的长度为l,那么:
xl=xo+l*cos xl
yl=yo+l*sin xl    (式3)
运用卡尔曼滤波对θl进行跟踪,则卡尔曼滤波器的观测变量z=[θl]T,状态 变量x=[θl,vlθ],vlθ为双腿摆动的角速度,假设θl做匀速运动,则有:
A = 1 1 0 1
H = 1 0
在修正卡尔曼滤波器的参数过程中,通过式3得到左脚坐标(xl,yl),在其坐 标值周围的小邻域内采取螺旋式搜索的方法,搜索到第一个符合 ρ[pk(x,y),qk-1]<l的坐标(x,y)作为(xt,yt),其中pk(x,y)表示第k帧以坐标 (x,y)为中心的小邻域的直方图,qk-1表示k-1帧的对象颜色模型直方图, ρ[pk(x,y),qk-1]为当前坐标的直方图与对象颜色模型的距离,l为距离阈值。
左脚的摆动角度θl与左脚的坐标(xt,yt)与的关系为:
θ l = arctan ( x t - x o y t - y o ) . (式4)
利用卡尔曼滤波得到左脚摆动状态的参数θl和vlθ之后,使用GMM模型通过 左脚的运动参数判断出双脚的运动属于什么运动状态。
将人体双脚的运动分为两个状态,即左脚运动右脚静止的状态和右脚运动左 脚静止的状态。对于这两个状态分别建立一个高斯模型,由参数λi表示,识别的 任务即为确定一个状态i*,其对应的模型使得样本集合X具有最大的后验概率 p(λi/X)。根据贝叶斯理论, i * = arg max i p ( X / λ i ) , i*即为识别出的双脚运动状 态。
在单摆模型下,双脚运动状态i*可以通过以下公式来判断:
vlθ为左脚摆动的角速度    (式5)
由卡尔曼预测出的v′lθ符合高斯分布,v′lθ=vlθ+Δ∈λi,i=1,2,Δ为噪声,符 合参数为(μΔ,σΔ)的高斯分布。
当左脚运动的概率p(vlθ>0)大于概率阈值α时,则左脚在运动,即
p ( v > 0 )
= p ( v + Δ > Δ )
= p ( v > Δ ) (式6)
= p ( Δ - μ Δ σ Δ < v l - μ Δ σ Δ ) > α
由式6可以得出
(式7)
其中 1 2 π - β e - x 2 2 dx = α .
当判断出右脚在运动时,则对右脚摆动角度进行卡尔曼滤波跟踪;当右脚处 于静止状态时,则仅需要对卡尔曼滤波参数进行修正。
图3、4为本实施例的结果图。由图3可知,对视频序列中运动人体的各个 跟踪部位都能够准确定位(实施例中为了区别左脚和右脚,将左脚用方框表示), 图(a)、(b)、(c)、(d)、(e)、(f)、(g)、(h)、(i)、(j)分别为第48帧、第60 帧、第71帧、第82帧、第92帧、第111帧、第125帧、第140帧、第171帧、 第180帧的视频截取图片,其中,图3(b)中,为双脚相互遮挡情况,本实施 例也能够正确跟踪。图3(e)中,双脚已经分离,对两脚的判断依然是正确的。
图4为每一帧中右脚摆动角度的统计图,圆圈表示通过对左脚摆动的速度判 断出右脚处在运动的状态,带加号的圆圈则表示这一帧右脚处于静止的状态。由 图4可知,对右脚运动状态判断的正确率为88.8%,但是通过对右脚位置的修正, 仍然可以保证右脚跟踪的准确性。