比较特征提取器(或比较对齐的图像)

问题描述 投票:0回答:1

我想比较ORB,SIFT,BRISK,AKAZE等,以找到最适合我特定图像集的内容。我对图像的最终对齐感兴趣。

有标准的方法吗?

我正在考虑这个解决方案:采用每个算法,提取特征,计算单应性并转换图像。

现在我需要检查哪个变换图像更接近目标模板。

也许我可以用目标模板和变换后的图像重复这个过程,并寻找最接近身份的单应矩阵,但我不确定如何准确地计算这种接近度。而且我不确定我应该使用哪种算法进行此检查,我想这是一个固定的算法。

或者我可以使用感知差异哈希(dHash)在图像之间进行一些像素级别比较。但我怀疑下面的汉明距离对于几乎相同的图像可能不是很好。

我可以模糊它们并做一个简单的减法但听起来很弱。

谢谢你的任何建议。

编辑:我有成千上万的图像要测试。这些是真实世界的图片。图像是不同类型的文档,一些具有大量图形,另一些主要是几何图形。我有大约30种不同的模板。我怀疑不同的模板最适合不同的算法(我事先知道模板,所以我可以选择最好的模板)。

现在我使用cv2.matchTemplate在转换后的图像中找到一些参考补丁,并将它们的位置与参考值进行比较。它有效,但我想改进这一点。

python opencv computer-vision
1个回答
0
投票

从您的问题来看,似乎任务不是比较特征提取器本身,而是找到哪种类型的特征提取器导致最佳对齐。

为此,您需要两件事:

  • 一种使用不同提取器的功能执行对齐的方法
  • 一种检查对齐精度的方法

您建议的算法是进行对齐的好方法。要检查是否准确,您需要知道什么是良好的对齐。

您可以从已经知道的对齐开始。知道两个图像之间对齐的最简单方法是自己进行逆操作。例如,从一个图像开始,将其旋转一定量,翻译/裁剪/缩放或组合所有这些操作。知道如何获得图像,您可以获得理想的对齐(撤消操作)。

然后,通过算法生成理想的对齐和对齐,您可以使用一个度量来评估其准确性,具体取决于您对“良好对齐”的定义。

© www.soinside.com 2019 - 2024. All rights reserved.