 Buenos días, él es mi compañero Miguel Ángel de la Universidad Calo III de Madrid y yo soy Javier Martínez de PVVA en este no lo es. Os juro que aquí pone Next en la camiseta, vale, en que parece ahí que no lo pone, en el graffiti, y bueno lo que os vamos a contar hoy es de qué manera la inteligencia artificial puede ofrecer interpretabilidad basado en contextos para un sistema de atención visual. Podéis preguntaros qué es la interpretabilidad, bien pues la interpretabilidad es la capacidad de un sistema de inteligencia artificial para ofrecer soluciones a las personas y resultados interpretables, es decir que podemos entender, aportar valor añadido al resultado. Entonces bueno, básicamente mi compañero Miguel Ángel os va a motivar, os va a comentar qué es la atención visual, qué aplicaciones tiene, qué dificultades nos hemos encontrado, a continuación os voy a mostrar la propuesta, tenemos una idea distinta, una idea nueva para abordar este problema. Más adelante os vamos a enseñar resultados visuales muy llamativos, todos con vídeos, fotos, etcétera y vamos a terminar con una parte de conclusiones y cómo estamos contribuyendo a la comunidad científica, así como podríais contribuir por ejemplo a vosotros a esta idea. Y doy paso a mi compañero Miguel Ángel. Muy bien, buenos días, vamos a empezar con la motivación de este proyecto y en primer lugar pues para empezar con esa motivación vamos a empezar hablando de qué es la atención visual, la atención visual tiene relación con aquellas zonas de una escena que llaman la atención de las personas. Se puede entender como un proceso de otimización para modelar la percepción o cognición visual, dentro del campo de aviso artificial, esta atención visual se puede entender como un proceso que guía de manera eficiente las tareas de procesado de imagen y vídeo a regiones particulares de estos escenarios ante los cuales nos encontramos y podemos distinguir entre dos familias de modelos de atención visual. Por un lado aquí a la izquierda tenemos los modelos de atención visual boton app, son modelos de atención visual orientados o dirigidos por estímulos basados en características visuales de escena tales como el color, la textura, el movimiento, los objetos que se dan, se basan o se fundamentan en regiones informativas o llamativas sorprendentes para las personas sin un conocimiento a priori. Aquí tenemos un anuncio de un teléfono móvil pues nos llama atención el texto y también nos pueden llamar la atención, lo vamos a ver un poquito a continuación, es un GIF botones, el color de los botones en la pantalla del teléfono móvil. En el lado derecho, aquí en este lado aquí, cuando tenemos un conocimiento a priori acerca del escenario donde vamos a modelar la atención visual, cuando hay una tarea que alcanzar una serie de objetivos que perseguir unas indicaciones avanzadas para realizar esta tarea, hablamos de modelos de atención visual top down y en este tipo de modelos de atención visual, aquí tenemos un escenario de videovigilancia, el objetivo en este escenario de vigilancia va a ser detectar anomalías, tenemos una situación de un robo, vamos a tratar de detectar a mediante la atención visual, pues en este tipo de escenarios el movimiento de los ojos, las fijaciones, el lugar de la escena donde se está fijando las personas juegan un papel fundamental, pues nos va a permitir entrenar modelos, arquitecturas neuronales o convolucionales. ¿Qué aplicaciones puede tener esta atención visual? Bien, por un lado pues nos va a permitir modelar esta atención visual cómo funciona, entender cómo funciona en las personas, entender esos procesos de comportamiento o cognitivos, tratar de establecer relaciones entre cómo modelan los datos las máquinas y cómo los procesa el sistema visual y el cerebro humano, y además gracias a ese modelado pues vamos a poder prece automáticamente dicha atención para resolver tareas complejas, para ayudar en escenarios reales, complejos, con una gran cantidad de información visual que tenemos que procesar, que tenemos que filtrar, seleccionar, tales como ese escenario que teníamos antes de videovigilancia, tenemos un operador que durante muchísimas horas de tiempo va a tener que estar mirando a múltiples cámaras, una RAID de 20, 30, 40 cámaras con una gran cantidad de información diversa y va a tener que localizar, va a tener que determinar qué eventos son relevantes, en cuales de estas cámaras se puede estar produciendo una anomalía. Arriba a la derecha tenemos un escenario de diagnóstico de pacientes, podríamos implementar un sistema que ayudase un médico, que guiase un médico por los pasos que tiene que dar para resolver una operación complicada, que sirviese como ayuda a la realización de esta operación. Y abajo también a la derecha tenemos el escenario de conducción autónoma, que es el escenario el que vamos a englobar la propuesta que presentamos hoy. Aquí tenemos un piloto, nosotros nos vamos a mover por carretera con coches y nuestro objetivo va a ser modelar la atención visual como ayuda a la conducción autónoma, como ayuda a la autorización de coches automáticos. Vamos a intentar explicar cómo un coche automático toma decisiones a partir de atención visual. Bien, tenemos aquí un poco para ilustrar, para motivar esta aplicación tenemos un estudio muy reciente de la Sociedad Internacional de Ingenieros de Automoción, se ha realizado el pasado mes de octubre, son demostraciones gratuitas de coches automáticos a un rango de personas, la sociedad razonablemente alto, un poco para ver un poco su interés sobre estos coches automáticos. Y lo que vemos, de acuerdo a alguna de las preguntas de la encuesta de participación, he recogido aquí las más relevantes, es que efectivamente existe un entusiasmo ante esta tecnología de estos coches automáticos, no solamente antes de realizar las demostraciones, sino después se espera que pueda ser implantada en un futuro no muy muy lejano. ¿Qué ventajas podría tener esta tecnología a estos coches automáticos? Pues por un lado lo que buscamos es reducir el número de accidentes de tráfico, el número de muertes por accidentes de tráfico. También buscamos ayudar a mejorar la movilidad de personas mayores o de personas con una discapacidad, poder facilitarles el día a día en sus trayectos. Y, por supuesto, buscamos optimizar el tiempo de recorrido, buscamos los mejores, los caminos más óptimos ve un origen a un destino. Todo eso, coches autónomos, la conducción autónoma puede facilitar dichos objetivos. Sin embargo, a pensar de todo este entusiasmo, a pesar de todas estas ventajas que puede tener esta tecnología, lo que sí que vemos es una falta de confianza por parte de los usuarios en la misma, la mayor parte de los usuarios que han realizado estas demostraciones, preferirían que esta tecnología, que estos sistemas de conducción autónoma fuesen combinados con el modelo tradicional, con un conductor ante el volante. Y es por eso por lo que necesitamos dotar de interpretabilidad. Necesitamos explicar los modelos automáticos, las decisiones que toman estos sistemas de conducción para poder proporcionar confianza, fiabilidad a los usuarios que van a hacer uso de las mismas. Bien, bueno, pues nuestro objetivo va a ser explicar esta función de atención visual dentro del escenario de conducción autónoma. ¿Cómo lo podemos hacer? Pues podemos definir estos contextos de conducción de manera muy, muy sencilla, atendiendo a tres propiedades. Nosotros hemos considerado nuestra propuesta el momento del día en el que se está conduciendo, si es mañana, tarde o noche, el tiempo meteorológico, las condiciones atmosféricas, si es un día soleado, si es un día anublado, si es un día lluvioso. Y también vamos a considerar la ubicación, el lugar donde se está conduciendo, si se está conduciendo en carretera, si se está conduciendo en campo, o se está conduciendo del centro de la ciudad. En función de estos escenarios, de estos contextos de conducción, vamos a tener unas determinadas propiedades en la escena, en la información visual que vamos a modelar. ¿Y cómo va a os a modelar estas condiciones? Pues lo vamos a hacer recurriendo a un concepto relativamente reciente, que son las cápsulas. Las cápsulas fueron propuestas en el año 2017 por Sabur, Fros y Hinton. Y estas arquitecturas de cápsulas, que es una cápsula que nos permita hacer una cápsula, pues son agrupaciones de neuronas o de filtros convolucionales que en su conjunto representan entidades que bien pueden ser objetos o parte de un objeto. Y en nuestro caso va a ser condiciones que nos va a permitir, estas cápsulas nos va a permitir representar jerárquicamente información que vamos a modelar y además vamos a poder establecer relaciones entre estas informaciones o entidades que vamos a considerar dentro de nuestro problema de conducción autónoma. ¿Cuál sería nuestra finalidad en una aplicación real que es lo que perseguimos? Pues lo que perseguimos es que ha dado un conjunto de información visual de la que vamos a aprender, de la que vamos a enseñar el sistema en diferentes contextos de conducción. Vamos a definir esos contextos de conducción atendiendo a condiciones, a combinaciones de condiciones, independientes entre sí, atendiendo estas tres posibilidades a estos tres grupos que hemos visto anteriormente y una vez definamos esas cápsulas basadas en condiciones, vamos a utilizar la información que ha aprendido las mismas para ser capaces de estimar automáticamente la atención visual para poder ayudar a esa conducción en los diferentes escenarios. ¿Qué es lo que buscamos con esta aplicación real? Además, buscamos que si nos viene un nuevo contexto, el mundo está yendo de contextos muy, muy diferentes. Pues lo que buscamos es que sea adaptable a un contexto nuevo que nos viene, que puede ser descrito, pues, las propiedades o esas condiciones que ya hemos visto anteriormente, pero mediante una combinación diferente. Pues, en primer lugar, lo que va a hacer este sistema va a ser predecir las condiciones del nuevo contexto ante el cual nos encontramos. Vamos a ver que ahora tenemos un escenario de mañana, un escenario nublado y un escenario de campo. Es un escenario que no existía en nuestros datos de aprendizaje, pero que vamos a ser capaces de extrapolar, vamos a ser capaces de incorporar a nuestro sistema, gracias a que comporte las mismas condiciones que habíamos aprendido otros escenarios o contextos diferentes. Una vez tengamos ese nuevo contexto definido a partir de condiciones, podremos estimar la atención visual. Y lo que buscamos con este sistema es que, efectivamente, sea adaptable, que sea escalable a nuevos contextos y que sea escalable a partir de pocas muestras. Lo que buscamos es que funcione en tiempo real. Buscamos que, a partir de pocos frames de vídeo, a partir de poca información visual, sea capaz de incorporar este escenario, este nuevo contexto a toda la arquitectura que disponíamos inicialmente de manera que lo podamos utilizar en tiempo real. Bien, pues más o menos esto es toda la motivación del sistema que ahora os va a presentar mi compañero Javier. Muy bien. Bueno, pues hasta ahora, yo creo que Miguel Ángel os ha comentado bastante información, bastantes conceptos muy interesantes. Por ejemplo, ¿qué es la atención visual para qué sirve? ¿Cómo sería útil en la conducción a autónoma? Pero no solo eso, sino vamos a utilizar, en nuestra propuesta, vamos a utilizar las cápsulas de una nueva manera y es para dar estructura y relaciones para poder interpretar qué está haciendo el sistema por dentro. Es decir, darle medidas conceptuales de las decisiones que está tomando. Y no solo eso, sino que una visión a largo plazo de esto y muy interesante sería que el sistema pudiera adaptarse dinámicamente a nuevos contextos. Esto es lo último que comentaba Miguel Ángel. Y bueno, pues como toda propuesta, que os voy a comentar la propuesta ahora, comienza con una hipótesis. Bien, pues a Miguel Ángel se le ocurrió una hipótesis en una investigación que realizó hace relativamente poco además. Que era la siguiente, pues la atención visual se podría desagregar como la combinación de diferentes subtareas. Y estas subtareas a su vez se podrían desagregar como la combinación de diferentes características visuales. Es decir, lo que podría entrar por los ojos, lo que podría absorber el sistema de inteligencia artificial. Bueno, a modo de ejemplo, por ejemplo para deportes, ¿qué subtareas, con tareas me refiero de aprendizaje, qué subtareas, qué elementos tenemos aquí? Pues identificar qué es un jugador y cómo se compone visualmente, ¿no? O qué es el marcador y cómo se compone visualmente. Y bueno, no solo visualmente a nivel estático, sino que podríamos tener una secuencia de vídeos, ¿no? Muy bien. Pues ¿qué dijimos? Esto está muy bien, esta idea es una idea bastante interesante. ¿Cómo podemos trasladarla a la conducción autónoma? Pues Miguel Ángel os estaba anunciando ya las condiciones y los contextos. Es decir, que cada contexto tiene unas propiedades distintas, tiene unas propiedades que el sistema necesita especializar. Bien, bueno, también os comentaba a Miguel Ángel, os recuerdo, estamos definiendo aquí el contexto, como la combinación de tres condiciones. Una condición del grupo de momento del día, podría ser mañana, tarde y noche, otra del clima, que es este espejado y nublado lluvioso, y otra del paisaje, que podría ser ciudad, campo y carretera. La combinación de cada una de ellas formaría un contexto. Bien, pues en este caso estaríamos sustituyendo esas subtareas por contexto. ¿Qué estaríamos consiguiendo con esto? Bueno, dar esa estructura de contextos y sus relaciones con lo que ve el sistema. Por ahí van a ir los tiros de la interpretabilidad, para que os vayáis haciendo una idea. Y bueno, el sistema, ¿qué es lo que ve? Estamos hablando de qué es lo que ve como la interpreta, pero vamos con un ejemplo. Pues el sistema estaría viendo esto que os mostro por aquí en estos vídeos. Por ejemplo, el color en el espacio RGB, tal cual viene en una secuencia de vídeo, pero también podemos extraer el movimiento con algoritmos de flujo óptico, de óptica al flow, como se puede observar aquí. A simple vista, parece un poco ruidoso, pero tiene mucha información de movimiento. Y es más, también podríamos incluir información semántica como tal. Podríamos utilizar algoritmos de segmentación semántica para extraer y decirle al sistema explícitamente, bien, pues esto es una carretera, esto es un coche, una persona, vegetación, el cielo. Esto te interesa más, te interesa menos a nivel conceptual. Bueno, pues toda esta es la información que absorbe el sistema de atención visual para conducir. Muy bien. ¿Qué sucedería si plasmamos la hipótesis que hemos enunciado en un modelo de Deep Learning? Esto es lo que sucedería. Esta es nuestra propuesta. Se llama GL CapsNet Global Local Capsule Network. Ahora os explico lo de global y local. Y en definitiva es lo que estamos enunciando en la hipótesis, ¿no? Teníamos que la atención visual se puede descomponer como la combinación de unas condiciones que conforman los contextos. Estas van a ser las cápsulas de condiciones. Y estas a su vez se pueden descomponer como características visuales. Estas son las cápsulas de las características visuales. Bueno, en definitiva el sistema absorbe o intenta leer la información del mundo, la información de color, de movimiento y de semántica, perdón. Continuación tiene tres tareas, una para cada grupo de condiciones, como se puede observar, se combinan y se reconstruye una atención visual especializada para cada contexto particular. Es decir, tenemos un sistema especializado. Es más, ahí arriba a la izquierda aparece algo que se denomina, que hemos denominado como presence. Presence se refiere a la presencia de las condiciones en la escena. Es decir, tú estás mirando una escena y cuál es la presencia de una condición y por qué regiones. Muy bien, pues en definitiva es la predicción de las condiciones, ¿vale? Por ejemplo, se puede observar que este sistema para esta muestra está prediciendo que está en un contexto de tarde, que es evening, sunny, que es despejado, y highway, que es carretera. Es decir, estamos dando bastante más información. ¿Pero qué está pasando ahí dentro? Hablábamos de estructura y de relaciones. ¿Y por qué hablábamos de estructura y de relaciones? Para poder interpretar, ¿no? Es decir, para poder definir conceptos semánticos humanos, plasmarlos en el sistema, relacionarlos y entender por qué toma ciertas decisiones, ¿no? Por lo menos tener más nociones o más información de cuál es el resultado. Bueno, pues funciona de la siguiente manera. Este es un esquema de cómo estaría funcionando, ¿vale? No me voy a detener demasiado, pero en definitiva, tenemos las cápsulas de características, como comentábamos, y las cápsulas de condiciones. Perfecto, pues tenemos un bloque de todas ellas. Un bloque de todas ellas es el cubo, mientras que la cápsula es un elemento alargado como el que se puede ver ahí, una cápsula de condición, una cápsula de características, perdón. Muy bien, pues ¿qué queremos conseguir con esta cápsula? Esta cápsula necesita ir a la etapa superior a el lugar correcto, es decir, necesita ser enrutada, relacionada. Bien, ¿cómo hacemos esto? Pues con un algoritmo de enrutamiento que tienen las cápsulas que hemos adaptado para este sistema y, volá, pues la cápsula de características se convierte en una cápsula de condiciones. ¿Qué obtenemos con esto? Ahí, como se puede ver en verde, este coeficiente de relación nos está dando un score, un parámetro. ¿Qué nos está diciendo, por ejemplo? Imaginaos que la de características fuera el color, y la de condiciones fuera la noche. Nos estaría diciendo, oye, para este estímulo de entrada concreto, ¿cómo relacionó el color con la noche? ¿Se parece mucho? ¿Se relacionen? ¿Tienen implicaciones? Pues lo más probable es que si es un contexto de noche el color sea muy influyente porque será todo mucho más oscuro. Es decir, que muy probablemente para ese estímulo de entrada tendrá valores de relación muy altos. Estoy ya testando mucha información. ¿Qué más? Bueno, no solo dependen estas relaciones de los estímulos de entrada, sino que también tenemos una guía. Vale, vamos a darle una ayuda. Y esta ayuda, cuál es? Si recordáis la función de presencia que estábamos comentando, esta función de presencia y predice las condiciones, ¿bien? Le va a dar una guía, una ayuda a estos coeficientes de enrotamiento para decir, oye, la cosa va por aquí. Es decir, tú tienes una inercia por el estímulo de entrada, pero yo te digo que la cosa va por aquí. Bueno, en definitiva, obtenemos estructura semántica, obtenemos relaciones, podemos interpretar estas relaciones y dependen del estímulo de entrada. Son dinámicas. Es como si tuviéramos un sistema que dice, ah, que ahora me llega este estímulo, pues me reajusto, me readapto y además expreso unas relaciones que puedo interpretar. ¿Bien? Bueno, vamos a pasar a los resultados. En primer lugar, antes de los más interesantes y llamativos, como pueden ser vídeos, clips, imágenes, etcétera, voy a pasar muy obviamente por quizá otros más aburridos, pero que son necesarios, son las métricas, cómo funciona el sistema. Que es decir, esto sirve para algo, funciona bien, funciona mal. Bueno, aquí aparecen muchos números, pero os explico a grandes frascos cómo funciona esto. A la columna de la izquierda, tenemos tres subconjuntos sobre los que hemos testeado el sistema. Lo hemos testeado para todas las secuencias de vídeo. En la segunda fila lo hemos testeado para únicamente las secuencias de vídeo, los fragmentos de vídeo en los que las condiciones están muy claras, en los que el contexto está muy claro, lo pere dice el sistema correctamente, está muy claro, es muy evidente. Y el último, actin, se refiere a las secuencias de vídeo donde el conductor estaba realizando una acción. Por ejemplo, un giro, por ejemplo, desviar el foco de atención hacia una persona que está caminando por la calle o que va a cruzar la calle, ¿no? Algo de ese estilo, un evento inusual, ¿no? Un cambio de atención, una acción. Bien, en modelo, en la columna modelo, tenemos dos, por cada caso, de prueba. Estos dos cuales son, pues, GL CapsNet, Global Lock, El Capsule Network, es el sistema que hemos propuesto, mientras que el otro es exactamente igual, pero quitando la estructura, las relaciones y las cápsulas. Vale, es un módulo de deep learning más estándar, pero exactamente igual. Pues bien, como podéis ver, hay dos bloques de métricas, las que están a la izquierda y las que están a la derecha. Las que están a la izquierda son las de atención visual. Parece que hay muchas métricas. Si queréis en la fase de preguntas os explicamos un poco, que son cada una, pero en definitiva, para muchas métricas de atención visual que no hay consenso para todas ellas, es un campo de investigación. De hecho, el tema de métricas en atención visual funciona mejor nuestra propuesta. El simple hecho de dar estructura y relaciones, le da al modelo una mejor funcionalidad, un mejor resultado, simplemente por añadir esa pequeña flexibilidad, además de dar interpretación. Bien, pues como podemos ver a la derecha, tenemos las métricas de predicción de estas condiciones, de estos contextos, y se puede observar que funciona bastante bien también. El que se ve un poco más complejo es el clima, weather, como podéis ver, y tiene su lógica también, porque imaginaos el clima, por ejemplo, un entorno nublado. Hay muchas formas de expresar visualmente que es nublado, pueden ser nubes, pero también puede ser que simplemente esté oscuro, o puede que haya niebla. Es bastante complicado y depende bastante más del color que de otras características visuales. Es muy difícil de aprender. Pero bueno, nació el sistema y lo conseguí aprender. Pues vamos a cosas más interesantes, un poco vídeos. Imaginaos lo siguiente, imaginaos dentro un par de años ya cada uno de vosotros con vuestro coche autónomo vais camino al trabajo y decís, oye, yo voy tranquilamente, voy pensando en la reunión que tengo ahora, pero de repente el coche viene a un giro muy brusco que os preocupa, sobresalta, decís, madre mía, ¿qué ha pasado aquí? Tenéis que parar, salir, sentar a su momento en un banco y decir, a ver, me planteo el teletrabajo, voy en metro, ¿qué hago? O sea, yo no sé si me fiaría mucho, sinceramente. ¿Qué es lo que está pasando aquí? ¿Qué necesitamos? Seguro que es un sistema perfecto y superrobusto, pero nos ha generado desconfianza. Necesitamos interpretaciones. Necesitamos decir, vale, ha pegado este giro brusco, porque ha atendido a cierta región del espacio, ese es el mapa de atención, pero vamos a dar un pequeño valor añadido en esta versión cero, ¿vale? Aquí estamos en versión cero de interpretabilidad, vamos a ir incrementándola poco a poco, y ese valor añadido es, bueno, la predicción de los contextos. Estábamos diciendo, oye, ha atendido a esta región del espacio porque, a ver, quizá del día no me preocupaba tanto, pero es que de noche que haya una persona andando por la calle, igual me preocupa más porque la veo mejor. Entendemos lo que estamos comentando, es decir, si contextualizas las decisiones que toma el coche de priorización o de atención, te genera bastante más tranquilidad. Este es un nivel básico, es un nivel cero, todavía no hemos entrado en interpretabilidad como tal, no hemos entrado en las relaciones de las estructuras que hemos comentado. Vale, esto es lo que te da el modelo por sí mismo, de serie, bien. Ahora vamos a entrar en algo un poco más profundo e interesante, y es esto aquí. Imaginaos, hablábamos de global y local, ¿bien? Vale, ¿qué creéis que significaba lo de global y lo de local? En todo esto hablábamos de estructura y de relaciones. Bien, pues global significa, por ejemplo, cómo relaciona el color y la noche con un valor, de manera global, es decir, el color y la noche para este estímulo de entrada se relaciona en un 95%. Vale, pero ahora, imaginaos que ese valor lo podemos expandir en un plano 2D, como si fuera un mapa de calor. ¿Vale? Obtenemos la interpretabilidad local, ¿bien? Bueno, pues una vez hemos entendido cuáles son las dos, aquí os estoy mostrando lo que es la interpretabilidad global, es decir, estas relaciones, ¿vale? ¿Qué podríamos obtener? ¿Para qué podría servir esto antes de entrar en la gráfica? ¿Vale? Suspa un poco la gráfica, parece que un mosaico, ¿no? Un poco enrevesado, pero tiene su sentido y responde una pregunta muy concreta, pero antes de entrar en eso, ¿qué podemos conseguir con estas dinámicas globales, estas interpretaciones globales de la información? Pues podríamos decir, oye, esto es atención visual. Vale, esto ya lo tenía, ¿no? Puedo decir que se prioriza esta región del espacio porque el coche dice que es más importante para este momento, le interesa más. Pero además puedo estar dando el contexto, como ya estaba dando. Pero es que es más, puedo estar diciendo, oye, prioriza esta región del espacio porque es por la noche, está lloviendo, me preocupa. Pero adicionalmente digo, oye, es que en esta región se relaciona de una manera el color distinta con la velocidad, por ejemplo, obtienes parámetros de relación entre diferentes comportamientos, ¿bien? Bueno, pues ¿qué podemos hacer con estos parámetros? Si los calculamos para toda la base de datos, es decir, existiría una acción que es, a tiempo real en el coche, expresar estas relaciones y decisiones y cuando es eventual sacar una alarma, pero también podemos analizar la base de datos, a ver si esto tiene sentido, ¿no? Bueno, pues vamos a sacar las relaciones globales para toda la base de datos, ¿bien? Bueno, pues esto es lo que tendríamos aquí. ¿Y qué pregunta responde? Responde a la pregunta de, oye, mi sistema aprovecha esto, organiza de una manera útil y eficiente la información, aprovechando que yo lo estoy diciendo que esto es un contexto y que esto son unas características. Bueno, pues vamos a ver cuál es la respuesta y cómo se calcula, ¿no? Aquí lo que estamos haciendo, por ejemplo, para primera fila, segunda columna, ¿vale? Un caso concreto que sería daytime, que es momento del día y color. Estamos obteniendo un dendrograma que se llama, pero en definitiva es para comparar, ¿vale? Estamos comparando, por ejemplo, la mañana con la tarde y con la noche, ¿bien? Eso son los valores numéricos, iban entre 0 y 1. Perfecto. Pues los valores de 0, ¿qué significan? Que la mañana es igual que la mañana. Es decir, toda la diagonal es cada uno consigo mismo. Tiene sentido, ¿no? Vale, es decir, que cualquier valor por encima de 0 implica que el sistema entiende algo. Y el sistema está diciendo, oye, yo sé que vengo del color. Y además sé que ahora viene algo de mañana. Si a mí me dirá igual a dónde enviar la información, yo digo 0, aleatorio, a cualquier sitio. Pero si yo sé que esto es de mañana y yo sé que está, yo soy el departamento de RGB, el departamento de color. Y, oye, yo sé que los de mañana trabajan fenomenal para que la mañana pues se le envía a ellos. Tiene sentido, ¿no? O sea, si gente especializada para trabajar a cierto tipo de información es mejor enviársela a ese tipo de gente. Pues eso es lo que está haciendo. Es decir, cualquier cosa mayor que 0 es mejor que nada. Es decir, ya está consiguiendo cosas muy importantes. Se ven casos más difíciles, como es el flujo óptico, OF, óptical flow, que, bueno, se ven todo un poco más oscuro, que parece que aporta menos, ¿no? Pero bueno, el resto parece que aporta bastante. Y hace mejorarle el sistema, como habíamos visto en las métricas. Bueno, en la horizontal obtenemos otra conclusión, que es el clima. Reforzamos esa conclusión que es difícil de aprender. Pero no solo que es difícil de aprender, sino que al sistema ya la estaba costando antes. Al sistema le está costando redirigir los trabajos. Saber decir, oye, se lo envío al departamento de Yuya o al departamento de Nublado. Pues no estoy muy seguro. Le está costando el sistema y, por tanto, la pérdición es más difusa, como habíamos visto en los resultados. Pero bueno, pasamos ahora a interpretabilidad local. Que esta sí que ya es el sumo. Teníamos un valor de relación. Lo vamos a expandir a un mapa de calor. ¿Y qué es lo que pasa? En realidad, esto eran relaciones en una primera instancia. Pero ¿qué hemos obtenido? Si os fijáis, estamos obteniendo mapas de atención visual. De nuevo. Era un sistema de atención visual. Habíamos incorporado una ayuda para dar interpretaciones. Y de casualidad hemos obtenido mapas de atención visual de nuevo. Pero no solo eso, sino que tenemos mapas de atención visual especializados, con nombre y apellidos. Es decir, por cada característica visual, el color, el flujo óptico, la segmentación semántica y por cada una de las condiciones. Tenemos mapas de atención visual muy especializados. Es decir, podrías priorizar la información de ciertas regiones del espacio, diciendo dado que es por la mañana y además hay un color muy luminoso. Es decir, estás dando seguras, segundas derivadas y terceras derivadas semánticas que a un usuario de un coche le podrían interesar, en caso de que haya algún problema, porque podría entender mejor por qué está tomando esas decisiones al coche. Es decir, la atención visual prioriza información, la atención visual con nombres y apellidos prioriza información y te explica por qué. Porque estás contextualizando la información. Para demostrar que esto tiene algún sentido, hemos cogido todos estos mapas de calor y los hemos aplicado a la base de datos. ¿Para qué? Pues son mapas de calor para filtrar información. Imaginamos que pasamos cada una de estas diapositivas, estos mapas de calor, los pasamos por los vídeos y extraemos patrones de información. Los procesamos, aplicamos, no voy a entrar en detalle aquí, pero al final es una fórmula vallesiana, una regla de valles que responde a la pregunta de la izquierda que dice, oye, yo como sistema, ¿cuál es la probabilidad de que yo atiende a cierta región del espacio o cuál es mi preferencia de atender a una región del espacio, dado que estoy en un contexto y dado que hay un patrón de características visuales? Es bastante más complejo que la simple atención visual. Te está particularizando para un contexto y para patrones visuales. Bueno, pues para responder a esta pregunta y agregando para todos los vídeos, obtenemos esto de aquí. ¿Para qué sirve este gráfico? Este gráfico sirve para justificar que realmente estos mapas especializados con nombres y apellidos de verdad sirven para algo y hacen cosas con sentido común. Y si los aplicásemos a cada estímulo de entrada, dirían algo con sentido común. Por ejemplo, en este agregado que hemos conseguido para el color, la primera fila, pues por ejemplo, para Downtown, que es la ciudad, comparado con Countryside y Highway, que son el campo y la carretera, pues se puede observar que el sistema le interesa menos o prefiere menos o le preocupa menos colores en destellos muy luminosos en la ciudad en comparación con, por ejemplo, la carretera. ¿Por qué? Porque es más probable que durante una conducción en ciudad bueno, no te encuentres tanto con destellos luminosos peligrosos o preocupantes, es más probable que estés tapado por edificios, que haya árboles, etc. Pero la carretera está saliendo en pérdida y todo el rato a ver destellos de coches van a perjudicar la información visual que observa el sistema. Al sistema le preocupa eso. Dice, me va a llegar peor información. Es más probable que me lleve peor información y me preocupan más esas situaciones. Por ejemplo, para el movimiento, la segunda fila, pues por ejemplo, para el caso de ciudad de nuevo, será una tónica general para todos los casos de preferencia por velocidades medias o bajas, pero por ejemplo, para la ciudad, ¿por qué creéis que prefiere velocidades altas o que le preocupan velocidades altas? Pues por lo siguiente, porque si tú vas conduciendo por la ciudad y ves un giro brusco de alguien, un adelantamiento, alguien se cae, una persona, una moto, velocidades rápidas, pues sinceramente son peligrosas en la ciudad, ¿vale? No son habituales, son eventuales y peligrosas. Si fueran constantes, ya estarías en estado de alerta constante y eso no es alerta, no es atención. Esta es un estado constante y estable observando la velocidad, no como pasa en la carretera, pero en la ciudad es algo eventual, es algo que sucede de repente y tienes que estar atento para cuando sucede. Y en el caso de segmentación, pues por ejemplo también a la derecha del todo, no se ve muy bien, pero os puedo asegurar que hay una barrita naranja que está más pequeña que en el otro caso de paisajes y la naranja indica señales de tráfico luminosas. ¿Qué le va a importar a un coche durante una conducción a una autopista? Un semáforo, o sea, no se va a esperar que vaya a aparecer, lo preocupa menos, no es que no le preocupe, es que le preocupa menos que el resto de cosas. Es decir, está priorizando bien la información, basándose en los contextos y en las características visuales. Por tanto, con esta imagen podemos concluir que está haciendo cosas con sentido común y como decía, si aplicamos estos filtros, estos mapas de calor especializados a las escenas, a los estímulos de entrada que recibe el coche, las respuestas semánticas que de van a tener mucho sentido en casos preocupantes para dar al usuario información y tranquilizarle. Esa sería la utilidad. Así que, bueno, pasamos un apartado de conclusiones. ¿Qué va a rematar, mi compañero? Muy bien. Simplemente, para terminar brevemente, ¿qué hemos visto con este sistema de atención visual para conducido autónoma? Hemos visto la importancia de esa interpretación a nivel global y a nivel local, a nivel global en primer lugar. Son estas interpretaciones que relacionan conceptos, que relacionan características visuales con condiciones que definen contextos de conducción. Pero, no solamente a nivel global, también a nivel local, nos interesa estas interpretaciones a nivel local para ver cómo se están dando estas características visuales en determinadas regiones de la escena, cómo se relacionan entre sí para poder explicar los eventos que están sucediendo en las mismas. Hemos visto que incorpora, además, esta información orientada a los contextos para mejorar la estimación de la atención visual. Lo hemos visto con esta tabla de resultados, muy por encima, pero efectivamente vemos que una atención visual orientada a contextos en los que estamos situados es mejor que una atención generalizada, que una atención sin esta información adicional que proporcionamos por medio de cápsulas. Y, además, hemos visto la utilidad que tiene para los usuarios esta interfaz que podría ser mejorada, que podría incorporar un mayor número de información, incluso se podría complementar con explicaciones extraídas a partir de estos grafos que hemos visto a continuación, que sean más fáciles de entender para los usuarios de los coches autónomos. Bien, pues todo esto es lo que hemos estado desarrollando durante estos meses. Sin embargo, tenemos todavía más dentro de esta caja de posibles soluciones, de posibles complementos para el sistema. Muchas de estas ideas en los próximos, en los pasos futuros surgieron ya desde el comienzo del proyecto. Y las vamos a enumerar aquí también porque son perspectivas que contemplamos para continuar con el sistema. Contemplamos incorporar una nueva, un nuevo nivel en esa jerarquía que modele de manera más inteligente los contextos. Los contextos hasta ahora se han definido como combinación de condiciones independientes. Pues vamos a tratar de modelar contextos mediante cápsulas que relacionen de manera más inteligente esas condiciones. También podemos incorporar hasta ahora el movimiento, hasta ahora la información dinámica. Estamos ante un escenario de vídeo solamente lo hemos modelado mediante el flujo óptico, mediante la estimación de dicho flujo óptico para considerar el movimiento. Pero también podemos modelar dinámicas temporales utilizando arquitecturas, utilizando capas como las LSTMS, como las convoluciones 3D son tipos de neuronas que podemos incorporar, que podemos testear, evaluar en este sistema para comprobar si suponen una mejora al mismo. Y por último tenemos la línea del one shot learning. Lo que veíamos al principio con esa aplicación real es que buscamos adaptar nuestro sistema en tiempo real lo más rápidamente posible a partir de la menor cantidad de información visual posible. Y dentro de ese campo, dentro de esa adaptación investigaríamos estudiaríamos diferentes técnicas de one shot learning para poder incorporar dicha funcionalidad al sistema. Para terminar tenemos aquí las referencias. Las referencias es que nos hemos apoyado para la presentación. Por si las quieren consultar en cualquier momento son referencias a artículos en los que nos hemos apoyado para realizar el sistema. Y por mi parte es todo. Muchas gracias por su atención. Les dejo con Javier que les va a presentar unos enlaces donde tienen toda la información sobre el sistema que hemos desarrollado. Muy bien. Simplemente para terminar dos palabras. El grupo de procesado multimedia en el que trabajó Miguel Ángel y de la Universidad Carlos III ha financiado estas investigaciones de proyecto. Y bueno, terminar con contribuciones a la comunidad. Estamos en proceso de publicación de un artículo en eCubo Access. Todavía no lo hemos publicado, nos ha terminado la fase de publicación y no podemos disponibilizar el código en Greek Hub. De momento he creado en mi repositorio y personal en Javier M.C. Brean barra GL CapsNet como el sistema que hemos presentado. He creado el repositorio. Está vacío. Con un contacto. Para mí, por si necesitáis intercambiar una serie de ideas, dudas, ayudas, etc. Y la descripción de lo que vamos a subir en breve en cuanto tengamos la publicación terminada. Y bueno, para ello en la página web del BigSins os proporcionan nuestro LinkedIn, Twitter, etc. donde podéis seguirnos y ahí vamos a anunciar cuando esté disponible porque vamos desde nuestro punto de vista. Hemos comentado tres líneas futuras muy interesantes que llevan mucho trabajo que creemos que, bueno para trabajarla rápido y conseguirla rápido hace falta más gente y si hay gente interesada y quiere hacer publicaciones continentes de trabajo pues estaríamos encantados. Así que muchas gracias por su atención y estaríamos encantados de responder cualquier pregunta que tengan. Gracias. Buena por la charla primero. Y mi pregunta es cuando habláis de la validación o sea las medidas, las métricas de la atención visual en la certeza de atención visual ¿cuál es vuestro ground truth? ¿Cómo habéis conseguido el ground truth de atención visual de las imágenes y vídeos? Sí, creo que en alguna de las primeras diapositivas ¿cuándo es tu opinión? Sí, realmente el ground truth se consigue de seguimiento de los ojos de los usuarios son dispositivos que se llaman eye trackers y pueden ser wearables pueden ser gafas que utilizas mientras estás conduciendo o pueden realizarse estos experimentos pueden realizarse mediante una especie de barrita que se coloca en frente de la pantalla para poder capturar el movimiento de los ojos de las personas. ¿Cuántas de datos está notada con gafas? ¿Son escenarios de conducción reales? Bueno, estoy intentando llegar pero esto va alento para un ejemplo que teníamos aquí teníamos algo de intrepés por... Bueno, sí, eso son fijaciones realmente son suavizadas con una gauciana para generalizar un poquito pero son fijaciones reales de los usuarios ¿Bien? ¿Alguna pregunta más? Bueno, no hago con mala idea para nada y soy consciente de que puedo preguntar una estupidez pero ya que de alguna forma tenéis mapeados los estímulos con las cápsulas sería interesante, se me ocurre una tontería ¿Generar estímulos ficticios de alguna forma? ¿Ustilizar esa información para tratar de generar estímulos ficticios que sirvan para algo? Si te entiendo bien, estímulos ficticios ¿A partir de qué? Exactamente ¿A partir de la información que tienes de las cápsulas? Ah, vale, ya te entiendo ¿Ustilizar la información como generadora de... ¿No es una arquitectura generativa pero podría ser? Claro, justo, o sea no está planteada como arquitectura generativa más que estas relaciones es un algoritmo de enrutado por similaridad dice, oya, ¿a dónde creo que debo enviar y si parece que va bien voy hacia acá pero no es generativo, es más representacional por así decirlo entonces, más que generar estímulos bueno, los absorbe, los aprende y aprende a dirigirlos es a su capacidad podría ser interesante también investigar esa vida, claro que sí diseñar la otra forma para que fuese posible pero muy interesante la pregunta Sí, por supuesto Bueno, mi pregunta va más por la aplicación de Capsule Network que estabais utilizando para tema de atención visual creéis que es una solución para otro tipo de problema de AI para explicabilidad, o sea para interpretabilidad porque yo que aquí el contexto lo habéis fijado vosotros los contextos quiero yo evaluar y en base de eso se que influye que es noche, que es día, que es llueve, que no pero son, a lo mejor, un otro tipo de problemas no es así En definitiva, el nombre particular de mañana, tarde y noche son particulares de esta base de datos de vídeo, pero podrías insertar la que definirse tu problema o sea, sería sería como un hueco una Capsule sin nombre y apellidos y tú soladas en base de datos que caracteriza, que contexto influye en las decisiones Eso es, hace falta una persona que etiquete también exactamente, eso es vamos a empezar a ver bastantes bases de datos etiquetadas en ese sentido, con contextos y condiciones porque tiene mucho sentido sobre todo para temas de tomar intrasfer y este tipo de aplicaciones