一种运动目标抗融合遮挡跟踪方法
技术领域
本发明涉及一种智能视频目标跟踪方法,适用于可见光图像,实现运动目标在融合遮挡情况下的可靠跟踪。
背景技术
运动目标跟踪技术是计算机视觉领域的核心课题之一,具有十分重要的意义和广泛的实用价值。它融合了图像处理、模式识别、人工智能、自动控制以及计算机应用等相关领域的先进技术和研究成果。运动目标跟踪的实质是一种从图像信号中实时自动识别目标,提取目标的位置信息,自动跟踪目标的技术。它的难点在于图像信号采集过程中的信息损失和复杂的应用环境,特别是目标在运动过程中经常被场景中的其它物体遮挡,遮挡导致了原先特征的丢失,新特征的产生,这给目标识别和定位带来很大的困难。因此,跟踪过程中的遮挡问题越来越成为限制跟踪方法实用性的关键因素,而在图像图形识别中传统的识别方法对这类物体识别问题通常不能奏效。近年来,基于子块模板匹配的方法开始被应用于遮挡情况下的目标跟踪,该方法通过对所有目标子块的运动位移量表决来获得目标在遮挡时的真实位置。为解决该方法的目标模板更新问题和实时性较差问题,本发明构造了一种改进的运动目标抗遮挡跟踪方法,通过所有遮挡目标的运动信息对其进行简单分类,对分出的主动遮挡目标和被动遮挡目标分别采用改进后的整体模板匹配方法和子块模板匹配方法,同时利用Kalman模型完成运动目标在完全遮挡情况下的跟踪。
发明内容
本发明要解决的技术问题是:提出一种运动目标抗融合遮挡跟踪方法。包括设计一种改进的目标整体模板匹配方法;提出一种改进的目标子块模板更新机制;构造一种新的通过对遮挡目标进行分类处理的快速跟踪方法。
本发明采用的技术方案为:一种运动目标抗融合遮挡跟踪方法,该方法通过判断遮挡情况的发生,将遮挡目标进行简单分类,对分出的主动遮挡目标和被动遮挡目标分别采用改进后的整体模板匹配方法和子块模板匹配方法,从而获得真实的运动位移量,最后利用Kalman模型完成运动目标在完全遮挡情况下的跟踪。具体实现步骤为:
(1)判断当前运动目标是否处于融合遮挡情况;
(2)按目标的运动信息将所有遮挡目标进行简单的分类;
(3)对主动遮挡目标采用改进的整体模板匹配方法获得目标的运动位移量;
(4)对被动遮挡目标则采用子块模板匹配方法获得目标的运动位移量;
(5)利用目标的匹配位置信息更新Kalman滤波模型,当目标完全被遮挡时采用预测信息作为真实值。
本发明的原理是:当目标出现融合遮挡时,新检测出的融合目标中将包含多个历史目标,它们之间存在着时间和空间上的重合关系,因此本文通过计算当前目标与每一个历史目标的偏离率,来判断目标是否处于融合遮挡状态,即
式中,εx和εy分别表示当前目标与历史目标在x方向和y方向的质心距离;和代表当前目标与历史目标的平均矩形宽和高;μx和μy表示当前目标与历史目标在x方向和y方向上的偏离率;τ为偏离率的阈值,取值范围为(0,1),初始设定为0.85;符号#{}为统计满足括号内条件的数量累加运算;Sum为满足条件的历史目标个数。
若Sum≤1,则意味着当前目标没有与其它目标融合;否则,若Sum>1,则表示新目标由包含Sum个历史目标的遮挡目标集融合而成。
当两个以上的目标出现融合遮挡后,本发明按目标的运动信息将所有遮挡目标进行简单分级。通过计算出每个遮挡目标的底边垂直坐标,令底边垂直坐标值最大的目标为主动遮挡目标,其余均为被动遮挡目标,即
式中,为历史目标k的底边垂直坐标,Label(Oactive)为主动遮挡目标的编号。
对不同的遮挡目标将分别采取不同的匹配跟踪方法,本发明对主动遮挡目标采用改进的整体模板匹配方法获得目标的运动位移量。
通过计算目标模板与搜索窗的相关系数可以找出目标在搜索窗中位置,即
式中,t为目标模板;s为搜索窗;K和L分别为模板的宽、高;c为相关系数曲面。
本发明采用快速傅里叶变换(Fast Fourier Transform,FFT)计算式(3)的分子项,即
∑∑s·t=real[idft(S.T*)] (4)
式中,S和T分别为s和t经过离散傅里叶变换后的矩阵;符号(*)为矩阵的共轭运算;符号(.)为矩阵的点乘运算;idft(.)为对矩阵进行离散傅里叶反变换;real(.)代表变换后复数矩阵的实数部分。
然后对尺寸为M×N的搜索窗建立大小为(M+1)×(N+1)的灰度图Is,将Is的第一行和第一列元素初始化为0,其余元素通过迭代计算,即
Is(i,j)=s2(i-1,j-1)+Is(i,j-1)+Is(i-1,j)-Is(i-1,j-1) (5)
式中,i=1,2,…,M且j=1,2,…,N。若模板大小为K×L,则搜索窗内任意K×L矩形框内的灰度值平方和,都可以根据该矩形框在SAT中四个角上的坐标计算,即
将式(4)-(6)代入式(3)中,相关系数曲面c的最大值处的坐标为模板匹配位置。
本发明采用子块模板匹配方法找出被动遮挡目标的真实位移量。首先根据目标宽高,自适应分配模板子块边长l;然后,将每个目标模板子块放到历史目标的前景灰度图中进行搜索匹配,得到各自的位移量{(xk,yk)|k∈i};最后,在所有子块的位移量中进行表决,选出票数最多的位移量作为目标的真实位移量。
本发明利用目标的匹配位置信息更新Kalman滤波模型。首先根据目标在当前帧的质心坐标(x,y)、矩形宽高(w,h)和瞬时速度(vx,vy)等信息,构造Kalman滤波模型为
X(a)=[x(a),y(a),w(a),h(a),vx(a),vx(a)] (11)
Z(a)=[x(a),y(a),w(a),h(a)]T (12)
然后将目标匹配位置作为Kalman滤波模型的观测值,获得目标在下一帧的预测位置。当被动遮挡目标的有效子块模板个数小于设定阈值时,则认为该目标已被完全遮挡,此时将完全依靠Kalman滤波预测模型对目标运动轨迹进行预测跟踪。
本发明与现有技术相比的优点在于:本发明设计一种改进的目标整体模板匹配方法,该方法采用快速傅里叶变换和积分图像代替传统的模板匹配方法,能够十分有效地提高模板匹配速度;构造了一种新的通过对遮挡目标进行分类的跟踪方法,能够实现多个运动目标在融合遮挡情况下的稳定快速跟踪。
附图说明
图1为本发明的一种运动目标抗融合遮挡跟踪方法流程图;
图2为本发明的一种运动目标抗融合遮挡跟踪方法的目标模板子块选取示意图;
图3为本发明的一种运动目标抗融合遮挡跟踪方法的目标融合遮挡情况示意图;
图4为本发明的一种运动目标抗融合遮挡跟踪方法的遮挡目标前景分配示意图;
图5为本发明的一种运动目标抗融合遮挡跟踪方法的目标抗遮挡跟踪效果图。
具体实施方式
如图1所示,本发明的具体实施方法如下:
(1)判断目标是否处于融合遮挡情况:
①计算当前目标与历史目标在x方向和y方向的质心距离:εx,εy;
②计算当前目标与历史目标的平均矩形宽高:
③计算当前目标与历史目标在x方向和y方向上的偏离率:
④统计满足以下条件的历史目标个数
Sum=#{μx>τ:μy>τ} (1)
式中,历史目标为当前目标在不同历史帧中出现时的称谓;τ为偏离率的阈值,取值范围为(0,1),初始设定为0.85;符号#{}为统计满足括号内条件的数量累加运算;Sum为满足条件的历史目标个数;
若Sum≤1,则意味着当前目标没有与其它目标融合;否则,若Sum>1,则表示新目标由包含Sum个历史目标的遮挡目标集融合而成。
(2)按目标的运动信息将所有遮挡目标进行简单分级:
计算出每个遮挡目标的底边垂直坐标,令底边垂直坐标值最大的目标为主动遮挡目标,其余均为被动遮挡目标,即
式中,为遮挡目标k的底边垂直坐标,i为所有遮挡目标构成的集合;k为集合中第k个目标;Label(Oactive)为主动遮挡目标的编号。
(3)对主动遮挡目标采用改进的整体模板匹配方法以获得目标的运动位移量:
①计算目标模板与搜索窗的相关系数,即
式中,t为目标模板;s为搜索窗;K和L分别为模板的宽、高;c为相关系数曲面。
②采用快速傅里叶变换(Fast Fourier Transform,FFT)计算式(3)的分子项,即
∑∑s·t=real[idft(S.T*)] (4)
式中,S和T分别为s和t经过离散傅里叶变换后的矩阵;符号(*)为矩阵的共轭运算;符号(.)为矩阵的点乘运算;idft(.)为对矩阵进行离散傅里叶反变换;real(.)代表变换后复数矩阵的实数部分;
③将尺寸为M×N的搜索窗建立大小为(M+1)×(N+1)的灰度图Is,将Is的第一行和第一列元素初始化为0,其余元素通过迭代计算,即
Is(i,j)=s2(i-1,j-1)+Is(i,j-1)+Is(i-1,j)-Is(i-1,j-1) (5)
式中,i=1,2,…,M且j=1,2,…,N。若模板大小为K×L,则搜索窗内任意K×L矩形框内的灰度值平方和,都可以根据该矩形框在积分图SAT中四个角上的坐标计算,即
将式(4)-(6)代入式(3)中,相关系数曲面c最大值处的坐标为模板匹配位置。
(4)对被动遮挡目标则采用改进的子块模板匹配方法获得目标的运动位移量:
①根据目标宽高,自适应分配模板子块边长l;
②将每个目标模板子块放到历史目标的前景灰度图中进行搜索匹配,得到各自的位移量{(xk,yk)|k∈i},式中i为所有遮挡目标的集合,k为集合中的第k个目标;
③在所有子块的位移量中进行表决,选出票数最多的位移量作为目标的真实位移量,即
式中,Pi表示在x方向上位移量为i的子块个数;Pj表示在y方向上位移量为j的子块个数;则表示在x和y方向上子块表决出的真实位移量。
(5)利用目标的匹配位置信息更新Kalman滤波模型:
①根据目标在当前帧的质心坐标(x,y)、矩形宽高(w,h)和瞬时速度(vx,vy)等信息,构造Kalman滤波模型为
X(a)=[x(a),y(a),w(a),h(a),vx(a),vy(a)] (8)
Z(a)=[x(a),y(a),w(a),h(a)]T (9)
式中,a为时间序列,即a时刻;
②将目标匹配位置作为Kalman滤波模型的观测值,获得目标在下一帧的预测位置;
③当被动遮挡目标的有效子块模板个数小于设定阈值时,则认为该目标已被完全遮挡,此时将完全依靠Kalman滤波预测模型对目标运动轨迹进行预测跟踪。