NCC与ZNCC
比较
NCC与ZNCC都是模板匹配中较为常见的互相关计算方法。
NZCC相较NCC更鲁棒,因为它在公式里减去了窗口内的均值,更能抵御光照的变化。
公式如下:
NCC(Normalized cross-correlation)
ZNCC(Zero-normalized cross-correlation):
f(x,y)是原图像,t(x,y)为模板图像,n是模板中像素(元素)的个数。
NCC的别名ZNCC
在模板匹配的计算中,曾经存在NCC与ZNCC的区别,但在多数地方的NCC其实就是本篇介绍的ZNCC。见NCC归一化互相关(详解)
ZNCC的理解
怎么理解呢:
拿ZNCC做比:
我们可以设
和
分别为两个n维向量。则zncc的公式可变换为:
<.>
表示向量内积||F||
表示F的二范数。
注:
由于:
即
结论
所以可以把ZNCC看做,两个向量之间夹角的余玄值,即两向量之间的交角为0即余弦值为1时即两向量更一致,反之更不相关。
补充
ZNCC与NCC在公式上的不同:
NCC(Normalized cross-correlation)
ZNCC(Zero-normalized cross-correlation):
ZNCC的分母多出减去均值的操作,与方差减去均值的操作一致,通过推导发现,ZNCC与求相关系数和求向量夹角的计算是一致的,具有一定的可解释意义。
NCC它的分母与ZNCC都是方差,它并不直观的带有可解释的几何意义,因此应用较少,但是,大家喜欢将ZNCC的公式记成NCC的公式,导致了很多误解。其实NCC的公式应用的特别少,多数使用的是ZNCC的公式,只不过有些人将ZNCC与NCC的名称弄混淆,导致NCC这个名词的知名度很高,其实多数使用的公式却是ZNCC。
参考:
wiki: