由于将运动目标作为点来寻找匹配过于简化,容易造成许多错误的判断,因此本文将运动区域用外接矩形来表示,这样就相当于对外接矩形进行匹配跟踪,将运动目标符号化之后,使判断更加准确,结果更加可信。对于车辆序列的初始化,这里使用的是最邻近法,这种方法的优点是方便并且需要已知的信息少,因为新出现的目标无法估计它的运动参数,所以直接根据它与特征物体在空间上的邻近性以及大小的差异程度,在整个帧中找最佳的匹配,如果匹配程度超过一定的阈值,那么就将这个匹配关系作为该运动矩形在下一帧中的延续,记录为相同的运动标号。
对于已经初始化的运动目标,则可以利用文献[3] 中的卡尔曼滤波方法预测运动目标外接矩形的形心位置以及搜索范围。在搜索范围内,根据代价函数,比较最为接近的运动物体作为当前运动序列的延续,如果没有与之匹配的运动物体那么就认为当前的运动序列在新的一帧中的运动状态为停止,就是暂时消失。在搜索的范围内寻找最佳匹配的矩形的时候,需要对匹配的程度进行定性的划分,代价函数如下式所示:
V(i, j)=a*D(i, j)+b*E(i, j)
动物体与n−1帧中标号为j的运动物体的距离;lni−lnj −1 表示n帧中标号为i的运动物体与n−1帧中标号为j的运动物体的外接矩形面积的差值。Di, j)反映了第n帧中标号为i的运动物体与n−1帧中标号为j的运动物体形心距离的大小,其值越小说明两目标形心越靠近;而Ei, j)反映了第n帧中标号为i的运动物体与n−1帧中标号为j的运动物体外接矩形接近的程度,其值越小说明这两个矩形的形状越接近。当代价函数越小说明,ij相互关系的可能性越大.根据两者对判断结果贡献的大小,选取权重系数a,b。运动物体跟踪的具体步骤表述如下:
.(1) 将监控系统激活后,置运动序列为空,对最初3 帧判断初始化运动目标,同时对每一个运动目.标建立一个特征向量链,即目标链,用作记录运动物体的特征参数;
2. (2) 对n−1 帧中没有初始化的运动序列,在n帧中利用最邻近法寻找最佳匹配;
.(3) 对n−1 帧中的初始化的运动序列,在n帧中利用卡尔曼滤波方法进行预测,得到运动目标的
.形心和搜索范围;
3. (4) 在搜索范围内,根据代价函数寻找最佳匹配项;(4-a) 如果得到最佳匹配项,满足两者是同一个运动序列,那么将运动物体n−1 帧中的目标链赋予新一帧中的运动序列;(4-d) 对与n−1 帧中没有而n帧中存在的运动目标,认为是新的运动序列,默认为是独立的运动物体,保存运动参数,并赋予一个新的运动序列标号;预测运动物体行驶出监控的范围,将该运动序列丢弃,将运动标号置空;如果运动序列在当前帧中,没有相互匹配的运动目标,那么认为该运动物体停止。
4 结果分析