我正在使用电影数据集,如果电影在不同零售商中相同,我想进行分组。
例子:
电影:美女与野兽
平台:谷歌、Netflix、iTunes、亚马逊。
我可以访问以下信号:工作室、电影名称、运行时间、语言、发行年份等。但是,在这种情况下,一些不一样的电影和前面提到的信号无法找到正确的匹配项。我需要做人类会做的事情:检查电影封面。例子:
我可以访问艺术图像。我正在使用 Python 进行比较。
是否有可以帮助我比较 2 张图像并确定它们是否相似的库?
我正在使用电影数据集,如果电影在不同零售商中相同,我想进行分组。
例子:
电影:美女与野兽
平台:谷歌、Netflix、iTunes、亚马逊。
我可以访问以下信号:工作室、电影名称、运行时间、语言、发行年份等。但是,在这种情况下,一些不一样的电影和前面提到的信号无法找到正确的匹配项。我需要做人类会做的事情:检查电影封面。例子:
我可以访问艺术图像。我正在使用 Python 进行比较。
是否有可以帮助我比较 2 张图像并确定它们是否相似的库?
您可以使用 ImageHash
散列图像之间的差异将为您提供相似度分数
from PIL import Image
import imagehash
hash = imagehash.average_hash(Image.open('test.png'))
otherhash = imagehash.average_hash(Image.open('other.bmp'))
print(hash - otherhash)
你提到的问题不是微不足道的。没有开箱即用的库可以为您比较图片并为您提供可靠的相似度值。因此,您需要开发一个既适用于您的问题又适用于您的数据集的系统。
话虽如此,由于神经网络比任何其他图像识别方法工作得更好,您可以尝试:
自动编码器:(如果您的数据未标记)其想法是模型为您提取特征,然后您省略输出层,因此您拥有图像的新表示,但在模型从数据中学习的新特征空间中。一旦你的图像进入这个新的特征空间,你就可以使用任何技术来计算相似度。您可以在此处查看如何执行此操作的示例。
哈希二进制代码:(如果您的数据被标记)。这是一种基于 CNN 的监督方法,似乎可以很好地找到图像中的相关特征。看看这篇论文。
使用图像通常不是很简单,需要一些努力和实验来掌握这些技术。然而,这绝对值得而且很有趣。