3 minute read

Métrica reward (centrado a la calzada) — Validación fuera de BehaviorMetrics

Antes de integrar la métrica de reward en BehaviorMetrics, primero se implementó y depuró por fuera del framework, usando directamente la API de Python de CARLA.
El objetivo fue iterar más rápido: aislar el cálculo del reward, validar parámetros y obtener una interpretación visual clara sin depender del pipeline completo de BehaviorMetrics.


Cómo se midió el reward

La métrica busca cuantificar qué tan alineado está el vehículo con el centro de la calzada (no la navegación global).
Para evitar errores por perspectiva de la cámara frontal, se mide con una vista cenital (top‑down) basada en segmentación semántica:

  1. Sensor usado
    • sensor.camera.semantic_segmentation en modo RAW (para obtener class-id).
    • Se detecta automáticamente el canal (B/G/R) que contiene el class-id real.
  2. ID de calzada
    • Se selecciona el ID que representan la calzada (asfalto morado oscuro en CityScapes).
    • Se descartan aceras, terreno, vegetación, etc.
  3. ROI de interés
    • Se define un ROI alrededor del vehículo en la imagen top‑down (región donde se mide).
    • Esto reduce el efecto de intersecciones lejanas o ramificaciones fuera del área útil.
  4. Filtrado por componente conectada (clave)
    • Dentro del ROI, se conserva únicamente la componente de calzada conectada al ego‑vehicle (seed cerca del vehículo).
    • Esto evita que el cálculo tome “parches” grandes de calzada por fuera (ej. ramales, carriles laterales, cruces).
  5. Centro de la calzada y offset
    • Se detectan los bordes izquierdo y derecho de la calzada dentro del ROI.
    • El centro de la calzada se calcula como el punto medio entre ambos bordes:

      x_center = (x_left + x_right) / 2

    • El desplazamiento lateral normalizado (offset) se define como:

      offset = (x_center_road - x_center_image) / (W / 2)

      donde W es el ancho de la imagen top‑down.

  6. Reward continuo
    • Se utiliza una penalización suave tipo gaussiana:

      reward = exp(-k * offset^2)

    • Si la presencia de calzada dentro del ROI cae por debajo de un umbral mínimo (p_min), el frame se considera off‑road y se asigna reward = -1.


Tabla de interpretación (reward vs offset)

Se está revisando el umbral para que la medición sea más interpretable. Con el valor actual de k, la relación queda:

Estado offset reward
Muy centrado 0.00 1.000
Oscilación leve 0.05 0.991
Leve desalineo 0.10 0.965
Umbral 0.17 0.900
Desalineado 0.25 0.806
Muy mal 0.40 0.573
Lectura práctica: a partir de ( offset \gtrsim 0.17) el reward cae por debajo de 0.9, lo cual indica una desviación lateral sostenida y ya perceptible (según el ancho de calzada visible en la vista top‑down).

Pruebas rápidas (piloto fuera de BehaviorMetrics): Burbuja vs DAgger

Para validar la métrica, se corrieron episodios controlados con dos pilotos (modelos EfficientNet‑V2‑S) y se midió el reward durante la trayectoria.

Modelo Burbuja

town Town02
frames 919
elapsed 36.24 s
path length 767.93 m
completion 50.0%
reward_sum 893.749
reward_mean 0.973
offroad_frames 0 (0.0%)

Interpretación:

  • reward_mean alto (0.973) indica conducción mayoritariamente centrada.
  • offroad_frames = 0 confirma presencia suficiente de calzada en el ROI durante todo el episodio.
  • La longitud recorrida (≈768 m) sirve como señal de estabilidad temporal del cálculo (reward consistente durante trayectos largos).

Modelo DAgger

town Town02
frames 940
elapsed 43.35 s
fps_eff 21.68
   
path length 763.98 m
completion 64.0%
reward_sum 920.269
reward_mean 0.979
offroad_frames 0 (0.0%)

Interpretación:

  • reward_mean ligeramente superior (0.979).
  • offroad_frames = 0 nuevamente indica estabilidad del ROI y del filtrado de calzada.
  • La diferencia en completion sugiere mejor progreso hacia el objetivo (en ese episodio específico), sin degradar el centrado.

Próximo paso

El siguiente paso es incorporar esta métrica dentro de BehaviorMetrics como una métrica nativa.
Ya se creó la incidencia; solo falta implementar e integrar la solución en el repositorio para que haga parte del pipeline oficial de evaluación.