Quiero comparar dos imágenes de caras. Calculé sus histogramas LBP. Entonces ahora necesito comparar estos dos histogramas y obtener algo que diga cuánto son iguales estos histogramas (0 - 100%).
Hay muchas formas de resolver esta tarea, pero los autores del método LBP enfatizan (Descripción de la cara con patrones binarios locales: aplicación al reconocimiento de rostros. 2004) que la distancia Chi-cuadrado funciona mejor que la intersección del histograma y la estadística de probabilidad de registro.
Los autores también muestran una fórmula de distancia Chi-cuadrado:
Donde es un número de contenedores, es un valor del primer bin, es un valor del segundo bin.
En algunas investigaciones (por ejemplo, la familia de distancia del histograma de chi cuadrático) vi que la fórmula de la distancia de chi-cuadrado es:
Y allí http://www.itl.nist.gov/div898/handbook/eda/section3/eda35f.htm veo que la fórmula de la distancia Chi-Square es:
Me quedé con eso. Tengo varias preguntas
- ¿Qué expresión debo usar?
- ¿Cómo debo interpretar un resultado de diferencia? Sé que la diferencia que es igual a 0 significa que ambos histogramas son iguales, pero ¿cómo puedo saber cuándo ambos histogramas son totalmente diferentes? ¿Necesito usar una mesa Chi-Square para ello? ¿O necesito usar un umbral? Básicamente quiero mapear la diferencia en porcentajes.
- ¿Por qué estas tres expresiones son diferentes?
fuente
Respuestas:
@Silverfish solicitó una expansión de la respuesta por parte de PolatAlemdar, que no fue dada, por lo que intentaré ampliarla aquí.
¿Por qué el nombre chisquare distance? La prueba chisquare para tablas de contingencia se basa en por lo que la idea es mantener este formulario y utilizarlo como una medida de distancia. Esto da la tercera fórmula del OP, conxiinterpretado como observación eyicomo expectativa, lo que explica el comentario de PolatAlemdar "Se usa en distribuciones de probabilidad discretas", como por ejemplo en pruebas de bondad de ajuste. Esta tercera formanoesuna función de distancia, ya que es asimétrica en las variablesxey. Para la comparación de histogramas, querremos una función de distancia que sea simétrica enxey, y las dos primeras formas dan esto. La diferencia entre ellos es solo un factor constante1
La distancia cuadrangular se usa también en el análisis de correspondencia. Para ver la relación con la forma utilizada allí, dejemos que sean las celdas de una tabla de contingencia con R filas y C columnas. Denote los totales de fila be x + j = ∑ i xxij R C y los totales de columna por x i + = ∑ j x i j . La distancia chisquare entre las filasl,kviene dada por
χ 2 (l,k)=x+j=∑ixij xi+=∑jxij l,k
Para el caso con solo dos filas (los dos histogramas), recupera la primera fórmula del OP (módulo el signo raíz).
Respondiendo a la pregunta en los comentarios a continuación: Un libro con largas discusiones sobre la distancia chisquare es "ANÁLISIS DE CORRESPONDENCIA EN LA PRÁCTICA (Segunda edición)" de Michael Greenacre (Chapman & Hall). Es un nombre bien establecido, que proviene de su similitud con chisquare como se usa con tablas de contingencia. ¿Qué distribución tiene? Nunca he estudiado eso, pero probablemente (bajo algunas condiciones ...) tendría alguna distribución chisquare, aproximadamente. Las pruebas deben ser similares a lo que se hace con las tablas de contingencia, la mayoría de la literatura sobre análisis de correspondencia no entra en la teoría de la distribución. Un artículo que tiene algo de teoría, tal vez relevante, es http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0101-74382016000100023 . Ver también/stats//search?q=%22chisquare+distance%22 para otras publicaciones relevantes en este sitio.
fuente
Este enlace me pareció bastante útil: http://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/histogram_comparison/histogram_comparison.html
No estoy muy seguro de por qué, pero OpenCV usa la tercera fórmula que enumeras para la comparación del histograma Chi-Square.
En términos de significado, no estoy seguro de que ningún algoritmo de medición le dé un rango acotado, como 0% a 100%. En otras palabras, puede decir con certeza que dos imágenes son iguales: un valor de correlación de 1.0 o un valor de chi-cuadrado de 0.0; pero es difícil establecer un límite sobre cuán diferentes son dos imágenes: imagine comparar una imagen completamente blanca con una imagen completamente negra, el valor numérico sería Infinito o tal vez no un número.
fuente
Los otros dos se usan para calcular las similitudes del histograma.
fuente
$x$
Como OP solicitó, el valor en porcentaje (para la ecuación 1):
Complementado según lo solicitado:
Calculando esta ecuación, uno puede tener el porcentaje de diferencia de un histograma completo. Calculando esto para ambos histogramas y luego restando uno de otro, uno puede tener la diferencia en porcentaje.
fuente