【Tracker】互相关是啥

互相关

互相关是相关滤波器中用来评价图像相似性的方法。例如SiamFC中使用孪生网络来判断两张图片的相似性,而相关滤波器则是使用互相关来判断两串信号的相似程度。互相关定义如下:
f ( τ ) = h ( t ) ⨂ g ( t ) = ∫ − ∞ + ∞ h ( t ) g ( t + τ ) d t f(\tau)=h(t)\bigotimes g(t)=\int_{-\infty}^{+\infty}h(t)g(t+\tau)dt f(τ)=h(t)g(t)=+h(t)g(t+τ)dt

这个定义时常让人感到困惑,但实际上它只是一个基本不等式( a 2 + b 2 > = 2 a b a^2+b^2>=2ab a2+b2>=2ab)的变体。不信咱们结合互相关不等式来康康。令 a = h ( t ) , b = g ( t + τ ) a=h(t),b=g(t+\tau) a=h(t),b=g(t+τ), then代入不等式中我们可以得到:
2 h ( t ) g ( t + τ ) − h 2 ( t ) − g 2 ( t + τ ) ≤ 0 → ∫ − ∞ + ∞ [ 2 h ( t ) g ( t + τ ) − h 2 ( t ) − g 2 ( t + τ ) ] d t ≤ 0 → ∫ − ∞ + ∞ h ( t ) g ( t + τ ) d t ≤ 1 2 ( A + B ) where  A = ∫ − ∞ + ∞ h 2 ( t ) d t ,  B = ∫ − ∞ + ∞ g 2 ( t ) d t , they are both constant given  h   and   g 2h(t)g(t+\tau)-h^2(t)-g^2(t+\tau)\leq0\\ \rightarrow \int_{-\infty}^{+\infty}[2h(t)g(t+\tau)-h^2(t)-g^2(t+\tau)]dt\leq0\\ \rightarrow \int_{-\infty}^{+\infty}h(t)g(t+\tau)dt\leq \frac{1}{2}(A+B)\\ \text{where } A=\int_{-\infty}^{+\infty}h^2(t)dt\text{, } B=\int_{-\infty}^{+\infty}g^2(t)dt\text{, they are both constant given \bf{h} and \bf{g}} 2h(t)g(t+τ)h2(t)g2(t+τ)0+[2h(t)g(t+τ)h2(t)g2(t+τ)]dt0+h(t)g(t+τ)dt21(A+B)where A=+h2(t)dtB=+g2(t)dt, they are both constant given h and g

就连高中生也能看出来,【 ∀ t , h ( t ) = g ( t + τ ) \forall t, h(t)=g(t+\tau) t,h(t)=g(t+τ)】则上述积分式达到最大值。However,这仅仅是互相关数值达到最大的充分条件。that means, 当我们计算完互相关得到最大值以及对应的平移量以后,我们不能说经过平移后,两串信号完全相等。因为上述条件并不是必要条件。

计算互相关能够让咱们知道,一串信号沿着坐标轴平移多少单位后,与另一串信号最相似。例如指数函数 y = 0.8 4 x y=0.84^x y=0.84x,我们将它的图像沿着x轴向前移动5个单位,然后再计算原始曲线与移动后的曲线的互相关,可以得到(代码来源于Matlab官方说明)。可见,结果显示我们将y2沿着x轴负方向移动5个单位后两串信号最相似,这与我们的实验室设置一致。so,这就是互相关的工作原理。这种方法的原理过于粗暴,用在图像相似性判断的时候很容易受到各种影响。

x = 0:15;
y1 = 0.84^x;
y2 = circshift(y1, 5);
[c, lags] = xcorr(y1, y2);
stem(lags, c);

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值