1. Sistemas Embebidos
En la primera mitad de 2024 cursé la asignatura Sistemas Embebidos, donde aprendimos a implementar código ejecutable en un dispositivo portátil sin necesidad de conexión a la red o a una computadora.
En esta asignatura se nos pidió usar modelos de inteligencia artificial convolucionales para implementarlos en un ESP32-CAM, un dispositivo con capacidad de conectar circuitos electrónicos simples. Durante el curso, desarrollamos un proyecto que hiciera uso de la cámara del ESP32, el intérprete esp-idf, y TensorFlow Micro para dispositivos con poca potencia y almacenamiento.

ESP32 CAM
Índice
1.1 Sobre el proyecto
En mi grupo, hicimos un proyecto de reconocimiento de autos y motos. La idea era desarrollar un sistema que identificara el tipo de vehículo que ingresaba a un estacionamiento para indicarle si debía dirigirse a un espacio para autos o motos. También podría utilizarse para calcular peajes en una autopista o para registrar la cantidad de vehículos en un área determinada.
1.2 Desarrollo
El proyecto tuvo varias fases. Lo más difícil fue instalar todo en el ESP32, entrenar el modelo y corregir los detalles, ya que la cámara del ESP tenía varios problemas con la luz, el ángulo y la distancia. Hubo que hacer muchas pruebas para ajustar correctamente las variables del modelo.

Esquema de funcionamiento del proyecto
Para entrenar la IA, usamos dos datasets de Kaggle y un código de entrenamiento de redes convolucionales (CNN) con modificaciones para clasificar tres categorías: Nada, Auto y Moto.
Se usaron dos conjuntos de datos para evitar el overfitting, y sorprendentemente, logramos cerca de 95% de precisión en las pruebas, incluso aplicando filtros a las imágenes para simular las condiciones reales del ESP32.
1.3 Demo
Para la demostración final, tuvimos que preparar un paper, un póster científico y una demo en vivo, donde utilizamos vehículos de juguete semirrealistas. A pesar de algunas imprecisiones, el sistema funcionó dentro de los márgenes esperados.

Póster científico sobre el proyecto (En inglés)
Al final nos fue muy bien, y aunque gran parte del trabajo lo realizó quien tenía acceso al ESP32 (pues solo teníamos uno), todos colaboramos en las entregas y la presentación.