Week 88 - Actualización de métricas en BehaviorMetrics (CARLA), comparación contra ruta ideal
Actualización de métricas en BehaviorMetrics (CARLA)
En esta actualización se modificó el sistema de métricas en BehaviorMetrics para CARLA con el objetivo de hacer la evaluación más robusta, reproducible y coherente entre distintos modelos.
El cambio principal consiste en dejar de medir el progreso únicamente con heurísticas basadas en el mapa o en la distancia recorrida, y pasar a una comparación directa contra una ruta ideal previamente definida.
1. Creación de una “ruta perfecta” (perfect_lap)
Se generó una ruta ideal (perfect_lap) y se guardó en un archivo CSV que contiene:
x, y, z: posiciones de la trayectoria ideals: distancia acumulada a lo largo de la ruta
Este archivo permite:
- Tener un ground truth fijo y reproducible
- Comparar diferentes modelos sobre exactamente la misma referencia
- Medir avance real sobre la ruta en lugar de distancia recorrida arbitraria
Ejemplo conceptual del CSV:
| x | y | z | s |
|---|---|---|---|
| … | … | … | 0.0 |
| … | … | … | 1.98 |
| … | … | … | 3.96 |
| … | … | … | … |
La columna s es clave: representa el progreso acumulado en metros sobre la ruta ideal.
2. Nuevo cálculo de porcentaje completado
Antes, el porcentaje de completado se basaba en:
- Conteo de waypoints alcanzados con un umbral fijo
- O relación
distancia_real / distancia_ideal
Esto generaba problemas cuando el vehículo:
- Serpenteaba
- Se salía del carril y volvía
- Recorría más distancia que la ideal
Ahora el enfoque es distinto:
- Cada punto real del vehículo se proyecta sobre la ruta ideal.
- Se calcula el máximo avance alcanzado sobre la ruta (
s_max). -
El porcentaje completado se define como:
percentage_completed = 100 * s_max / s_total
Donde:
s_max= mayor avance alcanzado sobre la ruta ideals_total= longitud total de la ruta ideal
Esto garantiza que el porcentaje refleje progreso real hacia el objetivo, no simplemente cuánto se movió el vehículo.
3. Nueva definición de velocidad promedio
Para mantener coherencia con el nuevo sistema de progreso, la velocidad promedio se redefine como:
avg_speed = effective_completed_distance / tiempo_total
Donde:
effective_completed_distance ≈ s_maxtiempo_totales el tiempo real o simulado del experimento
De esta forma:
- Dos modelos que recorren “de más” no se ven artificialmente beneficiados.
- La velocidad promedio refleja avance efectivo sobre la ruta ideal.
4. Conteo robusto de eventos (colisiones e invasiones)
Se mejoró el conteo de episodios de:
- Colisiones
- Invasiones de carril
Ahora los eventos se agrupan usando un gap temporal mínimo, evitando contar múltiples frames consecutivos del mismo evento como eventos independientes.
Esto mejora la estabilidad estadística de:
collisionslane_invasions