Week 33 – Estabilización del pipeline DAgger para lane-following: recorte visual, alineación train/inference y evaluación en Town10HD
Trabajo realizado
- Se depuró y estabilizó el pipeline completo de recolección → entrenamiento → inferencia para lane-following con DAgger en CARLA, identificando problemas clave de distribution shift y desalineación entre entrenamiento e inferencia.
- Se diagnosticó que el principal fallo en curvas no provenía del modelo en sí, sino de:
- exceso de información visual irrelevante (cielo, edificios, capó),
- deformación por resize directo a 224×224,
- inconsistencias entre el preprocesado usado en entrenamiento e inferencia.
- Se corrigieron estos problemas mediante una alineación estricta del preprocesado visual, tanto en entrenamiento como en ejecución en closed-loop.
Recorte visual y preprocesado (mejora clave)
- A partir de inspección directa de imágenes del dataset (1280×920), se definió un recorte fijo orientado a carretera:
- eliminación de cielo/edificios superiores,
- eliminación del capó del vehículo,
- preservación del punto de fuga y marcas de carril.
- El recorte usado fue:
top = 300 pxbottom = 80 px
- Tras el recorte, se reemplazó el resize directo por:
Resize(256)manteniendo aspect ratio,CenterCrop(224)para la entrada de MobileNetV2.
- Este mismo preprocesado se aplicó idénticamente en:
- entrenamiento,
- inferencia (model drive), evitando train–test mismatch.
Entrenamiento (resumen)
- Se entrenó MobileNetV2 con:
- regresión directa de
steer,throttle,brake, - activaciones
tanh(steer) ysigmoid(throttle/brake), - pérdida MSE ponderada con énfasis en steer.
- regresión directa de
- El entrenamiento se realizó sin ruido, usando exclusivamente acciones del experto (
expert_*), sobre el dataset previamente balanceado hacia curvas. - El objetivo del entrenamiento se mantuvo en closed-loop stability, no en métricas offline.
Inferencia y control (closed-loop)
- Se desarrolló un script de conducción con:
- carga explícita del modelo entrenado con recorte,
- aplicación del mismo preprocesado visual del entrenamiento,
- ejecución en Town10HD_Opt para evaluación estable.
- Se incorporaron mecanismos de control prácticos:
- suavizado exponencial (EMA) del steer,
-
reducción automática de throttle en curvas (en función de steer ), - kickstart anti-stall a baja velocidad,
- bloqueo de throttle y brake simultáneos.
- Se añadió soporte de autopilot conmutables en runtime para comparación directa entre política aprendida y control nativo de CARLA.