1 00:00:16,690 --> 00:00:45,509 Vamos a seguir con el entrenamiento que habíamos realizado anteriormente, en el vídeo anterior, un entrenamiento para una máquina de aprendizaje que pudiera desarrollar un modelo que identificara, en este caso, con tres situaciones para que un coche autónomo pudiera decidir si debía seguir, en este caso, su camino, seguir el avance, frenar, en el caso de que, bueno, con las circunstancias del tráfico, 2 00:00:45,509 --> 00:00:51,810 así lo establecieran o incluso detener el vehículo. 3 00:00:52,350 --> 00:00:54,590 Bien, para ello ya habíamos hecho el aprendizaje correspondiente, 4 00:00:54,750 --> 00:00:58,450 vamos a recordar simplemente que una vez que añadimos las imágenes, 5 00:00:59,270 --> 00:01:03,329 el modelo aprende, esto ya lo habíamos visto en el vídeo anterior, 6 00:01:03,329 --> 00:01:07,049 pero ahora vamos a realizar una aplicación final, real, 7 00:01:07,230 --> 00:01:11,750 donde vamos a poder simular el funcionamiento de un vehículo autónomo 8 00:01:11,750 --> 00:01:18,769 en el que vamos a ir incorporando diferentes señales, diferentes situaciones de tráfico 9 00:01:18,769 --> 00:01:24,069 y la aplicación nos va a decir qué es lo que va a hacer el vehículo 10 00:01:24,069 --> 00:01:26,930 o aconsejará en este caso al conductor qué es lo que debe hacer. 11 00:01:26,930 --> 00:01:27,430 ¿De acuerdo? 12 00:01:28,230 --> 00:01:32,930 Bueno, pues entonces esto como lo podrán recordar era muy sencillo. 13 00:01:33,730 --> 00:01:37,230 Una vez que la máquina está aprendiendo, tarda unos minutillos 14 00:01:37,230 --> 00:01:40,189 y a partir de ahí ya podemos en este caso probarlo. 15 00:01:40,189 --> 00:01:46,810 nos vamos a saltar el paso desde probarlo porque ya lo hemos hecho en el video anterior y hemos visto que será más o menos fiable 16 00:01:46,810 --> 00:01:52,569 entonces aquí añadiríamos una imagen pero vamos en este caso ahora a abrir la aplicación de Scratch 17 00:01:52,569 --> 00:01:57,290 una aplicación de Scratch específica para Learning ML y que nos va a permitir programar 18 00:01:57,290 --> 00:02:05,629 entonces se abre una aplicación, aquí lo tenemos, está cargando ya 19 00:02:05,629 --> 00:02:26,330 Y como vemos, la interfaz es muy similar a Scratch, de hecho es una copia de Scratch, pero que si nos fijamos tiene la posibilidad de poder añadir, una vez que hemos entrenado el modelo, vienen aquí los modelos ya entrenados con texto, con imágenes o con números. 20 00:02:26,330 --> 00:02:52,590 Si lo hemos entrenado con texto, pues nos aparecen los bloques relacionados con el texto. En este caso nos va a dar, por ejemplo, una confianza para la imagen en función, igual que nos lo hacíamos en la fase anterior, pues aquí nos va a dar un valor, nos va a clasificar en este caso la imagen que aparezca y yo ya he preparado, en este caso, la he creado el programa, muy sencillo, que vamos a ver ahora. 21 00:02:52,590 --> 00:03:13,569 En este caso el programa es este que vemos aquí, y entonces una vez que cargamos este entrenamiento ya realizado, el archivo que hemos generado, pues abrimos en este caso nuestro programa, el programa que se puede hacer perfectamente en Scratch, 22 00:03:13,569 --> 00:03:31,830 Y como vemos lo que he añadido en este caso es dentro de las opciones de bloques de extensión hay una opción que es de texto a voz para que sea en este caso la animación, la simulación, el programa la que genere el sonido correspondiente para poder indicar al conductor lo que debe hacer. 23 00:03:31,830 --> 00:03:48,550 Bueno, pues el programa como vemos es muy sencillo, tenemos en este caso un programa en el cual cargamos la cabina de un coche, en este caso se activa el navegador autónomo que va indicando que es el asistente de navegación y que le va a indicar si debe seguir, frenar o detenerse. 24 00:03:48,550 --> 00:03:54,830 hemos hecho una pequeña animación en este caso para simular que sale de garaje 25 00:03:54,830 --> 00:04:01,229 pero lo que nos interesa realmente es los objetos, los diferentes disfraces para el objeto 26 00:04:01,229 --> 00:04:03,229 en este caso que serían las señales de tráfico 27 00:04:03,229 --> 00:04:06,930 y como vemos hemos añadido unas cuantas para que, ahora veremos el programa 28 00:04:06,930 --> 00:04:09,849 cuando demos a la barra espaciadora van a ir apareciendo en este caso 29 00:04:09,849 --> 00:04:15,270 diferentes disfraces de este objeto número 4 30 00:04:15,270 --> 00:04:23,750 una señal de stop, una señal de semáforo, una señal de advertencia, incluso hemos incluido algunas disfraces que no tienen absolutamente nada 31 00:04:23,750 --> 00:04:28,269 para indicar que la carretera está vacía, y luego también puso alguna señal de advertencia, etc. 32 00:04:29,110 --> 00:04:38,750 Lo interesante de este programa es que, como vemos, el programa en realidad, nada más empezar, las señales se esconden 33 00:04:38,750 --> 00:05:05,250 Y cuando le damos a la barra espaciadora aparece en este caso el disfraz que va a ir cada vez que impulsemos la barra espaciadora va a ir cambiándose y en este caso la navegación autónoma pronuncia la palabra atención, debe y automáticamente, y es lo más interesante, en este caso lo que va a pronunciar es la etiqueta a la cual ha clasificado la nueva imagen que corresponde con el número del disfraz en el que estamos. 34 00:05:05,250 --> 00:05:26,589 De manera que, por ejemplo, si estamos en el Disflat, yo que sé, número 4, pues esto ya lo ha clasificado en el modelo de aprendizaje, ya sabría qué tipo de elemento correspondería a qué tipo de etiqueta y por lo tanto nos podría decir en este caso el porcentaje y nos diría, la clasificaría y nos diría exactamente a cuál pertenece. 35 00:05:26,589 --> 00:05:33,410 Vamos a ver la simulación desde el principio, en este caso desde aquí y lo vamos a ver. 36 00:05:33,410 --> 00:05:43,170 Hola, soy su asistente de navegación autónoma, deje que le indique cuando debe seguir, frenar o detener el vehículo. Vamos allá. 37 00:05:45,569 --> 00:05:51,290 Bueno, como vemos es una simple simulación para indicar que saldría a otro garaje y ahora en este caso el coche estaría funcionando 38 00:05:51,290 --> 00:05:57,889 y cada vez que pulsemos la barra precedora aparecerá uno de los disfraces del objeto número 4, del objeto de las señales 39 00:05:57,889 --> 00:06:00,129 y automáticamente la navegación 40 00:06:00,129 --> 00:06:01,009 dirá 41 00:06:01,009 --> 00:06:02,970 el aprendizaje dirá 42 00:06:02,970 --> 00:06:05,410 a qué etiqueta corresponde 43 00:06:05,410 --> 00:06:07,430 a qué categoría corresponde y por lo tanto nos dirá 44 00:06:07,430 --> 00:06:08,889 qué debe hacer el conductor 45 00:06:08,889 --> 00:06:10,209 atención debe 46 00:06:10,209 --> 00:06:12,949 frenar 47 00:06:12,949 --> 00:06:15,350 el momento va bien 48 00:06:15,350 --> 00:06:16,970 atención debe 49 00:06:16,970 --> 00:06:18,430 seguir 50 00:06:18,430 --> 00:06:20,670 atención debe 51 00:06:20,670 --> 00:06:22,250 frenar 52 00:06:22,250 --> 00:06:24,430 atención debe 53 00:06:24,430 --> 00:06:25,850 frenar 54 00:06:25,850 --> 00:06:35,189 Bueno, como vemos las diferentes imágenes, este es el caso que habíamos puesto en ningún tipo de señal para indicar que debe continuar. 55 00:06:44,430 --> 00:06:49,769 Bueno, como vemos, pues parece que funciona bastante bien y como digo, todo esto es con un sencillo programa. 56 00:06:49,769 --> 00:06:53,250 Evidentemente podríamos colocar que cada vez que pusemos la barra apreciadora 57 00:06:53,250 --> 00:06:55,449 En lugar de que siga la secuencia de los disfraces 58 00:06:55,449 --> 00:06:57,490 Que sea de manera aleatoria, eso no es ningún problema 59 00:06:57,490 --> 00:07:00,709 Pero lo interesante es que podríamos ver una simulación correcta 60 00:07:00,709 --> 00:07:01,110 ¿De acuerdo?