下面,我们利用博尔特参加男子百米短跑的例子来解释这三方面问题。 1)“找到”:如何locate博尔特? 假设在视频上一帧我们找到了博尔特所在的位置,我们要做的是在当前帧中继续找到博尔特所在的位置。如前所述,视觉是跟踪问题(视觉目标跟踪)的限定条件,其带来了可以利用的性质。
在这里,我们可以利用的de facto rules是:在同一段视频中,相同的物体在前后两帧中的尺寸和空间位置不会发生巨大的变化[4]。比如我们可以做出如下判断:博尔特在当前帧中的空间位置大概率会在跑道中,而几乎不可能在旁边的草坪内。
也就是说,如果我们想知道博尔特在当前帧中的空间位置,我们只需要在跑道中生成一些候选位置,然后在其中进行寻找即可。上述过程引出了跟踪中一个重要的子问题,即candidate generation,通常被表述为候选框生成。
2)“感兴趣物体”:如何shape博尔特? 博尔特就是图像中个子最高,并且穿着黄色和绿色比赛服的人。但是,我们忽略了一个问题,就是我们对于博尔特的“定义”其实已经包含了很多高度抽象的信息,例如个子最高,还有黄色和绿色的比赛服。
在计算机视觉领域中,我们通常将这些高度抽象的信息称之为特征。对于计算机而言,如果没有特征,博尔特和草坪、跑道、或者图像中其他对于人类有意义的物体没有任何区别。因此,想让计算机对博尔特进行跟踪,特征表达/提取 (feature representation/extraction) 是非常重要的一环,也是跟踪中第二个重要的子问题。
3)“后续帧”:如何distinguish博尔特 (from others) ? 在这里,我们将“后续帧”关注的问题定义为如何利用前一帧中的信息在当前帧中鉴别 (distinguish) 目标。我们不仅需要在“后续帧”中的每一帧都能完成对目标的跟踪,还强调连续帧之间的上下文关系对于跟踪的意义。直观理解,该问题的答案非常简单:在当前帧中找到最像上一帧中的跟踪结果的物体即可。这就引出了跟踪中第三个重要的子问题:决策 (decision making)。
决策是跟踪中最重要的一个子问题,也是绝大多数研究人员最为关注的问题。通常来说,决策主要解决匹配问题,即将当前帧中可能是目标的物体和上一帧的跟踪结果进行匹配,然后选择相似度最大的物体作为当前帧的跟踪结果。
4)联系 在上述三个小节中我们分别介绍了跟踪基本原理中的三个子问题:候选框生成、特征表达/提取、及决策。需要注意的是,这三个子问题并非彼此独立。
有时候,决策问题的解决方案会包含更为精确的候选框生成和/或更为抽象的特征提取,利用端到端 (end-to-end) 的思想解决跟踪问题,来提高跟踪系统和算法的性能。这在近几年流行的基于深度学习的跟踪算法中非常常见。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。