1 minute read

  1. Sincronización del dataset

Se corrigió el desfase temporal entre imágenes y comandos usando el flujo:

  • Recorder → captura del estado completo de la simulación
  • Replay → regeneración determinista de las imágenes

Con esto se logró un dataset perfectamente alineado imagen–comando.

  1. Incorporación de imágenes RGB

Además de segmentación, ahora se integran imágenes RGB, lo que aporta:

  • mayor riqueza visual,
  • mejor contraste y detección de líneas,
  • mejor desempeño en curvas y zonas complejas.
  1. Dataset final
  • Dataset crudo: ~65.000 muestras
  • Dataset balanceado: ~60.000 muestras
    • Recorte de clases sobre-representadas
    • Resampleo de clases con baja frecuencia

Recorte vertical del 50% superior (solo carretera)

  1. Entrenamiento del modelo

Se entrenó ResNet18 (preentrenada) con imágenes RGB recortadas y normalizadas tipo ImageNet.

Configuración usada:

{
    "experiment_name": "resnet18_rgb_carla_v2",
    "backbone": "resnet18",
    "csv_path": "data/dataset/balanced_data.csv",
    "base_path": "data/dataset",
    "batch_size": 64,
    "epochs": 80,
    "lr": 0.0001,
    "val_split": 0.2,
    "patience": 15,
    "num_workers": 8,
    "image_size": [224, 224],
    "crop_top_ratio": 0.5,
    "train_transforms": "Affine(suave), RandomBrightnessContrast(suave), HueSaturationValue(suave), GaussianBlur(suave), Normalize(ImageNet)",
    "val_transforms": "Normalize(ImageNet)"
}

  1. Resultados del test offline

Steer

  • MSE : 0.099980
  • RMSE : 0.316195
  • MAE : 0.213744

Throttle

  • MSE : 0.154351
  • RMSE : 0.392875
  • MAE : 0.347522
  1. Gráficos
EfficientNetV2-S – trayectoria con BehaviorMetrics
Steer timeseries
EfficientNetV2-S – trayectoria con BehaviorMetrics
Throtle timeseries
  1. Conclusión El nuevo modelo basado en ResNet18 + RGB presenta una mejora significativa: mantiene trayectoria en rectas, logra completar varias curvas sin intervención y supera ampliamente al modelo previo, aunque aún necesita refuerzo en curvas cerradas. Como siguiente paso, se continuará ampliando el dataset con nuevas maniobras difíciles mediante Recorder+Replay y la estrategia DAgger, además de ajustar el preprocesamiento e incorporar un controlador más robusto para mejorar la estabilidad en curvas pronunciadas y entornos más complejos.

  2. Resultados EfficientNet-V2-S (RGB, dataset sincronizado)

También se entrenó EfficientNet-V2-S con el mismo dataset balanceado.

Resultados Offline

  • Steer → MSE = 0.104, RMSE = 0.323, MAE = 0.207
  • Throttle → MSE = 0.171, RMSE = 0.413, MAE = 0.353

Comportamiento en simulación

  • avanza bien en rectas,
  • curvas suaves aceptables,
  • todavía zigzaguea y pierde estabilidad en curvas complejas (misma limitación que ResNet18).

Esto indica la necesidad de más muestras de curvas difíciles


Construcción Dataset DAgger

Se actualizó el script manual_control_recorder.py para generar datasets con estrategia DAgger. Ahora el control por joystick se anula temporalmente y el vehículo aplica acciones discretas seleccionadas aleatoriamente de un conjunto de 8 comandos. Durante estos intervalos DAgger no se usa CSV de controles: toda la información se guarda únicamente en session.log mediante start_recorder.