Ada ya tiene a un equipo de trabajo desarrollando la aplicación de gestión hotelera. Pero ha decidido formar otro pequeño grupo de desarrollo que se va a dedicar a investigar la viabilidad de incluir interfaces naturales de usuario a la aplicación de gestión hotelera. La idea de Ada es que estos interfaces naturales complementen a los interfaces gráficos dotando a la aplicación de una mayor usabilidad y naturalidad en la interacción con los usuarios.
Para ello ha decidido poner a Vindio al frente de este grupo de investigación. Vindio obtuvo el título de Técnico Superior en Desarrollo de Aplicaciones Multiplataformas hace 8 años y posteriormente realizó el Curso de Especialización en Inteligencia Artificial y Big Data por lo que es la persona más cualificada para llevar a cabo este trabajo. Vindio decide que su grupo lo formarán Noiba, Naroba y Jana, que son tres estudiantes del Ciclo de Desarrollo de Aplicaciones Multiplataforma que están realizando la FCT en la empresa BK Programación. Como responsables del grupo de trabajo, Vindio decide poner a Juan y Laro que a su vez dirigirán el trabajo de Noiba, Naroba y Jana. Juan y Laro son Técnicos Superiores en Desarrollo de Aplicaciones Multiplataformas y tienen una amplia experiencia en el desarrollo de software.
Tras una reunión de trabajo, Vindio, Juan y Laro deciden que el grupo debe comenzar investigando qué son los interfaces naturales de usuario y los tipos que hay, así como las mejores herramientas y tecnologías para su desarrollo.
Atributo de calidad que mide lo fáciles de usar que son las interfaces de las aplicaciones.
En desarrollo de interfaces, interacciones intuitivas del usuario utilizando sus patrones de comportamiento y habilidades innatas.
Campo de las Ciencias de la Computación cuyo objetivo es crear sistemas informáticos que ejecuten operaciones comparables a las que realiza la mente humana, como el aprendizaje, el razonamiento lógico, compresión del lenguaje, etc.
Conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de las operaciones de un sistema de computación.
Conjuntos de datos grandes y diversos que tienen un gran volumen y que también crecen rápidamente de tamaño con el tiempo.
Vindio ha pensado que sería aconsejable preparar una breve introducción sobre el aprendizaje automático y su aplicación en el desarrollo de los interfaces naturales. Con esta idea se reune con Juan y Laro para plantearles la idea.
Como sabéis, el gran avance y su alto nivel de implantación de los interfaces naturales de usuario en los sistemas actuales se debe en gran parte a las innovaciones en aprendizaje automático, por lo que he pensado que sería conveniente elaborar una introducción al aprendizaje automático para entender mejor los interfaces naturales y cómo podríamos implementarlos en la aplicación de gestión hotelera. ¿Qué os parece la idea?, — pregunta Vindio.
—A mi me parece una buena propuesta. Sería un complemento perfecto para añadir a los resultados que obtengamos en el estudio sobre interfaces naturales que debemos realizar, —comenta Juan
—Yo también pienso que es una buena idea, —añade Laro. Mi única duda es cómo organizar el trabajo. Juan y yo estaremos a cargo de la investigación sobre interfaces naturales con la ayuda de Noiba, NarobayJana. Si trabajamos en esta introducción tendremos que posponer el inicio del estudio.
—Ya había pensado en eso, —responde Vindio. Creo que lo más eficiente es que vosotros os centréis en el estudio sobre los interfaces naturales de usuario y yo me encargue de la introducción al aprendizaje automático. De esta manera podremos trabajar en paralelo. Si estamos todos de acuerdo podemos comenzar ya a trabajar.
—Por mi parte, totalmente de acuerdo, —afirma Laro.
Los interfaces naturales de usuario deben su cada vez mayor implantación y aceptación por parte de los usuarios a los avances conseguidos, sobre todo en las dos últimas décadas, en el aprendizaje automático. Los interfaces naturales de usuario son posibles gracias a las distintas técnicas de aprendizaje automático que permiten el procesamiento eficiente de la voz y el habla, el análisis de las imágenes para captar y analizar gestos, poses, movimiento y partes del cuerpo de las personas que interactúan con los sistemas y, por supuesto, alcanzar la fusión entre el entorno físico y el entorno digital que se consigue mediante la realidad aumentada.
El aprendizaje automático es una disciplina de la Inteligencia Artificial cuyo objetivo es que los sistemas informáticos aprendan.
Campo de las Ciencias de la Computación cuyo objetivo es crear sistemas informáticos que ejecuten operaciones comparables a las que realiza la mente humana, como el aprendizaje, el razonamiento lógico, compresión del lenguaje, etc.
Imagen generada mediante inteligencia artificial usando ChatGPT Plus de OpenAI.. Aprendizaje automático.(Dominio público)
Podemos agrupar el aprendizaje automático en tres categorías principales:
Aprendizaje supervisado. En este tipo de aprendizaje el sistema aprende con datos etiquetados. Datos etiquetados significa que los datos de entrenamiento o aprendizaje (datos conocidos) tienen una etiqueta (categoría o valor numérico continúo) asociada, es decir, es necesario que el humano etiquete los datos de entrenamiento. El objetivo de los sistemas de aprendizaje supervisado es conseguir que el sistema llegue a ser capaz de predecir la etiqueta asociada de datos nuevos. Los sistemas supervisados, según el tipo de etiqueta, se dividen en:
Modelos de clasificación. La etiqueta es una categoría (por ejemplo: "hormiga", "coche", etc.).
Modelos de regresión. La etiqueta es un valor numérico continuo (por ejemplo: predecir valor de un determinado producto, etc.).
Aprendizaje no supervisado. En el aprendizaje no supervisado el sistema aprende con datos no etiquetados. No hay intervención humana para etiquetar los datos sino que es el sistema el que se encarga de identificar patrones, agrupaciones o relaciones entre los datos.
Aprendizaje por refuerzo. El sistema aprende tomando decisiones o acciones interactuando con el entorno para conseguir un objetivo. El objetivo se alcanzará (el sistema aprenderá) recompensando o penalizando al sistema si las decisiones o acciones que van siendo ejecutadas sean correctas o incorrectas.
Se ha comentado anteriormente que gracias al aprendizaje automático los interfaces naturales de usuario han alcanzado un auge y un nivel de usabilidad tan alto que cada vez más se están implantando en los sistemas informáticos. Esto es cierto, pero para ser más exactos, ha sido el desarrollo en aprendizaje profundo o Deep Learning quien ha revolucionado la interacción entre las personas y los sistemas.
El aprendizaje profundo es un subcampo o subcategoría del aprendizaje automático cuya principal característica es que está basado en redes neuronales artificiales de múltiples capas. A este tipo de redes neuronales artificiales se las denomina también redes neuronales profundas. El aprendizaje profundo tiene como objetivo imitar lo mejor posible el funcionamiento del cerebro humano en el procesamiento de la información y el aprendizaje.
Mediante el uso del aprendizaje profundo los interfaces naturales de usuario son más naturales e intuitivos, ya que el aprendizaje profundo permite el procesamiento de gran cantidad de información en tiempo real.
Las principales aplicaciones del aprendizaje profundo en los interfaces naturales de usuario son las siguientes:
Reconocimiento de voz y habla.
Reconocimiento de poses y gestos.
Reconocimiento del movimiento y partes del cuerpo.
Realidad aumentada.
A lo largo de esta unidad iremos estudiando cada una de estas aplicaciones del aprendizaje profundo en los interfaces naturales de usuario y revisaremos herramientas de aprendizaje automático de uso en cada uno de estos tipos de interfaces naturales.
Aún así, hay herramientas de aprendizaje automático que son esenciales en el ámbito de los interfaces naturales. Estas herramientas son las siguientes:
OpenCV. Librería de código abierto de visión por computador esencial para el procesamiento de imágenes y vídeos.
PyTorch. Plataforma de aprendizaje automático y aprendizaje profundo de código abierto desarrollada por Facebook. Muy utilizada en investigación ya que es una plataforma con la que se pueden diseñar, entrenar y evaluar modelos de aprendizaje profundo de manera intuitiva.
TensorFlow. Plataforma de aprendizaje automático y aprendizaje profundo de código abierto desarrollada por Google. Muy usada ya que permite fácilmente crear, entrenar y desplegar modelos de aprendizaje profundo.
Unity ML-Agents. Herramienta de código abierto que utiliza aprendizaje por refuerzo y aprendizaje supervisado para entrenamiento de modelos de aplicación en realidad aumentada.
Atributo de calidad que mide lo fáciles de usar que son las interfaces de las aplicaciones.
Noiba, Naroba y Jana se reúnen para comenzar su investigación sobre los interfaces naturales de usuario. Deciden que lo primero que deben estudiar es qué son, qué tipos de interfaces naturales existen, en qué consisten cada uno de ellos y cuales son sus ventajas y desventajas.
Noiba le pregunta a Naroba y Jana si alguna sabe qué es un interfaz natural y como se interactúa con este tipo de interfaces. Jana le responde que no lo sabe, pero que a ella le parece que deben ser interfaces muy fáciles de usar. Las tres deciden que es un tema que les interesa y comienzan a buscar información sobre los interfaces naturales
Los interfaces naturales de usuario NUI son un modelo de interacción persona-ordenador orientado a que la comunicación con la tecnología se asemeje a la forma como las personas interactuamos en nuestro entorno. Es decir, en los interfaces naturales el usuario ejecuta acciones naturales (voz, tacto, movimientos corporales y gestos) para comunicarse con el sistema.
La diferencia principal con los interfaces gráficos de usuario GUI es que mientras que en los interfaces gráficos el usuario necesita utilizar dispositivos artificiales (ratón, teclado) para comunicarse con el sistema, en los interfaces naturales el usuario realiza esta comunicación mediante acciones intuitivas como son hablar, tocar o señalar.
Los interfaces naturales de usuario surgen como respuesta a dos necesidades principales identificadas en el campo de la interacción persona-ordenador. Estas necesidades son:
Independencia del usuario de dispositivos intermedios para comunicarse con el sistema. El usuario debe transportar los dispositivos externos (ratón, teclado) para interaccionar con el sistema.
Reducir la curva de aprendizaje para el uso de los interfaces. En los interfaces naturales el usuario ejecuta acciones naturales o innatas para comunicarse con el sistema. Esto no quiere decir que el aprendizaje desaparezca totalmente sino que el usuario utiliza conocimientos previos de su comunicación en el mundo físico para interactuar con el sistema (por ejemplo, para interactuar con un asistente de voz el usuario utiliza el habla pero debe aprender los comandos para acciones específicas).
En un interfaz natural de usuario la interacción entre la persona y el sistema se realiza de la manera lo más natural e intuitiva posible eliminando dispositivos externos artificiales dando al usuario una sensación de comunicación directa y fluida con el sistema.
A la hora de plantearnos el diseño de un interfaz natural de usuario NUI hemos de tener en cuenta las características que un interfaz debe tener para que se considere interfaz natural de usuario y que son las siguientes:
La interacción con el sistema debe ser natural (gestos, voz, tacto, movimiento) dando al usuario la sensación de que el interfaz es una extensión de su cuerpo (invisibilidad del interfaz).
Deben ser amigables e intuitivas.
Deben tener una baja curva de aprendizaje. Al presentar una interacción intuitiva o natural, los interfaces naturales están diseñados para que el usuario pueda comenzar a utilizarlos con muy poca o ninguna formación previa.
Integrarse con el contexto o entorno de uso. Un interfaz natural debe tener en cuenta el contexto de uso, ya que sus utilización en un contexto determinado puede no ser idóneo en un contexto distinto, por cual debe adaptarse a las características del entorno.
Flexibilidad. Un interfaz natural debe adaptarse al usuario (características, habilidades, preferencias) y al entorno de uso.
Una vez conocidas las características que debe cumplir un interfaz de usuario para que sea considerado un interfaz natural, vamos a describir la arquitectura general de los interfaces naturales de usuario detallando los componentes y módulos que conforman el comportamiento del interfaz:
Entorno real. Es el mundo físico en el que usuario está inmerso (personas, objetos, espacios) y, por lo tanto, es el entorno con el que el usuario interactúa.
Dispositivos de entrada. Son los sensores del sistema encargados de captar las acciones naturales del usuario. Estos sensores realizarán las siguientes funciones:
Reconocimiento de voz
Reconocimiento de gestos
Sensores de movimiento y posición
Cámaras y micrófonos.
Módulo de captura y procesamiento de señales. Convierte las señales generadas por los sensores en datos procesables y realiza el filtrado, segmentación y reconocimiento de patrones.
Módulo de interpretación. Este módulo realiza el análisis de los datos procesados (módulo de captura) para identificar la intención del usuario al ejecutar su interacción. También en este módulo se lleva a cabo el reconocimiento de comandos (voz, tacto, movimientos corporales y gestos), emociones o estados.
Módulo de control o de lógica de interacción. Decide las acciones del sistema basándose en los resultados obtenidos en el módulo de interpretación. Se denomina módulo de control ya que también es el módulo encargado de coordinar las operaciones internas y la comunicación con otros módulos.
Dispositivos de salida o feedback. Por último, los dispositivos de salida muestran la información generada por el sistema de forma natural al usuario. Los dispositivos de salida son de alguno o algunos de los tipos siguientes:
Para entender mejor los distintos tipos de interfaces naturales existentes vamos a repasar brevemente su evolución. Aunque diversas aproximaciones al desarrollo de interfaces naturales se han ido realizando en las últimas décadas del siglo XX, el auge de los interfaces naturales de usuario se ha producido en este siglo XXI, concretamente a lo largo de las primeras décadas del 2000 con la implementación y comercialización generalizada de productos. En forma esquemática, la evolución cronológica de los interfaces naturales de usuario es la siguiente:
Interfaces táctiles. Podemos afirmar que actualmente las pantallas táctiles son el tipo de interfaz natural más extendido.
Fue en 2007 cuando iPhone comercializó la pantalla táctil permitiendo al usuario deslizar, usar los dedos para ampliar, etc. en sus dispositivos. Esta fecha se considera el principio del auge de los interfaces naturales de usuario ya que es la primera vez que se implementaron con éxito en productos de comercialización masiva.
En 2008 Microsoft presentó Surface (la actual PixelSense) que era una mesa interactiva táctil para manipular objetos digitales.
Interfaces de gestos, movimientos y partes del cuerpo.
En 2010Microsoft lanza Kinect que es un sensor que detecta los movimientos del jugador y también reconoce unos pocos comandos de voz mediante un interfaz natural permitiendo al jugador interactuar con la consola Xbox360 sin contacto físico. Kinect supuso la introducción de los interfaces naturales en millones de hogares ampliándose con rapidez en otros campos como en la robótica, rendimiento deportivo, rehabilitación física, etc.
Interfaces de voz y habla. Gracias a los avances en inteligencia artificial el reconocimiento de voz está mejorando exponencialmente siendo los interfaces de voz (asistentes de voz domésticos, teléfonos inteligentes, sistemas de asistencia y control en automóviles, etc.) los interfaces naturales más extendidos tras los interfaces táctiles. Las fechas históricas más significativas son:
2011 Siri (Apple) fue el primer asistente de voz.
2014 Amazon lanza Alexa que es el primer asistente del hogar del mercado.
2016 Google comercializa GoogleHome.
Realidad virtual RV. La realidad virtual se considera interfaz natural de usuario ya que el usuario interactúa con el sistema mediante el giro de cabeza, sensores, controles manuales o con las propias manos. Aunque las primeras aproximaciones a la realidad virtual se realizaron en los años 60, fue en los años 90 con la comercialización de gafas de realidad virtual y guantes por la empresa VPL Research y su aplicación en simuladores militares y juegos (Nintendo, 1995) cuando se consideran los inicios de la realidad virtual. Pero debido a sus limitaciones técnicas, no es hasta el lanzamiento del Oculus Rift (2012) con gráficos HD y seguimiento de movimiento cuando podemos hablar de la realidad virtual moderna y de uso extendido.
Realidad aumentada RA. La realidad aumentada es un avance significativo en los interfaces naturales de usuario ya que integra elementos virtuales con el mundo real, es decir, se consigue combinar el entorno físico con elementos digitales. En 2016 se comercializa MicrosoftHoloLens que es el primer casco autónomo de realidad aumentada RA con el cual se pueden manipular hologramas en el espacio físico que rodea al usuario mediante gestos y movimientos de la mano y con comandos de voz.
En esta unidad vamos a estudiar los interfaces naturales de usuario con interacción mediante voz y habla, interfaces con reconocimiento de gestos, partes del cuerpo y movimiento y conoceremos también los interfaces naturales con realidad aumentada.
Noiba, Naroba y Jana continúan con la tarea encomendada y ya entienden qué son los sistemas naturales de usuario, cómo es la interacción entre la persona y el sistema en este tipo de interfaces y los tipos qué hay. Deciden que deben profundizar en los distintos tipos de interfaces naturales que existen.
—Investigando he visto que existe un tipo de interfaz denominado interfaz multimodal de usuario. —comenta Noiba.
—Pero ese tipo de interfaz no es un interfaz natural de usuario, —afirma Jana.
—Creo que debemos estudiar este tipo de interfaz y la posibilidad de utilizarlo en la aplicación de Hoteles, —dice Naroba.
Imagen generada mediante inteligencia artificial usando ChatGPT Plus de OpenAI. Multimodales(Dominio público)
Los interfaces multimodalesde usuario MUI guardan una estrecha relación con los interfaces naturales de usuario aunque existen diferencias notables. Para entender qué son los interfaces multimodales vamos a realizar un breve repaso de los tipos de interfaces de usuario que conocemos hasta ahora.
Como sabemos, en los interfaces de texto CLI la interacción usuario-sistema se realiza mediante línea de comandos (el usuario escribe instrucciones de texto para interactuar con el sistema) mientras que en los interfaces gráficos la interacción se lleva a cabo con la selección de opciones en pantalla manipuladas mediante periféricos. Por otro lado, en los interfaces naturales NUI el usuario ejecuta acciones naturales(voz, tacto, movimientos corporales y gestos) para comunicarse con el sistema.
Y como evolución natural de estos distintos tipos de interfaces de usuario surgen los interfaces multimodales de usuario MUI. En los interfaces multimodales de usuario MUIla comunicación entre el usuario y el sistema puede realizarse en múltiples modalidades de interacción. Es decir, en los interfaces multimodales la comunicación del usuario con el sistema (y viceversa) se realiza mediante múltiples canales o modos de entrada y salida. Estos canales pueden ser utilizados alternativamente o en paralelo.
Podemos pensar que los interfaces multimodales MUIson una mera integración de los interfaces de texto, gráficos y naturales, pero esto no es así. Al admitir el sistema varios canales de entrada, pudiendo además ser esos canales utilizados en paralelo, el sistema debe ser capaz de fusionar esas entradas para entender la intención del usuario.
El objetivo de los interfaces multimodales de usuario MUIes imitar la comunicación humana permitiendo varios modos de interacción ejecutándose simultáneamente.
Las características principales de los interfaces multimodales son las siguientes:
Integración y sincronización de múltiples modos de interacción. Se permite la entrada y salida por varios canales simultáneamente (por ejemplo, orden de voz + gesto).
Robustez y manejo de errores. Durante la interacción, ante el fallo en un canal el sistema utiliza otros canales disponibles (por ejemplo, si el sistema no puede procesar la comunicación debido a un entorno ruidoso recurre a otros canales como el táctil para confirmar la acción).
Accesibilidad inclusiva. Facilitan el acceso a usuarios con limitaciones ofreciendo canales de interacción alternativos (por ejemplo, control por voz disponible para personas con movilidad reducida).
Redundancia y complementariedad.
Redundancia. Se pueden reforzar mensajes utilizando varios canales simultáneos (por ejemplo, alarma visual, sonora y táctil).
Complementariedad. Cada modo o canal aporta información única que el sistema integra para entender la acción a realizar (por ejemplo, decir "borrar" y a la vez se toca o señala el icono de un archivo en la pantalla).
Que un interfaz de usuario sea multimodal no significa que tenga que ser un interfaz natural. Un interfaz multimodal es aquel que permite la interacción mediante diversos canales en paralelo de entrada y salida. Pero esos canales no tienen por qué ser canales intuitivos o naturales. Por ejemplo, hay chatbots en los que la interacción se realiza mediante distintos canales como texto, imagen, archivos, etc. pero esos canales no tienen por qué ser naturales.
Programa informático que simula una conversación con usuarios finales humanos.
—Juan, he estudiado los resultados de la investigación de Noiba, Naroba y Jana y a raíz de estos resultados me gustaría explorar si podríamos integrar el reconocimiento de voz y habla en nuestra aplicación de gestión hotelera.
—Vindio, me parece buena idea. Te propongo que comiences profundizando en las características fundamentales de los interfaces con reconocimiento de voz y habla. Luego puedes estudiar su arquitectura general y por último analizar las herramientas disponibles para desarrollar este tipo de interfaces. Una vez hecho esto creo que tendremos suficientes elementos para decidir la conveniencia o no de desarrollar e integrar estos interfaces en la aplicación.
—Juan, me parece un buen plan de trabajo. Lo haré así.
—Vidio, perfecto. Entonces hablaré con Laro para que se profundice en los otro tipos de interfaces naturales.
Imagen generada mediante inteligencia artificial usando ChatGPT Plus de OpenAI. Detección de voz(Dominio público)
Sin duda, una de las mayores revoluciones en la interacción de las personas con los sistemas informáticos ha sido la integración del uso de la voz y el habla como forma de interactuar con la tecnología. Los interfaces naturales de usuario con interacción por voz y habla proporcionan una comunicación intuitiva basada en las habilidades naturales del usuario que generan experiencias accesibles y naturales en la interacción persona-sistema.
Los sistemas dotados con interfaces naturales de usuario por reconocimiento por voz y habla son un enfoque de interacción persona-sistema muy intuitivo que está transformando la interacción entre las personas y los sistemas. El reconocimiento de voz y habla es actualmente un enfoque fundamental en el desarrollo de nuevas tecnologías que se adapten de una manera cada vez más natural y eficiente al ser humano.
Imagen generada mediante inteligencia artificial usando ChatGPT Plus de OpenAI.(Dominio público)
Para conseguir la conversión de habla a texto, un sistema ASR utiliza técnicas de procesamiento de señales acústicas, aprendizaje automático y reconocimiento de patrones ejecutadas por etapas secuenciales. Para entender el funcionamiento de un sistema de reconocimiento de voz, a continuación se describen de forma esquemática las etapas o componentes de un proceso ASR.
Adquisición de señal: Este componente se encarga de la captura de audio mediante micrófonos u otros dispositivos hardware. Además, realiza la conversión del audio (señal analógica) a señal digital mediante conversores analógicos-digitales A/D.
Preprocesamiento: Es necesario para su procesamiento, la eliminación del ruido existente captado en la adquisición de la señal, realizar una normalización del volumen de manera que la señal sea consistente y segmentar o dividir en porciones manejables la señal de audio.
Extracción de características: Después de preprocesar la señal capturada se extraen las características relevantes, o dicho de otra forma, se extraen del audio procesado las características relevantes que aportan información útil. Para entenderlo mejor, en este proceso convertimos las señales de audio a números que serán las entradas de los modelos acústico y del lenguaje.
Modelado acústico y lingüístico: Una vez extraídas las características, el sistema debe interpretar el sentido del audio, es decir, qué se dijo, cual era la intención del audio. Para ello se utilizan dos modelos:
Modelo acústico que se encarga de identificar los sonidos del audio (palabras, fonemas). Es decir, traducen las características sonoras en unidades lingüísticas básicas.
Modelo de lenguaje el cual identifica las palabras o frases con sentido.
Decodificación y postprocesamiento: Es la etapa final del sistema de reconocimiento de voz. En esta etapas se obtiene el texto reconocido. Esta etapa está compuesta a su vez de las siguientes dos subetapas:
Decodificación. Esta fase la podemos definir como la etapa en la que el sistema realiza una búsqueda e identificación de frases posibles.
Postprocesamiento. En esta última etapa se realizan las correcciones de errores y se da formatos al texto extraído en la decodificación. Una vez hecho esto, se procesan los comandos, se ejecutan acciones y se generan respuestas adecuadas al usuario.
Salida o retroalimentación. Finalmente se responde al usuario. La retroalimentación se lleva a cabo mediante generación de texto en pantalla y/o respuestas habladas TTS y/o acciones directas en los dispositivos (encender luces, reproducir música, etc.).
Laro, necesito que profundices ahora en la viabilidad de integrar interfaces naturales con reconocimiento de poses y gestos en nuestra aplicación de gestión hotelera, — comenta Vindio.
Entendido. Te propongo el siguiente plan de investigación: primero hacer una revisión conceptual. Entender la diferencia entre las poses y los gestos. Luego hacer un estudio de la arquitectura de los interfaces con reconocimiento de pose y gestos y por último analizar las herramientas disponibles, —le propone Laro.
Me parece perfecto. ¿Cuando crees que podrá tener un informe con esos tres puntos?, — pregunta Vindio.
Voy a pedir a Noiba, Narobay Jana que me ayuden. Con su ayuda, creo que podremos tener el informe acabado en una semana, — responde Laro.
De acuerdo, Laro. Es un plazo bastante razonable. Incluye por favor también una sección con una propuesta del hardware mínimo necesario, —comenta Vindio.
Conjunto de los componentes que integran la parte material de una computadora.
Los interfaces naturales de usuario con reconocimiento de poses y gestos son interfaces que incluyen tecnologías capaces de detectar la pose o postura corporal del usuario e interpretar determinados gestos realizados por el usuario. Tanto la detección de la pose como los gestos son utilizados como entradas al sistema.
Imagen generada mediante inteligencia artificial usando ChatGPT Plus de OpenAI . Gesto
La diferencia entre la pose y el gesto es fundamental para comprender el funcionamiento de estos interfaces:
Reconocimiento de poses. Una pose es una representación estática del cuerpo. Es decir, el reconocimiento de pose consiste en identificar partes determinadas del cuerpo en posiciones concretas. No hay movimiento de esas partes del cuerpo.
Reconocimiento de gestos. El gesto, al contrario que la pose, implica el movimiento deliberado de partes del cuerpo definidos como entradas en el sistema con el que se interactúa.
Los interfaces naturales con reconocimiento de pose y gesto necesitan de algoritmos de alta precisión, estos algoritmos deben ser capaces de realizar, en tiempo real, identificaciones específicas de posiciones corporales exactas y de movimientos predefinidos de partes del cuerpo. Por ello, este tipo de interfaces naturales son utilizados en sistemas que requieran una interacción usuario-sistema clara y precisa (los comandos específicos de los interfaces textuales son sustituidos por gestos o poses determinadas).
La identificación de las poses y gestos, en la mayoría de los sistemas, se realiza mediante la ejecución de modelos de Visión por Computador (VC).
A continuación vamos a revisar una arquitectura general de un interfaz natural de usuario con reconocimiento de pose y gestos. Esta arquitectura puede extenderse a la arquitectura de interfaces con reconocimiento de movimiento y partes del cuerpo, ya que la diferencia entre uno y otro tipo de reconocimiento reside en los algoritmos utilizados para la identificación de la pose o del movimiento. El resto de componentes (entrada mediante cámaras, análisis de imágenes y salida/feedback).
La arquitectura de un interfaz natural de usuario con reconocimiento de pose y gestos es una arquitectura por capas de procesamiento. De esta manera, la arquitectura realiza la captura del gesto y/o pose del usuario, identificación y reconocimiento de la pose o del gesto, decisión de la acción a ejecutar y ejecución de la acción (salida) hasta la ejecución de una acción en la aplicación. Este proceso está formado por los siguientes componentes:
Captura de datos de entrada. Para realizar la captura de datos se utilizan distintos tipos de sensores dependiendo del tipo de gestos o poses. En el proceso de la captura de datos es muy común el uso de sensores como acelerómetros, cámaras RGB, cámaras infrarrojas, etc. y en concreto, para detección de poses se suele combinar el uso de cámaras con dispositivos de señal o marca. El uso de estos dispositivos de entrada proporciona un flujo continúo de datos que representan en tiempo real las posturas y los movimientos de las partes del cuerpo utilizadas en la identificación.
Preprocesamiento y filtrado. En esta capa se realiza el preprocesamiento de los datos de entrada para su posterior procesamiento. En este preprocesamiento se suelen aplicar técnicas de procesamiento de imágenes (suavizado, eliminación de ruido y corrección de iluminación) y filtrado para aislar al usuario del fondo.
Módulo de reconocimiento de la pose. En esta etapa el sistema realiza la detección y seguimiento de características para el reconocimiento de la pose y/o gesto. Es en esta fase donde el sistema analiza los datos preprocesados para realizar la identificación de la pose. Generalmente se utilizan modelos de redes neuronales convolucionadas para detectar las coordenadas de las partes del cuerpo predefinidas o puntos claves (keypoints) y las características relevantes (posición de los dedos, orientación de la cabeza, etc.) definidas para el reconocimiento del gesto.
Reconocimiento de gestos. Una vez que se ha identificado o reconocido el gesto ejecutado por el usuario, es necesario interpretar el gesto identificado. Es decir, en este proceso se lleva a cabo una asociación semántica al gesto o pose reconocido. Para entenderlo mejor, supongamos que el sistema ha identificado en el módulo de reconocimiento de la pose el gesto del usuario "ampliar zoom" hecho con los dedos, entonces en este módulo se generaría el evento "ampliar zoom". Esta asociación de eventos se realiza usualmente mediante dos técnicas: o bien utilizando algoritmos de clasificación de las secuencias de movimientos en categorías de gestos o realizando la comparación entre patrones predefinidos con las secuencias de poses reconocidas. El reconocimiento de gestos puede ser de tipos:
Estático Los gestos estáticos son poses mantenidas que tienen significado (gesto de “pulgar arriba”, "pulgar abajo", "OK", gesto de la "palma extendida " para parar, etc.).
Dinámico. Los gestos dinámicos son realizados con movimiento ("abrir/cerrar los dedos" para ampliar/disminuir zoom, “mover la mano de izquierda a derecha” para pasar página, etc.).
Acción y feedback. Esta es la última fase de un sistema con interfaces naturales con reconocimiento de pose y gestos. En esta etapa el sistema traduce el evento semántico generado en el reconocimiento de gestos a una acción a ejecutar. Es decir, se asocia una acción del interfaz a una acción a ejecutar por el sistema. También se debe realizar una retroalimentación (visual, auditiva o háptica) que confirme al usuario que el gesto ejecutado ha sido detectado.
Actualmente, los interfaces naturales de usuario con reconocimiento de pose y gestos integran diversos canales de entrada, es decir, combinan la interacción del usuario mediante pose y gestos con, por ejemplo, entradas por voz. Recordemos que si el interfaz natural de usuario dispone de varioscanales de entrada en paralelo debemos considerarlo como interfaz multimodal de usuario.
También conocida por Visión Artificial. Campo de la Inteligencia Artificial que permite extraer e interpretar información de imágenes y vídeos.
OpenCVPoseEstimation. Tutorial que explica los conceptos básicos y la implementación de la estimación de pose en OpenCV utilizando modelos pre-entrenados.
Laro,Noiba, Naroba y Jana se reúnen para profundizar en los interfaces con reconocimiento de movimiento y partes del cuerpo.
Aunque Vidio no me lo ha pedido, creo que a priori no debemos dejar de lado la posibilidad de utilizar interfaces con reconocimiento de movimiento y partes del cuerpo. Creo que debemos estudiar este tipo de interfaces, —les comenta Laro.
Entendido. Nosotras ya hemos acabado el estudio sobre los interfaces con reconocimiento de pose. Comenzaremos ahora con el reconocimieto de movimiento. Cuando lo finalicemos, ¿redactamos un informe con las conclusiones?, —pregunta Naroba.
No, responde Laro. Mejor nos reunimos y redactamos un informe conjunto que enviaremos a Vidio. Tenemos sólo una semana de plazo, así que manos a la obra.
Los interfaces naturales de usuario con reconocimiento de movimiento y partes del cuerpo son interfaces capaces de detectar el movimiento del usuario tanto del cuerpo en general como de partes específicas del mismo que son utilizados como entradas al sistema. A diferencia de los interfaces con detección de pose y gestos, en este tipo de interfaces no es necesario reconocer e interpretar posiciones corporales definidas (pose, gestos).
Imagen generada mediante inteligencia artificial usando ChatGPT Plus de OpenAI . Detección de movimiento(Dominio público)
En los interfaces naturales con reconocimiento de movimiento, el objetivo del interfaz es conseguir una interacción más flexible que la permitida por los interfaces de reconocimiento de pose. Por otro lado, alcanzar esta mayor flexibilidad supone el sacrificar algo de precisión en la interacción del interfaz. Es decir, que si necesitamos una mayor precisión en la interacción con el usuario (sistemas de realidad aumentada, interfaces para control de menús, etc.) deberemos elegir interfaces con reconocimiento de gesto y pose, mientras que si lo que buscamos es una mayor flexibilidad debemos utilizar interfaces con reconocimiento de movimiento y partes del cuerpo (video juegos con detección de saltos, etc., detección de presencia, análisis del movimiento, sistemas domóticos, etc.).
Una característica importante a tener en cuenta a la hora de seleccionar integrar uno u otro tipo de reconocimiento en nuestro interfaz es que los interfaces con reconocimiento del movimiento presentan un menor costo y complejidad computacional que los interfaces con reconocimiento de pose.
La arquitectura de un interfaz natural con reconocimiento de movimiento y partes del cuerpo es muy similar a la arquitectura de un interfaz con reconocimiento de la pose y gestos. La arquitectura se divide también en capas o procesos muy similares existiendo la mayor diferencia en los algoritmos utilizados para la identificación del movimiento del cuerpo y de partes concretas del cuerpo. Como ya se ha comentado, en este tipo de interfaces se utilizan algoritmos con menor complejidad, ya que el objetivo de esos algoritmos es identificar acciones más genéricas (saltar, girar, etc.) que en los interfaces con reconocimiento de pose y gestos. La arquitectura de un interfaz natural con reconocimiento de movimiento y partes del cuerpo se estructura en las siguientes etapas o procesos:
Captura de datos de entrada.
Preprocesamiento y filtrado.
Módulo de reconocimiento del movimiento y partes del cuerpo.
Interpretación del movimiento y partes del cuerpo.
Acción y feedback.
El funcionamiento de cada uno de los procesos es el mismo que los explicados en los interfaces con reconocimiento de pose y gestos, con la única diferencia que el módulo de reconocimiento del tiempo necesita de algoritmos que analicen e identifiquen la secuencia de frames o fotogramas que componen un movimiento determinado.
—Vindio, necesito hacerte una consulta. No estoy segura si en nuestro estudio sobre interfaces naturales debemos incluir la realidad aumentada. ¿Tú qué opinas?, —pregunta Noiba.
—Muy buena pregunta, Noiba. Aunque no creo que en nuestra aplicación de gestión de hoteles vayamos a utilizar interfaces con realidad aumentada, creo que sería aconsejable que la incluyerais en el estudio, ya que la realidad aumentada es un tipo de interfaz natural de usuario muy importante y que cada vez más se está implementando en diversos sistemas. Aunque en principio no vayamos a implementarlos en la aplicación de hoteles, es conveniente que los conozcamos y tal vez nos aporten ideas para futuros proyectos, —responde Vindio.
Entendido. Le comentaré a las compañeras que debemos incluir la realidad aumentada en el estudio. Gracias, Vindio,—le comenta Noiba.
La realidad aumentada fusiona el mundo real con componentes digitales interactivos consiguiendo que el usuario experimente la fusión entre el entornofísico y el entorno digital. La realidad aumentada ofrece la posibilidad de interaccionar con interfaces de una manera más natural e inmersiva.
La realidad aumentada integra información digital (imágenes, sonidos, datos) en tiempo real en el entorno físico del usuario. Esta es la gran diferencia entre realidad virtual y realidad aumentada. La realidad virtual crea entornos de usuario totalmente digitales y aislados mientras que la realidad aumentada superpone los elementos virtuales en el entorno del usuario, es decir, proyecta información digital sobre el entorno físico del usuario.
Imagen generada mediante inteligencia artificial usando ChatGPT Plus de OpenAI. Realidad aumentada(Dominio público)
La realidad aumentada RA funciona mediante la detección, interpretación y seguimiento del entorno físico o real para, dada esta información, insertar de una manera coherente la información digital generada. Este funcionamiento se basa en los siguientes componentes:
Cámaras y sensores encargados de capturar el entorno físico del usuario.
Procesamiento de datos. Los datos capturados son analizados para la identificación de planos, objetos y movimientos e interpretar las acciones del usuario con el entorno físico.
Visualización. Mediante dispositivos como gafas de realidad aumentada, tablets, proyectores, etc. se muestran por superposición la combinación del entorno físico y los elementos digitales.
A continuación, vamos a describir la arquitectura general de los interfaces naturales de usuario con realidad aumentada:
Entorno real. El entorno real es el entorno físico o mundo real con el que interactúa el usuario (personas, lugares, objetos).
Dispositivo. El dispositivo en un sistema de RA es el hardware compuesto de sensores de entrada y del dispositivo de salida. En la entrada los sensores captan la información del mundo real y las acciones del usuario. El dispositivo de salida muestra al usuario la integración de los gráficos virtuales con el entorno real.
Módulo de seguimiento o tracking. Este módulo es el software que determina dónde y cómo deben aparecer los elementos digitales o contenido virtual en la escena real. Para ello realiza el seguimiento de la orientación y posición del dispositivo de realidad aumentada (y si es necesario, de partes del cuerpo) en el entorno real. También puede realizar el reconocimiento de marcadores específicos (marcador visual, reconocimiento facial, etc.).
Módulo de contenido virtual. El módulo de contenido virtual contiene la lógica de la aplicación que decidirá qué elementos digitales y cuándo deben ser mostrados estos elementos y contiene también las bibliotecas de contenido (audio, texto, modelos 3D, animaciones) de esos elementos digitales.
Motor de renderizado y mezcla. El motor de renderizado genera la escena aumentada, es decir, insertar los elementos digitales generando una imagen que parece real.
Interfaz natural de usuario. El sistema de realidad aumentada interactúa bidireccionalmente con el usuario captando las acciones naturales realizadas por el usuario (reconocimiento de gestos, reconocimiento de voz, etc.). Es decir, la RA dota al interface de un mayor grado de naturalidad en la interacción usuario-sistema.
Imagen generada mediante inteligencia artificial usando ChatGPT Plus de OpenAI. Arquitectura RA(Dominio público)
En desarrollo de interfaces, interacciones intuitivas del usuario utilizando sus patrones de comportamiento y habilidades innatas
Materiales desarrollados inicialmente por el Ministerio de Educación, Cultura y Deporte y actualizados por el profesorado de la Junta de Andalucía bajo licencia Creative Commons BY-NC-SA.
Antes de cualquier uso leer detenidamente el siguenteAviso legal
Ubicación: Toda la Unidad 2 Mejora (tipo 3): Real Decreto 405/2023 por el que se actualizan los títulos de la formación profesional del sistema educativo de Técnico Superior en Desarrollo de Aplicaciones Multiplataforma y Técnico Superior en Desarrollo de Aplicaciones Web, de la familia profesional Informática y Comunicaciones, y se fijan sus enseñanzas mínimas. RA2. Genera interfaces naturales de usuario utilizando herramientas visuales.
Se deben adecuar los contenidos actuales de la unidad 2 que se corresponden al RA2: RA2. Genera interfaces gráficos de usuario basados en XML utilizando herramientas específicas y adaptando el documento XML generado. de la anterior normativa.
Los contenidos se ajustarán a los contenidos propuestos según normativa, aunque la estructura propuesta se toma solo como orientación y puede cambiar significativamente:
-Herramientas para el aprendizaje
automático. Entrenamiento.
-Interfaces naturales. Tipos.
-Voz y habla. Reconocimiento.
- Partes y movimientos del cuerpo.
-- Detección y reconocimiento del
movimiento.
-- Elementos para la detección del
movimiento.
-Realidad aumentada.
Y se fundamentarán en los criterios de evaluación del RA2:
a) Se han identificado las herramientas
disponibles para el aprendizaje automático
relacionadas con las interfaces de usuario.
b) Se ha creado una interfaz natural de
usuario utilizando las herramientas disponibles.
c) Se ha utilizado el reconocimiento de voz
para implementar acciones en las interfaces
naturales de usuario.
d) Se ha incorporado la detección del movimiento del cuerpo para implementar
acciones en las interfaces naturales de usuario.
e) Se han integrado elementos de detección
de partes del cuerpo para implementar acciones
en las interfaces naturales de usuario.
f) Se ha integrado la realidad aumentada en
los interfaces de usuario.
Ubicación: Mapa Mejora (Mapa conceptual): mapa
Ubicación: Orientaciones alumnado Mejora (Orientaciones del alumnado): Orientaciones alumnado