Try   HackMD

Ejemplos de Curvas de Precisión x Recall

tags: Definitions and References

Evaluación del Megadetector con la colección de Caltech

En esta evaluación se utilizaron las imágenes etiquetadas a nivel de objeto y se agruparon en las categorías "Animal" y "Persona", sin utilizar fotos vacías.

La distribución de las fotos es la siguiente:

Categoría Cantidad
Animal 59,396
Person 2,615
Total 62,011

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Evaluación del Megadetector con la colección del Serengeti

En esta evaluación se utilizaron las imágenes etiquetadas a nivel de objeto y se agruparon en las categorías "Animal" y "Persona", sin utilizar fotos vacías.

La distribución de las fotos es la siguiente:

Categoría Cantidad
Animal 37,602
Person 629
Total 38,206

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Curvas de Precisión x Recall de la colección ENA24 para el Megadetector

Aplicando el Megadetector para evaluar y calcular las curvas de Precisión x Recall de la colección ENA24 que contiene alrededor de 8,789 imágenes de 23 clases, y que fueron agrupadas en las categorías "Animal" y "Persona", sin utilizar fotos vacías, obtenemos:

La distribución de las fotos es la siguiente:

Categoría Cantidad
Animal 8,652
Person 137
Total 8,789

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Curvas de Precisión x Recall de la colección del SNMB para el Megadetector

Al aplicar directamente este procedimiento del cálculo de la curva Precisión x Recall utilizando el Megadetector para evaluar nuestro dataset del SNMB separado en las dos clases que soporta este modelo para todas las fotos con animales y personas nos da las siguientes curvas:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Que por lo que observamos no tiene un buen rendimiento y de hecho es aún peor para la clase Animal que para la clase persona, y tratando de analizar este comportamiento y viendo algunas de las detecciones que genera observamos algo interesante: que en las etiquetas del dataset los recuadros no están tan ajustados a los individuos como los de las detecciones que genera el modelo, por lo que al aplicar el criterio de IoU gran parte de las detecciones, aunque sean correctas, al no cumplir con este criterio son consideradas como FP en la evaluación dando un resultado que no es acorde con lo que se ve puede ver en los resultados.

Esquema que no considera la localización de las detecciones

Para tratar de contrarrestar este problema y ver una evaluación más acorde con lo que el modelo es capaz de hacer en nuestro dataset adoptamos un esquema en el que se toma como TP una detección sin tomar en cuenta su localización, y únicamente tomando la detección de una categoría que tenga el score más alto. Los falsos positivos en una imagen se seguirán considerando de la misma manera, aunque únicamente se contabilizará uno por cada conjunto de detecciones de cada categoría que no apareza en la foto.

Solo imágenes con animales y personas

Aplicando estas consideraciones y realizando la implementación y la evaluación obtenemos el siguiente resultado para el mismo conjunto de fotos del ejemplo anterior:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

En el que sin embargo se observa un resultado demasiado optimista para ambas clases, debido a que según este esquema en una foto etiquetada con alguna categoría, si hay al menos una detección de esa categoría y sin importar su localización, siempre se considerará como un TP, y según se explicó en el funcionamiento de los modelos de detección de objetos, la inferencia genera siempre una serie de detecciones que se pueden configurar y sea a la hora del entrenamiento o al limitar el ciclo for donde se obtienen los datos de la detección.

Además de lo anteriormente mencionado se tiene que tomar en cuenta los siguientes aspectos:

  • En el 100% de las fotos que se evaluaron en este experimento hay ya sea animales, personas o ambos.
  • La proporción de animales y personas no está balanceado, habiendo un 87% de fotos con animales en el conjunto.
  • El modelo fue entrenado con una proporción mayor de animales respecto a la de personas, por lo que tiende a generar más etiquetas de animales.

Imágenes con animales y personas y la misma cantidad de imágenes vacías

Para ver el comportamiento que tiene en estas categorías el evaluar también fotos vacías se prepara un dataset que contiene la mitas de fotos vacías y la otra mitad de fotos con animales o personas (o ambos), formando un dataset de ~64K fotos y se obtienen las siguientes curvas de Precisión x Recall para las dos categorías de interés:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Donde se observa el impacto de la cantidad de falsos positivos que hay en todas las fotos vacías, ya que todas las fotos vacías tendrás una serie de detecciones falsas, aunque sea con scores muy bajos.

Todas las imágenes etiquetadas del SNMB

Para ver más aún este efecto en un escenario más parecido al real, evaluamos el modelo usando este esquema pero usando todas las fotos etiquetadas en la colección, la cuál tiene un total de ~240K fotos, de las cuáles ~207K no tienen fauna y el resto sí (animales o personas) siendo una proporción de 86% las primeras.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →