APP下载

面向小运动目标的压缩域跟踪方法①

2019-01-07张鑫生孙晓帆况奇刚吴乐明

计算机系统应用 2018年12期
关键词:矢量像素算法

张鑫生,刘 浩,孙晓帆,况奇刚,吴乐明

(东华大学 信息科学与技术学院,上海 201620)

1 序言

视频目标跟踪是许多机器视觉应用的重要组成部分,例如运动识别、人机交互、自动监视和交通监控[1].目标跟踪问题可以定义为当图像视频中的物体在场景周围移动时,如何估计物体轨迹;相应的跟踪算法就是在某一视频的后续帧中预先为被跟踪对象分配一致的标签[2].在目标跟踪领域中,小运动目标的跟踪是一个难点和重点,尤其现在的视频分辨率越来越高,跟踪目标在一帧中的占比越来越小,多样化的背景和复杂的摄像机运动都增加了小目标跟踪的难度[3].

编码视频的目标跟踪算法根据其依赖信息可分为两大类:像素域跟踪算法和压缩域跟踪算法[4].像素域跟踪算法的特点是跟踪的准确率高,但是计算复杂度也高.由于相当高的计算复杂度,像素域跟踪算法在需要并行处理多个视频流的场景中并不适用.另一方面,压缩域算法处理的数据来自于压缩码流中已经编码的信息,例如运动矢量、块编码模式或运动补偿的预测残差变换系数等.压缩域跟踪算法相比于像素域跟踪算法,由于避免了对视频的全部解码,计算成本通常较低,显著减少了数据处理量和存储需求.然而,由于压缩域跟踪算法没有利用全部的像素信息,目标跟踪的准确率往往不及像素域跟踪算法.

基于马尔科夫模型来实现压缩域目标跟踪的算法近年来得到了广泛的研究[5].Zeng等人[6]提出的算法是最早使用马尔科夫随机场(MRF)进行目标跟踪的算法之一,该方法通过最小化MRF能量,将相似的运动矢量(MV)合并到运动对象中,并定义了不同的MV类型.方法[6]将跟踪问题转化为在已经分类的MV邻域上进行马尔可夫标记的过程,在这个过程中该方法利用运动矢量的空间连续性和时间一致性来追踪移动目标.但是,文献[6]没有考虑潜在的摄相机运动,因此,它只适用于跟踪摄像机固定拍摄的物体运动[7].Khatoonabadi等人[8]提出了另外一种使用MRF模型进行目标跟踪的算法,该方法不是先将运动矢量分成多个类型,而是直接使用运动矢量的观测值来计算运动相关性.此外,文献[8]采用全局运动补偿来处理摄像机运动造成的影响,并提出一种基于相邻块的运动矢量来为帧内编码块分配运动矢量的方法.Xu等人[9]提出基于全局运动估计的视频显著图检测方法来对目标进行跟踪.尽管文献[8]和[9]在一些传统视频序列下的跟踪性能良好,但是针对小目标的跟踪,它们的表现却不理想.

2 现有方法分析

基于MRF模型的压缩域目标跟踪算法对当前帧的预测会参考前一帧的运动目标预测结果,导致前一帧的预测错误会影响到当前帧的预测.由于小目标本身在一帧中所占的比例很小,故而对预测错误的容忍度更小.以H.264视频编码标准为例,由于H.264采用的是块划分[10],所以在得到起始帧的掩模时要进行4×4的块划分,需要将起始帧的标准参考图像的高、宽分别缩小4倍,然后用得到的起始帧掩模来计算下一帧的预测结果,这个预测结果需要再将高、宽放大4倍来得到下一帧预测的像素域表示,整个过程如图1所示,图中括号的内容是不同阶段的图像尺寸.

图1 基于 MRF 的目标跟踪算法流程图

为了对目标跟踪算法进行比较,通常使用准确率(Precision)、召回率(Recall)和F度量(F-Measure)来衡量算法的客观性能[11].接下来分析起始帧的掩模特性.假设将掩模放大得到的起始帧的像素域表示没有FN,则FP=λ ·TP,可得:

图2给出了Precision和倍数 λ的关系图,从图中可以看出,若Precision=0.8,则 λ =2,FP=0.25TP;若Precision=0.33,则 λ =2,FP=2TP,即λ越大,Precision就越小.从大量实验中发现,占比越大的目标,相对应的 λ越小;占比越小的目标,相对应的λ 越大.

图2 Precision和倍数λ 的关系图(Precision为小数形式)

下面以City和Ground这两个视频序列为例进行压缩域性能分析.在视频序列City的起始帧中,如图3(a)所示,标记为 1的像素点有 20 299个(即TP值);对此帧4×4块划分得到的掩模中,如图3(b)所示,标记为1的像素子块有1342个;如果对此掩模按照4×4比例放大,则标记为 1的像素点有 21 472个 (即TP值和FP值的和).经计算,此掩模的Precision为94.5%,利用这个掩模进行目标物体的跟踪,即使像素点有几千个,Precision至少可保持80%左右.

在视频序列Ground的起始帧中,如图4(a)所示,标记为1的像素点有64个(即TP值),对此帧进行4×4块划分得到的掩模如图4(b)所示,因为图像编码最小块是4×4,在MRF算法中标记为1的像素子块有11个.如果对此掩模按照4×4比例放大,则标记为 1的像素点有176个(即TP值和FP值的和).此掩模的Precision为36.3%,用这个掩模进行目标物体的跟踪,即使预测错误的像素点有几十个,Precision也仅有30%左右.图4(c)展示了Ground起始帧的标准参考图像(黑色)和由此帧的掩模放大后得到的图像(灰色),从中可以看出掩模放大后得到的图像相比标准参考图像而言,边缘部分过多.

图3 City 序列起始帧变化图

3 所提算法

3.1 算法框架

基于以上的分析,本文提出了一种面向小运动目标的压缩域跟踪算法,算法流程图如图5所示.

3.2 算法数学模型

本文所提小目标跟踪算法的原理是:将视频的每一帧划分为多个子块,每个子块标记为“0”或“1”,其中“0”表示这个子块是跟踪目标的一部分,“1”则反之,这样目标跟踪问题可转换为已知某一帧t–1的标记wt-1和帧t的运动信息Kt=(vt,ot)的条件下,预测出帧t的标记wt,其中运动信息Kt从压缩码流提取得来,vt为子块的MV,ot为子块的编码模式和大小,n=(x,y)表示子块在这一帧的位置.使后验概率P=(wt|wt-1,Kt)最大化的wt是最佳的标记,根据贝叶斯理论,运动目标的帧间似然性为P(wt-1|wt,Kt),运动目标的帧內似然性为P(Kt|wt),运动目标的先验概率为P(wt),那么后验概率P=(wt|wt-1,Kt)可以表示为:

图4 Ground 序列起始帧变化图

从式(2)中可以看出,分母的计算不需要wt,因此后验概率P=(wt|wt-1,Kt)最大只需某个wt使分子最大,即:

其中,Ω表示全部可能的标记wt的集合.式(3)等同于

基于第2节块编码对精度性能影响的分析,为了改善对小运动目标的跟踪效果,本文引入了门限α和β以及系数γ将式(4)改写为:

式(5)中,P(Kt|ψ)经计算可写为:

式(6)中,ρ为全局运动补偿系数,σd′是d′(n)的标准差;式(7)中 σd是d(n)的标准差;式(8)中v′(n)是运动矢量,是目标中心运动矢量.

参考图5,在空域代价计算模块中,要利用从压缩码流中提取的MV进行参数估计.但是参数估计方法有一个明显的问题,由于离群值(噪声MV或不准确的MV)的存在,导致样本方差的估计对离群值非常敏感.对小目标而言,这个问题更加突出,即便是几个离群值也会造成很大的估计误差.所以针对小目标的情况,重新计算离群值边界门限β是很有必要的.

鉴于前面对起始帧掩模的分析,可以知道基于MRF的算法中,起始帧的掩模中过多的块被标记为1.因此,本文算法引入了门限α,用来控制起始帧的掩模中标记为1的块的数量.

在时域代价计算模块中,由于噪声MV或不准确的MV的干扰,时域代价的计算也会受到影响,特别是在目标的边界上,而从前面对起始帧掩模的分析中,可以看出小目标起始帧掩模中边界被错误标记为1的块的数量最多,这个不利因素加剧了小目标边界计算时可能发生的错误.故本文算法引入了系数γ,用以控制跟踪小目标的边缘计算.

3.3 块编码感知的系统参数优化

为了优化上述三个参数的设置,以便得到更好地小目标跟踪效果,我们进行了一系列的实验仿真.通用的实验结果是在量化步长(QP)为28时针对小目标Ground视频序列的Precision指标获得的.典型地,α取值为 1/4、1/2、3/4和 1;β取值为 1.8、1.9、2.0 和 2.1;γ取值为 4、4.4、4.8 和 5.2;总共进行了64组参数测试.我们将实验数据按照各个参数的不同取值,以柱状堆叠的形式展现;每个参数在四个取值的柱状图均由16个Precision值(对应于其它两个参数的16种组合)相加而得,分别如图6(a)、6(b)和6(c).从图中可以看出,当α设置为 1,β设置为 1.8,γ设置为4.8时,Precision的通用效果最好.

图5 本文算法流程图

需要指出的是,本文中此3个变量的选取是由Ground视频的跟踪结果来决定的,实际场合中,此3个变量依赖于提供的不同视频而变动.由于不同视频的场景和特点未必与Ground视频相同,可能导致在跟踪的过程中,检测到某一帧的Precision为0,若出现这种情况则需要重新选取跟踪的小目标,按照上述方式重新设置参数.

4 实验分析

针对标准视频序列中的小目标跟踪,本节将所提算法与文献[8]和文献[9]的算法在Precision、Recall和F-Measure指标下的逐帧性能进行了比较.从图7中可以看出,就Precision和F-Measure而言,尽管算法[8]和[9]在开始的几帧表现较好,但是在随后的跟踪中,算法[8]和[9]的跟踪性能越来越差;而本文算法在整体上的表现优于算法[8]和[9].对于Recall,本文算法在整体上的表现略低于算法[8],这是因为对于给定的算法而言Precision和Recall是矛盾的,而本文算法以小幅牺牲Recall来改进其它两大指标性能.在表1中,给出了本文算法、算法[8]和算法[9]在所有测试视频序列下的平均Precision、Recall和F-Measure.从表中可以看出,对于全部的视频序列,本文算法的Precision和F-Measure在三种算法中是最好的.

图6 Ground序列在64组实验参数下的Precision结果.Precision为百分比形式.

图7 三种算法的指标随Sky序列帧号的变化图

表1 三种算法的平均Precision、Recall和F-Measure

表2给出了QP值从0变化到50,本文算法在不同视频测试序列下Precision、Recall和F-Measure的变化.同时,图8也描述了不同QP值下三个视频序列的平均Precision、平均Recall和平均F-Measure.从这些结果可以看出,在QP值等于40之前本文算法在小目标情况下的跟踪性能比较稳定;在QP值大于40后,各项指标开始下降,这是由于在高压缩比时,从压缩码流中提取的运动矢量的精度较低.图9(a)和9(b)给出了不同QP值下本文算法与算法[8]和算法[9]对三个视频序列的平均Precision和平均F-Measure,实验结果表明,本文算法在常用QP值下的平均Precision表现最好,同时由F-Measure结果可知,本文算法的综合性能较好.

表2 本文算法在不同 QP 下的跟踪性能

图8 本文算法在不同QP下的平均跟踪结果

表3列出了本文算法对三个视频序列中每一帧的平均处理时间.实验中使用的计算机的配置为Intel(R)i5-4570 3.20 GHz CPU,8 G 内存.需要指出的是解码 mv所需的时间没有包含在表3中,这是因为解码mv的时间依赖于不同解码器的选择,通常来说,解码所需的时间很少。从表3可以看出,Ground视频序列每帧的平均处理时间为 82.8 ms;Sky 视频序列为 111.7 ms;Seasky视频序列为113 ms.实验中使用了MATLAB实现本文算法,若使用C/C++实现,每帧的平均处理时间会大大减少.

表3 不同视频序列每帧的平均处理时间 (单位:ms)

图9 三种算法在不同QP下的指标比较

5 结论

本文根据马尔科夫随机场理论,提出了一种小运动目标的压缩域跟踪算法.本文首先分析了在小运动目标的情况下现有压缩域跟踪算法效果较差的原因,在此基础上寻找出可以优化的算法机制,并结合数据驱动的方法论给出了块编码感知的参数设置.实验结果表明,相较于其它算法,本文算法的小目标跟踪Precision和F-Measure均得到了显著地提高.

猜你喜欢

矢量像素算法
像素前线之“幻影”2000
哪种算法简便
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
“像素”仙人掌
Travellng thg World Full—time for Rree
进位加法的两种算法
根据问题 确定算法
推力矢量对舰载机安全起降的意义
高像素不是全部