查找相似图像的算法

时间:2020-03-05 18:56:54  来源:igfitidea点击:

我需要一种算法,该算法可以确定两个图像是否"相似",并可以识别颜色,亮度,形状等的相似模式。我可能需要一些关于人脑对图像进行"分类"的参数的指针。 ..

我看过基于hausdorff的匹配,但这似乎主要是为了匹配变形的对象和形状图案。

解决方案

回答

我们可以在两个图像之间执行某种块匹配运动估计,并测量残差和运动矢量成本的总和(就像在视频编码器中那样)。这将补偿运动;对于加分,请进行仿射变换运动估计(补偿缩放和拉伸等)。我们也可以做重叠的块或者光流。

回答

我们可以使用感知图像差异

这是一个命令行实用程序,它使用感知指标比较两个图像。也就是说,它使用人类视觉系统的计算模型来确定两个图像在视觉上是否不同,因此忽略了像素的微小变化。此外,它还大大减少了由随机数生成,操作系统或者机器体系结构差异引起的误报数量。

回答

首先,我们可以尝试使用颜色直方图。但是,我们确实需要缩小问题范围。通用图像匹配是一个非常困难的问题。

回答

这是一个难题!这取决于我们需要的精确度,并且取决于我们正在处理哪种类型的图像。我们可以使用直方图比较颜色,但是显然没有考虑这些颜色在图像(即形状)中的空间分布。边缘检测之后进行某种类型的分割(即挑选出形状)可以提供用于与另一图像匹配的图案。通过将图像视为像素值矩阵,然后比较这些矩阵,可以使用同余矩阵来比较纹理。有一些关于图像匹配和机器视觉的好书-在亚马逊上搜索会找到一些。

希望这可以帮助!

回答

在另一个线程上有一些很好的答案,但是我想知道涉及频谱分析的东西是否行得通?即,将图像分解为相位和幅度信息,然后进行比较。这样可以避免某些与裁剪,转换和强度差异有关的问题。无论如何,这只是我的猜测,因为这似乎是一个有趣的问题。如果我们搜索了http://scholar.google.com,我相信我们可以针对此提出一些论文。

回答

这听起来像是视觉问题。我们可能需要研究自适应增强以及Burns Line Extraction算法。这两个概念应有助于解决此问题。如果我们不熟悉视觉算法,那么边缘检测甚至是一个更简单的起点,因为它说明了基础知识。

至于分类参数:

  • 调色板和位置(渐变计算,颜色直方图)
  • 包含的形状(Ada。增强/训练以检测形状)

回答

根据所需的精确度,我们可以将图像分解为n x n像素的块并进行分析。如果我们在第一个程序段中获得不同的结果,则无法停止处理,从而可以提高性能。

为了分析正方形,我们可以例如获取颜色值的总和。

回答

一些图像识别软件解决方案实际上并不是纯粹基于算法的,而是利用了神经网络的概念。请访问http://en.wikipedia.org/wiki/Artificial_neural_network,即NeuronDotNet,它也包含有趣的示例:http://neurondotnet.freehostia.com/index.html

回答

通过使用小波变换将图像分解为签名,我已经做了类似的事情。

我的方法是从每个转换的通道中选取最重要的n个系数,并记录它们的位置。这是通过根据abs(power)对(power,location)元组的列表进行排序来完成的。相似的图像将具有相似之处,因为它们在相同的位置具有显着的系数。

我发现最好将图像转换为YUV格式,从而有效地使我们在形状(Y通道)和颜色(UV通道)上具有相似的权重。

我们可以在mactorii中找到上述的实现,但是不幸的是,我的工作还没有达到我应有的水平:-

我的一些朋友使用的另一种方法取得了令人惊讶的良好效果,它只是简单地将图像调整为4x4像素大小并存储签名。通过使用相应的像素计算两个图像之间的曼哈顿距离,可以说出两个图像的相似程度。我没有关于它们如何执行调整大小的详细信息,因此我们可能必须尝试使用​​可用于该任务的各种算法来找到合适的算法。

回答

有使用Kohonen神经网络/自组织图的相关研究

学术系统(Google for PicSOM)或者学术系统都不多
(http://www.generation5.org/content/2004/aiSomPic.asp,(可能不适合
适用于所有工作环境))演示文稿。

回答

我使用SIFT来重新检测不同图像中的同一对象。它确实功能强大,但相当复杂,可能会过大。如果假定图像非常相似,则基于两个图像之间的差异的一些简单参数可以告诉我们很多信息。一些指针:

  • 归一化图像,即通过计算两个图像的平均亮度并根据比例将最亮的比例缩小(以避免在最高级别上出现削波)来使两个图像的平均亮度相同(尤其是如果我们对形状比颜色。
  • 每个通道的标准化图像上的色差总和。
  • 在图像中找到边缘,并测量两个图像中边缘像素之间的距离。 (形状)
  • 将图像划分为一组离散区域,然后比较每个区域的平均颜色。
  • 在一个(或者一组)级别上将图像阈值化,并计算得到的黑白图像不同的像素数。

回答

pHash可能会让我们感兴趣。

perceptual hash n. a fingerprint of an audio, video or image file that is mathematically based on the audio or visual content contained within. Unlike cryptographic hash functions which rely on the avalanche effect of small changes in input leading to drastic changes in the output, perceptual hashes are "close" to one another if the inputs are visually or auditorily similar.