模板匹配里的一些数学原理

1|0模板匹配里的一些数学原理

我们知道,在openCV里,模板匹配中匹配度的计算公式有三类。SQDIFF、CCORR、CCOEFF。下面我们来简单介绍一下这三类计算方法,并比较其不同之处。


openCV里的模板匹配

1|1SQDIFF

SQDIFF全称Sum of Squared Difference (SSD),即差的平方和。其离散形式为:

E(d)=Ω|I(x+d)T(x)|2ΩdI(x)T(x)

我们将模板图像与待匹配图像均展开成一维向量,即一维离散信号:

I=(x1,x2,...,xn)TT=(t1,t2,...,tn)T

则E可以表示为:

E=i|xiti|2   ()

这样就很好理解了,就是两个图像中每个像素之差的平方和,类似于线性回归中的MSE(Mean-Square Error)损失函数。

我们再写成向量形式:

E=||IT||2||x||L2x

这样可以发现,SQDIFF其实就是用来度量模板图片与待匹配图片的欧式距离。

在 (*) 式中,我们将模板图片与待匹配图片均展成了一维向量,而这也充分表明了模板匹配的局限性:无法包含空间信息,如旋转、伸缩等

SQDIFF_NORMED就是对SQDIFF进行归一化,这里不多赘述。

1|2CCORR

CCORR 的全称为 Cross Correlation,意即互相关,其离散形式为:

E(d)=ΩI(x+d)T(x)

反映了待匹配图像与模板图像的相似性。

为什么这个式子可以反应两个图像的相似性呢?

我们还是将图像展成一维离散信号进行分析:

I=(x1,x2,...,xn)TT=(t1,t2,...,tn)T

则E可以表示为:

E=ixiti=ITT=|I||T|cosθθIT

当模板图像与待匹配图像的相关性越好时,IT之间的夹角越小,也就是两个向量靠得越近,此时cosθ越大,E也就越大

其归一化形式:

E(d)=ΩI(x+d)T(x)ΩI2(x+d)ΩT2(x)

其全称为Normalized Cross Correlation (NCC),意即归一化互相关.

我们还是将图像展成一维离散信号,则E可以表示为:

E=|I||T|cosθ|I||T|=cosθ

也就是两个向量之间的夹角,范围为[0,1],越接近1则相关性越好。

1|3CCOEFF

CCOEFF 的全称为 Correlation Coefficient, 意即相关系数,也就是零均值互相关 (Zero-mean Cross Correlation; ZCC)

其离散形式:

E(d)=Ω(I(x+d)I¯d¯)(T(x)T¯)  T¯=1|Ω|ΩT(x),  I¯d¯=1|Ω|ΩI(x+d)

可以发现,CCOEFF的计算相当于CCORR中的像素值替换成了(像素值-图像像素均值),这样做的好处就是减弱了光照对于图像匹配的影响,鲁棒性更强💪

其归一化形式又叫做 ZNCC(Zero-normalized cross-correlation),感兴趣可以自行查阅资料

1|4三种方法比较

一般来说,我们使用CCOEFF/NORMED,其鲁棒性比会比CCORR更强;SQDIFF的算法较为简朴,缺点很多,较少使用。


__EOF__

本文作者Asaka
本文链接https://www.cnblogs.com/Asaka-QianXiang/p/18025093.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Akasa  阅读(675)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2023-02-21 【线性代数复习笔记】矩阵特征值,特征向量,相似对角化与实对称矩阵
点击右上角即可分享
微信分享提示