shape_based_matching icon indicating copy to clipboard operation
shape_based_matching copied to clipboard

[问题]关于相似度函数

Open frigiddragon opened this issue 3 years ago • 12 comments

我是计算机视觉领域的新手。 我阅读了源代码,但仍然不了解相似功能的概念 static void similarity(const std::vector<Mat> &linear_memories, const Template &templ, Mat &similaritiesResult, Size size, int T)

您能否给我一些提示,以帮助您理解该功能的整体概念?

非常感谢。

frigiddragon avatar Nov 18 '20 12:11 frigiddragon

是这样,一个模板由n个点向对组成;模板在图像上滑动,在一个滑窗中,模板每个点在图像相应位置上会根据方向差异打分,所有点的平均得分就是一个滑窗的相似度

meiqua avatar Nov 18 '20 13:11 meiqua

  1. 相似度函数:你可以从 相似度入手, 他评价的就是 两个方向差异的打分,比如 差异22.5度 打分为1 或者 最大的分-1 。这个标识的是 模板一个特征点和 当前图像一个位置点的 差异。
  2. 一次滑窗或者一个对应模板区域得分:整个模板特征点 按照位置, 累加到一个下标下,每一个特征点的分数累加 ,得分/(点数*最大分值), 就是一次滑窗或者说一个位置的得分。

zhulz avatar Nov 19 '20 01:11 zhulz

谢谢。 我基本上可以理解。

我发现它具有与火车图像相同的图像。 检测相似度小于100%,有时仅为70%。 实施的相似性正确吗? 还是如何提高相似度?

非常感谢。

frigiddragon avatar Nov 20 '20 09:11 frigiddragon

感觉相似性感觉没问题,仅为70%, 可以调调参数看看

zhulz avatar Nov 20 '20 10:11 zhulz

谢谢。 您能给我一些改变参数的提示吗? 至少我认为在同一张图片上,相似度结果应该超过99%。 但就我而言,只有78%-这并不可靠。

frigiddragon avatar Nov 23 '20 10:11 frigiddragon

训练匹配都是同一张图片一般不会这样;有例子可以说明吗?

meiqua avatar Nov 23 '20 12:11 meiqua

DataMatrixCode_1 DataMatrixCode_result

我附上了图片

frigiddragon avatar Nov 23 '20 15:11 frigiddragon

是指一个二维码训练,匹配另外的二维码吗?这种形状并不是完全一样的。识别的话建议直接找一些二维码开源库

meiqua avatar Nov 23 '20 15:11 meiqua

不,这是同一张图片。 他们就是一个。

frigiddragon avatar Nov 24 '20 01:11 frigiddragon

可以把匹配后的模板点画出来看看

meiqua avatar Nov 24 '20 11:11 meiqua

我可以绘制与模板匹配的所有特征点。 不可能知道哪些功能匹配,哪些不匹配。 您能告诉我如何找到适合训练的参数表: -number of features -weak/strong threshold -pyramid levels 谢谢

frigiddragon avatar Dec 21 '20 10:12 frigiddragon

一般来说默认的就好;主要需要根据形状角度和尺度可能的变化设置好范围

meiqua avatar Dec 22 '20 12:12 meiqua