Definitions and References
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 |
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 |
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 |
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:
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.
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.
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:
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:
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:
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.
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.