定性比较图像补丁的良好指标

信息处理 图像处理 距离度量 分类 波形相似性
2022-01-05 10:42:05

我正在尝试“匹配”图像中的小方块。乍一看,简单地对其中两个数组进行欧几里德距离样式比较以获得“相似性”度量似乎是合理的。这在许多情况下都可以正常工作(根据此指标的“最佳”补丁(最低值)看起来非常像查询补丁)。但是,在许多情况下,这会产生非常糟糕的匹配。例如,以这两个补丁对为例:

两块砖墙,得分 134(这是平均绝对像素差的分量之和):

源补丁 目标补丁

一块砖墙,一块草,123分!

https://i.stack.imgur.com/d7lBZ.png https://i.stack.imgur.com/d2TBE.png

对人类来说,“显然”草与砖不匹配,但这个指标却相反。问题仅在于局部统计变化。

如果我使用直方图比较之类的东西,我会完全丢失所有空间信息——例如,如果一块顶部是草,底部是砖块,它将与底部是草块顶部是砖块的块完全匹配(再次,另一个“明显错误”的匹配)。

是否有一个度量标准可以以某种方式将这两个想法组合成一个合理的值,该值将评估为上述第 1 对的“相似”,但对于我的补丁及其垂直镜像的示例来说也不相似?

任何建议表示赞赏!

2个回答

基本思想是:颜色信息没有错——只是不够。所以最好的办法是结合多个功能集。

您可以尝试多种功能来解决这种歧义。就功能集而言,您可以使用以下内容:

  1. 颜色(类似于MPEG7 的主要颜色)或颜色直方图
  2. 纹理(以滤波器组响应的形式)或
  3. 边缘直方图

作为主要比较,我首先想区分纯砖块和纯草块。为此,色彩绝对是最具潜力的元素。

组合特征以进行更稳健的分类

我会使用一种主色(使用但不是唯一的一种)或主色并形成集群。看看簇头在哪里;

如果簇头都在预期区域内,则通常很容易检测到该类,如果它们落入灰色区域,则该类属于该区域。如果它落在灰色区域,则需要另一个功能。

同样,您可以使用纹理矩阵独立分类,然后结合两个分数以确保结果有意义。

处理空间问题

特别是当你意识到补丁可以有一部分是半砖半草时。我认为您不再需要任何其他功能或不同的矩阵。这可以通过两种方式处理。

1.将多个会员补丁保存为不同的类。 例如,除了birck-only类和grass-only类之外,您还可以拥有half-brick-half-grass-vertical总共half-brick-half-grass-horizontal四个类。这可以使用我们之前讨论的聚类方法轻松分类。

2. 添加多尺度分类 例如,假设patch 处于灰色区域,您可以将patch 分为左右两部分。同样,您也可以划分顶部与底部。现在您可以对这个“半部分”应用相同的分类。理想情况下,上面列出的功能应该允许您使其可扩展以比较完整部分之间的特征相似性(例如,无论大小,主色都可以相同),或者您可能需要调整它的大小。

添加更多类(如第 1 部分)或更多级别(如第 2 部分)将是直截了当的;上限将取决于两个因素 - 任何额外的划分将不再为分类增加任何价值,或者过多的噪声将有效地在分类中引入歧义。这是你停下来的地方。

首先,2 幅图像和 3 次测量不足以确定任何可以用来定义最佳比较指标的统计模型。

我认为您可以开始查看纹理识别论文以获取方法和线索。这是一个活跃的领域。

值得一提的是,我运行了几个感知散列函数(基于 DCT 和随机投影)测试,并使用所谓的 SIFT 描述符进行了一些试验。这些函数可以区分类间距离和类内距离,尽管从 3 张图像中无法得出任何结论。

github上的代码