如何使用深度学习检查两张图像(一张是原始图像,另一张是手机拍摄的)相似度?

数据挖掘 机器学习 深度学习 张量流 图像分类 图像识别
2021-10-10 13:18:05

我的问题陈述是 - 在我的项目中,产品的原始图像存储在数据库中。现在,每当有人上传该产品的相机照片(用于内部审核流程)时,我都需要验证上传的图像是否与原始图像相似。那么任何人都可以帮我解决这个问题,我如何使用深度学习或张量流自动实现验证?

1个回答

有几种方法可以解决这个问题:

1. 小事一桩

您可以首先通过简单地使用 numpy 的函数来检查图像是否相同,numpy.array_equal(A, B)或者numpy.allclose(A, B)两个图像存储为 numpy 数组的位置A位置。B

要检查图像在语义上是否相似,您需要计算相似度度量首先让我备份一下...

2. 潜在表征

在深度学习中,我们可以在潜在空间中表示图像、录音、文本等数据这是一个不可观察(“非真实”)的空间,我们试图捕捉数据的本质。对于单词,我们可能会创建一个 300 维的向量,该向量应该对给定单词所代表的信息进行编码。对于图像,我们可以使用Auto Encoder

这个想法是将图像提炼成一个真正包含图像中所有核心信息的矩阵。这将是您对图像的潜在表示,这是您比较图像的地方。这是这种模型的示意图,其中中间的“瓶颈”是您实现输入图像的密集表示的地方:

自动编码器

通过尝试将压缩的中间部分扩展为与输入数组(输入图像)相同的数组,对模型进行端到端训练。

您通过仅通过训练模型的前半部分(即仅编码器)运行它们来创建要比较的两个图像的潜在编码表示,并计算结果数组之间的距离或相似性度量。您也许可以使用简单的余弦相似度(扁平数组),甚至只使用L2 范数(平方差之和)。

希望所有这些都为您提供足够的指导和关键字来找到相关的教程:-)