2. 中国民航西北空中交通管理局 西安 710082
2. China Northwest Regional Air Traffic Management Bureau of Civil Aviation Xi'an 710082
目标跟踪是计算机视觉领域的一个重要研究课题,其任务是模拟出运动物体在图像序列中的运动轨迹。粒子滤波算法[1]使用一组带权粒子模拟目标状态的后验概率分布,在目标跟踪领域越来越受到人们的关注,尤其在解决非线性、非高斯的问题上。传统的粒子滤波算法采用若干维参数定义的简单几何图形表示跟踪结果,而现实中的物体往往具有复杂形状并伴有姿态、尺度变化等,难以被简单几何图形所描述。不精确的目标表示还会在目标更新阶段引入噪声像素,导致跟踪任务的失败。
许多算法尝试引入轮廓及分割技术实现动态跟踪任务。文献[2]基于形状演化以及相似性参数定义动态先验模型,并把其应用在粒子滤波框架中。在文献[3]提出的轮廓跟踪算法中,轮廓被参数化为椭圆,并使用隐马尔可夫模型估计当前轮廓状态。与以上参数化模型相比,水平集主动轮廓技术[4-5]作为一种曲线的非参数表示法,能处理曲线的拓扑结构变化,应用广泛。在水平集模型中,轮廓线用高维函数的零水平集表示,并以高维函数的形式进行演化,直到最小化基于图像的能量函数。
水平集方法被用于跟踪技术[6-7]。文献[8]提出一个概率框架,用于跟踪多个事先不可见的物体。利用观测图像数据计算目标位置、相对深度以及由水平集表示的目标形状的后验概率。文献[9]在贝叶斯框架中引入形状先验统计知识,以实现基于水平集的序列跟踪技术。文献[10]在粒子滤波框架中引入Mumford-Shah模型,在粒子滤波预测阶段,依据先前时刻的状态和观测数据,在各候选位置上执行水平集曲线演化。文献[11]在此基础上将算法改进为在更新阶段执行水平集演化,从而依据当前时刻的状态进行观测。然而这些算法使用的都是原始水平集演化模型,即仅依据图像信息而不考虑跟踪目标的因素,得到的跟踪结果依赖于初始曲线。文献[12]用区域增长的方法将目标与背景区域分割为片段,并在水平集框架中提出基于片段的跟踪方法。
1 粒子滤波器粒子滤波算法[1]是一种基于序列蒙特卡罗思想的估计过程,其实质是随机模拟序列的使用样本并在贝叶斯框架下完成在线学习。令
${\mathit{\boldsymbol{x}}_{k + 1}} = {f_k}({\mathit{\boldsymbol{x}}_k}) + {\mathit{\boldsymbol{u}}_k}$ | (1) |
${\mathit{\boldsymbol{z}}_k} = {h_k}({\mathit{\boldsymbol{x}}_{\rm k}}) + {\mathit{\boldsymbol{v}}_k}$ | (2) |
式中,
已知初始状态分布
传统的主动轮廓模型(Chan-Vese)意在寻找一个分段常值函数
$ u(x,y)=\left\{ \begin{align} &{{c}_{1}} \ \ \ \ \ \ {\text{若}}(x,y){\text{在分界线}}C{\text{内}} \\ &{{c}_{2}} \ \ \ \ \ \ {\text{若}}(x,y){\text{在分界线}}C{\text{外}} \\ \end{align} \right. $ | (3) |
式中,
$\begin{gathered} {E_{{\rm{CV}}}}({c_1},{c_2},\mathit{\Phi } ) = \iint_\mathit{\Omega } {{{\left| {I(x,y) - {c_1}} \right|}^2}{\rm{H}}(\mathit{\Phi } (x,y)){\rm{d}}x{\rm{d}}y + } \\ \iint_\mathit{\Omega } {{{\left| {I(x,y) - {c_2}} \right|}^2}[1 - {\rm{H}}(\mathit{\Phi } (x,y))]{\rm{d}}x{\rm{d}}y} + \\ \iint_\mathit{\Omega } {{\rm{ \mathsf{ δ} } _0}(\mathit{\Phi } (x,y))|\nabla \mathit{\Phi } (x,y)|{\rm{d}}x{\rm{d}}y} \\ \end{gathered} $ | (4) |
式中,
${c_1} = \frac{{\iint_\mathit{\Omega } {I(x,y){\rm{H}}(\mathit{\Phi } (x,y)){\rm{d}}x{\rm{d}}y}}}{{\iint_\mathit{\Omega } {{\rm{H}}(\mathit{\Phi } (x,y)){\rm{d}}x{\rm{d}}y}}}$ | (5) |
${c_2} = \frac{{\iint_\mathit{\Omega } {I(x,y)[1 - {\rm{H}}(\mathit{\Phi } (x,y))]{\rm{d}}x{\rm{d}}y}}}{{\iint_\mathit{\Omega } {[1 - {\rm{H}}(\mathit{\Phi } (x,y))]{\rm{d}}x{\rm{d}}y}}}$ | (6) |
从式(5)~(6)可知,
基于粒子滤波的主动轮廓跟踪算法,将表示目标位置与区域的粒子视作状态
${p^N}({\mathit{\boldsymbol{X}}_k}|{\mathit{\boldsymbol{I}}_{0:k - 1}}) = \frac{1}{N}\sum\limits_{i = 1}^N {{{\rm{ \mathit{ δ}} } _{\mathit{\boldsymbol{X}}_k^{(i)}}}({\mathit{\boldsymbol{X}}_k})} $ | (7) |
式(7)即为给定
$w_k^{(i)} = \frac{{p({\mathit{\boldsymbol{I}}_k}|\mathit{\boldsymbol{X}}_k^{(i)})}}{{\sum\limits_{i = 1}^N {p({\mathit{\boldsymbol{I}}_k}|\mathit{\boldsymbol{X}}_k^{(i)})} }}$ | (8) |
在具体实现中,可使用任意粒子滤波器得到该带权粒子集合,而后在粒子空间中引入主动轮廓模型,并定义粒子导向的曲线演化方程,使其最终收敛到具有最多重要权重粒子的区域。
2.3 粒子空间下主动曲线演化令
$\begin{gathered} p({C_k}|\{ \mathit{\boldsymbol{X}}_k^{(i)},w_k^{(i)}\} _{i = 1}^N,{\mathit{\boldsymbol{I}}_{0:k}},{C_{0:k - 1}}) \propto \hfill \\ \underbrace {p(\{ \mathit{\boldsymbol{X}}_k^{(i)},w_k^{(i)}\} _{i = 1}^N|{C_k})}_{\rm particles}\underbrace {p({\mathit{\boldsymbol{I}}_k}|{C_k})}_{\rm edge}\underbrace {p({C_k}|{C_{0:k - 1}})}_{\rm prior} \hfill \\ \end{gathered} $ | (9) |
式中,
令
${O^ + } = \{ \{ \mathit{\boldsymbol{X}}_k^{(i)},w_k^{(i)}\} |\mathit{\boldsymbol{X}}_k^{(i)} \in {\Omega ^ + }\} $ | (10) |
${O^ - } = \{ \{ \mathit{\boldsymbol{X}}_k^{(i)},w_k^{(i)}\} |\mathit{\boldsymbol{X}}_k^{(i)} \in {\Omega ^ - }\} $ | (11) |
则式(8)中基于粒子集的概率模型可分解为:
$p(\{ \mathit{\boldsymbol{X}}_k^{(i)},w_k^{(i)}\} _{i = 1}^N|{C_k}) \propto p({O^ + }|{C_k})p({O^ - }|{C_k})$ | (12) |
其中:
$p({O^ + }|{C_k}) \propto \sum\limits_{\{ \mathit{\boldsymbol{X}}_k^{(i)},w_k^{(i)}\} \in {O^ + }} {w_k^{(i)}} $ | (13) |
$p({O^ - }|{C_k}) \propto 1 - \sum\limits_{\{ \mathit{\boldsymbol{X}}_k^{(i)},w_k^{(i)}\} \in {O^ - }} {w_k^{(i)}} $ | (14) |
式(13)和式(14)分别表示曲线内包罗重要样本及曲线外不泄露重要样本的程度。
为驱使轮廓线运动到目标边界,使用图像边缘指示函数:
$g(x,y) = \frac{1}{{1 + |\nabla {G_\sigma } * I(x,y){|^2}}}$ | (15) |
式中,
$p({\mathit{\boldsymbol{I}}_k}|{C_k}) \propto \sum\limits_{{{[x \ y]}^{\rm{T}}} \in {C_k}} {g(x,y)} $ | (16) |
定义轮廓线的能量函数,使得最小化该能量函数等同于最大化概率:
$ \begin{align} & E(C)=\iint_{ {{O}^{+}}}{-w_{k}^{(i)}{\rm d}X}+\iint_{ {{O}^{-}}}{w_{k}^{(i)}{\rm d}X}+ \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ \xi \int_{ C}{g(x,y)}{\rm d}x{\rm d}y+\mu \oint_{\mathit{C}}{\rm{d}\mathit{s}} \\ \end{align} $ | (17) |
使用水平集函数
$ \mathit{\Phi }(x,y)=\left\{ \begin{align} & d((x,y),C)\begin{matrix} {} \\ \end{matrix}\ \ \ \ \ \ \ \ \ \ {\rm{if}}{{[x\ y]}^{\rm{T}}}\in {{\mathit{\Omega }}^{+}} \\ & 0\begin{matrix} {} \\ \end{matrix}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\rm{if}}{{[x\ y]}^{\rm{T}}}\ {\rm{at}}\ C \\ & -d((x,y),C)\begin{matrix} {} \\ \end{matrix}\ \ \ \ \ {\rm{if}}{{[x\ y]}^{\rm{T}}}\in {{\mathit{\Omega }}^{-}} \\ \end{align} \right. $ | (18) |
则式(16)的关于水平集函数的形式为:
$\begin{gathered} E(\mathit{\Phi } ) = \iint_{{\rm{ }}O} { - w_k^{(i)}\operatorname{H} (\mathit{\Phi } (X)){\rm{d}}X} + \\ \iint_{{\rm{ }}O} {w_k^{(i)}[1 - \operatorname{H} (\mathit{\Phi } (X))]{\rm{d}}X} + \\ \iint_{{\rm{ }}\mathit{\Omega } } {{\rm{ \mathit{ δ} } _0}(\mathit{\Phi } (x,y))[\xi g(x,y) + \mu |\nabla \mathit{\Phi } (x,y)|]{\rm{d}}x{\rm{d}}y} \\ \end{gathered} $ | (19) |
依据
${\hat C_k} = {\rm{evo}}({e_k},{\mathit{\boldsymbol{I}}_k},\{ \mathit{\boldsymbol{X}}_k^{(i)},w_k^{(i)}\} _{i = 1}^N) = e_k^{(M)}$ | (20) |
式中,
${e^{(\tau )}} = {e^{(\tau - 1)}} - {\eta ^{(\tau )}}{\nabla _e}E$ | (21) |
式中,
跟踪算法开始前需确定跟踪目标。通常可在第一帧中手动画出一个多边形来给出初始目标区域。本文采用针对运动飞机目标的自动检测与初始化方案。
采用背景建模方法与Haar特征对跟踪目标进行检测结果如图 2所示。首先采用基于空间局部二值模式的背景建模方法[13]得到视频中的运动物体区域,即二值的背景减图像
得到目标初始区域后,在新的视频帧中可采用以往提出的任意一种粒子滤波算法来得到模拟目标分布的带权粒子集,从而应用提出的主动轮廓跟踪方法进行跟踪任务。在此采用基于表观和运动信息的粒子滤波器。首先对得到的初始目标区域进行表观建模,得到其RGB三通道的密度分布
$ \rho [{p_i},q] = \sum\limits_{u = 1}^m {\sqrt {p_i^{(u)}{q^{(u)}}} } $ | (22) |
此外,在背景减图像
最后,同时使用表观信息与运动信息为该粒子赋权值。粒子
$ w(i) = \frac{1}{{\sqrt {2{\rm{ \mathsf{ π} }}} \sigma }}\exp \left[ { - \frac{{d_i^2}}{{2{\sigma ^2}}}} \right] $ | (23) |
其中,
$ {d_i} = \alpha \rho [{p_i},q] + \beta {\rm fore}{_i} $ | (24) |
式中,
基于以上带权粒子,采用前面介绍的基于粒子滤波的主动轮廓跟踪算法对目标进行跟踪。此外,还将其与采用相同权值计算方法的标准粒子滤波器及以往的基于粒子滤波与主动轮廓的轮廓跟踪算法[10]进行比较。比较算法在airport sunveillance序列上的跟踪结果如图 3所示。图 3描述了一个飞机在跑道上滑行的过程。为给出令人信服的比较结果,在相同的实验条件下执行3个算法。算法均采用前面所述的目标初始化方法,且都采用30个粒子样本。3个算法在序列上帧序号分别为284, 462, 663。可看出,标准的粒子滤波算法很难准确包罗整个目标区域,这是由于矩形框所表示的目标区域中含有大量的背景像素,由此建立的目标模型不能提供准确的信息以很好地区分目标和局部背景。这会导致算法的判断力弱化并使结果偏离目标的真实位置。当背景像素的污染逐步传递到后续图像帧造成误差累计时,跟踪器就会发生漂移现象。而轮廓跟踪方法[10]在粒子滤波预测阶段产生的候选粒子上执行传统水平集模型而不考虑任何目标信息,使得其轮廓演化不关联目标物体而只趋近强度一致区域,因而在具有多特征分布的目标序列上,其曲线收敛结果受制于初始轮廓及图像特征,很难准确包罗整个目标区域。相比之下,提出的算法使用带权粒子引导主动轮廓线收敛到目标边界,可以精确地捕获目标区域。
除了上述对运动目标的跟踪应用外,在提出的基于粒子滤波的主动轮廓算法中,采用不同的粒子权值计算方法,可得到试用于不同应用的结果。例如,对于机场监控场景下的静态飞机,由于摄像机的摄像距离较远,照射角度大,所以大部分物体在场景中相对飞机都因为较小而变得不显著。由此,可采用显著度测量的方法来为粒子赋权值从而达到针对飞机目标进行主动轮廓分割的目的。在此采用文献[14]中的显著度计算方法,并结合显著区域下的haar特征值来为粒子赋权,即式(24)转变为:
$ {d_i} = \alpha 'S({p_i}) + \beta 'H({p_i}) $ | (25) |
式中,
最后基于此带权粒子执行提出的方法对飞机目标进行轮廓提取。在此也给出基于传统主动轮廓模型的分割方法[4]的分割结果作为比较实验。提出的方法在机场监控视频中静态飞机目标提取上的应用如图 4所示。实验结果表明了提出算法在真实应用中的有效性。
本文提出一种新的基于粒子滤波的主动轮廓跟踪算法,以实现对复杂形状物体的轮廓跟踪。相比于基于原始的仅依赖图像特征的主动轮廓模型,本文的方法充分考虑跟踪任务的上下文环境,使用目标状态后验分布的模拟样本定义轮廓能量函数,并引导曲线向具有重要权重粒子的区域进行定向演化,最终收敛到具有最大目标似然的图像区域,实现了对目标物体的全局运动及局部形态演化的同时估计。在机场监控视频序列上的各种应用结果证明了本文方法在实际应用中的有效性和鲁棒性。
[1] |
ISARD M, BLAKE A. Condensation: Conditional density propagation for visual tracking[J].
International Journal of Computer Vision, 1998, 29(1): 5–28.
DOI:10.1023/A:1008078328650 |
[2] |
VASWANI N, CHOWDHURY A R, CHELLAPPA R. Activity recognition using the dynamics of the configuration of interacting objects[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Los Alamitos, USA: IEEE, 2003.
|
[3] |
CHEN Y, RUI Y, HUANG T. JPDAF based HMM for real-time contour tracking[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Kauai, USA: IEEE, 2001.
|
[4] |
CHAN T, VESE L. Active contours without edges[J].
IEEE Transactions on Image Processing, 2001, 10(2): 266–277.
DOI:10.1109/83.902291 |
[5] |
OSHER S J, SETHIAN J A. Fronts propagation with curvature dependent speed: Algorithms based on hamilton- jacobi formulations[J].
Journal of Computational Physics, 1988, 79: 12–49.
DOI:10.1016/0021-9991(88)90002-2 |
[6] |
PRISACARIU V A, REID I. Nonlinear shape manifolds as shape priors in level set segmentation and tracking[C]// Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Providence, USA: IEEE, 2011.
|
[7] |
SUN Xin, YAO Hong-xun, ZHANG Sheng-ping. A novel supervised level set method for non-rigid object tracking[C] //Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Providence, USA: IEEE, 2011.
|
[8] |
BIBBY C, REID I. Real-time tracking of multiple occluding objects using level sets[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. San Francisco, USA: IEEE, 2010.
|
[9] |
CREMERS D. Dynamical statistical shape priors for level set-based tracking[J].
IEEE TPAMI, 2006, 28(8): 1262–1273.
DOI:10.1109/TPAMI.2006.161 |
[10] |
RATHI Y, VASWANI N, TANNENBAUM A, et al. Tracking deforming objects using particle filtering for geometric active contours[J].
IEEE Trans on Pattern Analysis and Machine Intelligence, 2007, 29(8): 1470–1475.
DOI:10.1109/TPAMI.2007.1081 |
[11] |
SUN X, YAO H, ZHANG S. A refined particle filter method for contour tracking[C]//SPIE International Conference on Visual Communications and Image Processing. Huang shan, Anhui: [s. n. ], 2010.
|
[12] |
CHOCKALINGAM P, PRADEEP N, BIRCHFIELD S. Adaptive fragments-based tracking of non-rigid objects using level sets[C]//Proceedings of IEEE International Conference on Computer Vision. Kyoto, Japan: IEEE, 2009.
|