diseÑo e implementaciÓn de un asistente personal capaz de expresar emociones
DESCRIPTION
DISEÑO E IMPLEMENTACIÓN DE UN ASISTENTE PERSONAL CAPAZ DE EXPRESAR EMOCIONES. -CARLOS SANZ MORENO-. SEPTIEMBRE 2009. - ESTRUCTURA DE LA PRESENTACIÓN-. DISEÑO E IMPLEMENTACIÓN DE UN ASISTENTE PERSONAL CAPAZ DE EXPRESAR EMOCIONES. INTRODUCCIÓN DEFINICIÓN DEL SISTEMA PUNTO DE PARTIDA - PowerPoint PPT PresentationTRANSCRIPT
• Objetivo: CREACIÓN DE UN AGENTE EMOCIONAL INTERACTIVO
• Caso de uso: ASISTENTE PERSONAL DOMÉSTICO
• Requisitos:•ARQUITECTURA ESCALABLE
•INTERFAZ CON MÚLTIPLES MODALIDADES
•COMPORTAMIENTO EMOCIONAL
•COMPORTAMIENTO PERSONALIZADO
•FUNCIONALIDAD DE ASISTENTE DOMÓTICO
•COMPAÑERO DE JUEGOS
X10 – [ZLÖTNIK,07] ROOMBA– [CANCELA,09]
BRAZO ROBÓTICO– [LSED,09]
INFRARROJOS – [GUIRAO,06]
CARA ROBÓTICA [SANZ, 08]
OPENCV
•IDENTIFICADOR DE LOCUTOR.
[GARCÍA, 07]
•RECONOCEDOR DE HABLA Y
COMPRENSIÓN.
[GHT]
•SINTETIZADOR DE HABLA CON EMOCIONES.
[BARRA, 08]
HARDWARE
TRATAMIENTO
DE
IMÁGENES
MODELO
DE
COMPORTA-MIENTO
COMPRENSIÓN
RECONOCIMIENTO
IDENTIFICACIÓN
DE
LOCUTOR
MODELO
DE
EMOCIONES
MODELO
DE
RELACIONES
TASK 1 TASK 2 TASK N
CONTROL
DE
CARA ROBÓTICA
SÍNTESIS
DE
VOZ
HARDWARE
SENSOR
DE
CARICIAS
– PRIMERA APROXIMACIÓN: Comunicación por SOCKETS
• INCONVENIENTES: Mecanismo de bajo nivel. Necesidad de interpretar datos y de controlar los procesos de comunicación
– SOLUCIÓN ALTERNATIVA: S.O.A.P. (Simple Object Access Protocol)
• CARACTERÍSTICAS:
Protocolo de alto nivel
Permite definir estructuras de datos
Flexibilidad en cuanto al protocolo de transporte utilizado.Típicamente HTTP
Mensajes legibles para las personas, aunque costoso (basados en XML)
Similar a llamadas a procedimientos locales (métodos rémotos)
•EJEMPLO DE COMUNICACIÓN: Respuesta a un Concepto
Reconocedor de Habla e
Identificación de Locutor
Reconocedor de Habla e
Identificación de Locutor
Módulo de
Comporta-miento
Control de Conversación
Control de Conversación
SintetizadorSintetizador
NUEVA FRASENUEVO CONCEPTO
LOCUTOR
MODO ID
NUEVO CONCEPTO
PARÁMETROS
EmocionesEmociones
Modelo de RelacionesModelo de Relaciones
EVENTOEMOCIONAL
NUEVA FRASE DEL
LOCUTOR RELACIÓN
PARÁMETROS+ EMOCIÓN+ RELACIÓN
FRASE A SINTETIZAR
ACTUALIZACIÓN
EMOCIONES
EMOCIÓN
JABÓN – SOAP C++ CODE GENERATOR – [Rodríguez Losada]
Genera los servicios web a partir de las cabeceras “.h”
Características:
•Fácil utilización
•Gratuito
•Genera Código C++ Portable
•Librería dinámica de código abierto
•Muy rápido
•No requiere instalación
SERVIVOX
recoSoapClient
Módulo Central
recoSoapServer
recoSoapService
Petición XML
Ejecución remotaint FraseReconocida(frase, conceptos, usuarioId, numFrases, direccionArchivo)
Descodificación de XML
Llamada al método
Llamada localint FraseReconocida(frase, conceptos, usuarioId, numFrases, direccionArchivo)
Retorno valor
Codificación XML
Descodificación de XML
recoSoap.h
recoSoapInterface
• DETECCIÓN DE CARICIAS MEDIANTE SENSOR INFRARROJO• INTERFAZ VISUAL NO INTRUSIVA BASADA EN OPENCV• SÍNTESIS DE VOZ CON EMOCIONES• RECONOCIMIENTO DE HABLA CON COMPRENSIÓN• IDENTIFICACIÓN DE LOCUTOR• CONTROL DE CARA ROBÓTICA EXPRESIVA
CONTROL VERBAL INALÁMBRICO DE ASPIRADORA ROBÓTICA ROOMBA• Comienzo/Paro de limpiar• Vuelta a la estación de carga
ADAPTACIÓN EFECTUADA: • Creación de un cliente SOAP de control de la comunicación• Configuración Rootooth• Comunicación Bluetooth PC-ROOMBA
CONTROL DE LUCES MEDIANTE X10• Encendido/Apagado dispositivo
ADAPTACIÓN EFECTUADA: • Creación de cliente SOAP para solicitud remota de acciones• Creación script en perl para acceso remoto a la función de control de X10 del
sistema DRAC
DETECCIÓN DE CARICIAS MEDIANTE SENSOR INFRARROJO
ADAPTACIÓN EFECTUADA: • Conexión e instalación de driver para acceso por puerto paralelo• Lectura periódica del sensor• Filtrado por software de lectura ruidosa
JUEGO 3 EN RAYA CON BRAZO ROBÓTICO• Sensores de control del tablero• Funcionamiento autónomo
ADAPTACIÓN EFECTUADA: • Comunicación de la situación del juego vía tftp (trivial ftp)
CONTROL VERBAL DE EQUIPO HI-FI POR INFRARROJOS• Encendido/Apagado
ADAPTACIÓN EFECTUADA: • Creación de un cliente SOAP capaz de comunicarse con el módulo de control de
iRTrans
INTERFAZ VISUAL NO INTRUSIVA BASADA EN OPENCV• Detección de movimiento• Detección de caras• Detección de luz
ADAPTACIÓN EFECTUADA: • Creación de un cliente SOAP (“facedetect.c”)• Procesos de filtrado para detectar:
• Luz: N muestras por encima del nivel• Cara: N caras en un cierto tiempo
CONTROL DE CARA ROBÓTICA EXPRESIVA• Expresión de emociones sencillas: enfado, alegría, miedo, neutra, tristeza
• Parpadeo involuntario en función del estado emocional
ADAPTACIÓN EFECTUADA: • Creación de una cara robótica a partir de 5 servomotores• Creación de servidor SOAP para control de los servos
RECONOCIMIENTO DE HABLA CON COMPRENSIÓN• Reconocimiento independiente de locutor• Vocabulario y Gramática flexibles• Comprensión automática basada en ejemplos• Umbral de confianza
ADAPTACIÓN EFECTUADA: • Creación de un servidor SOAP para la comunicación
SÍNTESIS DE VOZ CON EMOCIONES • Elección de frases mediante conceptos, emociones y relación.• Aleatoriedad: cada frase, una probabilidad• “Hot configuration”
ADAPTACIÓN EFECTUADA: • Creación de un servidor SOAP para el proceso de síntesis• Acceso al servidor remoto vía ssh• Reproducción mediante unidad virtual SAMBA• Síntesis por doble proceso
SERVIDOR SOAP
HTSLINUX
.TXT
.WAV
Módulo de
Comporta-miento
SOAP SSH
SAMBA
MODELO DE RELACIONES CON IDENTIFICACIÓN DE LOCUTOR BASADA EN
LAS CARACTERÍSTICAS DEL HABLA
• Identificación de locutor basada en BIC• parámetro λ
ADAPTACIÓN EFECTUADA: • Experimentos de identificación con parámetro λ• Protocolo de presentación
• Modo 1: Identificación de frases a partir de la historia de 30 locutoresEXPERIMENTOS IDENTIFICADOR DE LOCUTOR
• Modo 2: Detección de cambios de usuario a partir de la historia de 5 frases de 1 locutor conocido en una población de 30
EXPERIMENTOS IDENTIFICADOR DE LOCUTOR
Necesidad de protocolo de presentación
PROTOCOLO DE PRESENTACIÓN
Por defecto
Confirmar nuevo
usuario
NombreLocutor = candidatoModo Presentación
Fin de presentación
Lugar de residenciaLocutor = candidatoModo Presentación
Año de nacimientoLocutor = candidatoModo Presentación
ProfesiónLocutor = candidatoModo Presentación
E-mailLocutor = candidatoModo Presentación
A:Presentación/Q: ¿Eres Nuevo?
A:No
A:Cualquier Concepto
A:Sí
Emotional
Response
NIF Generator
NIF Generator
NIF Generator
NIF Generato
r
NIF Generato
r
NIFs
Fisiológica (survival)
Seguridad(safety)
Afiliación (changes)
Estima (success)
Autorrealización(ethics)
Task A
Task B
Task C
Task D
Task E
Task F
Task G
New event
ESCALABLE
NECESIDADES CUANTIFICADAS Y PRIORIZADAS
RESPUESTA EMOCIONAL INDEPENDIENTE DE TAREA
–FISIOLÓGICA (SURVIVAL):
– SEGURIDAD (SAFETY):
–ESTIMA (SUCCESS):
–AUTORREALIZACIÓN (ETHICS):
–AFILIACIÓN (CHANGES):
– DESEABILIDAD: ¿Cómo satisface el evento la necesidad?
– INESPERADO: ¿El evento sigue la tendencia a corto plazo?
– URGENCIA: ¿La tendencia actual nos acercaría o alejaría de un nivel crítico?
– RELEVENCIA: En esta situación, ¿pequeños eventos pueden llevar a la zona crítica?
– INFRECUENCIA: ¿Es la primera vez que ocurre este evento, o se ha producido en el pasado?
– ACOTADAS ENTRE 0 Y 100
– ALEGRÍA, TRISTEZA, MIEDO, SORPRESA Y ENFADO
– ATENUADAS SEGÚN τ
– Emociones positivas vs negativas
– NEUTRAL
1. ES CAPAZ DE SIMULAR ESTADOS EMOCIONALES Y EXPRESARLOS2. SISTEMA EMOCIONAL JERARQUIZADO BASADO EN MASLOW QUE
IMPLEMENTA UNA ARQUITECTURA DE SUBSUNCIÓN DE BROOKS
3. ARQUITECTURA DISTRIBUÍDA MULTITAREA ESCALABLE4. INTEGRACIÓN DE IDENTIFICADOR DE LOCUTOR Y CREACIÓN DE
MECANISMO DE PRESENTACIÓN5. INTEGRACIÓN DE SINTETIZADOR BASADO EN HMM CON FRASES
DETERMINADAS POR CONCEPTOS Y ALEATORIEDAD6. INTEGRACIÓN DE TECNOLOGÍAS:
1. UTILIZACIÓN DE NECESIDADES COMO MOTIVADORES
2. MEJORA DE LA EXPRESIÓN DE LAS EMOCIONES
3. APRENDIZAJE DE COMPORTAMIENTOS
4. MEJORA DE LA INTERFAZ VISUAL BASADA EN OPENCV
5. INCLUSIÓN DE NUEVAS TAREAS Y MEJORA DE LAS EXISTENTES
6. INTEGRACIÓN DE LOS MÓDULOS DE SÍNTESIS, RECONOCIMIENTO EMOCIONES Y RELACIONES EN EL PROYECTO ROBONAUTA
–FISIOLÓGICA (SURVIVAL):
– SEGURIDAD (SAFETY):IF (PROMEDIO > UMBRAL LUZ )
ELSE
–ESTIMA (SUCCESS):
IF (ÉXITO)
ELSE IF (FRACASO)
–AUTORREALIZACIÓN (ETHICS)
IF (MOVIMIENTO LEGAL)
ELSE
–AFILIACIÓN (CHANGES): Efecto de eventos determinado por su repetición.
MODELADO DE OCURRENCIAS: Histograma + Ventana de Parzen.
MODIFICACIÓN DEL N-VALUE:
•ATENUACIÓN PERIÓDICA:
– DESEABILIDAD: ¿Cómo satisface el evento a la necesidad?
– INESPERADO: ¿El evento sigue la tendencia a corto plazo?
– URGENCIA: ¿La tendencia producida es “peligrosa” para la necesidad?
– RELEVENCIA: ¿En esta situación pequeños eventos pueden llevar a la zona crítica?
– INFRECUENCIA: ¿Es la primera vez que ocurre este evento, o se ha producido en el pasado?
Signo(Deseabilidad) K1 K2 K3 f(peso) τ
Alegría + 0.5 0.5 0.5 Peso >>0
Sorpresa
+ 0.5 Peso ~0
Tristeza
- Peso >>0
Miedo
- 0.5 0.5 ~0
Enfado
- 0.5 ~0