Hacker, manitas e ingeniero. Me apasiona el aprendizaje automático, la IA y todo lo relacionado con la tecnología.
Hoy en día, Tesla, Google, Uber y GM están intentando crear sus propios coches autónomos que puedan circular por carreteras del mundo real. Muchos analistas predicen que dentro de los próximos cinco años comenzaremos a tener autos totalmente autónomos funcionando en nuestras ciudades, y dentro de 30 años, casi TODOS los autos serán completamente autónomos. ¿No sería genial construir tu propio coche autónomo utilizando algunas de las mismas técnicas que utilizan los grandes? En este y los próximos artículos, lo guiaré sobre cómo construir su propio automóvil robótico físico, autónomo y de aprendizaje profundo desde cero. Podrás hacer que tu coche detecte y siga carriles, reconozca y responda a las señales de tráfico y a las personas en la carretera en menos de una semana. Aquí hay un adelanto de su producto final.
Seguir carril
Detección de señales de tráfico y personas (derecha) desde DashCam de DeepPiCar
Parte 2 : enumeraré qué hardware comprar y cómo configurarlo. En resumen, necesitará una placa Raspberry Pi ($50), un kit SunFounder PiCar ($115), Google's Edge TPU ($75) más algunos accesorios, y cómo cada parte es importante en artículos posteriores. El costo total de los materiales ronda los 250-300 dólares. También instalaremos todos los controladores de software necesarios para Raspberry Pi y PiCar.
Frambuesa Pi 3 B+
Kit de coche robótico SunFounder PiCar-V
Acelerador de TPU de Google Edge
Parte 3 : Configuraremos todo el software de visión por computadora y aprendizaje profundo necesario. Las principales herramientas de software que utilizamos son Python (el lenguaje de programación de facto para tareas de aprendizaje automático/IA), OpenCV (un potente paquete de visión por computadora) y Tensorflow (el popular marco de aprendizaje profundo de Google). Tenga en cuenta que todo el software que utilizamos aquí es GRATUITO y de código abierto.
Parte 4 : Una vez eliminada la (tediosa) configuración del hardware y el software, ¡nos sumergiremos directamente en las partes DIVERTIDAS! Nuestro primer proyecto es utilizar Python y OpenCV para enseñarle a DeepPiCar a navegar de forma autónoma en una carretera sinuosa de un solo carril detectando líneas de carril y girando en consecuencia.
Detección de carril paso a paso
Parte 5 : entrenaremos a DeepPiCar para navegar por el carril de forma autónoma sin tener que escribir lógica explícitamente para controlarlo, como se hizo en nuestro primer proyecto. Esto se logra mediante el uso de “clonación de comportamiento”, donde usamos solo los videos de la carretera y los ángulos de dirección correctos para cada cuadro de video para entrenar a DeepPiCar para que se conduzca solo. La implementación está inspirada en el automóvil autónomo de tamaño completo DAVE-2 de NVIDIA, que utiliza una red neuronal convolucional profunda para detectar las características de la carretera y tomar las decisiones de dirección correctas.
Seguir carril en acción
Por último, en la Parte 6 : utilizaremos técnicas de aprendizaje profundo, como la detección de objetos de múltiples cuadros de un solo disparo y el aprendizaje por transferencia, para enseñar a DeepPiCar a detectar varias señales de tráfico (en miniatura) y peatones en la carretera. Y luego le enseñaremos a detenerse en los semáforos en rojo y en las señales de alto, a pasar en los semáforos en verde, a detenerse para esperar a que cruce un peatón y a cambiar su límite de velocidad de acuerdo con las señales de velocidad publicadas, etc.
Entrenamiento del modelo de detección de personas y señales de tráfico en TensorFlow
Estos son los requisitos previos de estos artículos:
Eso es todo por el primer artículo. ¡Te veré en la Parte 2, donde nos ensuciaremos las manos y construiremos juntos un auto robótico!
Aquí están los enlaces a la guía completa:
Parte 1: Descripción general (este artículo)
Parte 2: Configuración de Raspberry Pi y ensamblaje de PiCar
Parte 3: Haz que PiCar vea y piense
Parte 4: Navegación de carril autónoma a través de OpenCV
Parte 5: Navegación autónoma por carril mediante aprendizaje profundo
Parte 6: Señales de tráfico y detección y manejo de peatones