Je veux comparer deux images de visages. J'ai calculé leurs histogrammes LBP. Alors maintenant, je dois comparer ces deux histogrammes et obtenir quelque chose qui dira combien ces histogrammes sont égaux (0 - 100%).
Il existe de nombreuses façons de résoudre cette tâche, mais les auteurs de la méthode LBP soulignent (Face Description with Local Binary Patterns: Application to Face Recognition.2004) que la distance chi carré est meilleure que l'intersection de l'histogramme et la statistique de vraisemblance logarithmique.
Les auteurs montrent également une formule de distance chi carré:
Où est un nombre de casiers, est une valeur du premier casier, est une valeur du deuxième casier.x i y i
Dans certaines recherches (par exemple The Quadratic-Chi Histogram Distance Family), j'ai vu que la formule de la distance Chi-Square est:
Et là http://www.itl.nist.gov/div898/handbook/eda/section3/eda35f.htm je vois que la formule de la distance Chi-Square est:
Je suis resté avec ça. J'ai plusieurs questions:
- Quelle expression dois-je utiliser?
- Comment dois-je interpréter un résultat de différence? Je sais que la différence qui est égale à 0 signifie que les deux histogrammes sont égaux, mais comment savoir quand les deux histogrammes sont totalement différents? Dois-je utiliser une table Chi-Square pour cela? Ou dois-je utiliser un seuil? Fondamentalement, je veux mapper la différence en pourcentages.
- Pourquoi ces trois expressions sont différentes?
la source
Réponses:
@Silverfish a demandé une extension de la réponse de PolatAlemdar, qui n'a pas été donnée, je vais donc essayer de la développer ici.
Pourquoi le nom distance chisquare? Le test chisquare des tables de contingence est basé sur donc l'idée est de conserver ce formulaire et de l'utiliser comme un mesure de distance. Cela donne la troisième formule de l'OP, avec interprété comme observation et comme attente, ce qui explique le commentaire de PolatAlemdar "Il est utilisé dans les distributions de probabilité discrètes", comme par exemple dans le test de qualité de l'ajustement. Cette troisième forme n'est pas une fonction de distance, car elle est asymétrique dans les variables et . Pour la comparaison d'histogramme, nous voulons une fonction de distance symétrique en et xiyixyxy1
La distance Chisquare est également utilisée dans l'analyse des correspondances. Pour voir la relation avec le formulaire utilisé ici, soit les cellules d'un tableau de contingence avec lignes et colonnes. Notons que les totaux des lignes sont et les totaux des colonnes par . La distance chisquare entre les lignes est donnée par Pour le cas avec seulement deux lignes (les deux histogrammes), celles-ci récupèrent la première formule de l'OP (modulo le signe racine).xij R C x+j=∑ixij xi+=∑jxij l,k
Répondre à la question dans les commentaires ci-dessous: Un livre avec de longues discussions sur la distance chisquare est "CORRESPONDENCE ANALYSIS in PRATICE (Second Edition)" de Michael Greenacre (Chapman & Hall). C'est un nom bien établi, provenant de sa similitude avec chisquare tel qu'il est utilisé avec les tables de contingence. Quelle est sa distribution? Je n'ai jamais étudié cela, mais probablement (sous certaines conditions ...) il aurait une distribution chisquare, approximativement. Les preuves devraient être similaires à ce qui est fait avec les tableaux de contingence, la plupart des publications sur l'analyse des correspondances n'entrent pas dans la théorie de la distribution. Un article ayant une telle théorie, peut-être pertinente, est http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0101-74382016000100023 . Regarde aussi/stats//search?q=%22chisquare+distance%22 pour d'autres publications pertinentes sur ce site.
la source
J'ai trouvé ce lien très utile: http://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/histogram_comparison/histogram_comparison.html
Je ne sais pas trop pourquoi, mais OpenCV utilise la troisième formule que vous listez pour la comparaison de l'histogramme Chi-Square.
En termes de signification, je ne suis pas sûr qu'un algorithme de mesure vous donnera une plage limitée, comme 0% à 100%. En d'autres termes, vous pouvez dire avec certitude que deux images sont identiques: une valeur de corrélation de 1,0 ou une valeur chi carré de 0,0; mais il est difficile de fixer une limite sur la différence entre deux images: imaginez comparer une image complètement blanche à une image complètement noire, la valeur numérique serait soit Infinity, soit Not-a-Number.
la source
Les deux autres sont utilisés pour calculer les similitudes d'histogramme.
la source
$x$
Comme OP l'a demandé, la valeur en pourcentage (pour l'équation 1):
Complété comme demandé:
En calculant cette équation, on peut avoir le pourcentage de différence par rapport à un histogramme complet. En calculant cela pour les deux histogrammes puis en soustrayant l'un de l'autre, on peut avoir la différence en pourcentage.
la source