Confronto tra due istogrammi usando la distanza Chi-quadrato


18

Voglio confrontare due immagini di volti. Ho calcolato i loro istogrammi LBP. Quindi ora ho bisogno di confrontare questi due istogrammi e ottenere qualcosa che dirà quanto questi istogrammi sono uguali (0 - 100%).

Esistono molti modi per risolvere questo compito, ma gli autori del metodo LBP sottolineano (Face Description with Local Binary Patterns: Application to Face Recognition. 2004) che la distanza Chi-Square si perfeziona meglio dell'intersezione dell'istogramma e della statistica della verosimiglianza.

Gli autori mostrano anche una formula della distanza Chi-Square:

i=1n(xiyi)2(xi+yi)

Dove n è un numero di bin, è un valore del primo bin, è un valore del secondo bin.xiyi

In alcune ricerche (ad esempio La famiglia della distanza dell'istogramma del quadratico) ho visto che la formula della distanza del chi-quadrato è:

12i=1n(xiyi)2(xi+yi)

E qui http://www.itl.nist.gov/div898/handbook/eda/section3/eda35f.htm vedo che la formula della distanza Chi-Square è:

i=1n(xiyi)2yi

Mi sono bloccato. Ho diverse domande:

  1. Quale espressione dovrei usare?
  2. Come dovrei interpretare un risultato di differenza? So che la differenza uguale a 0 significa che entrambi gli istogrammi sono uguali, ma come posso sapere quando entrambi gli istogrammi sono totalmente diversi? Devo usare un tavolo Chi-Square per questo? O devo usare una soglia? Fondamentalmente voglio mappare la differenza in percentuale.
  3. Perché queste tre espressioni sono diverse?

Non è il valore dello stesso bin di xi ma nella distribuzione del comparatore, piuttosto che un secondo bin?
Rinnova

Risposte:


7

@Silverfish ha chiesto un'espansione della risposta di PolatAlemdar, che non è stata data, quindi cercherò di ampliarla qui.

Perché il nome chisquare distanza? Il test chisquare per le tabelle di contingenza si basa su così l'idea è di mantenere questa forma e utilizzarlo come una misura di distanza. Ciò fornisce la terza formula del PO, conxiinterpretata come osservazione eyicome aspettativa, il che spiega il commento di PolatAlemdar "È usato in distribuzioni di probabilità discrete", come ad esempio nella bontà del test di adattamento. Questa terza forma ènonuna funzione di distanza, come è asimmetrica nelle variabilixedy. Per confronto istogramma, ci vorranno una funzione distanza che è simmetrico inxedy, e le due prime forme dare questo. La differenza tra loro è solo un fattore costante1

χ2=cells(OiEi)2Ei
xiyixyxy , che non è importante finché si sceglie semplicemente una forma in modo coerente (anche se la versione con fattore aggiuntivo112 è meglio se si desidera confrontare con la forma asimmetrica). Nota la somiglianza in queste formule con distanza euclidea quadrata, che non è una coincidenza, la distanza chisquare è una specie didistanza euclideaponderata. Per tale motivo, le formule nel PO vengono generalmente inserite sotto un segno radice per ottenere ledistanze. Di seguito seguiamo questo.12

La distanza di Chisquare viene utilizzata anche nell'analisi della corrispondenza. Per visualizzare il rapporto di forma ivi utilizzato, lasciate essere le celle di una tabella di contingenza con R righe e C colonne. Indica che i totali delle righe sono x + j = i x i j e i totali delle colonne di x i + = j x i j . La distanza chisquare tra le file l , k è data da χ 2 ( l , k ) =xijRCx+j=ixijxi+=jxijl,k Per il caso con solo due righe (i due istogrammi) vengono recuperate la prima formula dell'OP (modulo il segno radice).

χ2(l,k)=j1x+j(xljxl+xkjxk+)2
EDIT

Rispondere alla domanda nei commenti seguenti: Un libro con lunghe discussioni sulla distanza chisquare è "ANALISI DI CORRISPONDENZA IN PRATICA (Seconda Edizione)" di Michael Greenacre (Chapman & Hall). È un nome ben definito, derivante dalla sua somiglianza con chisquare utilizzato con le tabelle di contingenza. Che distribuzione ha? Non l'ho mai studiato, ma probabilmente (in alcune condizioni ...) avrebbe una distribuzione chisquare, approssimativamente. Le prove dovrebbero essere simili a quanto si fa con le tabelle di contingenza, la maggior parte della letteratura sull'analisi della corrispondenza non va nella teoria della distribuzione. Un documento che ha una teoria del genere, forse pertinente, è http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0101-74382016000100023 . Vedi anche/stats//search?q=%22chisquare+distance%22 per alcuni altri post pertinenti su questo sito.


Posso chiederti perché la tua ultima equazione si chiama distanza chisquare? È distribuito come tale? Potete fornire una derivazione, per favore, o un link a uno? Non riesco a trovarne uno.
LeastSquaresWonderer

1
Vedi le mie modifiche sopra.
kjetil b halvorsen,

3

Ho trovato questo link abbastanza utile: http://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/histogram_comparison/histogram_comparison.html

Non sono del tutto sicuro del perché, ma OpenCV utilizza la terza formula che elenchi per il confronto dell'istogramma Chi-Square.

In termini di significato, non sono sicuro che nessun algoritmo di misurazione ti dia un intervallo limitato, come da 0% a 100%. In altre parole, puoi dire con certezza che due immagini sono uguali: un valore di correlazione di 1,0 o un valore chi-quadrato di 0,0; ma è difficile stabilire un limite per quanto sono diverse due immagini: immagina di confrontare un'immagine completamente bianca con un'immagine completamente nera, il valore numerico sarebbe Infinito o forse Non un numero.


2

xy

Gli altri due sono utilizzati nel calcolo delle somiglianze dell'istogramma.


1
$x$x

2
xy

0

Come richiesto dall'OP, il valore in percentuale (per l'equazione 1):

p=χS100N

pχNS

Completato come richiesto:

Calcolando questa equazione si può avere la percentuale di differenza da un istogramma completo. Calcolando questo per entrambi gli istogrammi e sottraendo l'uno dall'altro, si può avere la differenza in percentuale.


2
Ho difficoltà a vedere come questa sia una risposta a una qualsiasi delle domande. Puoi elaborare?
Il Laconico,

Ciò fornirà (in percentuale, come richiesto) la differenza tra un istogramma e un istogramma completo. Se calcoli questa equazione da entrambi gli istogrammi, sapremo la differenza tra l'uno e l'altro come questo usato per la triangolazione.
Carlos Barcellos,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.