Crea una búsqueda de objetos con IA usando Detección de Objetos en Scratch
¡Deja que la IA descubra los objetos que te rodean y luego corre contra el reloj para encontrarlos otra vez!
En este proyecto, la extensión Detección de Objetos observa lo que aparece en la cámara y reúne los nombres de los objetos que reconoce. Después, Pishi elige cuatro al azar y te reta a mostrar cada uno antes de que se acabe el tiempo.
Dificultad
Intermedio
Tiempo estimado
25–35 minutos
Extensión
Detección de Objetos
📖 Qué Aprenderás
- A usar Detección de Objetos para reconocer objetos reales.
- A consultar la lista de objetos que la IA detecta en ese momento.
- A crear una lista a partir de los nombres de los objetos detectados.
- A contar los objetos diferentes de esa lista.
- A elegir un objeto al azar de la lista.
- A comprobar si un objeto concreto aparece en la cámara.
- A crear un desafío de IA con límite de tiempo.
- A observar cómo la iluminación, el ángulo, la distancia y los objetos cercanos pueden influir en la detección.
A diferencia de Entrenador de Imágenes, no necesitas entrenar la IA primero. Detección de Objetos utiliza un modelo ya entrenado que reconoce muchas categorías de objetos comunes.
🧰 Qué Necesitas
- Un ordenador o portátil con cámara.
- Pishi.ai en Scratch (iniciar un nuevo proyecto)
- La extensión Detección de Objetos (ver la guía de ayuda)
- El sprite de Pishi.
- Algunos objetos cotidianos que tengas cerca.
- Buena iluminación.
También usarás estas variables:
- score (puntuación)
- time (tiempo)
- all objects found (todos los objetos encontrados)
- object to show (objeto que debes mostrar)
El proyecto también utiliza my detection list de la extensión para guardar los nombres de los objetos diferentes que descubre durante la primera parte del juego.
🛠️ Construye tu Proyecto
1. Prepara el detector de objetos
Al hacer clic en la bandera verde:
- Establece all objects found en 0.
- Establece score en 0.
- Establece time en 0
- Desactiva la clasificación.
- Vacía my detection list.
Después, reproduce el sonido inicial y di:
¡Veamos qué puede reconocer la IA a tu alrededor! Muéstrame al menos 6 cosas diferentes, una por una.
Activa los recuadros de detección y, después, activa la clasificación.
💡 Consejo: Desactiva y vuelve a activar la clasificación al comenzar el proyecto para reiniciar los eventos de detección. Así, eventos como when any object detected pueden funcionar correctamente incluso con objetos que ya estaban a la vista antes de iniciar el programa.
Los recuadros permiten que el jugador vea qué objetos está reconociendo la IA en la imagen de la cámara.
2. Reúne los objetos reconocidos
Repite el proceso hasta encontrar suficientes objetos diferentes.
Inside the loop:
“add [list of current detections] to my detection list”
Nota: Normalmente, my detection list sirve para filtrar las etiquetas de objetos que debe buscar la extensión. En este proyecto la usamos de otra manera: para guardar los objetos que la IA ya encontró. La lista conserva únicamente etiquetas diferentes y no añade duplicados.
También puedes mostrar la lista actual con un mensaje como:
Objetos detectados: [my detection list]
Cuando el número de elementos de my detection list sea mayor que 5:
- Establece all objects found en 1.
- Desactiva los recuadros de detección.
- Elimina person de my detection list.
Al eliminar person, evitas que el jugador gane un punto automáticamente por estar delante de la cámara.
Después, di:
¡Genial! Encontré estos objetos: [my detection list]
Reproduce un sonido de éxito.
3. Prepárate para la búsqueda
Dale al jugador un momento para prepararse.
Di:
¡Ahora veremos qué tan rápido puedes encontrarlos!
Después, di:
Si puedes, retira esos objetos de la imagen de la cámara.
Así, el siguiente objeto solicitado no estará ya a la vista cuando comience el desafío.
Ahora el juego tiene una lista de objetos cercanos que la IA ya ha logrado reconocer.
4. Elige un objeto al azar
Repite el desafío 4 veces.
Al comienzo de cada ronda:
- Establece time en 0
- Di «¿Listo?»
- Haz una cuenta regresiva: 3…, 2…, 1…
Then choose a random item from my detection list and store it in: “object to show”. For example:
my detection list item # [pick random [1] to [number of items in my detection list]]
Elimina ese objeto de my detection list inmediatamente después de elegirlo.
Así, no volverá a salir en otra ronda.
Después, di:
Muéstrame: [object to show]
5. Corre contra el reloj
Muestra la variable time y reinicia el cronómetro de Scratch.
Repite hasta que:
time = FINISH
Dentro del bucle, establece continuamente:
time to timer
Si el cronómetro supera los 5 segundos:
- Oculta la variable time.
- Establece time en FINISH
- Reproduce el sonido de fallo.
- Di: Time’s up! Let’s try another one.
Si no, sigue comprobando si:
“[object to show] #[1] detected in [current] detections?”
Si se detecta el objeto solicitado:
- Aumenta score en 1.
- Oculta la variable time.
- Establece time en FINISH
- Reproduce el sonido de éxito.
- Di: ¡Lo encontraste!
La ronda termina cuando se encuentra el objeto o cuando pasan los cinco segundos.
6. Termina el juego
Después de las cuatro rondas, muestra el resultado final.
Di:
Tu puntuación final es: [score]
Después, reproduce el sonido de cierre.
También puedes expresar el resultado con más claridad:
¡Buen trabajo! Tu puntuación final es [score] de 4.
El jugador puede reiniciar el proyecto para descubrir otros objetos y recibir desafíos diferentes.
🚀 ¡Prueba tu Proyecto!
Haz clic en la bandera verde y permite el acceso a la cámara.
Primero, ayuda a la IA a descubrir al menos seis cosas diferentes a tu alrededor.
Puedes probar con:
- botellas
- tazas
- libros
- mochilas
- sillas
- teléfonos
- portátiles
- juguetes
No necesitas ningún objeto en particular. Experimenta y observa cómo crece la lista de detecciones.
Cuando hayas encontrado suficientes objetos, retíralos de la imagen de la cámara si es posible.
¡Prepárate!
Pishi elegirá cuatro de los objetos detectados, uno por uno.
Tendrás 5 segundos para encontrar cada objeto y mostrárselo a la cámara.
¿Cuántos podrás encontrar?
🤖 ¿Cómo Funciona?
Este proyecto tiene dos etapas principales.
Primero, la IA descubre lo que hay disponible:
La cámara muestra los objetos que te rodean
↓
Detección de Objetos reconoce los objetos visibles
↓
Scratch lee las etiquetas detectadas en ese momento
↓
Las etiquetas se añaden a my detection list
↓
El juego espera hasta encontrar suficientes objetos diferentes
Después, comienza el juego:
Elegir un objeto al azar de my detection list
↓
Pedir al jugador que muestre ese objeto
↓
Iniciar el cronómetro de 5 segundos
↓
Comprobar qué aparece en la cámara
↓
Si se detecta el objeto, sumar 1 punto
↓
Repetir con otro objeto
El proyecto crea cada desafío con objetos que la IA ya ha reconocido en el entorno del jugador. Así puede adaptarse a los objetos que cada persona tenga cerca.
💡 ¡Mejóralo!
- Comprueba la confianza de la IA
Usa el valor de confianza para mostrar qué tan segura está la IA de cada detección.
Por ejemplo:
«¡Encontré la botella con un 91 % de confianza!».
Prueba el mismo objeto en distintas condiciones y observa cómo cambia ese valor. - Acepta solo detecciones con suficiente confianza
Para mejorar la fiabilidad del juego, acepta un objeto únicamente cuando su confianza supere un valor determinado, como 0.7.
Si es demasiado baja, Pishi puede pedirle al jugador que muestre el objeto con más claridad. - Pon a prueba la IA desde diferentes perspectivas
Prueba el mismo objeto desde distintos ángulos y distancias, con otros fondos y condiciones de luz.
Descubre qué cambios facilitan o dificultan su reconocimiento. - Añade desafíos de posición
Añade desafíos de posición Después de encontrar el objeto correcto, pídele al jugador que lo coloque en un lugar concreto:
«¡Muévelo a la izquierda!» o «¡Ponlo en el centro!».
Usa las posiciones x e y del objeto para comprobar dónde está. - Comprueba la fiabilidad de la IA
Muestra varias veces el mismo objeto y cuenta cuántas veces lo reconoce correctamente.
Compara distintos objetos para descubrir cuáles detecta con mayor fiabilidad. - Usa el tamaño del objeto como nuevo desafío
Utiliza el ancho o la altura detectados para pedirle al jugador que acerque el objeto a la cámara o lo aleje.
Así podrás explorar otra información que ofrece Detección de Objetos.
🔗 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.
¡Dale tu toque personal! Cambia las reglas, los elementos visuales, los sonidos, la dificultad o el comportamiento de la IA. Añade un nuevo desafío, crea una temática diferente o combina ideas de otros proyectos.
Después, comparte tu versión con un amigo y descubre qué crea.
