一种基于表观分块的遮挡处理方法

文档序号:6607215阅读:154来源:国知局
专利名称:一种基于表观分块的遮挡处理方法
技术领域
本发明涉及计算机视觉领域,特别涉及可视化跟踪(Visual tracking)中的遮挡处理技术。
背景技术
复杂场景下的遮挡处理是近些年来计算机视觉领域里的前沿研究方向之一,也是 该领域中难点之一,特别是动态场景下的目标运动分析受到了世界上很多重要研究机构的 高度重视,这充分说明了它的重要性。遮挡处理技术涉及可视化的目标跟踪中发生遮挡的 情况下,如何确定发生遮挡的物体之间的遮挡关系,即谁遮挡谁以及谁被遮挡的问题。由于 涉及到可视化跟踪,目前的遮挡处理问题均与目标跟踪技术有关联。要想得到正确的遮挡 关系,鲁棒的目标跟踪是前提条件,同时遮挡的存在给目标跟踪带来了很大的困难,得到目 标之间的遮挡关系,对目标跟踪的鲁棒性也能起到保证作用。目前的遮挡处理技术典型的有以下几种一种是将目标分为几个部分,对目标的 各个部分进行跟踪,根据各个部分的跟踪结果进行遮挡处理;一种是利用多个摄像机,由于 多个摄像机可以得到目标的多个视角的信息,对遮挡很鲁棒,能用来得到正确的遮挡关系。 由于提到的这两类方法有的需要多个摄像机,有的只能用于固定背景的场合,有的还需要 先验知识,这些都限制了这些技术的应用。这样就提出一个严峻的挑战,那就是如何构建非常有效的遮挡处理框架,这对目 标跟踪、姿态估计以及行为理解是非常重要的。

发明内容
为了解决现有技术的问题,本发明的目的在于提出一种适用于移动摄像机的剧烈 运动、光照变化、噪声、部分遮挡及形变的复杂场景下鲁棒的遮挡处理方法。为了实现上述目的,本发明深入探究了复杂场景下发生遮挡时,遮挡的物体以及 被遮挡的物体的表观变化的本质,提出了一种基于表观分块的遮挡处理方法,其方法包括 步骤如下步骤1 给出跟踪目标在初始帧里面的位置和状态,并对后续的4帧运用模板匹配 得到跟踪结果;步骤2 对跟踪目标的表观进行分块和学习,建立每个分块的表观模型;步骤3 对跟踪目标在接下来的序列帧里面的目标进行跟踪将跟踪目标在当前 帧的状态加上随机扰动作为下一帧里面的粒子,并得到跟踪目标在下一帧里面的粒子对应 的观测值,将这些粒子的观测值与跟踪目标在当前帧的观测值比较,选择最为相似的粒子 作为跟踪目标在下一帧的状态;步骤4 遮挡检测根据跟踪目标当前所在位置参数,如果跟踪目标之间发生重 叠,判断为遮挡发生,如果跟踪目标之间没有发生重叠,判断为没有发生遮挡;步骤5 表观更新将没有发生遮挡的跟踪目标的整个表观进行更新,对发生遮挡的跟踪目标的各个分块中表观基本不变的分块进行更新,对各个分块中表观发生较大变化 的分块的表观不更新;步骤6 遮挡处理如果跟踪目标之间发生遮挡,则对每个跟踪目标的观测值进行 统计,若某个跟踪目标的某些分块的观测值发生剧烈变化,则认为该跟踪目标被与该跟踪 目标有重叠区域的目标遮挡了,否则,若该跟踪目标的所有分块都没有发生剧烈的变化,则 认为该跟踪目标遮挡了与该跟踪目标有重叠区域的跟踪目标。其中,根据跟踪目标在初始帧中的位置、宽度、高度及倾斜角度画一个包围框框住 目标作为初始状态。其中,对跟踪目标表观进行分块和学习,包括步骤如下步骤21 对跟踪目标进行分块;步骤22 对每个分块提取协方差矩阵作为表观的特征;步骤23 对每个分块提取出来的协方差矩阵进行空间对数欧式映射,得到映射后 的矩阵;步骤24 将映射后的矩阵展开成向量,并将每个分块连续5帧的向量放在一起合 成矩阵;步骤25 将上一步骤得到的合成矩阵每一个列向量减去列均值,对得到的合成矩 阵进行奇异值分解,得到每个分块对应的子空间,即为每个分块的表观模型。其中,对跟踪目标在下一帧的粒子对应的观测值并进行分块,根据之前对每个分 块建立的表观模型计算现在的每个分块的观测值的每个分块与前一帧的对应分块的相似 度,将现在的观测值的所有分块的相似度累乘起来作为粒子的相似度,挑选相似度最大的 粒子作为跟踪目标在下一帧的状态。其中,所述遮挡检测的具体步骤如下步骤41 由多个跟踪目标的状态得到跟踪目标的当前位置的参数;步骤42 根据跟踪目标的位置参数,如果存在两个跟踪目标的中心位置的距离小 于两个跟踪目标的宽度之和以及长度之和,即两个跟踪目标存在重叠区域,则判断为这两 个跟踪目标之间发生遮挡;如果两个跟踪目标的中心位置的距离大于两个跟踪目标的宽度 之和或者长度之和,即两个跟踪目标不存在重叠区域,则判断为这两个跟踪目标之间没有 发生遮挡。本发明的有益效果1)本发明克服了通常的遮挡处理中所需要的多个摄像头和背景固定的限制,适用 于移动摄像机复杂场景下的目标跟踪与遮挡处理,且不需要多个摄像机。2)基于本发明中提出的表观分块,提出了一种新的表观模型更新方法,该方法能 保证鲁棒的目标跟踪,继而为后续遮挡处理的正确性提供了保证。3)本发明深入探究了发生遮挡时遮挡的物体以及被遮挡的物体的表观变化的本 质,并基于该探究构建了一个鲁棒的遮挡处理框架,对多个目标之间的遮挡都能得到正确 的遮挡关系。


图1是本发明基于表观分块的遮挡处理方法的示意图2是遮挡时重构误差阵列的示意图;图3是物体被遮挡时重构误差变化示意图;图4a-图4c是多个目标遮挡的示意图。
具体实施例方式下面详细给出该发明技术方案中所涉及的各个细节问题的说明。本发明的方案实施的算法见附图1。本发明的方法具体运行的硬件和编程语言并不限制,用常用的编程语言编写都可以完成,为此其他工作模式不再赘述,下面仅举一实 例,采用一台具有3. 2G赫兹中央处理器和512M字节内存的奔腾4计算机并用Matlab语 言编制了基于表观分块的遮挡处理框架的工作程序,实现了本发明的方法。本发明的方法 利用初始化模块、表观分块和学习模块、目标跟踪模块、遮挡检测模块、表观更新模块以及 遮挡处理模块实现本发明的方法,具体实施如下给出跟踪目标在初始帧里面的位置和状 态,并对后续的4帧运用模板匹配得到跟踪结果;对目标表观进行分块和学习,建立每个分 块的表观模型;目标跟踪对跟踪目标在接下来的序列帧里面的目标进行跟踪由每个跟 踪目标在当前帧的状态加上随机扰动作为下一帧的粒子,并得到跟踪目标在下一帧里面的 粒子对应的观测值,将这些粒子的观测值与跟踪目标在当前帧的观测值比较,选择最为相 似的粒子作为被跟踪的目标在下一帧的状态;遮挡检测根据跟踪的目标当前所在位置参 数,如果跟踪目标有发生重叠的区域,则判断为有遮挡发生,如果跟踪的目标没有发生重叠 的区域,则判断为没有发生遮挡;表观更新如果上一步判断为没有发生遮挡,则将跟踪目 标的整个表观进行更新,反之如果上一步判断为发生遮挡,则对各个分块中表观保持不变 的分块进行更新,对各个分块中的发生较大变化的分块对应的表观保持不变;遮挡处理 如果跟踪的目标之间有重叠区域即发生遮挡,则对每个跟踪目标的观测值进行统计,若某 个跟踪目标的某些分块的观测值发生剧烈变化,则认为该跟踪目标被与该跟踪目标有重叠 区域的目标遮挡了,否则,若该跟踪目标的所有分块都没有发生剧烈的变化,则认为该跟踪 目标遮挡了与该跟踪目标有重叠区域的跟踪目标。图1示出整个基于表观分块的遮挡处理方法的流程,具体步骤如下所述(1)给出跟踪目标在初始帧里面的位置和状态我们采用St= (Xt, Yt, St, Qt, β”这六个参数来表示目标在t时刻的状态 St,其中,Xt和< 表示目标相对于上一时刻的状态在二维平面上的平移,Φ1表示目标的旋 转角度,St表示目标的尺度变化,?表示目标的长宽比的变化,β丨表示长宽之间的角度变 化。在初始帧里面,根据跟踪目标的位置,宽度,高度,倾斜角度,长宽间的角度信息,给出一 个初始框框住目标。提取出该框框里面的图像观测值,并在初始状态上面加上服从高斯分 布的随机扰动,作为在下一帧里面的粒子,用Ct+1来表示这些粒子的集合。提取出这些粒子 在下一帧图像里面对应的观测值,运用模板匹配的方法得到最初4帧的粗略跟踪结果。(2)对目标表观进行分块和学习通过初始化,已经得到了跟踪的目标在初始几帧里面的状态,将目标在图像里的 观测值规整到28X28的模板,然后将该模板划分为纵横4X4即16个小分块,每个分块的 大小为7 X 7,用巧来表示每个分块的观测值,其中i和j代表该分块在分块阵列里面的行列 索引,t代表时间,可以理解为帧的索引。提取出每个分块观测值对应的协方差矩阵作为特征,经过这样的操作,对每个目标的每个分块得到一系列的协方差矩阵,假设有N个,对 每个协方差矩阵进行奇异值分解为,其中U为列正交矩阵,T表示 对矩阵进行转置,Diag(X1,...,A1)为对角矩阵,对角线上的元素入工到X1为矩阵的 奇异值,然后对分解后的矩阵进行空间对数欧式映射,如下式所示 其中,^为映射后的矩阵,i和j为该矩阵所代表的分块在分块阵列里面的行列索 引,t代表时间,可以理解为帧的索引。U为列正交矩阵,Diagdog(X1),...,Iog(A1))为 对角矩阵,对角线上的元素为Iog(A1) |lJlog(A1),log(.)为取对数操作,A1IlJ λ丄为矩 阵^的奇异值,T表示对矩阵进行转置。将空间对数欧式映射后的矩阵展开成列向量G,对每个分块而言,在时间轴上 可以得到N个这样的列向量,将这N个列向量按时间先后顺序组成一个矩阵,用Bu来表示 这个矩阵,即 求得矩阵Bu的列均值为&,将矩阵Bu的每一列减去列均值,得到 《为列均值为O的矩阵,对劣进行奇异值分解,得到《=U^y C,其中列正交矩 阵Uu的列向量构成该分块表观的子空间的基,其列均值μ。.与 决定了该分块的子空间, Σ ij为矩阵<的奇异值构成的对角矩阵,T表示对矩阵进行转置。(3)目标跟踪由每个目标在当前帧的状态加上随机扰动作为下一帧的粒子,并 在下一帧里面得到目标的观测值,将这些粒子的观测值与目标在当前帧的观测值比较,选 择最为相似的粒子作为被跟踪的目标在下一帧的状态目标跟踪就是在下一帧寻找与当前帧最佳的匹配,在这之前已经对每个子块构建 了基于子空间的表观模型。在当前帧的状态上面加上服从高斯分布的随机扰动,作为在下 一帧里面的粒子,用Ct+1来表示这些粒子的集合。找出这些粒子在图像里面对应的观测值, 进行子块划分,并提取出每个分块的协方差矩阵作为目标的表观特征,对这些矩阵进行空
间对数欧式映射,并将映射后的矩阵展开成列向量,用&来表示粒子丨对应的(i,j)分块的
列向量,则该分块的重构误差REij为 Uij为之前对(i,j)分块建立的子空间的列正交矩阵,μ ij为矩阵Uij的列均值,T 表示对矩阵进行转置。这样,对粒子^对应的(i,j)分块的相似度Pij为 则粒子 对应的观测值的相似度似然概率代为 对于很多粒子对应的观测值O'+1 =O1'+1,0丨+I,...,Ot1,通过贝叶斯推导来找出最相 似的粒子作为目标在下一帧的状态
p(S'+l I 0'+1) OC ρ(0';λ I Si+1)1 S')p(S' I 0')dS'其中,《+1e<9'+1,St+1 e (^,/^^丨广”为给定目标状态义+1的情况下观测值C^1 发生的概率,它与前面求出的似然概率巧成正比,P(SwISt)表示状态转移模型,用高斯模型 来模拟,通过最大后验估计来寻找最相似的粒子作为跟踪目标在下一帧的状态。(4)遮挡检测根据跟踪目标当前所在位置的参数,如果跟踪的目标之间有发生 重叠的区域,则判断为有遮挡发生,如果跟踪的目标之间没有发生重叠的区域,则判断为没 有发生遮挡每个跟踪目标的表示是一个框,用(x,y,h,w,δ)来表示一个框,其中(x,y)是框 的中心的坐标,(h,w)是考虑到扭曲角δ之后的框的高度和宽度。定义一个逻辑变量Λ'表
示t时刻跟踪目标i和跟踪目标j是否存在遮挡,λ'的形式为 其中,[·]是取整操作,&为逻辑与操作。如果Λ'为ι,表明跟踪目标i和跟踪目 标j的中心位置的距离小于两跟踪目标的宽度之和以及长度之和,此时两个跟踪目标存在 重叠区域,因此判断为这两个跟踪目标之间发生遮挡;如果为0,跟踪目标i和跟踪目标j 的中心位置的距离大于两个跟踪目标的宽度之和或者长度之和,此时两个跟踪目标不存在 重叠区域,判断为这两个跟踪目标之间没有发生遮挡。(5)表观更新如果上一步判断为没有发生遮挡,则将跟踪目标的整个表观进行 更新,反之如果上一步判断为发生遮挡,则对各个分块中表观保持不变的分块进行更新,对 各个分块中表观发生较大变化的分块对应的表观保持不变表观更新对于跟踪来讲有着很重要的意义,因为在线地学习目标表观的变化,能 够为跟踪提供实时的最新的目标,对目标跟踪中的光照变化,姿态变化,遮挡等干扰具有鲁 棒的效果。对于光照变化,姿态变化等,都是一种全局的变化,这时需要对表观进行全局的 更新。但对于遮挡这种情况,一般是局部遮挡到严重遮挡,这时候如果对表观进行全局更新 的话,则会从被遮挡的地方引进很大的噪声,这样,在目标从遮挡中出来时,这些引进的噪 声很容易导致丢失目标。所以,对于遮挡下的表观更新,就不能采取全局更新的策略,在本 发明中采取策略如下根据上一步遮挡检测的结果,如果结果为没有发生遮挡,则采用r-svd (鲁棒奇异 值分解)算法,对每一个分块目前的表观模型,融入新得到的几帧的跟踪结果...,《+", N代表更新之前已经有N个列向量,η为新加入的列向量的数目,来获得分块的新的表观模 型([/γ,σγ,)"γ)(子空间) 其中,1/『为(i,j)子块更新之前的子空间的列正交矩阵,;的列均值,Σ^ 为(i,j)子块更新之前的协方差矩阵进行奇异值分解得到的对角矩阵。T为(i,j)子块 更新之后的子空间的列正交矩阵,μ,!TwSc7Tw的列均值,ΣΓ为(i,j)子块更新之后的协方 差矩阵进行奇异值分解得到的对角矩阵。r-svd(·)表示鲁棒奇异值分解算法。
如果上一步检测的结果是发生了遮挡,则对每个分块计算其观测值对当前表观的 重构误差,用〃<表示(i,j)分块在t时刻的重构误差,计算所有16个分块的平均值,用;^ 表示该均值,接下来找出表观基本保持不变的分块。如果表观基本没变化的话,在数学上的 表现就是重构误差基本不变,如果在发生遮挡的情况下,则被遮挡的分块的重构误差急剧 变大,导致分块的重构误差的绝对值变得很大,如图2所示,女孩子的面部的下半部分被一 个男子的脸部遮挡了。附表 附表是图2中是女孩子面部的观测值的重构误差构成的阵列,可以看出,女孩 子脸部被遮挡的部分的重构误差(例如5. 4790)明显大于未被遮挡的部分的重构误差 (0. 2974)。因此,本发明在发生遮挡的时候的更新策略就是寻找那些重构误差小于所有分 块重构误差均值的分块,对其进行表观更新,设定一个比例因子α,对于那些重构误差 小于 χ.^7的分块,采用R-SVD算法对其表观进行更新,而对于那些重构误差大于该阈值的 分块不进行更新。这样既能保证对由于光照,姿态变化等引起的目标的表观变化进行学习, 同时还能避免对由于遮挡引起的目标表观变化进行错误的学习。(6)遮挡处理如果跟踪目标之间有重叠区域,则对单独的一个目标的观测值进 行统计,若该目标的某些分块的观测值发生剧烈变化,则认为该目标被与该目标有重叠区 域的目标遮挡了,否则,若没有发生剧烈的变化,则认为该目标遮挡了别的与该目标有重叠 区域的目标。对两个目标之间的遮挡处理而言,就是确定谁遮挡谁的问题。第4步确定两个目 标之间是否发生了遮挡,能够为遮挡处理提供一个初步的信息。接下来就是确定谁遮挡了 谁的问题。如果步骤4判断结果为有遮挡发生,为了确定谁遮挡了谁,对发生遮挡的两个目 标的表观进行观测。若其中一个目标的某些分块表观发生了剧烈变化,则认为该目标被与 它有重叠区域的目标遮挡了。这种剧烈变化体现在数据上就是由所有分块的重构误差的 平均值和方差在开始发生遮挡的连续几帧里面发生很明显的增长。如图3所示,横轴为图 像序列的帧号,纵轴为图2中被遮挡人脸的表观的重构误差,可以看到,当一个人脸被另一 个人脸遮挡时,被遮挡的人脸的表观模型重构误差发生急剧变化(急剧上升到20以上), 图中的两个明显峰值(80和30)对应着两个被遮挡的阶段。如果某个目标的表观发生了这 样的变化,就认为被与它有重叠区域的目标遮挡了,之所以要连续几帧,是为了防止噪声干 扰。用;^,;^,;^表示一个目标的所有分块的重构误差在1-34-24-1时刻的平均值,ν:3,ν^,ν=1表示所有分块的重构误差在t-3,t-2,t-1时刻的方差,为了表示变化的剧烈程 度,定义两个阈值因子ff\和ff2,在连续的4帧里面,如果当前帧的重构误差平均值与前一 帧的重构误差的平均值的比值,以及重构误差的方差与前一帧的重构误差的方差的比值分 别超过阈值因子ff\和ff2,则认为该目标的表观发生了剧烈的变化,也即被遮挡了,否则不 认为发生遮挡了。定义一个标志Iabeltkxluded,其定义如下 即如果labelQ。。luded* 1,表明该目标被与它有重叠区域的目标遮挡住了,如果为 0,表明该目标没被遮挡。当三个目标之间发生遮挡时,考虑两两之间的遮挡,把两两之间的遮挡当成一个 独立的遮挡处理问题,图4a和图4c给出了 3个目标(不同颜色的方块代表不同的目标) 之间发生遮挡的一些情况,其中图4a和图4b属于比较简单的情况,其可以看成两个独立的 发生在两个目标之间的遮挡处理问题。而图4c属于比较复杂的情况,因为三个目标之间每 两两之间都发生了遮挡,这种情况下,还是把两两之间的遮挡问题当成一个独立的问题来 考虑。找出这两个目标的公共区域中不属于别的目标的区域对应的子块,观测这些子块的 重构误差的变化趋势,很明显,如果是被遮挡的物体,则其子块的重构误差变化很大,而如 果是遮挡别的目标的目标,其重构误差基本保持不变。通过这个方法,即可解决两两之间的 遮挡处理问题,对更多的目标之间的遮挡处理问题,采用该方法都可以得到很好的解决。
权利要求
一种基于表观分块的遮挡处理方法,其特征在于,该方法包括步骤如下步骤1给出跟踪目标在初始帧里面的位置和状态,并对后续的4帧运用模板匹配得到跟踪结果;步骤2对跟踪目标的表观进行分块和学习,建立每个分块的表观模型;步骤3对跟踪目标在接下来的序列帧里面的目标进行跟踪将跟踪目标在当前帧的状态加上随机扰动作为下一帧里面的粒子,并得到跟踪目标在下一帧里面的粒子对应的观测值,将这些粒子的观测值与跟踪目标在当前帧的观测值比较,选择最为相似的粒子作为跟踪目标在下一帧的状态;步骤4遮挡检测根据跟踪目标当前所在位置参数,如果跟踪目标之间发生重叠,判断为遮挡发生,如果跟踪目标之间没有发生重叠,判断为没有发生遮挡;步骤5表观更新将没有发生遮挡的跟踪目标的整个表观进行更新,对发生遮挡的跟踪目标的各个分块中表观基本不变的分块进行更新,对各个分块中表观发生较大变化的分块的表观不更新;步骤6遮挡处理如果跟踪目标之间发生遮挡,则对每个跟踪目标的观测值进行统计,若某个跟踪目标的某些分块的观测值发生剧烈变化,则认为该跟踪目标被与该跟踪目标有重叠区域的目标遮挡了,否则,若该跟踪目标的所有分块都没有发生剧烈的变化,则认为该跟踪目标遮挡了与该跟踪目标有重叠区域的跟踪目标。
2.按照权利要求1所述的基于表观分块的遮挡处理方法,其特征在于,根据跟踪目标 在初始帧中的位置、宽度、高度及倾斜角度画一个包围框框住目标作为初始状态。
3.按照权利要求1所述的基于表观分块的遮挡处理方法,其特征在于,对跟踪目标表 观进行分块和学习,包括步骤如下步骤21 对跟踪目标进行分块;步骤22 对每个分块提取协方差矩阵作为表观的特征;步骤23 对每个分块提取出来的协方差矩阵进行空间对数欧式映射,得到映射后的矩阵;步骤24 将映射后的矩阵展开成向量,并将每个分块连续5帧的向量放在一起合成矩阵;步骤25 将上一步骤得到的合成矩阵每一个列向量减去列均值,对得到的合成矩阵进 行奇异值分解,得到每个分块对应的子空间,即为每个分块的表观模型。
4.按照权利要求1所述的基于表观分块的遮挡处理方法,其特征在于,对跟踪目标在 下一帧的粒子对应的观测值并进行分块,根据之前对每个分块建立的表观模型计算现在的 每个分块的观测值的每个分块与前一帧的对应分块的相似度,将现在的观测值的所有分块 的相似度累乘起来作为粒子的相似度,挑选相似度最大的粒子作为跟踪目标在下一帧的状 态。
5.按照权利要求1所述的基于表观分块的遮挡处理方法,其特征在于,所述遮挡检测 的具体步骤如下步骤41 由多个跟踪目标的状态得到跟踪目标的当前位置的参数; 步骤42 根据跟踪目标的位置参数,如果存在两个跟踪目标的中心位置的距离小于两 个跟踪目标的宽度之和以及长度之和,即两个跟踪目标存在重叠区域,则判断为这两个跟踪目标之间发生遮挡;如果两个跟踪目标的中心位置的距离大于两个跟踪目标的宽度之和或者长度之和,即两个跟踪目标不存在重叠区域,则判断为这两个跟踪目标之间没有发生 遮挡。
全文摘要
本发明涉及一种基于表观分块的遮挡处理方法,包括步骤给出跟踪目标在初始帧里面的位置和状态;对目标表观进行分块和学习;由目标当前帧的状态加上随机扰动作为下一帧的粒子,得到对应的观测值,将这些观测值与当前帧的观测值比较,选择最相似的粒子作为目标在下一帧的状态;根据目标所在位置,如果目标之间有重叠的区域,判断为遮挡发生,否则判断为没有遮挡;如果没有发生遮挡,则更新目标的整个表观,如果发生遮挡,则更新表观保持不变的分块,其他的分块不更新;如果目标之间发生遮挡,则对目标的分块的观测值进行统计,若某些分块发生剧烈变化,则该目标被与它重叠的目标遮挡,否则认为该目标遮挡了别的目标。
文档编号G06T7/20GK101887588SQ201010244948
公开日2010年11月17日 申请日期2010年8月4日 优先权日2010年8月4日
发明者罗文寒, 胡卫明 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1