Contenido del curso

Eventos Exclusivos

Semana Platzi

Dibuja en el aire con Python y MediaPipe

Resumen

Aprender a dibujar en el aire usando solo tus manos es posible con Python, OpenCV y MediaPipe, una combinación de librerías que permite a tu computadora reconocer puntos del cuerpo en tiempo real desde una webcam común. Esta guía te muestra cómo funciona la visión artificial detrás de ese trend viral y para qué sirve más allá del arte.

¿Cómo entienden las imágenes las computadoras?

Cuando tú miras una foto, ves color y forma. La computadora, en cambio, ve números. Cada imagen se traduce a una representación numérica, normalmente una matriz tridimensional con los valores de color RGB.

Sobre esa base trabajan las dos librerías protagonistas. OpenCV es el estándar para tareas de computer vision: capturar video, procesar frames y dibujar sobre ellos. MediaPipe, desarrollada y mantenida por Google, detecta puntos característicos del rostro, el cuerpo y las manos, lo que se conoce como landmarks [02:48].

¿Qué son los landmarks en visión artificial? Son puntos específicos del cuerpo que el modelo identifica, como la esquina de los ojos, el centro de la nariz, los labios o las articulaciones de la mano. Sirven para describir una pose o un gesto en coordenadas numéricas.

Es la misma lógica de las películas animadas que capturaban movimiento poniendo marcadores en los actores, solo que aquí lo hace un modelo entrenado.

¿Qué necesitas para correr este proyecto en tu computadora?

La gran ventaja es que no necesitas hardware potente. Estos modelos son muy ligeros y corren en equipos modestos.

  • Python instalado.
  • Las librerías OpenCV y MediaPipe.
  • Una webcam, integrada o externa.
  • Un editor como Visual Studio Code, ya que Google Colab no puede acceder a tu cámara local [11:20].

En la demo en vivo, el script corrió en una computadora con procesador i5, sin GPU, con Windows y memoria reducida, sin perder fluidez [33:30]. Incluso una Raspberry Pi puede ejecutarlo.

¿Cómo se detecta cara, cuerpo y manos paso a paso?

El flujo típico abre la cámara, captura cada frame, lo procesa en escala de color RGB y dibuja los landmarks uniéndolos con líneas. Para que el modelo no marque cualquier cosa, se define un parámetro de confidence (por ejemplo 0.5 o 0.7), que es el umbral mínimo de seguridad con el que el sistema valida que lo que ve es realmente un rostro o una mano [07:10].

En el caso de las manos, MediaPipe permite además fijar la cantidad máxima a detectar, por ejemplo dos. Por eso en la demo, cuando aparecía una tercera mano, el modelo solo seguía a las dos primeras [09:40].

¿Cómo funciona el script para dibujar en el aire?

La idea es simple y elegante. Sobre el video original que captura la webcam se superpone un canvas o lienzo digital. El sistema rastrea el dedo índice de la mano y, en cada cuadro, marca un punto en la posición exacta donde está la punta del dedo [16:00].

Al ir uniendo esos puntos cuadro a cuadro, aparece el trazo. La imagen se espeja para que el movimiento coincida con tu reflejo y dibujar se sienta natural.

¿Por qué los trazos a veces se ven entrecortados? Porque la velocidad del movimiento supera la cantidad de frames por segundo que la cámara puede capturar. Si mueves el dedo lento, la línea sale fluida; con cámaras de mayor fps, el trazo es más continuo.

¿Qué puedes personalizar en el código?

Aquí entra la parte divertida. El notebook permite ajustar varios parámetros y convertirlo en algo tuyo.

  • Resolución de la cámara, por ejemplo 1920x1080 full HD. A más resolución, más demora la carga.
  • Paleta de colores: rojo por defecto, pero puedes sumar rosado, naranja o el que quieras.
  • Grosor del pincel en píxeles.
  • Sensibilidad del tracking y velocidad de dibujo.
  • Número máximo de manos a detectar.

¿Dónde se usa esta tecnología en la industria?

Dibujar en el aire es solo una excusa. Las mismas librerías sostienen aplicaciones que probablemente ya usas todos los días.

  • Reconocimiento facial bancario: al registrarte en un banco, tu selfie se compara contra la foto del DNI usando estos puntos característicos [05:50]. Es la misma base del desbloqueo facial del celular.
  • Tiendas inteligentes tipo Amazon Go: el hand tracking detecta si tomaste o devolviste un producto del estante [09:00].
  • Mapas de calor en retail: rastrean qué góndolas o productos miran más los clientes, una técnica de neuromarketing aplicada con visión artificial [38:20].
  • Cámaras CCTV: detección de personas, conteo y análisis de desplazamientos.
  • VAR en el fútbol: combinación de varias cámaras para validar posiciones adelantadas.
  • Drones agrícolas: detección de maleza en cultivos de soja, transmitiendo coordenadas GPS junto al video [44:30].
  • Medicina preventiva: análisis de radiografías y tomografías para detectar tumores o neumonía en etapas tempranas.

¿Sirve para reconocer lenguaje de señas o emociones?

Sí en ambos casos. Para lenguaje de señas existen dos caminos: entrenar un modelo con fotos de cada seña, o usar los landmarks de la mano y comparar la posición contra una seña de referencia [21:30].

La detección de emociones se usa, por ejemplo, en procesos de onboarding bancario para validar si la persona en la selfie está sonriendo o triste y contrastar con el documento. También hay modelos para fatiga, distracción o postura corporal [40:30].

¿Qué necesitas saber para entrenar tus propios modelos?

Más allá de Python, conviene apoyarse en fundamentos técnicos concretos. El álgebra lineal es el subcampo matemático clave, porque todo termina siendo operaciones entre vectores y matrices: una imagen es una matriz, un texto se vectoriza, un sonido se descompone en frecuencias.

¿Qué es Transfer Learning y por qué importa? Es una técnica que reutiliza modelos ya entrenados para adaptarlos a tu problema con menos datos y menos costo computacional. Es la forma más práctica de entrenar visión artificial sin GPUs caras.

Para llevar un proyecto a producción, lo habitual es exponer el modelo como una API que recibe imágenes y devuelve resultados, o establecer una conexión por WebSocket o TCP/IP cuando necesitas analizar muchos cuadros por segundo [31:00].

¿Qué proyecto se te ocurre construir con esto? Cuéntalo en los comentarios y comparte tus capturas si te animas a replicar el dibujo en el aire.