1 00:00:02,350 --> 00:00:09,869 Pues bienvenidos a este séptimo vídeo donde vamos a programar Echidna Scratch para interactuar con 2 00:00:09,869 --> 00:00:13,689 el modelo que acabamos de entrenar. Acabamos de entrenar un modelo con tres categorías, 3 00:00:13,849 --> 00:00:19,670 serio, sorpresa y risa y a través de nuestro modelo de aprendizaje hemos probado que funciona 4 00:00:19,670 --> 00:00:25,149 correctamente en función del gesto que yo ponga en la cámara. Ahora vamos a Echidna Scratch y vamos 5 00:00:25,149 --> 00:00:32,210 a ver cómo lo programaremos. Lo primero que vamos a hacer es empezar con la bandera, bueno en este 6 00:00:32,210 --> 00:00:39,710 caso, antes de hacer nada, me voy a crear tres disfraces que van a corresponderse a los disfraces 7 00:00:39,710 --> 00:00:53,320 correspondientes a una cara seria. También este le voy a llamar serio, este disfraz. Ahora me voy a crear 8 00:00:53,320 --> 00:00:59,560 un disfraz nuevo, perdón, lo voy a hacer mejor así, duplicando este, porque así los ojos me van a 9 00:00:59,560 --> 00:01:10,170 quedar en el mismo sitio exactamente, le voy a llamar risa y voy a ponerle 10 00:01:10,170 --> 00:01:20,560 la boca así y ahora voy a duplicar este 11 00:01:20,560 --> 00:01:32,239 y le voy a llamar sorpresa y borrando la boca voy a colocarle una 12 00:01:32,239 --> 00:01:42,900 boca de sorpresa. Ahí estamos. Bien, entonces esto estaría hecho. Voy a coger mi objeto del gato y lo 13 00:01:42,900 --> 00:01:47,459 voy a eliminar y voy a coger este sprite y lo voy a colocar más o menos en el medio. 14 00:01:48,659 --> 00:01:54,819 Entonces estamos en 42 menos 55 que luego lo voy a utilizar. Vamos al código de estos disfraces 15 00:01:54,819 --> 00:02:01,680 y por lo tanto vamos a empezar como habíamos dicho con nuestro clic en la bandera. Ahora, 16 00:02:01,680 --> 00:02:14,340 Ahora, ¿qué vamos a hacer? Vamos a irnos a los bloques de LearningML y lo primero que tenemos que hacer es encender la cámara de vídeo, porque vamos a capturar las imágenes desde el vídeo. 17 00:02:15,300 --> 00:02:27,520 Y a partir de aquí vamos a crear un bloque por siempre, para que esté continuamente capturando la imagen y en función de la imagen que recoja, lo que tiene que hacer es cambiar el disfraz en este caso. 18 00:02:27,520 --> 00:02:39,379 Bien, vamos a empezar creándonos también una variable donde le voy a insertar el porcentaje de fiabilidad de la imagen 19 00:02:39,379 --> 00:02:46,199 y lo vamos a poner aquí arriba para verlo. Por tanto, una vez que empecemos aquí en el por siempre, 20 00:02:46,199 --> 00:02:58,590 lo primero que voy a hacer es dar a la variable porcentaje un valor. Si yo utilizo el bloque de 21 00:02:58,590 --> 00:03:04,969 el grado de confianza para una imagen, que es el que me va a dar el porcentaje de la imagen, 22 00:03:06,389 --> 00:03:14,650 esto me va a devolver un número entre 0 y 1. Por lo tanto, lo que voy a hacer es multiplicarlo por 100 23 00:03:14,650 --> 00:03:25,009 para que me dé un porcentaje realmente entre 0 y 100. Voy a coger y le voy a decir el grado de confianza de la imagen y qué imagen es la que quiero coger. 24 00:03:25,469 --> 00:03:33,449 Pues quiero coger la imagen de vídeo. Todos estos bloques son de LearningML, evidentemente, porque yo lo que voy a hacer es capturar la imagen del vídeo, 25 00:03:34,449 --> 00:03:43,569 mandarla al modelo, ver con qué grado de confianza está devolviéndome que pertenece a una categoría y ese grado de confianza lo voy a multiplicar por 100, 26 00:03:43,569 --> 00:03:46,830 puesto que el grado de confianza me lo va a devolver en un porcentaje entre 0 y 1. 27 00:03:47,530 --> 00:03:49,009 Bien, ya tengo ahí el porcentaje. 28 00:03:49,509 --> 00:03:50,229 ¿Ahora qué voy a hacer? 29 00:03:50,650 --> 00:03:56,509 Pues lo que quiero hacer es simplemente, si la cara es de sorpresa, que me ponga el disfraz de sorpresa. 30 00:03:57,210 --> 00:04:00,789 Si es de risa, que me ponga que es una risa. 31 00:04:01,169 --> 00:04:06,349 Y si es de seria, pues que me ponga el disfraz de serio. 32 00:04:06,810 --> 00:04:08,110 Pues vamos a hacerlo rápidamente. 33 00:04:08,669 --> 00:04:09,610 Hacemos un sí, sí, no. 34 00:04:10,830 --> 00:04:12,509 Ponemos aquí un operador de igual. 35 00:04:12,509 --> 00:04:21,550 y le decimos con los bloques de LearningML que consulte al modelo de inteligencia artificial 36 00:04:21,550 --> 00:04:28,230 que clasifique esa imagen que va a coger desde el vídeo y si es igual a serio, 37 00:04:30,230 --> 00:04:36,750 pues tiene que cambiar el disfraz a serio. 38 00:04:42,139 --> 00:04:46,759 Si no, ¿qué va a hacer? Pues vamos a duplicar esto. 39 00:04:46,759 --> 00:04:58,339 Y si no, lo que va a hacer es que si es risa, pues quiero que ponga el disfraz de risa. 40 00:05:01,350 --> 00:05:09,129 Y si no, pues entonces si es, le voy a dar aquí un bloque sí y ya sin sí no. 41 00:05:10,550 --> 00:05:19,430 Si voy a duplicar este bloque y le voy a decir que si en este caso tengo un bloque, o sea, es de sorpresa, 42 00:05:19,430 --> 00:05:32,230 pues lo que quiero es que me cambie el disfraz a sorpresa. Bueno, vamos a verlo. Ejecutamos nuestro 43 00:05:32,230 --> 00:05:48,779 programa. Ahí estaría. Vemos que aquí está mi porcentaje y ahora voy a cambiar la cara. 44 00:05:48,779 --> 00:06:23,180 se han río el de sorpresa no está funcionando porque ahora porque no me entra vemos que va 45 00:06:23,180 --> 00:06:41,360 cambiando el porcentaje en función de lo que va reconociendo vemos que funciona perfectamente 46 00:06:43,199 --> 00:06:45,360 sorpresa risa 47 00:06:48,639 --> 00:06:53,540 y ya estaría así de fácil es interactuar con el modelo de inteligencia artificial estamos 48 00:06:53,540 --> 00:07:01,620 reconociendo imágenes a través de la webcam del PC y la estamos metiendo en nuestro modelo de inteligencia artificial 49 00:07:01,620 --> 00:07:10,279 para que nos devuelva el disfraz correspondiente en función de lo que está reconociendo tal como lo ha aprendido. 50 00:07:11,420 --> 00:07:17,759 Pues nada, aquí termina este vídeo. Ha quedado un poquito más largo de lo normal, pero merecía la pena para poder ver el ejemplo completo.