图像相似性比较

JoJ*_*oJo 30 algorithm image-processing image-recognition

我最初在cstheory.stackexchange.com上提出了这个问题,但建议将其移至stats.stackexchange.com.

是否有现有算法返回两个位图图像之间的相似性度量?通过"相似",我的意思是人们会说这两幅图像是从同一张照片中改变的.例如,该算法应该说以下3个图像是相同的(原始,位置移位,收缩).

相同

在此输入图像描述 在此输入图像描述 在此输入图像描述

我不需要检测扭曲或翻转的图像.我也不需要检测它是否是不同方向的同一个对象.

不同

在此输入图像描述 在此输入图像描述

我想使用此算法来防止我的网站上的垃圾邮件.我注意到垃圾邮件发送者懒得改变他们的垃圾邮件图像.它不仅限于面孔.我已经知道那里已经有很多很棒的面部识别算法了.垃圾邮件图像可以是从URL到足球场到裸体的任何东西.

Jim*_* M. 17

在堆栈溢出时讨论了图像相似性算法.由于您不需要检测扭曲或翻转图像,因此直方图方法可能已足够,因为图像裁剪不会太严重.


Anv*_*h K 7

您可以使用现有的深度学习架构(如VGG)从图像生成要素,然后使用相似性度量(如余弦相似度)来查看两个图像是否基本相同.

整个管道很容易设置,你不需要了解神经网络架构(你可以像对待黑盒子一样对待它).此外,这些功能非常通用,可用于查找任何类型的对象之间的相似性,而不仅仅是面部.

以下是一些博客,引导您完成整个过程. http://blog.ethanrosenthal.com/2016/12/05/recasketch-keras/ https://erikbern.com/2015/09/24/nearest-neighbor-methods-vector-models-part-1.html


小智 5

亚马逊有一个名为Rekognition的新 API ,它允许您比较两个图像的面部相似性。该 api 返回每张脸彼此之间的相似度百分比以及每张脸的边界框。

Rekognition 还包括用于面部分析(返回性别、大致年龄和其他相关面部详细信息)和对象场景检测(返回图像中对象的标签)的 api。