Week 17 - Balanceo del dataset
(Recuperación) Entrenamiento del Modelo PilotNet Modificado para Inferir Steering, Throttle y Brake
Preparación de los Datos
Los datos utilizados para el entrenamiento del modelo incluyen imágenes del simulador CARLA y etiquetas correspondientes a los valores de dirección, aceleración y freno. Se realizaron varias transformaciones y balanceo de datos para asegurar una distribución adecuada de las muestras.
Transformaciones Aplicadas Para aumentar la variabilidad y la robustez del modelo, se implementaron diversas transformaciones en las imágenes del dataset utilizando la biblioteca Albumentations. El objetivo principal de este proceso fue generar un conjunto de datos más variado a partir de las mismas imágenes originales, lo que permitió aumentar el tamaño del dataset y mejorar el rendimiento del modelo en distintas condiciones.
Las transformaciones aplicadas incluyeron:
Volteo horizontal: Para simular cambios de dirección y aumentar la diversidad de las muestras. Ajustes de brillo y contraste: Simulando diferentes condiciones de iluminación. Desplazamiento de gamma: Para modificar el brillo de manera no lineal y simular diferentes condiciones de luz. Ajustes de tono, saturación y valor (HSV): Modificando el color de la imagen para simular cambios en las condiciones ambientales. PCA (Principal Component Analysis) en colores: Utilizado para realizar perturbaciones sutiles en los colores, lo que genera una variabilidad cromática. Desenfoque gaussiano: Para simular imágenes desenfocadas y ayudar al modelo a generalizar mejor en escenarios de visión limitada. Estas transformaciones permitieron obtener un conjunto de datos más diverso y equilibrado, lo que contribuyó significativamente al entrenamiento del modelo al exponerlo a una mayor variedad de situaciones posibles.
Balanceo de Datos
Para evitar problemas de overfitting y mejorar la capacidad de generalización del modelo PilotNet, comenzamos reduciendo el dataset original en crudo, eliminando alrededor de 120,000 muestras en las que el valor del ángulo de dirección (steer angle) era igual a cero. Esto fue clave para evitar que el modelo aprendiera de manera desbalanceada a conducir en línea recta, lo cual hubiera limitado su rendimiento en situaciones más complejas.
Sin embargo, el conjunto de datos resultante seguía presentando un notable desequilibrio entre las clases que representan giros pronunciados y aquellas correspondientes a ángulos de dirección en rectas o curvas suaves. Para abordar este desbalance, implementamos una estrategia de resampling que replicó las muestras en los intervalos menos representados hasta alcanzar un número objetivo de aproximadamente 10,000 muestras por clase. Esto permitió mejorar la representación de giros más pronunciados y equilibrar el dataset, lo que resultó en un entrenamiento más robusto y adaptable a diferentes condiciones de conducción.
Entrenamiento del Modelo
El modelo fue entrenado utilizando el generador de datos definido para manejar las transformaciones y el balanceo de las muestras. Se utilizó la pérdida de error cuadrático medio (MSE) y el error absoluto medio (MAE) como métricas de evaluación.
Resultados
Gráficos de Error (MAE y MSE)
Los gráficos muestran cómo el Error Absoluto Medio (MAE) y el Error Cuadrático Medio (MSE) evolucionan durante el entrenamiento y validación del modelo PilotNet. Ambos errores disminuyen rápidamente en las primeras épocas y luego se estabilizan, lo que indica que el modelo está aprendiendo de manera efectiva. Sin embargo, el error de validación es menor que el de entrenamiento, lo que sugiere que el modelo generaliza bien y no está sobreajustado.
Inferencias en imágenes de CARLA
Las imágenes muestran los resultados de las predicciones del modelo en comparación con los valores reales en situaciones del simulador CARLA. El modelo predice con precisión el ángulo de dirección Steer.
–
Descripción | Valor |
---|---|
Tamaño del dataset | 433703 imágenes (resampled) |
Learning Rate | 0.0001 |
Batch size | 32 |
Dropout | 0.1 |
Image Shape | (66, 200, 3) |
Métricas Usadas | Mean Squared Error (MSE), Mean Absolute Error (MAE) |
Épocas Usadas | 47 |
Prueba del modelo
Durante las pruebas se utilizó Town02 como escenario de simulación. Aunque el modelo ha mostrado buen rendimiento en la mayoría de las situaciones, aún enfrenta dificultades en escenarios complejos, como las intersecciones. En estos puntos, el piloto tiende a desorientarse, ya que no está lo suficientemente entrenado para tomar decisiones adecuadas.
Para abordar este inconveniente, se está considerando el uso de información adicional proveniente del GPS. La idea es que, mientras se mejora el modelo para integrar la detección y manejo de intersecciones, el sistema pueda desactivar temporalmente el modelo entrenado y basar las decisiones en los datos del GPS, evitando errores en estas situaciones complicadas.
Este enfoque permitirá un mejor rendimiento del sistema de conducción autónoma en áreas donde la complejidad del entorno sobrepasa las capacidades actuales del modelo. A medida que se avanza, se planea entrenar el modelo con mayor información sobre intersecciones para que pueda resolver estos escenarios sin necesidad de intervención externa.