Entrena tu propia IA en Scratch con Entrenador de Imágenes
Entrena tu propio modelo de reconocimiento de imágenes en Scratch usando gestos de mano u objetos, y después usa tus comandos entrenados para controlar a Pishi y atrapar al ratón.
Dificultad
Intermedio
Tiempo estimado
40–50 MINUTOS
Extensión
IMAGE TRAINER
📖 Qué Aprenderás
- Cómo crear y nombrar etiquetas de Image Trainer.
- Cómo entrenar un modelo de IA con tus propios ejemplos.
- Cómo utilizar gestos con las manos u objetos como comandos visuales.
- Cómo los diferentes ejemplos de entrenamiento afectan al reconocimiento.
- Cómo utilizar las etiquetas detectadas para controlar un sprite de Scratch.
- Cómo añadir entrenamiento adicional cuando un comando necesita mejorar.
- Cómo restablecer, guardar y cargar tu modelo entrenado.
- Izquierda
- Derecha
- Arriba
- Abajo
- Sin comando
🧰 Qué Necesitas
- Un ordenador o portátil con cámara.
- Pishi.ai en Scratch (iniciar un nuevo proyecto)
- Extensión Image Trainer (ver la guía de ayuda)
- El sprite de Pishi.
- El sprite del Ratón.
- Un gesto con la mano u objeto para cada comando
También usarás estas variables:
- score (puntuación)
- time (tiempo)
- train done (entrenamiento terminado)
- counter (contador)
- number of trains (número de entrenamientos)
Para un mejor entrenamiento, usa buena iluminación y un fondo simple.
🛠️ Construye tu Proyecto
1. Configura las cinco etiquetas de IA
Cuando se hace clic en la bandera verde, primero verifica si Pishi ya ha sido entrenado.
Si train done = 0, presenta el entrenamiento:
«¡Hola! Antes de jugar, necesitas enseñarme tus comandos.»
«Aprenderé cinco comandos: izquierda, derecha, arriba, abajo y sin comando.»
Luego nombra las cinco etiquetas de Image Trainer:
- Etiqueta 1: Izquierda
- Etiqueta 2: Derecha
- Etiqueta 3: Arriba
- Etiqueta 4: Abajo
- Etiqueta 5: Sin comando
Durante el entrenamiento, el proyecto también muestra algunos consejos útiles:
- Mantén el comando claramente visible.
- Usa buena iluminación y un fondo simple.
- Usa un gesto con la mano o un objeto.
- Mantén objetos innecesarios o tu cuerpo fuera de la vista de la cámara.
- Mueve el comando dentro de la vista de la cámara.
- Muéstralo a diferentes distancias de la cámara.
Estas variaciones ayudan a la IA a aprender el comando en más de una posición o tamaño.
2. Entrena los cinco comandos
Establece counter en 0, luego repite cinco veces:
- Aumenta counter en 1
- Ejecuta train label (counter)
Esto entrena las cinco etiquetas una tras otra.
El bloque personalizado train label (number) primero verifica si esa etiqueta ya contiene datos de entrenamiento.
Si es así, Pishi advierte:
«Esta etiqueta ya tiene datos de entrenamiento. Para empezar de nuevo, presiona la tecla R y confirma para reiniciar todas las etiquetas entrenadas.»
De lo contrario, Pishi anuncia el comando actual:
De lo contrario, Pishi anuncia el comando actual:
Después de una breve cuenta regresiva, el proyecto recopila 20 muestras de entrenamiento.
Usa los consejos de entrenamiento del paso anterior mientras Pishi recopila las muestras.
Para Sin comando, simplemente retira el gesto u objeto de movimiento y muestra la vista normal de la cámara.
Después de terminar cada etiqueta, Pishi dice:
Aprendí: (nombre del número de etiqueta)
Cuando las cinco etiquetas están completas:
«¡Genial! El entrenamiento está completo.»
Luego establece:
train done en 1
3. Inicia el juego
Después del entrenamiento, establece:
time en 0
y transmite:
Start Game
Si Pishi ya ha sido entrenado, el proyecto omite el ciclo principal de entrenamiento y dice:
«¡Ya conozco tus comandos. Vamos a atrapar al Ratón!»
También le recuerda al jugador:
«Para entrenarme de nuevo, presiona la tecla R y confirma para reiniciar todas las etiquetas entrenadas.»
Esto permite que el jugador vuelva directamente al juego sin tener que reentrenar cada vez.
4. Controla a Pishi con tu IA entrenada
Durante el juego, Image Trainer verifica continuamente la cámara e informa la actual: nombre de la etiqueta detectada
Úsala para controlar a Pishi:
- Izquierda: cambia x en -10
- Derecha: cambia x en 10
- Arriba: cambia y en 10
- Arriba: cambia y en 10
- Sin comando: sin movimiento
En lugar de presionar controles de teclado, el jugador ahora mueve a Pishi usando los comandos visuales que entrenó él mismo.
5. Atrapa al Ratón
Cuando el Ratón recibe Start Game:
- Establece score en 0
- Se mueve a una posición aleatoria
- Reinicia el cronómetro
El juego continúa durante 20 segundos.
Cada vez que Pishi toca al Ratón:
- Aumenta score en 1
- Reproduce un sonido
- Mueve al Ratón a otra posición aleatoria
- El Ratón apunta continuamente hacia Pishi mientras el temporizador se copia en la variable time.
Cuando el temporizador llega a 20 segundos:
- Establece time en FINISH
- Reproduce el sonido final
Pishi deja de moverse, vuelve a su posición inicial y dice:
“Time’s up!”
6. Mejora, reinicia, guarda o carga el modelo
The first training cycle gives every label 20 samples, but some commands may still need extra examples.
For this, create the custom block: train one sample (number)
Connect it to these keys:
Left Arrow for Label 1, Right Arrow for Label 2, Up Arrow for Label 3, Down Arrow for Label 4, and the 0 key for Label 5
Si un comando no se reconoce de forma confiable, muestra ese comando claramente y presiona su tecla varias veces para agregar más ejemplos de entrenamiento.
También puedes gestionar el modelo entrenado completo:
- R: reinicia todas las etiquetas y entrena de nuevo en la siguiente ejecución
- S: guarda los datos de aprendizaje
- L: carga datos de aprendizaje guardados previamente
Esto te permite mejorar el modelo solo cuando sea necesario, en lugar de repetir todo el ciclo de entrenamiento.
🚀 ¡Prueba tu Proyecto!
Haz clic en la bandera verde y permite el acceso a la cámara.
Elige cómo quieres representar cada comando. Puedes usar:
You might use:
- Diferentes gestos con la mano
- Tarjetas de colores
- Objetos pequeños
- Símbolos impresos
Entrena Izquierda, Derecha, Arriba, Abajo y Sin comando.
Cuando termines el entrenamiento, usa tus comandos para mover a Pishi por el Escenario y atrapar tantos ratones como puedas antes de que termine el temporizador de 20 segundos.
Si un comando es difícil de reconocer, agrega algunas muestras extra e inténtalo de nuevo.
🤖 ¿Cómo Funciona?
Normalmente, un programa de Scratch podría decir:
si se presiona la tecla de flecha izquierda: mover a la izquierda
En este proyecto, no le dices directamente a Scratch cómo se ve un comando de Izquierda. En cambio, le muestras a la IA varios ejemplos. El proceso es:
Instead, you show the AI several examples.
The process is:
Mostrar ejemplos
↓
Entrenar las etiquetas
↓
Mostrar una nueva imagen de cámara
↓
Image Trainer predice la etiqueta más cercana
↓
Scratch lee la etiqueta detectada
↓
Pishi se mueve
Esto significa que el comportamiento del proyecto depende no solo del código de Scratch, sino también de los datos de entrenamiento que tú proporcionas. Esa es una de las ideas clave detrás del aprendizaje automático.
That is one of the key ideas behind machine learning.
💡 ¡Mejóralo!
- Crea tu propio controlador visual
Personaliza el controlador de IA reemplazando los comandos originales con tus propios gestos, objetos o etiquetas adicionales. Por ejemplo, podrías usar tarjetas de colores para los comandos de movimiento o agregar nuevas acciones como Saltar, Detener, Girar, Teletransportar o Acelerar. Luego conecta cada etiqueta entrenada a la acción que quieres que Pishi realice.For example, you could use colored cards for movement commands or add new actions such as Jump, Stop, Spin, Teleport, or Speed up.
Then connect each trained label to the action you want Pishi to perform.
- Experimenta con los datos de entrenamiento
Los ejemplos que proporcionas afectan qué tan bien la IA reconoce los comandos. Intenta entrenar el mismo comando de dos maneras diferentes:
Try training the same command in two different ways:
Primero, usa ejemplos muy similares manteniendo tu mano u objeto en la misma posición y distancia. Luego, reinicia el modelo y entrena de nuevo con ejemplos más variados:
Then, reset the model and train again with more varied examples:- Muévelo a diferentes partes de la vista de la cámara.
- Muéstralo más cerca y más lejos de la cámara.
- Cambia ligeramente su ángulo.
Prueba ambos modelos y compara qué tan confiablemente reconocen el comando. Esto te ayuda a entender una idea importante del aprendizaje automático.
Esto te ayuda a comprender una idea importante del aprendizaje automático:
Los ejemplos de entrenamiento mejores y más variados pueden ayudar a un modelo de IA a reconocer situaciones nuevas. - Agrega obstáculos
Agrega otro sprite que deba evitarse.
Por ejemplo:- Ratón: +1
- Gato: −1
Ahora el jugador debe usar el controlador de IA con más cuidado.
- Crea otro juego controlado por IA
La misma idea se puede usar para crear:- Un juego de carreras
- Un laberinto
- Un controlador de nave espacial
- Un juego de raqueta (pong)
- Un desafío de robot
Una vez que entiendas cómo entrenar etiquetas y usar el nombre de la etiqueta detectada, puedes usar Image Trainer como un controlador visual personalizado para muchos proyectos diferentes de Scratch.
🔗 Comparte tu Creación
¿Terminaste tu proyecto? Guarda tus datos de aprendizaje, remezcla el proyecto de Scratch o crea tu propio juego usando comandos visuales completamente diferentes. Intenta darle el proyecto a un amigo y comprueba si puede entrenar su propio controlador de IA.
Save your learning data, remix the Scratch project, or create your own game using completely different visual commands.
Try giving the project to a friend and see whether they can train their own AI controller.
