Abstract

虽然互相关可以在变换域中有效实现,但特征匹配应用中首选的互相关归一化形式并没有一个简单的频域表达式。为此,在空间域中计算了归一化互相关。通过对搜索窗口中图像和image2的预计算积分,证明了非归一化交叉相关可以有效地归一化。

1 Introduction

两个信号之间的相关性(互相关)是特征检测的标准方法[6,7],也是更复杂的技术(如[3])的组成部分。相关的教科书描述了卷积定理,以及使用快速傅立叶变换在频域中高效计算相关的可能性。不幸的是,模板匹配中首选的相关(相关系数)的归一化形式并没有相应的简单有效的频域表达式。因此,在空间域(如[7],p. 585)计算归一化互相关。由于空间域卷积的计算成本较高,因此也开发了几种不精确但快速的空间域匹配方法。本文介绍了一种从变换域卷积中获得归一化互相关的新算法[10]。在某些情况下,新算法在归一化互相关的空间域计算上提供了一个数量级的加速(第5节)。

由于我们展示的是一种熟悉且广泛使用的算法版本,因此我们不打算调查关于特征选择、美白、快速卷积技术、扩展、替代技术或应用程序的文献。关于这些主题的文献可以通过介绍性文本和手册[16,7,13]以及最近的论文,如[1,19]。然而,由于所提倡的各种特征跟踪方案,可能有必要确定,即使不是所有的应用程序,标准化的相互关联仍然是一种可行的选择。这是在第3节中完成的。

为了使本文具有自主性,第2节介绍了归一化互相关,第4节简要回顾了变换域和其他快速卷积方法以及相位相关技术。大多数读者可以跳过这些部分。第5节描述如何从相关的转换域计算中获得规范化的相互关联。第6节给出性能结果。

2 Template Matching by Cross-Correlation

模板匹配中使用的互相关是由距离度量(平方欧几里得距离)驱动的

(其中f是图像,并且总和在包含位于u,v的特征t的窗口下的x,y之上)。 在扩展d2

是常数。如果近似为常数,则剩余的互相关项

(1)

是图像与特征之间相似性的度量。

使用(1)进行模板匹配有几个缺点:

.如果图像能量随位置变化,使用(1)匹配可能失败。例如,特征与图像中精确匹配区域的相关性可能小于特征与亮点的相关性。

.c(u,v)的范围取决于特征的大小。

.Eq.(1)对于图像幅值的变化不是不变的,例如在整个图像序列中由于光照条件的变化而引起的图像幅值的变化。

相关系数克服了这些困难,将图像和特征向量归一化为单位长度,得到一个余弦相关系数

(2)

其中是特征的平均值,是特征下区域中f(x,y)的平均值。 我们将(2)称为归一化互相关。

3 Feature Tracking Approaches and Issues

很明显,归一化互相关(NCC)并不是一种理想的特征跟踪方法,因为它在图像尺度、旋转和透视畸变方面不是不变的。这些限制已经在各种方案中得到解决,包括一些将NCC作为一个组成部分的方案。本文不提倡选择NCC而不是其他方法。相反,下面的讨论将指出各种特性跟踪方法中涉及的一些问题,并得出结论,NCC是某些应用程序的合理选择。

SSDA。序列相似度检测算法(SSDA)[2]的基础是观察到只有在互相关联函数的最大值附近才需要全精度,而降低的精度可以在其他地方使用。[2]的作者描述了几种实现降低精度的方法。交叉关系的SSDA实现以随机顺序计算(1)的和,并使用部分计算作为蒙特卡洛估计,以确定特定匹配位置是否接近相关面的最大值。如果估计值表明某个位置与较差匹配,则在完成和之前终止特定位置的计算。

SSDA算法简单,在空间域的相互关联上提供了显著的加速。它的缺点是不能保证找到相关曲面的最大值。当相关曲面具有较浅的斜率和较大的最大值时,SSDA表现较好。虽然这一条件在许多应用中可能得到了满足,但显然,包含对象数组(卵石、砖块、其他纹理)的图像可以在相关表面生成多个窄极值,从而误导了SSDA方法。SSDA的第二个缺点是它有需要确定的参数(用于形成相关系数估计数的术语的数量,以及该估计数的早期终止阈值)。

Snake。蛇(活动轮廓模型)的缺点是它们不能跟踪没有可定义轮廓的物体。有些物体没有一个明确的边界(无论是由于内在的模糊还是由于光照条件),但仍然有一个颜色的特征分布,可以通过相互关联来跟踪。主动轮廓模型解决了一个比简单模板匹配更普遍的问题,因为它们提供了随时间变化的变形轮廓的表示。相互关联可以跟踪随时间而变形的对象,但是具有这里不讨论的明显而重要的条件。交叉关联还可以很容易地跟踪一个特征,该特征在帧间移动的幅度是它自身大小的很大一部分,而这种移动量可以将一条蛇置于其收敛盆地之外。

Wavelets and other multi-resolution schemes。虽然小波卷积定理的存在性还有待讨论(例如,[11];在一些方案中,小波卷积实际上是使用傅立叶卷积定理实现的),但利用粗到细多分辨率搜索,小波和其他多分辨率表示可以实现有效的特征跟踪。然而,多分辨率技术要求图像包含足够的低频信息,以指导搜索的初始阶段。正如在第6节中所讨论的,理想的特征有时是不可用的,人们必须求助于定义不明确的特征,这些特征可能只有很少的低频信息,例如在一个均匀表面上的小点的配置。

上面讨论的每一种方法都是由不同的作者提倡的,但是不同方法之间的比较较少。参考[19]在梯度搜索框架中推导出一种最优的特征跟踪方案,但该框架的局限性并未得到解决。通过对五种模板匹配算法在各种图像畸变情况下的实证研究,[4]发现,NCC在所有图像类别中表现最佳,虽然其中一种较便宜的算法对某些类型的畸变表现几乎与之相当。在[1]中讨论了运动跟踪的一般层次结构框架。在考虑梯度法的基础上,选择了一种基于相关性的匹配方法。

尽管NCC算法的时代已经过去,而且出现了更多的新技术来解决它的各种缺点,但可以说,一个合适的替代方案还没有得到普遍认可。NCC对图像序列的要求很少,没有用户需要搜索的参数。NCC可用来提供简单的特性跟踪,也可以作为更复杂(可能是多分辨率)匹配方案的组件使用,该匹配方案可以处理缩放和旋转不变性、特性更新和其他问题。在绝对差和等可选匹配准则中选择相关系数也被证明为最大似然估计[18]。我们承认NCC在许多应用程序中是默认的选择,在这些应用程序中,特征跟踪本身并不是研究的主题,也不是视觉和模式识别研究(例如[3])中的偶尔构建块。因此,一种快速算法很有趣。

4 Transform Domain Computation

考虑(2)中的分子并假设我们有图像其中已经删除了平均值:

(3)

对于大小为的搜索窗口,大小为(3)的特征需要大约个加法和个乘法。

式(3)是具有反转特征的图像的卷积,并且可以通过计算

(4)

其中F是傅里叶变换。复共轭通过傅里叶变换性质完成特征的反转。

FFT算法的实现通常需要将扩展为0到2的公共幂。变换计算(3)的复杂度为实乘法和实加减。当M远大于N时,直接空间计算(3)的复杂度约为的乘法/加法,且直接法比变换法快。当N接近M时,随着M、N的增大,变换方法变得更加有效。

4.1 Fast Convolution

有几种著名的快速卷积算法不使用变换域计算[13]。这些方法可以分为两类:用乘法交换额外加法的算法,以及通过将一维卷积的各部分嵌入到较小的多维卷积的各个独立维度中,从而在(一维)卷积的O(n2)特征上找到一个较低点的方法。虽然这些算法比直接卷积快,但是在中等大小的[13]下,它们比变换域卷积慢,而且在任何情况下,它们都不能解决(2)的分母的计算问题。

4.2 Phase Correlation(相位相关)

由于(4)可以在变换域中进行有效的计算,因此提出了几种近似(2)中图像能量归一化的变换域方法。在互相关之前,通过高通滤波可以减小模板下图像能量的变化。这种滤波可以方便地添加到频域处理中,但是选择截止频率是有问题的,低截止频率可能会留下显著的图像能量变化,而高截止频率可能会删除对匹配有用的信息。

一种更可靠的方法是相位相关[9]。该方法首先将变换系数归一化为单位量值,然后在频域内计算相关系数。因此,这种相关性仅基于相位信息,对图像强度的变化不敏感。尽管经验表明这种方法是成功的,但它有一个缺点,即所有转换组件的权重都是相等的,而人们可能会认为不重要的组件应该得到更少的权重。在给定信号二阶矩和信号噪声的前提下,原则上应选择频谱预滤波,使期望的相关信噪比达到最大。该方法在[16]中进行了讨论,与经典的匹配滤波随机信号处理技术相似。与典型(ρ0:95)图像相关性最好的预滤器大约是拉普拉斯算子,而不是一个纯粹的美白。

5 Normalizing

再次检查(2)的分子,我们注意到特征的均值可以被预先计算,留下

由于具有零均值并且因此零和和项也是零,因此可以使用(4)来计算归一化互相关的分子。

通过检验(2)的分母,特征向量的长度可以在大约次操作中预先计算出来(相对于互相关关系的代价来说,这是很小的),事实上,特征可以被预先归一化为长度为1。

有问题的量是表达式。图像平均值和局部能量(RMS)必须在每个u,v,即。在个位置,产生了几乎个操作(将加、减、乘作为一个操作计算)。该计算超过了(3)的直接计算所需的计算,并且当变换方法适用时,它可能显着地超过由(4)指示的计算。 期望一种更有效的计算特征下的图像平均值和能量的方法。

这些量可以从包含图像和图像平方在搜索区域上的积分(运行和)的表中有效地计算出来,即

当任意一个u,v < 0。则定位于u, v处的特征下图像的能量为

并且类似于特征下的图像总和。

现在可以用很少的操作来计算有问题的量,因为它扩展成仅涉及特征下的图像和和平方的表达式。构建这些表需要大约次运算,这比计算分子(4)的成本要低,也比计算每个u,v处的所需要的少得多。

这种从预先计算的运行和计算定和的技术已经在许多领域单独使用;在[5]中开发了一个计算机图形应用程序。如果以系统的行扫描顺序搜索关联曲面的最大值,则可以通过状态变量将表构造和引用结合起来,从而避免显式存储表。然而,在通用计算机上实现时,表的大小不是主要考虑的因素,搜索相关曲面的灵活性可能是有利的。注意s(u,v)和表达式是略微稳定的,这意味着它们的z变换(这里是一维的版本)在z = 1处有一个极点,而稳定性要求极点严格在单位圆[14]内。因此,计算应该使用大整数而不是浮点运算。

6 Performance

该算法的性能将在特殊效果图像处理的背景下进行讨论。将合成图像和经过处理的图像集成到特效序列中,往往需要对序列运动和特征进行准确的跟踪。在特技效果中使用自动特征跟踪是在电影中首创的,比如《扣人心弦》(Cliffhanger)、《阿甘正传》(Forest Gump)和《速度》(Speed)。最近,基于互相关的特征跟踪器被引入到商业图像合成系统中,如Flame/Flint[20]、Matador、Advance[21]和After Effects[22]。

本文所描述的算法是为电影《阿甘正传》(1994)开发的,并在后续的几个项目中得到了应用。这部电影的特效序列包括替换各种移动元素,在历史电影和视频序列中加入当代演员。从序列的一帧中手动选择的特征会自动跟踪到其余帧;这些信息被用作进一步处理的基础。

算法的相对性能是搜索窗口大小和特征大小与搜索窗口大小之比的函数。相对性能沿窗口尺寸轴增加(图1);更高分辨率的图将显示一个额外的波纹,反映搜索窗口大小和两个边界功率之间的关系。在更大的问题上,相对性能更大是可取的。表1说明了在特效特征跟踪应用程序中获得的性能。表2比较了我们的算法与高端商业图像合成包的性能。

注意,虽然小的特征尺寸(例如102)在理想的数字图像中已经足够,但在实践中,有时需要或更喜欢大得多的特征尺寸和搜索窗口:

.在电影和视频中使用的图像序列有时是从移动摄像机中获得的,由于相机抖动,在帧之间可能有相当大的平移。由于表示数字电影所需的高分辨率,即使是帧间的微小移动也可能对应许多像素的距离。

.所选择的特征当然受限于图像中可用的特征;不同的特征并不总是在首选的规模和位置可用。

.在典型的数字化图像中,由于相机或物体的运动,许多潜在的特征要么失焦,要么模糊(图2)。在存在模糊和噪声的情况下,大的特征更准确。

由于这些考虑,通常使用或更大的特征大小和或更大的搜索窗口。

在某些情况下,这种快速算法可以将高分辨率的特征跟踪从一夜之间减少到午餐时间。由于具有较低的(代理)分辨率和更快的机器,半自动化的特征跟踪在交互式系统中是可以接受的。其他领域中的某些应用程序也可以从本文描述的算法中获益。

Fast Normalized Cross-Correlation相关推荐

  1. PMVS NCC(Normalized Cross Correlation)归一化互相关

    一:基本原理 NCC是一种基于统计学计算两组样本数据相关性的算法,其取值范围为[-1, 1]之间,而对图像来说,每个像素点都可以看出是RGB数值,这样整幅图像就可以看成是一个样本数据的集合,如果它有一 ...

  2. 目标跟踪中cross correlation的总结与实现

    最近几篇目标跟踪文章都出现了对cross correlation方面的改进, 是因为发明新tracker的趋势已经过去了吗?其实我之前也思考过,一直直接拿来用的depth-wise correlati ...

  3. Python使用matplotlib可视化两个时间序列的交叉相关性图、交叉相关图显示了两个时间序列之间的滞后性(Cross Correlation plot)

    Python使用matplotlib可视化两个时间序列的交叉相关性图.交叉相关图显示了两个时间序列之间的滞后性(Cross Correlation plot) 目录

  4. TDOA定位中的广义相关(Generalized Cross Correlation)算法仿真

    最近在优化频谱监测系统中的TDOA定位精度.TDOA中最重要的问题无外乎是信号时差的提取.看了国内外的文献,一致首推"广义相关(Generalized Cross Correlation-- ...

  5. 归一化互相关Normalization cross correlation (NCC)

    NCC正如其名字,是用来描述两个目标的相关程度的,也就是说可以用来刻画目标间的相似性.一般NCC也会被用来进行图像匹配,即在一个图像中搜索与一小块已知区域的NCC最高的区域作为对应匹配,然后对准整幅图 ...

  6. 基于NCC的模板匹配算法的一些补充

    基于NCC的模板匹配算法的一些补充 基于灰度差值的相似度计算方法SAD和SSD 在模板匹配算法中,灰度值差值的相似度计算方法SAD和SSD是最基础的,相关公式如下,摘自<机器视觉算法与应用> ...

  7. 计算机视觉方向简介 | 图像拼接

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 简介 图像拼接是将同一场景的多个重叠图像拼接成较大的图像的一种方法 ...

  8. 【图像配准】基于灰度的模板匹配算法(一):MAD、SAD、SSD、MSD、NCC、SSDA、SATD算法

    简介: 本文主要介绍几种基于灰度的图像匹配算法:平均绝对差算法(MAD).绝对误差和算法(SAD).误差平方和算法(SSD).平均误差平方和算法(MSD).归一化积相关算法(NCC).序贯相似性检测算 ...

  9. MPEG-4视频编码核心思想

    1 引言  当今时代,信息技术和计算机互联网飞速发展,在此背景下,多媒体信息已成为人类获取信息的最主要载体,同时也成为电子信息领域技术开发和研究的热点.多媒体信息经数字化处理后具有易于加密.抗干扰能力 ...

最新文章

  1. Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接、验证集)及效果可视化
  2. Boost:异步操作,需要boost :: asio :: async_compose函数的测试程序
  3. 彻底搞清楚浏览器渲染过程
  4. 超赞!12套你没见过的社交媒体 社交网站图标
  5. pandas添加一行数据_恨晚,Python探索性数据分析神器pandas-profiling,一行代码搞定...
  6. 产品经理思维模型:从品牌营销的角度看用户
  7. 音量已经调到100%,如何再调整
  8. 51 -算法 -LeetCode 53最大子序和 动态规划
  9. 近年来,学习图像去雾不得不看的论文和源代码
  10. 获取系统当前时间(精确到毫秒)
  11. 电脑全能工具箱,400+工具免费用
  12. 设为首页 加入收藏代码
  13. stap监控IO脚本
  14. php查看版本命令,如何查看php版本?查看php版本的详细步骤分享
  15. iOS 解决TableView reloadData时cell中图片会闪的问题
  16. 土豆皮,蒜苗长短,胡萝卜
  17. unity占用太多c盘空间
  18. 面相,暴露你的生活质量
  19. vue实现图片上传功能
  20. 已知二叉树先序序列和中序序列,求后序序列

热门文章

  1. 计算广告(4)----query意图识别
  2. 论文翻译——Catch Me If You Hear Me: Audio-Visual Navigation in Complex Unmapped Environments with Moving
  3. 每天记录学习的新知识:圆的运算公式
  4. C# 监听USB设备插拔动态(防多触发)
  5. Pyspark分类--NaiveBayes
  6. 小制作--单片机数字收音机
  7. 微型计算机原理实验程序,微机原理 实验程序
  8. 利用Python简单仿真凸轮轮廓
  9. 计算机实战项目之 论文+辩论PPT+源码等]精品微信小程序ssm校友录网站+后台管理系统|前后分离VUE
  10. 我的世界1.6.4java下载_我的世界Java版1.16.4