于立君,王 辉,原 新
(哈尔滨工程大学 自动化学院,黑龙江 哈尔滨 150001)
视频目标跟踪技术[1-3]是计算机视觉领域中重要的研究方向之一,在军事、民用等领域有着广泛的应用,例如人机交互、室外监控、机器人视觉等方面。但是其相似度的测量往往不准确[4],这是由于在复杂场景中的遮挡、光照、复杂运动等因素的影响所造成的,因此研究精度高而且鲁棒性好的目标跟踪方法仍是一项重要任务。
最近几年,受到人脸识别中成功应用稀疏表示分类算法(SRC)[5-7]的启发,稀疏表示也逐渐应用在目标跟踪中,如Mei[8]等人首次在目标跟踪中提出L1范数跟踪器中应用SRC 算法,其主要思想是把稀疏表示分类应用到粒子滤波状态估计后的候选目标中,通过最小重构误差去识别跟踪目标。Bai[9]等人提出一种在线监督学习的稀疏表示跟踪算法,将线性分类器嵌入到稀疏表示的过程中,提高目标跟踪算法的区分能力。Wei Zhong[10]等提出一种基于生成和判决模型的协作式稀疏表示算法,此方法利用全局信息与局部信息方法的优点,能够有效减缓目标漂移与目标遮挡问题。上述方法虽然对图像目标变化和遮挡情况等外界干扰因素具有很好的鲁棒性,但却无法保证跟踪算法的实时性,这主要是因为在粒子滤波阶段需要大量粒子来近似表示目标以及在稀疏表示阶段L1范数最小化求解复杂等问题。
鉴于此,本文从这两方面进行改进,首先在运动估计阶段应用方差估计优化采样粒子的分布[11],减少粒子的使用个数;然后利用L2范数最小二乘法求解判别目标函数的稀疏解,但由于L2范数最小化约束得到的稀疏性较弱,所以重构目标的精度不高,并进一步从重构误差的度量形式做出改进来增强L2范数的稀疏性,在保证稳定性跟踪的前提下,降低算法的计算度,达到快速跟踪的效果。
PF 算法[12-13]在目标跟踪中的应用十分广泛,这是由于其在非线性、非高斯等复杂环境下的优异性能,且不限制观测模型和运动模型的设计所决定的。该算法包括预测和更新两个过程,分别如式(1)和(2)所示:
图1 粒子滤波状态估计
从图1 可以看到,粒子滤波算法能够很好地逼近粒子的真实状态,但是前提是它需要大量的粒子进行计算,从而增加了算法的计算量,并对目标形变、遮挡、光照等外界干扰因素比较敏感,因此无法实现鲁棒快速地跟踪。
本文定义目标状态xt={xt,yt,θt,st,αt,φt},xt,yt,θt,st,αt,φt分别表示x,y轴上的位移、旋转角度、缩放系数、等宽比、歪斜方向,每个仿射参数之间都相互独立,并通过高斯分布构建运动模型
上式中,G(x t-1,σ2)是一个以xt-1为中心,以σ2为方差的高斯函数,目的是在相邻视频帧预测目标可能存在的状态,决定着候选粒子的选取。
则具有最小重构误差的候选目标为指定的跟踪目标。任意稀疏噪声都可以用误差向量fε表示,各种目标外观变化的情况都可以由稀疏表示算法来处理,因此本文的跟踪外观模型将采用稀疏表示算法,将其用于描述候选样本与目标模板之间的相似程度,用以判别目标、区分背景。但是它存在L1范数最小化求解复杂的问题,比如贪婪算法、凸优化算法等,都是通过大量的迭代计算来获得最优稀疏解,尤其是在粒子滤波框架下,需要针对大量的候选粒子多次计算L1范数最小化问题,花费的时间代价相当大。
为了有效提高稀疏表示算法的跟踪效率,实现稳定快速的跟踪,针对候选粒子进行稀疏表示分类阶段采用L1范数求解计算困难的问题,本文使用L2范数最小化进行稀疏表示求解,将大大降低算法的求解复杂度。但是文献[9]指出与L1范数相比,L2范数计算出的稀疏系数稀疏性更弱,因此,为弥补L2范数稀疏性较差的缺点,将加入到重构误差的计算中,即使得在求解快速的前提下,获得准确的分类效果。如图2 所示,为不同约束条件λ下L1范数最小化方法以及改进后L2范数最小化方法对候选目标分类的识别结果仿真图。
从图2 得出,λ<0.000 5时,两者的识别率几乎保持一致;0.000 5<λ<0.5时,改进后L2范数最小化的方法较L1方法对候选目标分类的识别效果更加精确;而当λ>0.5时,两者的识别效果均不理想。
图2 L1 与改进后L2 范数的识别效果对比图
因此,在保证跟踪高精度的前提下,实现快速跟踪的效果,取λ= 0.005,并从全局和局部两个角度出发,构建判别稀疏表示的目标函数如下所示:
为进一步降低算法的计算度,从而达到快速跟踪的效果,本文引入方差估计的思想优化采样粒子的分布,通过设置参数β来对传统的运动模型进行改进,快速筛选掉错误的候选粒子,即
式中ui为第i个候选粒子与标准模板向量元素之间的归一化比值,ui,j为ui中第j个元素,为ui中各个元素的平均值。本文将方差lhi大于阈值ζ的候选粒子的权重设置为0,以此挑选与目标模板相似度较高的粒子,减少粒子的使用数目,进一步提高了算法的跟踪速度。
本文算法的跟踪框架流程如图3 所示。
图3 跟踪算法流程图
本文算法的跟踪过程为:
第一步,输入一段n帧视频序列中的第一帧图像,进行目标参数初始化,获取模板字典U。
第二步,在下一帧图像中,通过方差采样改进的运动模型进行候选目标采集。
第三步,通过改进的稀疏表示模型对每个候选目标进行分类识别,判断相似度H是否为最大,若不是,继续寻找;若是,则跟踪目标位置被确定。
第四步:判断跟踪是否结束,若不是,则进行在线字典模板更新,转到第二步;若是,则输出跟踪结果。
为了验证改进算法的实效性,将它与PF 算法以及原PF+SRC 算法进行比较,实验结果从鲁棒性以及时效性进行分析。跟踪算法在对目标真实状态进行逼近时应用了500 个粒子,算法在仿射变换过程中,将目标区域映射到32×32 的矩阵上。选用了200 个背景模板10 个目标模板用于建立目标—背景模板字典。在实验平台为i53210MD 的CPU,内存为4GB 的PC 机上,使用MATLAB 2016(a)仿真实现。
选取公开的视频序列(trellis)与人为录制的视频序列(test)进行不同实验环境下的鲁棒性分析。
(1)光照、形变条件下。在trellis 序列中目标受到光照影响,且在运动过程中目标发生了形变,导致跟踪难度大。图4 是各个跟踪算法在61 帧、199 帧、328 帧、464 帧的结果展示。从跟踪结果可以看出,PF 算法从第199 帧开始发生漂移,一直到视频结束,未能再次捕获目标,跟踪失败。PF+SRC 算法虽然在跟踪过程出现了较大偏差,但却没有丢失目标,而本文提出的算法能够从始至终很稳定地跟踪目标。
图4 tr ellis 序列跟踪结果比较
(2)遮挡、旋转条件下。在test 视频序列中目标伴有遮挡以及旋转变化,本算法在处理162 帧和688帧时,当目标歪头也能够很好地随之旋转,且在遮挡情况下仍保持很好的精度,这是因为该算法将目标形变参数纳入目标估计的考量范畴,虽然其他几种算法也能成功跟踪目标,但精度却不及本文算法,通过图5可以看出本文算法的跟踪效果较其他几种算法更好。
图5 test 序列跟踪结果比较
两个视频序列成功率的比较见表1。
表1 两个视频序列成功率的比较 %
为证明本文算法解决了稀疏表示跟踪算法计算量大的问题,通过记录跟踪算法处理全部帧的时间,上述三种算法在不同实验环境(trellis、test)中的平均帧率如表2 所示。
表2 平均帧率比较 frame/s
从表2 可以看出,本算法的跟踪速率约为PF 的2倍,将近PF+SRC 的3 倍。平均速率达到23 frame/s,基本达到了实时性的要求。从以上结果分析,本文所提出的改进算法能够实现稳定快速的跟踪效果。
本文将稀疏编码原理应用到粒子滤波的跟踪框架中,同时针对粒子滤波框架下粒子数量大以及稀疏表示L1范数最小化计算复杂等问题,提出了基于方差估算的快速稀疏表示跟踪算法,该算法首先在运动估计阶段应用方差估计优化采样粒子的分布,然后在稀疏编码阶段利用L2范数来代替L1范数的计算,并且对重构误差的度量形式做出改进来增强L2范数的稀疏性,不仅大幅度降低了整体算法的计算量,同时也克服了背景与遮挡因素的干扰。最后本文将它与PF 算法以及原PF+SRC 算法进行实验对比分析,实验结果表明,本文算法能够克服外界环境的干扰情况,实现稳定快速的跟踪。