Week 72 - Prueba y entrenamiento dataset (CM-CARLA-SyncDriving-RGB-Dataset)
- 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.
- 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.
- 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)
- 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)"
}
- Resultados del test offline
Steer
- MSE : 0.099980
- RMSE : 0.316195
- MAE : 0.213744
Throttle
- MSE : 0.154351
- RMSE : 0.392875
- MAE : 0.347522
- Gráficos
-
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.
-
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.