视觉目标跟踪漫谈:从原理到应用

视觉⽬标跟踪漫谈:从原理到应⽤
⼀什么是视觉⽬标跟踪
视觉⽬标跟踪的定义
在计算机视觉领域中并没有对视觉⽬标跟踪(简称跟踪,下同)的唯⼀定义。通常来说,跟踪的⽬标是视频帧或图像中的某个区域或物体,不需要其语义信息(类别等),此概念被形象地描述为“万物跟踪”。同时,也存在⼀些特例,通常被应⽤在⼀些特定场景中对已知类型物体的跟踪,例如⼯⼚流⽔线监控中对某些特定产品的跟踪(如零部件等)。
很多学者对跟踪有着不同的阐释,包括:“跟踪是视频序列中识别感兴趣区域 (region of interest) 的过程”[1],或者“给定⽬标在视频中某⼀帧的状态(位置、尺⼨等),跟踪是估计 (estimate) 该⽬标在后续帧中的状态”[2]等。这些定义看似⼤相径庭,但其实有很多共同点。通过提取这些共同点,我们将跟踪问题定义为:
跟踪是在⼀个视频的后续帧中到在当前帧中定义的感兴趣物体 (object of interest) 的过程。
可以发现,上述定义主要关注跟踪的三⽅⾯问题,即“到”、“感兴趣物体”、和“后续帧”。注意,这⾥的当前帧可以是视频中的任意⼀帧。通常来说,跟踪是从视频的第⼆帧开始的,第⼀帧⽤来标记⽬标的初
始位置 (ground truth)。下⾯,我们利⽤博尔特参加男⼦百⽶短跑的例⼦来解释这三⽅⾯问题。
图1. 博尔特参加男⼦百⽶短跑的视频截图[3]
视觉⽬标跟踪的基本原理
“到”:如何 locate 博尔特?
假设在视频上⼀帧我们到了博尔特所在的位置,我们要做的是在当前帧中继续到博尔特所在的位置。如前所述,视觉是跟踪问题(视觉⽬标跟踪)的限定条件,其带来了可以利⽤的性质。在这⾥,我们可以利⽤的de facto rules 是:在同⼀段视频中,相同的物体在前后两帧中的尺⼨和空间位置不会发⽣巨⼤的变化[4]。⽐如我们可以做出如下判断:博尔特在当前帧中的空间位置⼤概率会在跑道中,⽽⼏乎不可能在旁边的草坪内。也就是说,如果我们想知道博尔特在当前帧中的空间位置,我们只需要在跑道中⽣成⼀些候选位置,然后在其中进⾏寻即可。上述过程引出了跟踪中⼀个重要的⼦问题,即 candidate generation,通常被表述为候选框⽣成。
“感兴趣物体”:如何 shape 博尔特?
博尔特就是图像中个⼦最⾼,并且穿着黄⾊和绿⾊⽐赛服的⼈。但是,我们忽略了⼀个问题,就是我们对于博尔特
的“定义”其实已经包含了很多⾼度抽象的信息,例如个⼦最⾼,还有黄⾊和绿⾊的⽐赛服。在计算机视觉领域中,我们通常将这些⾼度抽象的信息称之为特征。对于计算机⽽⾔,如果没有特征,博尔特和草坪、跑道、或者图像中其他对于⼈类有意义的物体没有任何区别。因此,想让计算机对博尔特进⾏跟踪,特征表达/提取 (feature
representation/extraction) 是⾮常重要的⼀环,也是跟踪中第⼆个重要的⼦问题。
“后续帧”:如何distinguish博尔特 (from others) ?
在这⾥,我们将“后续帧”关注的问题定义为如何利⽤前⼀帧中的信息在当前帧中鉴别 (distinguish) ⽬标。我们不仅需要在“后续帧”中的每⼀帧都能完成对⽬标的跟踪,还强调连续帧之间的上下⽂关系对于跟踪的意义。直观理解,该问题的答案⾮常简单:在当前帧中到最像上⼀帧中的跟踪结果的物体即可。这就引出了跟踪中第三个重要的⼦问题:决策(decision making)。决策是跟踪中最重要的⼀个⼦问题,也是绝⼤多数研究⼈员最为关注的问题。通常来说,决策主要解决匹配问题,即将当前帧中可能是⽬标的物体和上⼀帧的跟踪结果进⾏匹配,然后选择相似度最⼤的物体作为当前帧的跟踪结果。
联系
在上述三个⼩节中我们分别介绍了跟踪基本原理中的三个⼦问题:候选框⽣成、特征表达/提取、及决策。需要注意的是,这三个⼦问题并⾮彼此独⽴。有时候,决策问题的解决⽅案会包含更为精确的候选框⽣成和/或更为抽象的特征提取,利⽤端到端 (end-to-end) 的思想解决跟踪问题,来提⾼跟踪系统和算法的性能。这在近⼏年流⾏的基于深度学习的
取,利⽤端到端 (end-to-end) 的思想解决跟踪问题,来提⾼跟踪系统和算法的性能。这在近⼏年流⾏的基于深度学习的跟踪算法中⾮常常见[1]。
视觉⽬标跟踪的应⽤
从某种意义来说,在回答“视觉⽬标跟踪有哪些应⽤”的问题之前,我们应该先讨论学术研究⽅法论中“为什么”的问题,即“为什么要做视觉⽬标跟踪”。
跟踪在计算机视觉科学的经典应⽤领域,包括安防领域(车辆跟踪、车牌识别等)、监控领域(⼈脸识别、步态识别等)、巡检领域(⽆⼈机追踪、机器⼈导航等)、以及新兴的智慧⽣活(⼈机交互、VR/AR等)、智慧城市(流量监测等)、以及智慧⼯业(远程医疗等)等。跟踪问题的主要应⽤可以总结为:
跟踪主要应⽤于对视频或连续有语义关联的图像中任意⽬标的空间位置、形状和尺⼨的获知。
作为检测算法的补充,其可以在视频或连续有语义关联的图像中提供⽬标的空间位置,降低整个系统的复杂度(例如检测仅应⽤于视频第⼀帧识别出⽬标,以及后续帧中的某些帧来确定⽬标位置,然后在其余帧中应⽤跟踪确定⽬标位置)。
⼆如何进⾏视觉⽬标跟踪
视觉⽬标跟踪的系统架构
候选框⽣成、特征表达/提取、和决策构成了⼀条完整的逻辑链路。具体来说,对于视频中的每⼀帧(通常不包括第⼀帧),跟踪的系统流程可以⽤图3中的架构来表⽰:
图3. 视觉跟踪系统架构[4, 有改动]
如图所⽰,在跟踪系统中,上⼀帧(含跟踪结果,如图中input frame)和当前帧会被作为系统输⼊,然后分别经过运动模型 (motion model)、特征模型 (feature model)、和观测模型 (observation model),最终作为当前帧对⽬标位置的预测(final prediction) 输出。其中,候选框⽣成、特征表达/提取、和决策三个⼦问题分别在上述三个模型中被解决,其输⼊与输出的对应关系如表1。
表1. 视觉跟踪系统架构中各模型的输⼊与输出
注意,图3中的跟踪系统架构应⽤了假设检验 (hypothesis testing) 模型。该模型是统计推断中的常⽤⽅法,其基本原理是先对系统的特征做出某种假设,然后通过研究抽样的统计分布,判断应该接受还是拒绝此假设。该模型能够很好地应⽤于跟踪问题,即假设当前帧的某个候选框是预测⽬标,然后通过特征表达/提取和决策,来判断该候选框是否可以作为当前帧⽬标位置的合理预测。
运动模型 — where?
1)⽬标表达形式
⽬标在当前帧中的⼤概位置是运动模型中主要被解决的问题,即候选框⽣成 (where)。在讨论如何⽣成的问题之前,我们⾸先需要明确的是什么是候选框。候选框是对于⽬标包围盒 (bounding box) 的假设 (hypothesis)。此处的表达与特征模型中的特征表达有所区别,其关注的主要是如何在视频帧或图像中“描绘”⽬标。常见的表达形式如图4所⽰。
图 4. 视觉跟踪⽬标常⽤表达⽅式[5]
如图所⽰,⽬标可以被矩形框 (4c)、⾻架 (4f)、或轮廓 (4h) 等不同形式所表达。其中,⼴泛被计算机视觉研究中所采⽤的是如4(c)中的矩形框(即bounding box,⼀译包围盒)表达。这种表达形式的优点包括易⽣成(如最⼩外接矩形)、易表达(如左上⾓+右下⾓坐标,或中⼼点坐标+宽⾼)、易评估(如IOU (intersection over union),⼀译交并⽐)等。详细的信息见[5]。
2)De facto rules:尺⼨变化⼩,位置移动慢
2)De facto rules:尺⼨变化⼩,位置移动慢
在确定好⽬标的表达形式(候选框)后,接下来我们需要关注如何⽣成候选框。在很多学术⽂章中,深度学习训练过程中的正负样本⽣成有时也被称作候选框⽣成。这种候选框⽣成和我们在该⼩节中讨论的候选框⽣成是两个概念。下⾯介绍两种候选框⽣成分别是什么,以及如何区分,避免混淆。
推理过程:即图3中的系统流程,⽤于预测当前帧的⽬标位置,任何跟踪算法都需要。在该过程中,运动模型⽣成候选框,然后经过特征模型进⾏特征表达/提取,将含有特征的候选框输⼊观测模型进⾏决策(对⽬标位置的预测)。如视觉⽬标跟踪的定义⼀节所述,de facto rules 是在同⼀段视频中,相同的⽬标在前后两帧中的尺⼨和空间位置不会发⽣巨⼤的变化。基于此,我们可以⼤⼤减少候选框的数量和种类,即我们只需要在上⼀帧预测的⽬标位置附近⽣成和其尺⼨近似的候选框,从⽽提⾼整个跟踪系统的效率。减温减压
训练过程:通常在基于判别式⽅法的跟踪算法中需要,属于跟踪系统学习如何区分⽬标和⾮⽬标的过程,将在视觉⽬标跟踪的算法分类⼀节中详述。在该过程中,所谓的候选框⽣成应该被称作“正负样本⽣成”。在这⾥,正样本可以近似地理解为⽬标,负样本可以近似地理解为⾮⽬标的⼲扰项,例如背景或其他像⽬标但不是⽬标的物体。为了提⾼该类算法的跟踪系统对于正负样本的判别能⼒,在⽣成负
样本时通常会在整个图像中寻,⽽不仅限于上⼀帧预测的⽬标位置附近。
总结来说,候选框⽣成被应⽤在推理过程,⽤来⽣成当前帧⽬标的潜在位置;正负样本⽣成被应⽤在基于判别式⽅法的跟踪算法的训练过程,⽤来⽣成正负样本训练跟踪系统,使得系统习得区分⽬标与分⽬标的能⼒。
3)运动模型系统架构与分类
DMF图5⽰出了运动模型的系统架构以及如何得到候选框的⽅法分类。如图所⽰,前⼀帧(第n帧)中预测⽬标的位置被输⼊模型中,输出当前帧(第n+1帧)的候选框。这些候选框可能有位置变化、尺度变化、和旋转等,如图中绿⾊和橙⾊虚线框所⽰。
图 5. 运动模型系统架构与分类
在运动模型中,主要的候选框⽣成⽅法有如下三种:
a) 概率采样 (probabilistic sampling)
通过仿射变换⽣成候选框。具体来说,假设输⼊的上⼀帧预测⽬标的位置矩形框坐标为 x、仿射变换的参数矩阵为 A、以及输出的(⼀个)候选框的坐标为 y,则
y=Ax
其中,A 中的参数包括候选框位置变换、尺度变换、旋转变换、和长宽⽐变换等信息,仿射变换的⽰例如图5所⽰。这⾥,概率体现在上述参数都是符合某种概率分布(通常是⾼斯分布)的随机变量,⽽采样则体现在⽣成不同数量的候选框。
b) 滑窗 (sliding window)
伊格尔顿
如图6所⽰,以某个形状和⼤⼩的结构元素(形象地被称之为窗)在当前帧中按⼀定的空间间隔移动,每次移动后覆盖的图像中的相应像素即为⽣成的候选框。通常来说,通过此种⽅法⽣成的候选框和前⼀帧的矩形框相⽐仅有位置变换,其他变化(如旋转变换)需要进⾏额外的处理。
图 6. 划窗⽣成候选框⽰例
平凡中的发现c) 循环移位 (circulant shift)
如图7所⽰,如果我们将上⼀帧预测的⽬标位置的矩形框中的像素按照某种排列变成图中base sample所⽰,那么每次右移⼀个像素,即可⽣成⼀个候选框的对应排列。通过⽣成该排列的反变换,即可得到⼀个候选框。通常来说,通过此种⽅法⽣成的候选框和前⼀帧的矩形框相⽐仅有位置变换(如旋转变换),其他变化需要进⾏额外的处理。值得强调的是,循环移位是滑窗的⼀个特例,但是其在基于
相关滤波的跟踪算法中与快速傅⾥叶变换 (fast Fourier transformation)结合能够极⼤地提⾼算法效率,使其⽆需再使⽤传统的滑窗操作⽣成候选框,因此在此被单列出来。
图 7. 循环移位⽣成候选框⽰例[6]
特征模型 — how look like?
1)什么是图像特征
库存物资对于⼈类来说,图像特征是对于图像的直观感受。对于计算机来说,图像特征是图像内的⼀些区域/整个图像和其他区域/其他图像的差异。常⽤的图像特征包括颜⾊特征、形状特征、空间特征、纹理特征、以及在深度学习中通过卷积神经⽹络得到的深度特征等。博尔特的黄⾊和绿⾊的⽐赛服即属于颜⾊特征,⽽个⼦⾼则结合了空间特征和纹理特征。通常来说,特征越“深”(抽象且不直观的的特征,如深度特征),对⽬标的判别能⼒越好;反之,特征越“浅”(具体且直观的特征,如颜⾊等),对⽬标的空间位置信息保留越好。因此,特征表达/提取通常需要在两者之间做权衡,才能达到更好的跟踪效果。
2)什么是图像特征表达
了解什么是图像特征之后,特征表达/提取要解决的问题是如何来描述这些特征,即⽤计算机能够理解
的语⾔来描述这些特征的数学特性的⼀个或多个维度。常⽤的特征表达/提取⽅法包括朴素⽅法(naive,如像素值)、统计⽅法(statistics,如直⽅图)、和变换(transformation,如像素值的梯度)等。
特征和特征表达被统称为特征模型。特征模型可以对从运动模型中得到的候选框进⾏分析,得到相应的候选框特征表达/提取,如图8所⽰。
图 8. 特征模型 = 特征 + 表达/提取
3)特征模型的分类
图9⽰出了如何得到对特征进⾏表达/提取的⽅法分类。可以看到的是,在应⽤卷积神经⽹络 (CNN) 得到深度特征(deep) 之前,⼿⼯的 (hand-crafted) 特征表达/提取⽅法是跟踪问题中对于图像特征进⾏处理的主流⽅法,其包括上述提到的各种特征和表达⽅式。在诸多特征和表达⽅式中,应⽤最多的是颜⾊特征和梯度直⽅图。颜⾊特征⽐较容易理解,其不仅符合⼈类对于图像的直观理解,同时也是最简单的计算机表征图像的⽅法,即像素值。梯度直⽅图是关于梯度的直⽅图,其中梯度是图像像素值在某个特定空间⽅向上的变化,例如⽔平相邻像素之间的像素值差;⽽直⽅图是⼀种常⽤的数据分布的图像表⽰,可以直观地表⽰出⼀组数据在其取值范围内的数量变化。请各位同学参考[7]获取更多关于图像特征的信息。⽬前,基于深度学习的⽅法逐渐成为跟踪问题研究的主流,其通过卷积神经⽹络 (C
NN) 得到的深度特征 (deep) 极⼤地提⾼了跟踪算法对⽬标的判别能⼒,所达到的性能也超过应⽤⼿⼯特征的跟踪算法。
图 9. 特征与特征表达/提取⽅法的分类
观测模型 — which?
1)如何做决策
在观测模型中,如何在诸多候选框中选出⼀个作为我们对⽬标位置在当前帧的预测是在观测模型需要解决的主要问题,即做决策(“哪⼀个”)。直观理解,我们只需要在当前帧的候选框中出最“像”前⼀帧的预测⽬标的候选框就可以,然⽽最“像”并不是仅有⼀种定义。
通常来说,在计算机视觉领域中解决最“像”问题可以被归类为匹配问题,即在候选框中到和前⼀帧⽬标最为匹配的那个。匹配问题是整个跟踪问题的核⼼,也是绝⼤多数跟踪算法解决的主要的问题,其解决⽅案的效果直接影响整个跟踪算法的性能。有时候,即使在候选框⽣成和特征表达/提取⽅⾯做得不够好,例如候选框的形状和尺⼨与实际有出⼊,或提取的特征的判别程度不⾼,优秀的匹配算法也可以在⼀定程度上弥补前两个模型中存在的不⾜,维持跟踪算法的整体性能。
2)如何做匹配
前述中提到的最“像”或匹配问题在本质上是⼀个相似度度量 (similarity measurement) 问题。在解决相似度问题的时候,我们需要⼀个衡量机制,来计算两个相⽐较的个体的相似度。在跟踪问题中,被⽐较的个体通常是候选框和前⼀帧的预测结果(或者是ground truth),⽽衡量机制可以被抽象成距离 (distance)。这⾥的距离不仅仅是空间距离,即框与框之
间在图像中相隔多少个像素,还包括两个概率分布的距离。
由于空间距离相对好理解,我们在这⾥仅对概率分布距离稍作解释:每⼀帧的跟踪结果是⼀个预测值,即每⼀个候选框是⽬标的概率。如果综合所有候选框,就可以构成⼀个概率分布。从概率分布的⾓度理解匹配问题,跟踪问题就转换成在当前帧寻和上⼀帧的候选框概率分布“最接近”的⼀组候选框分布,该“最接近”即是概率分布距离。常⽤的空间距离有Minkowski distance(Manhattan distance和Euclidean distance是其特殊情况),常⽤的概率分布距离有Kullback–Leibler (KL) 散度、Bhattacharyya distance、交叉熵、以及Wasserstein distance等。参考[8]。
3)观测模型系统架构与分类
图10⽰出了观测模型的系统架构。如图所⽰,前⼀帧(第n帧)中预测的⽬标位置、当前帧(第n+1帧)的候选框、和候选框的特征被输⼊模型,输出当前帧(第n+1帧)的预测结果(⽬标位置)。这些候选框可能有位置变化、尺度变化、和旋转等,如图中绿⾊和橙⾊虚线框所⽰。
图 10. 观测模型系统架构
图11⽰出了观测模型的模块拆解和分类。如图所⽰,观测模型的核⼼模块是匹配 (match)。对于匹配⽅法的分类,业界的主流观点是:⽣成式⽅法 (generative) 和判别式⽅法 (discriminative)[1, 2, 4, 9]。这两种⽅法的主要区别在于是否有背景信息的引⼊。具体来说,⽣成式⽅法使⽤数学⼯具拟合⽬标的图像域特征,并在当前帧寻拟合结果最佳(通常是拟合后重建误差最⼩的)的候选框。⽽判别式⽅法则是不同的思路,其将⽬标视为前景,将不包含⽬标的区域视为背景,从⽽将匹配问题转换成了将⽬标从背景中分离的问题。
对⽐起来,判别式⽅法具有更好的判别能⼒,即将⽬标和其他⼲扰项区分开的能⼒,这也是这⼀类匹配⽅法得名的由来。作为上述观点的论据⽀撑,应⽤判别式⽅法的跟踪算法的性能已经⼤幅度超越应⽤⽣成式⽅法的跟踪算法,成为学术界研究的主流⽅向[9]。总结来说,⽣成式⽅法把跟踪问题建模成拟合或多分类问题,⽽判别式⽅法把跟踪问题定义为⼆分类问题。
图 11. 观测模型的模块拆解和分类
此外,在图11中我们注意到还有两个虚线框⽰出的模块,分别代表特征表达/提取 (feature representation/extraction) 和更新 (update)。在这⾥,虚线表⽰这两个步骤不是必须被执⾏的。对于有的算法⽽⾔,通过特征模型得到的特征会被进⼀步抽象,来获取⽬标更深层次的特征信息,然后再
被送进匹配模块执⾏匹配算法。同时,更新的步骤也⾮必须的,其存在的意义是获得更为准确的预测结果。
甘肃理论学刊
具体来说,匹配算法得到了⼀系列的参数,应⽤这些参数即可对当前帧的⽬标位置进⾏预测。如果在后续所有帧的预测过程中都应⽤这些参数,可能会出现的结果是预测趋向不准确,最终导致跟踪的失败。其可能的原因包括累积误差、外因(如遮挡、光照变化)、以及内因(如⽬标外观变化、快速运动)等。如果引⼊更新模块,在每若⼲帧之后根据之前的预测结果更新匹配算法的参数,则可以减⼩误差,提⾼跟踪的准确性。
视觉⽬标跟踪的算法分类
跟踪算法根据其观测模型被分为两⼤类:⽣成式⽅法 (generative) 和判别式⽅法 (discriminative)。值得注意的是,在这⾥我们强调分类的依据是观测模型,是为了将整个跟踪系统架构中的不同模型解耦合。具体来说,即使两个算法分别应⽤了⽣成式⽅法和判别式⽅法作为相似度匹配的解决⽅案,其可能都应⽤了相同的特征,例如颜⾊直⽅图。如果我们将应⽤在跟踪算法中的特征作为分类的依据,这两个算法应该被归为⼀类。很显然,这是另⼀种算法分类的⾓度,但是却存在将两个⼤相径庭的算法归为⼀类的可能性。
在这⾥,我们并⾮否认按照特征分类的合理性,⽽是将关注的重点放在算法本质上的区别,即其观测
模型。然⽽,⼤多数跟踪算法的综述⽂章都直接将跟踪算法简单的分为⽣成式和判别式,并没有强调这仅仅是其观测模型,让⼈产⽣为什么应⽤了相同特征的算法会被归为不同的类别的疑问。这种不明确对于刚开始接触跟踪领域的同学是不友好的。
在明确了我们分类的前提之后,图12⽰出了我们对于跟踪算法的分类以及各分类下的⼀些经典算法。值得注意的是,在这⾥我们仅将分类细化到第⼆层,即将⽣成式和判别式做进⼀步分类。根据不同算法的具体细节,图中的分类可以继续深化,但是这有别于此⽂的宗旨,即对跟踪问题的系统性的概括。
图 12. 跟踪算法根据观测模型的分类和举例

本文发布于:2024-09-23 20:19:53,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/212539.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:跟踪   特征   候选框   算法   模型   问题
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议