DISEÑO DE LA ACTIVIDAD
La idea de la siguiente actividad tiene dos partes:
Creación de un modelo de clasificación de objetos mediante una inteligencia artificial. Para ello deberemos:
a) crear nuestro modelo: creando nuestras propias categorías (en la plataforma de Google denominada Teachable Machine).
b) entrenar el modelo: a base de proporcionarle fotos de diferentes objetos
c) preparar el modelo: seleccionando tanto las épocas (iteraciones) de aprendizaje, así como el volumen de cada para agrupar las fotos en el proceso de aprendizaje como la propia tasa de aprendizaje (como de rápido y exacto queremos que sea el aprendizaje de nuestro modelo
d) exporta el modelo: para poderlo utilizar en nuestra App
Creación de la App en App Inventor pudiendo conectarla con nuestro modelo a través de la extensión específica para Teachable Machine.
TEACHABLE MACHINE
¿Qué es Teachable Machine?
Teachable Machine es una herramienta basada en la Web que hace posible crear modelos de aprendizaje automático de manera rápida, sencilla y accesible para todos.
¿Cómo se utiliza?
Recopilación: Recopila y agrupa los ejemplos que quieres que aprenda el ordenador por clases o categorías.
Preparación: Prepara el modelo y pruébalo al momento para ver si puede clasificar correctamente los nuevos ejemplos.
Exportar: exporta tu mode3lo para tus proyectos (sites, apps,... ). Puedes descargartelo o usarlo de modo on-line.
DESARROLLO DE LA ACTIVIDAD
Nos hemos propuesto realizar una App de clasificación del contenedor al que deberíamos arrojar un objeto, es decir, clasificar si es un envase (contenedor amarillo), un papel o cartón (contenedor azul), vidrio (contenedor azul) u orgánico (contenedor marrón).
¿Cómo lo vamos a utilizar en nuestra App?
Vamos a crear una App que, a partir de una imagen desde nuestra cámara, nos indique en qué contenedor deberíamos arrojarlo para su reciclaje.
Para ello tenemos que incorporar una extensión que se conectará con nuestro modelo de clasificación creado en Teachable Machine a partir de nuestras propias categorías y fotos (ver apartado Extensiones para poder descargarla)
Paso 1: Incorporación de la extensión a nuestra App.
Para incorporar dicha extensión a nuestra App deberemos:
Buscar el apartado “Extensión” dentro de la Paleta que está a la izquierda (donde se encuentran todos los objetos disponibles para las app’s)
Hacer click en “Import extension” y buscar el archivo en nuestro ordenador. Esperar hasta que el ordenador nos indique que se ha incorporado la extensión.
Paso 2: Diseño App.
Deberemos incorporar a nuestra App los siguientes elementos
Cuatros etiquetas denominada “estado1”,..., "estado4" donde se mostrará la información de la clasificación que realiza la extensión en cada una de las cuatro categorías qu3e habremos creado en nuestro modelo.
WebViewver: donde se mostrará la imagen de la cámara
Botón “Clasificar”: para llamar a la extensión para que haga la clasificación.
Elemento “TeachableMachineImageClassifier": para poder utilizar la extensión, indicando en la propiedad "WebViewer" el nombre del componente WebViewer que hemos incluido en nuestro diseño e indicando en la propiedad "url" la rutaque habremos obtenkdo al exportar nuestro modelo de clasificación de Teachable Machine.
Componente TextoAVoz que hace que la App lea el texto que le indiquemos (sobre la categoría con el mayor porcentaje)
ESQUEMA DEL PROCESO
Esquema del Proceso
Detalle Proceso
Paso 3: Programación por Bloques.
A continuación se incluyen los diferentes bloques que habría que crear con la explicación de lo que hace cada uno de ellos.
Creación de las variables necesarias para el proceso:
Cuatro variables para almacenar los porcentajes correspondientes a cada una de las categorías.
Tres variables para guardar la información correspondiente a la categoría con mayor porcentaje de semejanza: contenedor (para guardar el nombre del contendor), porcentajeContenedor (para almacenar el porcentaje mayor) y color (para almacenar el color correspondiente a la categoría con mayor porcentaje)
Definir el funcionamiento del botón “Clasificar” – lanzar la clasificación
Definimos el proceso en el que capturamos la respuesta de la extensión cuando haya hecho la clasificación (GotClassification).
En este proceso recuperamos la información de los porcentaje de cada una de las categorías y los almacenamos en las variables que hemos creado para ello.
Lllamaremos a los procedimientos que habremos definido para hacer el control sobre estos porcentajes: el primero para cargar dichos porcentajes en las etiquetas que hemos creado en nuestra aplicación, el segundo para obtener los datos de la categoría con mayor porcentaje y el último para realizar acciones en función de la categoría con mayor porcentaje (color de la pantalla, que el dispositivo "diga" el nombre del contenedor y con qué porcentaje de probabilidad,...
Veamos a continuación cada uno de dichos procedimientos:
cargaretiquetas: informamos cada porcentaje en su etiqueta correspondiente.
compararporcentajes: suponemos que el porcentaje mayor es el del contenedor amarillo guardándonos dicha información en las variables finales que hemos creado y comparamos los porcentajes con los de las otras categorías y las sobrescribiremos si los porcentajes son mayores a los almacenados.
Con esot, una vez finalizado el proceso tendremos el nombre, el porcentaje y el color de la categoría con mayor porcentaje.
Pondremos el color de la pantalla con el color de la categoría con mayor porcentaje.
Haremos que nuestro dispositivo nos "diga" en qué contenedor deberías arrojar el objeto y con qué porcentaje de probabilidad.