前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小白系列(3)| 计算机视觉之直接视觉跟踪

小白系列(3)| 计算机视觉之直接视觉跟踪

作者头像
一点人工一点智能
发布2022-12-27 13:06:00
6350
发布2022-12-27 13:06:00
举报
文章被收录于专栏:一点人工一点智能

摘要:在这篇文章中,我们将回顾一些基础的跟踪方法。首先,我们将介绍几种视觉跟踪方法。然后,我们将解释如何对它们进行分类。我们还将讨论直接视觉跟踪的基本内容,特别关注基于区域的方法和基于梯度的方法。

目录:

  1. 视觉跟踪简介
  2. 对视觉跟踪方法进行分类
  3. 基于区域的跟踪方法
  4. 基于梯度的方法
  5. 总结

01 视觉跟踪

视觉跟踪,也称为目标跟踪或视频跟踪,是使用视觉信息估计场景中目标对象的轨迹的问题。视觉信息可以来自不同的成像源。我们可以使用光学相机、热像仪、超声波、X 射线或磁共振等。

以下是最常见的成像设备列表:

此外,视觉跟踪是一个非常受欢迎的话题,因为它在各种各样的问题中都有应用。例如,它在人机交互、机器人、增强现实、医学和军事方面都有应用。

下图突出显示了视觉跟踪应用程序:

现在,让我们看看如何对现在可用的解决方案进行分类。

02 视觉跟踪方法的分类

视觉跟踪方法可以根据以下主要组成部分进行分类:

现在,让我们更详细地看一下这些组件。

2.1 目标表示形式(The target representation)

首先,我们需要选择我们要跟踪的内容。在视觉跟踪中称为目标表示(Target Representation)。根据Alper Yilmaz和他在2006年发表的论文“目标跟踪:综述(Object tracking: A Survey)”,有几种典型的目标表示方法。如下图所示:

但是,在这些目标表示方法中,边界框(the bounding box)是迄今为止最常见的。之所以如此,是边界框形式可以轻松定义各种物体。

2.2 外观模型(The appearance model)

以上,我们看了表示我们目标的几种方法。现在让我们看看如何对其外观进行建模。外观模型背后的想法是根据可用的视觉信息描述目标对象。因此,合适的外观模型是具有区别性的模型。

  • 图像直方图

例如,在下图中,我们可以注意到一名穿着蓝色制服的足球运动员沿着球场奔跑。用边界框表示的球员。

此边界框将定义直方图。通常,我们在灰度图像上使用直方图,但也可以使用彩色直方图。在上图中,我们可以想象矩形边界框的颜色直方图。我们可以使用此直方图将目标球员与绿色背景区分开来。

现在,我们举个例子。例如,我们可以有一个直方图,其中 70% 的蓝色和 30% 的绿色。这意味着当球员移动时,我们需要将边界框移动到该区域上,并找到蓝色百分比最高的地方。因此,基本上通过找到一个框,我们将始终与初始直方图完美匹配。这样,我们将能够跟踪玩家。

  • 图像强度

此外,我们可以使用参考图像本身作为外观模型。在这种情况下,目标对象被描述为一组像素强度。例如,如果目标对象正在移动,我们的目标是找到与参考图像的完全匹配。此过程称为模板匹配(template matching)。它会对与预定义模板匹配的图像区域进行标识。但是,视觉跟踪要解决的问题是该图像可以扭曲,旋转,投影等。这意味着如果图像失真,模板匹配将有好的结果。

我们还可以使用滤波器组(filter bank)来表示目标,该滤波器组使用原始像素强度值计算生成的图像。我们可以使用分布域(distribution fields)作为外观模型。这类外观模型也称为基于区域的方法。

  • 图像特征

另一种非常流行的外观模型类型是图像特征。它基于目标对象的参考图像,其中可以计算一组可区分的特征以表示目标。为了提取特征,通常使用几种目标检测算法。例如,像SIFT,SURF,ORB,Shi-Tomasi这样的算法。

  • 子空间分解

在某些情况下,参考图像的子空间可以用于对目标的外观建模。事实证明,当被跟踪目标的外观随时间变化时,这些更复杂的模型非常有用。在这种情况下,通常采用主成分分析和基于字典的方法。在这里,可以分解目标对象的参考图像。例如,假设我们有一个 100 人的图像数据集。我们将得到一个平均图像并添加一个组件。此组件捕获一个人是向左看还是向右看的方向。然后,我们可以使用此组件来搜索向右看的人。

接下来,我们将重点介绍外观模型的类型,这些模型通常用于基于区域的跟踪方法。

03 基于区域的跟踪方法

基于区域的跟踪来自跟踪区域或图像的一部分的想法。因此,按照约定,我们将用边界框表示目标对象。为了跟踪边界框中包含的目标,我们需要定义一个合适的外观模型。在下面的示例中,外观模型是模板强度图像。在这里,我们在左侧有一个目标对象的参考图像,我们正在搜索原始图像中的最佳匹配。

现在我们已经为目标对象采用了外观模型,我们需要对它在场景中的运动进行建模。这意味着跟踪问题找到了运动模型合适的参数。运动模型的参数的优化就代表着目标对象的参考图像与原始图像之间的相似性最大化。例如,假设目标对象仅在场景中的水平和垂直方向上移动。在这种情况下,一个非常简单的平移模型,只有两个参数 和 就足以对参考图像的位置进行建模。

当然,如果目标对象以更复杂的方式移动,那么我们需要调整和使用具有额外自由度的更复杂的变换模型,如下所示:

例如,如果我们跟踪一本书的封面,那么我们必须使用具有八个自由度的投影模型。另一方面,如果目标对象不是刚性的,我们需要使用可变形模型。因此,我们可以使用B样条曲线(B-Spline)薄板样条曲线(Thin-Plate Splines,TPS)来正确描述对象的变形。

可变形参数模型:

  • 样条曲线(B-Splines,TPS,多元)
  • 三角形网格

直接方法的另一个特殊方面是,在实践中,我们经常使用目标对象在前几帧中的位置来初始化对其当前位置的搜索。因此,给定前一帧运动模型的参数向量

,我们的任务是找到与参考和当前图像最匹配的新向量。

3.1 相似性函数

这里面有一个很有意思的问题。参考图像和当前图像的最佳匹配项究竟是什么?找到最佳匹配意味着找到当前图像中与参考图像最相似的部分。这意味着我们必须在参考和原始图像之间选择一个相似函数( f ),用于模板匹配。在下面的示例中,我们可以看到前两个图像之间的相似性应该大于后两个图像之间的相似性。

为了计算模板和原始图像之间的相似性,使用了几个相似性函数。以下是其中的几个:

相似性函数:

  • 绝对差值和 (Sum of Absolute Differences,SAD)
  • 误差平方和(Sum of Squared Differences,SSD)
  • 归一化互相关 (Normalized Cross-Correlation,NCC)
  • 互信息(Mutual Information,MI)
  • 结构相似性指数(Structural Similarity Index,SSIM)

因此,对于跟踪,我们需要为目标对象选择一个外观模型、一个运动模型和一个相似性函数,以便判断参考图像与视频中原始图像的相似程度。所以,给定前一帧的参数

,我们需要设计一个搜索策略来查找当前时间的新模型参数。最简单的方法是围绕前面的参数

定义局部区域搜索。在下面的示例中,我们将沿x轴从-20像素移动到+20像素,从目标对象在前一帧中的位置沿y轴从-20像素移动到+20像素(假设我们只有平移)。

如果我们想改进对物体先前位置周围广泛邻域的详尽搜索,我们可以利用我们对物体运动的先验知识来减少搜索。例如,我们可以使用经典的卡尔曼滤波框架或更复杂的滤波器,如粒子滤波。

04 基于梯度的方法

另一个非常流行的搜索策略是梯度下降。首先,我们选择一个相似性函数,该函数在跟踪参数方面是可微的,并且围绕最佳匹配具有平滑和凸面的landscape。然后,我们可以使用基于梯度的技术,找到Transformation(运动)模型的最佳参数。

在下面的示例中,我们需要计算 SSD。

假设绿色部分是参考图像,并且我们要检查与原始图像(蓝色部分)的相似性。我们将通过移动蓝色矩形以匹配绿色矩形来计算 SSD,我们将减去这两个图像。然后,我们计算误差平方并进行求和。如果我们得到的结果数值较小,这意味着我们有一个相似度比较高的模板。下图说明了此过程。

需要注意的重要一点是,SSD 是向量p的函数,其中

是向量。在这里,x 和y是我们检索的transformer参数。围绕最佳对齐位置的正负五像素位移,蓝色矩形SSD score的计算结果,为我们提供了这条曲线。因此,我们可以在此示例中清楚地看到SSD的凸性和平滑性质。

在上面右侧的例子中,我们可以从鸟瞰视角看到一个 2D 函数。中间是最小值,两侧数值较大。现在,如果我们想在 1D 中绘制此函数,它将如下所示:

因此,假设我们沿着x轴方向进行检索。首先,我们将随机选择在x轴的起始位置。假设x=4。然后我们将计算SSD 函数的梯度。可以计算出向函数的最小值移动的函数。梯度将告诉我们需要在原始图像中向哪个方向移动。

那么,梯度下降的主要优势是什么呢?假设我们有一个具有多个自由度的Transformer模型,例如以下示例中用于跟踪此板的投影模型。

首先,让我们解释一下多重自由度的含义。假设我们有一个矩形的原始图像和一个模板图像。请注意,在下面的示例中,左侧原始图像中的矩形是右侧模板图像的投影版本。

但是,现在我们还无法计算SSD。解决此问题的一种方法是检测两个图像中的关键点,然后使用一些特征匹配算法来查找它们的匹配项。不过,我们也可以使用模板图像强度值进行搜索。为此,我们将应用transformation warping。正如我们在文章前面解释的那样,我们将用以下transformation 矩阵将图像相乘:

这意味着这里我们有 8 个自由度,因为在矩阵中我们总共有 8 个参数和一个固定为 1 的数字。所以,基本上,我们的初始矩形现在将有一个角度变化。这意味着要计算SSD,除了找到平移参数x和y之外,我们还需要找到其他参数来表示旋转、缩放、倾斜和投影。

因此,梯度下降的主要优点是,当我们检索的对象旋转、缩放和扭曲时,我们不需要检索数以千计的组合来找到最佳Transformer参数。使用梯度下降,我们可以在几次迭代中以非常高的精度获得这些参数。因此,可以节省很多的计算工作量。

05 总结

在这篇文章中,我们了解到图像跟踪方法由四个主要组成部分组成:外观模型、Transformer模型、相似度度量和检索策略。我们介绍了一些外观模型,还讨论了刚性和非刚性转换模型。此外,我们还解释了如何计算SSD,还解释了如何应用梯度下降。

原文地址:https://datahacker.rs/001-advanced-computer-vision-introduction-to-direct-visual-tracking/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一点人工一点智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01 视觉跟踪
  • 02 视觉跟踪方法的分类
    • 2.1 目标表示形式(The target representation)
      • 2.2 外观模型(The appearance model)
      • 03 基于区域的跟踪方法
        • 3.1 相似性函数
        • 04 基于梯度的方法
        • 05 总结
        相关产品与服务
        对象存储
        对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档