| No | class | n_boxes | n_imagenes | mAP50 | estrategia |
|---|---|---|---|---|---|
| 1 | Caranx ruber | 864 | 237 | 21 | Distinguir fases, agrupar por género o aumentar con iNaturalist |
| 2 | Haemulon sciurus | 414 | 132 | 27 | Distinguir fases, agrupar por género o aumentar con iNaturalist |
| 3 | Epinephelus morio | 171 | 108 | 29 | Distinguir fases, agrupar por género o aumentar con iNaturalist |
| 4 | Sparisoma aurofrenatum | 138 | 102 | 31 | Distinguir fases, agrupar por género o aumentar con iNaturalist |
| 5 | Sparisoma viride | 180 | 123 | 32 | Distinguir fases, agrupar por género o aumentar con iNaturalist |
| 6 | Scarus iseri | 201 | 138 | 32 | Distinguir fases, agrupar por género o aumentar con iNaturalist |
| 7 | Caranx latus | 3753 | 210 | 39 | Distinguir fases, agrupar por género o aumentar con iNaturalist |
| 8 | Haemulon flavolineatum | 228 | 114 | 43 | Reforzar con iNaturalist |
| 9 | Nicholsina usta | 174 | 117 | 43 | Reforzar con iNaturalist |
| 10 | Scarus taeniopterus | 174 | 111 | 44 | Reforzar con iNaturalist |
| 11 | Sphyraena barracuda | 162 | 108 | 47 | Reforzar con iNaturalist |
| 12 | Scarus vetula | 171 | 114 | 47 | Reforzar con iNaturalist |
| 13 | Mycteroperca bonaci | 195 | 105 | 48 | Reforzar con iNaturalist |
| 14 | Lachnolaimus maximus | 183 | 105 | 54 | Reforzar con iNaturalist |
| 15 | Urobatis jamaicensis | 144 | 108 | 54 | Reforzar con iNaturalist |
| 16 | Lutjanus griseus | 4623 | 510 | 54 | Revisar calidad de anotaciones |
| 17 | Ocyurus chrysurus | 762 | 246 | 55 | Revisar calidad de anotaciones |
| 18 | Pomacanthus paru | 177 | 105 | 56 | Reforzar con iNaturalist |
| 19 | Diodon hystrix | 183 | 108 | 57 | Reforzar con iNaturalist |
| 20 | Acanthurus coeruleus | 399 | 147 | 59 | Reforzar con iNaturalist |
| 21 | Caranx bartholomaei | 1278 | 159 | 60 | Revisar cajas y contexto (posibles borrosos) |
| 22 | Haemulon plumierii | 4911 | 837 | 62 | Revisar cajas y contexto (posibles borrosos) |
| 23 | Rhomboplites aurorubens | 1131 | 105 | 64 | Aumentar variabilidad de imágenes |
| 24 | Haemulon flavolineatum juvenil | 35550 | 852 | 65 | Revisar cajas y contexto (posibles borrosos) |
| 25 | Chaetodon ocellatus | 210 | 108 | 66 | Aumentar variabilidad de imágenes |
| 26 | Acanthurus chirurgus | 552 | 141 | 66 | Aumentar variabilidad de imágenes |
| 27 | Epinephelus adscensionis | 156 | 117 | 67 | Aumentar variabilidad de imágenes |
| 28 | Anisotremus virginicus | 1755 | 642 | 68 | Revisar cajas y contexto (posibles borrosos) |
| 29 | Diodon holocanthus | 579 | 117 | 69 | Aumentar variabilidad de imágenes |
| 30 | Sparisoma chrysopterum | 165 | 117 | 69 | Aumentar variabilidad de imágenes |
| 31 | Abudefduf saxatilis | 3468 | 705 | 72 | Revisar cajas y contexto (posibles borrosos) |
| 32 | Ephinephelus itajara | 249 | 105 | 75 | Aumentar variabilidad de imágenes |
| 33 | Scarus coelestinus | 252 | 126 | 76 | Aumentar variabilidad de imágenes |
| 34 | Halichoeres bivittatus | 138 | 111 | 78 | Aumentar variabilidad de imágenes |
| 35 | Kyphosus vaigiensis | 273 | 105 | 81 | Sin intervención (desempeño alto) |
| 36 | Pomacanthus arcuatus | 186 | 108 | 82 | Sin intervención (desempeño alto) |
| 37 | Mycteroperca venenosa | 186 | 105 | 83 | Sin intervención (desempeño alto) |
| 38 | Mycteroperca interstitialis | 171 | 117 | 85 | Sin intervención (desempeño alto) |
| 39 | Ginglymostoma cirratum | 252 | 120 | 85 | Sin intervención (desempeño alto) |
| 40 | Chaetodon sedentarius | 471 | 108 | 90 | Sin intervención (desempeño alto) |
| 41 | Calamus bajonado | 165 | 108 | 93 | Sin intervención (desempeño alto) |
| 42 | Scarus guacamaia | 216 | 111 | 99 | Sin intervención (desempeño alto) |
| 43 | Lutjanus analis | 156 | 105 | 100 | Sin intervención (desempeño alto) |
| 44 | Chaetodon capistratus | 180 | 111 | 100 | Sin intervención (desempeño alto) |
Evaluación del modelo de detección de peces – Versión v6
A diferencia del v5 (mAP50 de 44.6%), que solo incluyó 2400 imágenes (40 especies), la v6 contó con un dataset de 4100 imágenes (2260 de las cámaras y 1840 de iNaturalist). Además, se aplicaron técnicas de preprocesamiento y aumentación (x3) a las imágenes Train, resultando en un modelo con 9472 imágenes.
Después de más de 130 epochs de entrenamiento (7 horas), nuestro modelo de detección de peces ha alcanzado una etapa de madurez que merece análisis y adecuación de estrategia de anotación. A continuación, se presenta un resumen visual y técnico de los resultados obtenidos, basado en dos gráficos clave: el desempeño general del modelo y la precisión por clase.
Desempeño general
En la Fig. 1 (a) se muestra la evolución de las métricas principales:
- mAP@50 (línea morada): alcanzó un valor estable de aproximadamente 44%. Esta métrica indica qué tan bien el modelo predice cajas con al menos un 50% de intersección con las cajas reales (IoU). A partir del epoch 100, las mejoras se volvieron marginales (<1%), indicando un punto de saturación.
- mAP@50:95 (línea lila clara): se estabilizó en torno a 33%, siendo una métrica más estricta, ya que evalúa el desempeño a través de umbrales de IoU desde 50% hasta 95%.
Interpretación: Aparentemente no hubo mejorías respecto a la versión 5 (mAP50 de 44.6%). Este resultado da la impresión de que el modelo no mejoró, pero no hay que dejarnos engañar por ese valor. El modelo muestra un rendimiento aceptable considerando el drástico aumento de especies en la versión 6 (incluyó 99 especies). Si se remueven especies con menos de 40 imágenes, el mAP50 es de 62%. Es decir, sí mejoró el modelo para las especies que nos interesan.
Análisis del desempeño del modelo por especie
En la figura Fig. 1 (b) se resume la métrica mAP@50 para cada clase (especie) en el dataset de Test. Se observa una variabilidad considerable entre especies:
Algunas especies con alta precisión (>70%):
- Abudefduf saxatilis (72.6%)
- Bodianus rufus (93.6%)
- Holacanthus ciliaris (91.8%)
- Mycteroperca interstitialis (77.8%)
- Lachnolaimus maximus (75.6%)
Estas especies suelen presentar: Consistencia en las anotaciones, buena representación en el dataset de entrenamiento, imágenes con alta variabilidad de entorno.
Algunas especies con baja precisión (<25%):
- Caranx ruber (21.6%)
- Haemulon sciurus (22.6%)
- Sparisoma viride (32%)
- Sparisoma rubripinne (9.4%)
- Scarus iseri (32%)
En estos casos, las bajas precisiones podrían deberse a: inconsistencia en anotaciones, alta similitud entre especies, número limitado de imágenes. Es muy importante hacer notar que muchas especies (casi 40) son secundarias en imágenes en iNaturalist. Por ello no hay suficientes para poder probar adecuadamente el modelo en esas especies. Otras especies tienen fases intermedias que dificultan la construcción de un modelo asociable a la misma especie.
Relación mAP50 con el núemro de imágenes
En la Fig. 2 se observa una relación variable del desempeño del modelo (mAP@50) por especie respecto el número de imágenes (a). Algunas especies como Abudefduf saxatilis y Anisotremus virginicus tienen más de 700 imágenes de entrenamiento y logran mAP@50 aceptables (60-70%), mientras que otras con un número similar de imágenes (como Lutjanus griseus) muestran mAP mucho menores. Esto indica que la cantidad por sí sola no garantiza buen desempeño. En contraste, muchas especies provenientes de iNaturalist, con solo ~100 imágenes, logran mAP50 superiores al 90%. Esto sugiere que la calidad y diversidad visual de las imágenes puede compensar la escasez de datos.
Relación mAP50 con el tamaño de las cajas/polígonos
Se identificó que las especies con cajas promedio pequeñas (como Caranx latus y Caranx ruber) tienden a tener mAP50 bajo (Fig. 2), lo cual es esperable, ya que los objetos pequeños son más difíciles de detectar correctamente en tareas de visión por computadora. Sin embargo, también existen especies con áreas muy grandes de bounding box y desempeño pobre, como Epinephelus morio y Sparisoma viride. Esto puede deberse a variabilidad extrema en el tamaño de las cajas dentro de la misma clase, oclusiones o peces segmentados por borden de imagen, o poca consistencia en el etiquetado (especialmente en imágenes de las cámaras SAMP).
Recomendación
Aumentar variedad de imágenes en algunas especies. El modelo se beneficiará de incorporar imágenes donde las especies de interés no aparezcan en primer plano. Esto suele ocurrir en imágenes de iNaturalist.
Detener las anotaciones a las imágenes del SAMP de agosto de 2024. La variabilidad ambiental quedó bien representada con 2260 imágenes de ese período, el modelo no aprende más de ellas. Pasar a etiquetar imágenes SAMP de septiembre de 2024.
Modificar varias de las anotaciones dudosas a
pez borroso,unindentifiableoPor identificar. Las métricas del modelo se podrían beneficiar de un refinamiento en las anotaciones, específicamente de pasar varias de sus anotaciones de especies borrososas o identificación cuestionable apez borroso,unindentifiableoPor identificar.Usar la nueva clase
Por identificarpara especies no identificables. Actualmente estábamos usandounindentifiabletanto para especies borrososas como para especies de identificación desconocida. Los comentarios, por alguna razón que desconozco, dejaron de funcionar ya que Roboflow no está enviando las notificaciones al correo. Por esta razón no hemos podido atender todos los comentarios en que me etiquetaron a mi o a Ángela. La etiquetaPor identificarnos permitirá filtrar rápidamente todas las imágenes en que hayan peces por identificar y forzar rápidamente que no pasen a Test una vez sean identificados.Separar especies comunes por fases o etapas de desarrollo. Varias especies de peces tienen forma y patrón de coloración muy diferente en fases juveniles, intermedias y adultos. No será posible tener buenas métricas de predicción si las tres formas están identificadas con la misma clase. Por ello se deben separar y ser tratadas como clases distintas.
Analizar la calidad de imágenes que fueron aleatoriamente asignadas al dataset Test. Debido a que son esas las imágenes con las que se harán las predicciones que definen las métricas de desempeño del modelo, no conviene que las imágenes allí incluídas tengan una pobre representación de las especies de interés. Por ejemplo, una rápida evaluación que hice de las imágenes de Ocyurus chrysurus me permitió detectar que las imágenes Test con esa especie (25), tenían pocos ejemplares, eran individuos muy borrosos, pequeños y en varios casos eran individuos de Caranx bartholomaei. No obstante, si al actual modelo le suministro imágenes claras con ejemplares de Ocyurus chrysurus los identifica sin problema. Es decir, el modelo predice bien si la imagen es de calidad razonable, pero genera métricas mediocres como artefacto del azar en las imágenes en Test .
Con base en las métricas actuales, las estrategias para las actuales especies se presentan acontinuación: