Quelle mesure de distance puis-je utiliser pour comparer des images?

14

J'utilise généralement l' erreur quadratique moyenne (MSE) ou le rapport signal / bruit de crête (PSNR) pour comparer deux images, mais ce n'est pas suffisant. J'ai besoin de trouver une formule qui renvoie une très grande distance entre une image A et sa version B pixellisée (ou floue), mais je ne sais pas comment procéder. Quelle serait une bonne mesure pour mes besoins?

lezebulon
la source
3
Êtes-vous en train de dire que vous aurez 2 images provenant de la même source, 1 sera inchangée, puis d'autres floues, et ensuite vous voulez pouvoir détecter laquelle est floue?
Kellenjb
2
Quelle est la nature de la pixellisation / flou? Était-ce dû à de mauvaises conditions de capture (bruit de pixel et flou) ou à une manipulation numérique?
rwong

Réponses:

7

Ce qui suit n'est pas destiné à être une réponse, mais est une statistique qui nous aidera à choisir une technique de comparaison d'images appropriée en fonction des caractéristiques des images que vous analysez.

La première étape consiste à tracer un "histogramme delta" comme suit:

for (x,y) in [0, width] x [0, height] begin
    delta = abs( SecondImage(x, y) - FirstImage(x, y) )
    hist[delta] += 1
end

Compte tenu de l'intrigue de cet histogramme, nous en saurons un peu plus sur la «magnitude» des changements que vous recherchez et nous ferons de meilleures recommandations.

(Alternativement, postez quelques exemples d'images. N'oubliez pas que si les exemples d'images ne sont pas représentatifs des différences d'images qui vous intéressent, nous pourrions faire des recommandations inférieures.)


Vous pouvez également tester la similarité structurelle (SSIM) sur votre jeu d'images et publier vos résultats ici. N'oubliez pas que SSIM est conçu pour imiter la capacité de l'homme à reconnaître l'obstruction de la dégradation de l'image, de sorte qu'il détecterait la pixellisation mais peut-être pas le flou.


Si vos images ne sont pas des images photographiques (ou sont des images scientifiques qui ne sont pas des sujets de photographie ordinaires), veuillez également publier des exemples de leur autocorrélation 2D, correctement recadrées et mises à l'échelle.


La reconnaissance faciale est un sujet trop important pour être discuté dans une seule question. Le flou survient dans plusieurs contextes dans la reconnaissance faciale - il peut s'agir d'un problème de qualité des données, ou il peut être fait intentionnellement en tant qu'étape intermédiaire du traitement des données.

Dans la reconnaissance des visages, nous voulons détecter l' identité des visages, nous devons donc ignorer les différences d'image qui ne sont pas causées par des différences d'identité. La catégorie de base des différences à ignorer dans la reconnaissance faciale est la pose, l'illumination et l'expression faciale.

Une approche générale pour ignorer les différences non pertinentes est appelée normalisation , qui tente d'appliquer diverses opérations et transformations sur l'image d'entrée pour obtenir une image "canonique" ou "prétraitée", qui à son tour peut être utilisée pour l'identification.

Une deuxième approche consiste à extraire des caractéristiques d'images très invariantes des facteurs non pertinents.

La qualité d'une image de visage dépend du dispositif de capture et de l'environnement dans lequel elle a été capturée. Lorsqu'une image de visage est capturée sans coopération du sujet (par exemple à partir d'une caméra de sécurité), une mauvaise qualité d'image est une conséquence inévitable et a dû être corrigée par un logiciel afin de ne pas gêner l'identification.

En capture coopérative, une mesure informatisée de la qualité de l'image est bonne: l'opérateur peut être informé des problèmes de qualité et l'image peut être reprise.

Le flou peut également être un exemple de falsification malveillante de la biométrie afin d'échapper à la détection (avec occlusion et déguisement). Si l'image est codée numériquement, une somme de contrôle numérique et une signature cryptographique sont suffisantes pour résoudre complètement le problème. Si l'image floue est soumise en impression physique par un imitateur, une mesure informatisée de la qualité de l'image faciale peut être utilisée pour rejeter de telles soumissions.


L'absence de caractéristiques ou de points d'intérêt localisables en 2D dans une certaine partie de l'image faciale peut être un signe de flou intentionnel.

Cependant, la vaste catégorie de la falsification d'image numérique (par un utilisateur expérimenté d'un logiciel de retouche d'image) ne peut être traitée qu'avec la criminalistique d'image numérique qui compare les statistiques de pixels avec les modèles de caméras connus.

rwong
la source
Ok je vais regarder tes liens. Les images sur lesquelles je travaille sont des images de visage, et j'essaie de trouver une métrique qui me donnerait de bons résultats lorsque 2 images de visage sont similaires (le flou des fonctionnalités devrait donc donner un mauvais score)
lezebulon
3
@lezebulon, Vous voulez probablement une métrique de distance ajustée au contenu, par exemple en.wikipedia.org/wiki/Eigenface
datageist