Comparaison de similarité d'Image

j'ai posé cette question à l'origine sur cstheory.stackexchange.com mais a été suggéré de le déplacer à stats.stackexchange.com .

Est-il un algorithme qui me renvoie une métrique de similarité entre deux images bitmap? Par "similaire", je veux dire qu'un humain dirait que ces deux images ont été modifiées à partir de la même photographie. Par exemple, l'algorithme devrait dire les 3 images suivantes sont le même (original, position décalée, rétréci).

Même

enter image description here enter image description here enter image description here

Je n'ai pas besoin de détecter des images déformées ou retournées. Je n'ai pas besoin de détecter si c'est le même objet dans des orientations différentes.

Différents

enter image description here enter image description here

je voudrais utiliser cet algorithme pour éviter le spam sur mon site. J'ai remarqué que les spammeurs sont trop paresseux pour changer leur spam images. Il n'est pas limité à faces. Je sais déjà qu'il y a déjà beaucoup d'algorithmes de reconnaissance faciale. L'image de spam pourrait être n'importe quoi d'une URL à un terrain de soccer à un corps nu.

23
demandé sur JoJo 2011-04-20 09:34:06

5 réponses

Il y a une discussion de image de la similitude des algorithmes au débordement de la pile. Puisque vous n'avez pas besoin de détecter des images déformées ou retournées, l'approche de l'histogramme peut être suffisante à condition que la culture de l'image ne soit pas trop sévère.

12
répondu Jim M. 2017-05-23 12:34:23

vous pouvez utiliser les architectures d'apprentissage en profondeur existantes comme VGG pour générer des fonctionnalités à partir d'images et ensuite utiliser une métrique de similarité comme la similarité cosinus pour voir si deux images sont essentiellement les mêmes.

l'ensemble du pipeline est assez facile à mettre en place et vous n'avez pas besoin de comprendre l'architecture du réseau neuronal (vous pouvez simplement le traiter comme une boîte noire). En outre, ces caractéristiques sont assez génériques et peuvent être appliquées pour trouver la similitude entre tous les types d'objets, pas juste les visages.

voici quelques blogs qui vous guident à travers le processus. http://blog.ethanrosenthal.com/2016/12/05/recasketch-keras / https://erikbern.com/2015/09/24/nearest-neighbor-methods-vector-models-part-1.html

4
répondu Anvesh K 2017-06-28 14:27:12

Amazon a une nouvelle API appelée Rekognition qui vous permet de comparer deux images pour la similitude faciale. L'api renvoie un pourcentage de similarité pour chaque face entre elle et les boîtes de limites pour chaque face.

Rekognition comprend également une api pour les deux Analyse du Visage (de retour le sexe, l'âge approximatif, et d'autres détails du visage) et l'Objet de Détection de la Scène(de retour balises d'objets qui sont à l'intérieur de l'image).

3
répondu Aaron Landy 2017-02-12 23:28:43

si vous voulez juste la similarité d'image c'est une chose, mais la similarité faciale en est une autre. Deux individus très différents peuvent apparaître dans le même fond et une analyse de similarité d'image montre qu'ils sont les mêmes alors que la même personne peut être filmée dans deux contextes différents et l'analyse de similarité montre qu'ils sont différents.

si vous avez besoin de faire une analyse faciale, vous devriez rechercher des algorithmes spécifiques. Calcul de l'oeil relatif, du nez et la taille de la bouche et la position est souvent fait dans ce genre d'analyse.

2
répondu John 2011-04-21 02:49:23

Robuste de Fonctions de Hachage le faire. Mais il y a encore beaucoup de recherches dans ce domaine. Je ne suis pas sûr qu'il y ait déjà des prototypes utilisables.

Espère que ça aide.

1
répondu philipp 2011-04-21 06:15:16