Servicios de Recomendación Contextual para Instituciones de Educación Superior Mediante Realidad Aumentada Utilizando Smartphones y Ontologías Organizacionales
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Servicios de Recomendación Contextual para Instituciones de Educación Superior Mediante Realidad Aumentada Utilizando Smartphones y Ontologías Organizacionales

on

  • 667 views

Dentro del área de la computación del CENIDET se han desarrollado los servicios de recomendación sensibles al contexto, los cuales le ofrecen al usuario información personalizada del entorno de ...

Dentro del área de la computación del CENIDET se han desarrollado los servicios de recomendación sensibles al contexto, los cuales le ofrecen al usuario información personalizada del entorno de acuerdo a sus preferencias, ubicación, el horario en que se encuentra, los servicios disponibles de la organización, etc. Estos servicios de recomendación han involucrado diferentes tecnologías, desde algoritmos que son capaces para inferir las preferencias del usuario, hasta tecnologías capaces de capturar datos del entorno como RFID, QR-Codes, sensores especializados, etc. En el laboratorio de sistemas distribuidos del CENIDET, se pretende desarrollar un sistema capaz de mostrarle recomendaciones personalizadas e información de alguna organización al usuario, a partir de las preferencias del mismo y la información del entorno en el que se encuentra (hora y lugar de la organización a donde llega). El desarrollo de este sistema comenzó con el proyecto T-Guía, el cual puede proporcionarle información al usuario de la organización a partir de su ubicación, una vez terminado este sistema, se desarrollaron otros proyectos que integraron otras funcionalidades al sistema, tales como servicios de recomendación sensibles al contexto, mapas con información de la
organización en formato SVG y servicios de localización mediante el uso de tecnologías Wi-Fi y RFID, de esta forma se integran nuevas funcionalidades al sistema desarrollado anteriormente.
En este proyecto de tesis, se desarrolló una nueva funcionalidad para el
sistema T-Guía, la cual implementa una interface a través de realidad
aumentada, con la cual el usuario podrá interactuar de manera más natural con
la información del entorno, además de que conocerá hacia donde quedan
algunas ubicaciones de interés. Para ello se desarrolló un modelo de
identificación de puntos de interés mediante 10 (8+2) orientaciones, 8
orientaciones que apuntan hacia los puntos cardinales y 2 para apuntar hacia arriba o abajo del dispositivo, utilizando el sensor de acelerómetro de tres ejes y el magnetómetro fue posible determinar la dirección hacia donde el usuario está apuntando y conocer qué puntos de interés se puede encontrar
visualizando. Finalmente, en este proyecto, pudo desarrollarse una nueva
funcionalidad al sistema, con una aplicación capaz de presentarle al usuario información del entorno al enfocar su dispositivo en diferentes orientaciones.

Statistics

Views

Total Views
667
Views on SlideShare
667
Embed Views
0

Actions

Likes
0
Downloads
12
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Servicios de Recomendación Contextual para Instituciones de Educación Superior Mediante Realidad Aumentada Utilizando Smartphones y Ontologías Organizacionales Document Transcript

  • 1. dd Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS Servicios de Recomendación Contextual para Instituciones de Educación Superior Mediante Realidad Aumentada Utilizando Smartphones y Ontologías Organizacionales presentada por Rodrigo Alejandro Morán Leal Ing. en Informática por la Universidad Politécnica del Estado de Morelos como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación Director de tesis: Dr. Juan Gabriel González Serna Co-Director de tesis: Dra. Azucena Montes RendónCuernavaca, Morelos, México. 17 de diciembre de 2012
  • 2. Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS Servicios de Recomendación Contextual para Instituciones de Educación Superior Mediante Realidad Aumentada Utilizando Smartphones y Ontologías Organizacionales presentada por Rodrigo Alejandro Morán Leal Ing. en Informática por la Universidad Politécnica del Estado de Morelos como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación Director de tesis: Dr. Juan Gabriel González Serna Co-Director de tesis: Dra. Azucena Montes Rendón Jurado: Dr. Hugo Estrada Esquivel – Presidente M.C. Javier Ortiz Hernández– Secretario Dr. Juan Gabriel González Serna – Vocal Dra. Alicia Martínez Rebollar – Vocal SuplenteCuernavaca, Morelos, México. 17 de diciembre de 2012
  • 3. DEDICATORIASA Dios, por ayudarme en cada uno de los éxitos y problemas que tuve en estaetapa de mi vidaA mi madre, por todo lo que ha hecho por mí. A mi primo y a mi familia, por haberme brindado su apoyo.A Anayely, por haberme brindado lo que más me faltaba para terminar estelogroA todos aquellos que me ayudaron en esta etapa de mi vida
  • 4. AGRADECIMIENTOSA mi madre María del Carmen Leal Murguía, por haberme dado la vida y habercreído en mí todos estos años, por haberme apoyado todo este tiempo en mismetas, por haber hecho muchos sacrificios para que yo pudiera llegar hastadonde me encuentro ahora, muchas gracias. A mi primo, Jairo Ramiro, quienha sido mi mejor amigo desde que nací hasta ahora, muchas gracias porescucharme y apoyarme en los buenos y malos momentos. A mi hermana,Violeta, por haberme acompañado y alentado durante todo este periodo. A todami familia que ha estado conmigo apoyándome y dándome ánimos para seguiradelante, muchas gracias.A mi princesa, Anayely Noguerón Valdes, gracias por darme el últimoempujoncito para poder terminar mi maestría, gracias por haber sido mimotivación e inspiración en mi último año, eres la mejor sorpresa que me pudehaber encontrado en mi maestría, gracias por haberme prestado un poco de tutiempo para estar conmigo, gracias por haberme dejado soñar y habercompartido muchos momentos especiales conmigo, muchas gracias. A VivianaAnani Partida Valencia, mi amiga, muchas gracias por haberme prestado tutiempo para escucharme, gracias por haberme enviado esa “buena vibra”siempre.A todos mis amigos que encontré en el CENIDET, Juan Diego, Samuel Vieyra,Luis Ángel Chi, Leticia Aponte, Ilse Yari Landa, Adrian Cruz, Nimrod González,Jesús Rodríguez, Oscar, Julia, Hugo, muchas gracias por haber hecho queesta etapa de mi vida sea inolvidable.A mi director de tesis, el Dr. Juan Gabriel González Serna, por habermeformado durante todo este periodo, ayudándome a desarrollarme comopersona tanto profesional como personalmente. A mis profesores del CENIDETpor haberme enseñado tantas cosas y haberme ayudado a desarrollar todaslas habilidades que tengo ahora conmigo, muchas gracias.Al CONACYT por haberme apoyado económicamente mientras realizaba misestudios, al Centro Nacional de Investigación y Desarrollo Tecnológico, porpermitirme elaborar mis estudios y haberme brindado muchas experiencias yoportunidades durante toda mi estancia en él.A mis revisores por haberme compartido sus conocimientos, y haberme guiadoa través de todo el desarrollo de mi proyecto de tesis. A todos aquellos queformaron parte de mi vida en esta tapa tan importante de mi vida, a todosustedes muchas gracias.
  • 5. RESUMENDentro del área de la computación del CENIDET se han desarrollado losservicios de recomendación sensibles al contexto, los cuales le ofrecen alusuario información personalizada del entorno de acuerdo a sus preferencias,ubicación, el horario en que se encuentra, los servicios disponibles de laorganización, etc. Estos servicios de recomendación han involucrado diferentestecnologías, desde algoritmos que son capaces para inferir las preferencias delusuario, hasta tecnologías capaces de capturar datos del entorno como RFID,QR-Codes, sensores especializados, etc.En el laboratorio de sistemas distribuidos del CENIDET, se pretende desarrollarun sistema capaz de mostrarle recomendaciones personalizadas e informaciónde alguna organización al usuario, a partir de las preferencias del mismo y lainformación del entorno en el que se encuentra (hora y lugar de la organizacióna donde llega). El desarrollo de este sistema comenzó con el proyecto T-Guía,el cual puede proporcionarle información al usuario de la organización a partirde su ubicación, una vez terminado este sistema, se desarrollaron otrosproyectos que integraron otras funcionalidades al sistema, tales como serviciosde recomendación sensibles al contexto, mapas con información de laorganización en formato SVG y servicios de localización mediante el uso detecnologías Wi-Fi y RFID, de esta forma se integran nuevas funcionalidades alsistema desarrollado anteriormente.En este proyecto de tesis, se desarrolló una nueva funcionalidad para elsistema T-Guía, la cual implementa una interface a través de realidadaumentada, con la cual el usuario podrá interactuar de manera más natural conla información del entorno, además de que conocerá hacia donde quedanalgunas ubicaciones de interés. Para ello se desarrolló un modelo deidentificación de puntos de interés mediante 10 (8+2) orientaciones, 8orientaciones que apuntan hacia los puntos cardinales y 2 para apuntar haciaarriba o abajo del dispositivo, utilizando el sensor de acelerómetro de tres ejesy el magnetómetro fue posible determinar la dirección hacia donde el usuarioestá apuntando y conocer qué puntos de interés se puede encontrarvisualizando. Finalmente, en este proyecto, pudo desarrollarse una nuevafuncionalidad al sistema, con una aplicación capaz de presentarle al usuarioinformación del entorno al enfocar su dispositivo en diferentes orientaciones.
  • 6. ABSTRACTIn the CENIDET’s computing area have been developed context-awarerecommendation services, which offer to the users personalized information ofthe environment according to their preferences, location, the time in which it is,the services of the organization, etc. These recommendation services haveinvolved different technologies, from algorithms that are able to infer the userspreferences, to technologies able to capture the data environment as RFID,QR-Codes, specialized sensors, etc.In the Distributed System’s Laboratory CENIDET, aims to develop a systemable of showing personalized recommendations and information of anorganization to the user, from preferences and information environment that heis (time and place where he arrives). The development of this system beganwith the project T-Guide, which can provide information to the user in theorganization from his location, once finished this system, other projects weredeveloped that integrated other features to the system, such as context-awarerecommendation services, maps with organizational information in SVG formatand location services using Wi-Fi technology and RFID, so new features areintegrated into the system previously developed.In this thesis, we developed a new feature for the T-Guide system, whichimplements an interface using augmented reality, with which the user caninteract more naturally with information of the environment, plus he will knowwhere some locations of interest are. For that we developed a model to identifypoints of interest by 10 (8 +2) orientations, 8 orientations pointing to the cardinalpoints and 2 to point up or down of the device, using the three-axisaccelerometer sensor and magnetometer was possible to determine thedirection in which the user is pointing and know what points of interest can bedisplayed. Finally, in this project we could develop a new functionality to thesystem, with an application that can present to the user information of theenvironment focusing his device in different directions.
  • 7. TABLA DE CONTENIDOLISTA DE FIGURAS iiiCapítulo 1. Introducción 51.1 Introducción 61.2 Antecedentes 71.2.1 Servicios de localización conscientes del contexto aplicando perfiles de movilidad y tecnologíasde localización heterogéneas [Arjona 2009] 71.2.2 API para servicios de localización basada en tecnología RFID, QRCode, WIFI y Bluetooth [Yris2012] 71.2.3 Generación y explotación de mapas semánticos para instalaciones organizacionales mediante eluso de ontologías [Estrada 2012] 111.2.4 Servicio de recomendación contextual mediante ontologías multidimensionales para dispositivosSmartphone [González 2012] 121.3 Descripción del problema 131.3.1 Complejidad del problema 141.4 Objetivos del proyecto 151.4.1 Objetivo general 151.4.2 Objetivos específicos 151.5 Justificación 16Capítulo 2. Marco Teórico 172.1 Realidad aumentada 182.1.1 Reconocimiento de objetos mediante el uso de marcadores 192.1.2 Técnicas de reconocimiento visual sin marcadores 212.1.3 Técnicas de reconocimiento sensorial 222.2 Computación ubicua 232.3 Servicios de recomendación contextual 242.4 Modelado organizacional orientado al entorno 252.5 Android 262.6 Tecnología sensorial en Smartphones 26Capítulo 3. Estado del Arte 293.1 Sistemas 303.1.1 A Tracking Framework for Augmented Reality Tours on Cultural Heritage Sites [Park 2010] 303.1.2 An Augmented Reality Presentation System for Remote Cultural Heritage Sites [Zöllner 2009] 323.1.3 Location-based augmented reality on mobile phones [Turk 2010] 333.1.4 An Augmented Reality Interface to Contextual Information [Ajanki 2011] 35 i
  • 8. 3.1.5 Personalized In-store E-Commerce with the PromoPad: an Augmented Reality Shopping Assistant[Zhu 2008] 363.2 Herramientas 373.2.1 Look!: Framework para Aplicaciones de Realidad Aumentada en Android [Bellón 2011] 373.2.2 CAMAR Tag Framework: Context-Aware Mobile Augmented Reality Tag Framework for Dual-realityLinkage [Woo 2009] 373.2.3 Unified Context-aware Augmented Reality Application Framework for User-Driven Tour Guides [Woo2010] 383.3 Análisis del estado del arte 39Capítulo 4. Diseño de la aplicación 424.1 Arquitectura general del sistema 434.2 Modelo de orientación en el entorno 444.3 Diagrama de casos de uso 494.4 Diagramas de clases 57Capítulo 5. Implementación 605.1 Modificaciones a la red de ontologías 615.2 Servicio de localización 655.3 Desarrollo de la aplicación 675.3.1 Lectura de la información de la Ontología 685.3.2 Implementación de los objetos virtuales 705.3.3 Funcionalidad de filtrado de información 72Capítulo 6. Pruebas 746.1 Plan de pruebas 756.1.1 Enfoque 75 6.1.2 Características a probar 756.1.3 Características excluidas 766.1.4 Elementos de prueba 766.1.5 Requerimientos para realizar las pruebas 776.1.6 Criterio éxito/fracaso de los casos de prueba 776.1.7 Responsabilidades 776.1.8 Diseño de las pruebas 776.2 Reporte de pruebas 806.3 Resultados 115Capítulo 7. Conclusiones y trabajos futuros 1177.1 Conclusiones 1187.2 Aportaciones 1187.3 Trabajos futuros 119Referencias 120 ii
  • 9. LISTA DE FIGURASFigura 1.1 algoritmo de localización por redes inalámbricas implementado [Yris 2012] 8Figura 1.2 segmentación del entorno de acuerdo a la potencia de señal inalámbrica recibida [Yris 2012] 9Figura 1.3 diagrama del funcionamiento de los portales RFID [Yris 2012] 10Figura 1.4 diagrama para la implementación de portales RFID [Yris 2012] 10Figura 1.5 Ejemplo de un mapa generado en el proyecto [Estrada 2012] 11Figura 2.1 marcadores de plantilla y matrices de datos [Schmalstieg 2007] 19Figura 2.2 ejemplo de un QRCode [Woo 2011] 20Figura 2.3 proceso de umbralización [Schmalstieg 2007] 20Figura 2.4 modelo de rotaciones en un reconocimiento sensorial por orientación 23Figura 2.5 Principales componentes de los sensores [Akyildiz 2002] 26Figura 2.6 diagrama de un giroscopio digital [Jones 2010] 27Figura 3.1 algoritmo de estimación de poses [Park 2010] 30Figura 3.2. Técnicas de realidad aumentada implementadas en el palacio de Gyeongbokgung [Park 2010] 32Figura 3.3 dispositivo estático para la visualización de información contextual en murales [Zöllner 2009] 33Figura 3.4 inserción de objetos virtuales en los dispositivos móviles [Zöllner 2009] 33Figura 3.5 Modelo de reconocimiento mediante localización y orientación propuesto en el proyecto [Turk2010] 34Figura 3.6 aumentación mediante el reconocimiento por orientación y ajuste mediante técnicas dereconocimiento visual 34Figura 3.7 algoritmo para la retribución de información en el sistema [Ajanki 2011] 35Figura 3.8 reconocimiento de objetos e inserción de información en el entorno [Ajanki 2011] 36Figura 3.9 acercamiento a un producto de posible interés para el cliente 36Figura 3.10 generación del mundo virtual a partir del entorno real en el proyecto [Woo 2009] 38Figura 4.1 arquitectura general del nuevo sistema T-Guía 43Figura 4.2 Funcionamiento de la aplicación YLEYANA en el sistema 44Figura 4.3 segmentación del entorno para la construcción de un MOM [Pombinho 2011] 45Figura 4.4 modelo de navegación de 8 orientaciones [Worboys 2011] 46Figura 4.5 modelo de ocho orientaciones para indicar los POIs del entorno 46Figura 4.6 ejemplo de la aplicación del modelo de ocho grados de libertad 47Figura 4.7 definición de las zonas de localización para los estados en el MOM 47Figura 4.8 autómata del modelo de orientación propuesto para la visualización de POIs 48Figura 4.9 manejo de los objetos fuera del campo de visión en el modelo de orientación 49Figura 4.10 Diagrama de casos de uso del sistema 49 iii
  • 10. Figura 4.11 Diagrama de clases del sistema 57Figura 5.1 Unión de la ontología de infraestructura y ONALIN 62Figura 5.2 Proceso de instanciación de la información del sistema 62Figura 5.3 Modelo de representación de las distintas zonas del entorno [Estrada 2012] 63Figura 5.4 Representación de los segmentos de navegación en el entorno 64Figura 5.5 integración de los puntos de interés al entorno 64Figura 5.6 integración de las orientaciones en el entorno 65Figura 5.7 Botón para la selección de la localización del usuario 66Figura 5.8 Pantalla para la selección de la localización del usuario 66Figura 5.9 Visualización de puntos de interés en el entorno 67Figura 5.10 representación de las clases de la ontología en un entorno real 67Figura 5.11 Ejemplo de instanciación de las ontologías del sistema 68Figura 5.12 Estructura principal de un archivo JSON 68Figura 5.13 Estructura de un objeto del tipo nodo 69Figura 5.14 Estructura de un objeto de orientación 69Figura 5.15 Estructura de un POI 69Figura 5.16 Inserción de imágenes con la librería Look! 70Figura 5.17 Inserción de texto en el objeto virtual 70Figura 5.18 Inserción de objetos virtuales en el entorno 71Figura 5.19 Pantalla de información extra de los puntos de interés del entorno 71Figura 5.20 variables que controlan la visibilidad de los objetos 72Figura 5.21 Método para el filtrado de información 72Figura 5.22 Implementación de opciones de filtrado de información en la aplicación 73Figura 6.1 Representación de la plata baja del edificio de computación 78Figura 6.2 representación de la planta alta del edificio de computación 79Figura 6.3 Error en los archivos XML por la etiqueta Extensión 116Figura 6.4 Recomendaciones nulas en los archivos XML 116 iv
  • 11. Capítulo 1. Introducción Capítulo 1. IntroducciónEn este capítulo se describen los antecedentes del proyecto y el contexto en elque se desarrolló, así como también los objetivos, el problema a resolver y losalcances del proyecto. 5
  • 12. Capítulo 1. Introducción1.1 IntroducciónLa computación ubicua es un área de la computación que permite a unacomputadora o dispositivo móvil estar conscientes de su entorno, esto esposible mediante técnicas de reconocimiento contextual y censado de señalesemitidas por distintos tipos de dispositivos que permiten que un sistema puedaestar consciente (de manera artificial) de las actividades o cambios quesuceden en el entorno. La computación ubicua nos permite diseñar variasaplicaciones capaces de interactuar con el entorno, las cuales puedeninvolucrar la localización de objetos en interiores o exteriores, sistemas denavegación, sistemas de información contextual, entre otros.Algunas de las técnicas de identificación usadas en el cómputo ubicuo utilizantecnologías que permiten a los dispositivos conocer la información de losobjetos, lugares y personas de su entorno, ya sea mediante señales de radiofrecuencia o marcadores visuales. El desarrollo de estos sistemas ha idoevolucionando de tal manera que podemos encontrar aplicaciones denavegación para celulares, diseñadas con una interfaz de usuario que permitela navegación con mapas o aplicaciones que implementan interfaces conrealidad aumentada.Actualmente en el Laboratorio de Sistemas Distribuidos del Centro Nacional deInvestigación y Desarrollo Tecnológico (CENIDET) se está desarrollando unsistema de recomendación contextual para Instituciones de Educación Superior(IES), en este proyecto se están modelando, diseñando e implementandoservicios que permiten averiguar las condiciones del entorno físico de unaorganización (IES), con estos servicios los usuarios que visitan una IES recibenrecomendaciones contextuales, en un cliente instalado en su dispositivo móvil,que contienen información de personas, de objetos de conocimiento y delugares, se espera que estas recomendaciones satisfagan sus necesidadesexplicitas e implícitas. La interfaz con la que se le muestran los datos delentorno al usuario utiliza mapas diseñados en segunda dimensión, sinembargo, en los sistemas implementados con este tipo interfaz existe unproblema de interpretación de la información de los objetos y la localización delusuario en el entorno, los sistemas que utilizan técnicas de realidad aumentadapueden mostrar la información contextual de los objetos al enfocarlos con eldispositivo, lo que facilitaría la interpretación de esta información y, debido aque el usuario interactúa directamente con el entorno, no existirían problemaspara interpretar su localización.La implementación de sistemas de realidad aumentada elabora la inserción deobjetos virtuales en el entorno real, lo que implica que cada objeto virtual debeestar asociado a uno real para poder interpretar de manera correcta lainformación, para ello deben diseñarse técnicas para identificar los elementosdel entorno, dependiendo de las condiciones en las que se vaya a implementarla aplicación. Además del reconocimiento de objetos en la realidad aumentada,deben integrarse servicios que proporcionen la información de los objetos quese encuentran en el entorno, y además de ello, deben implementarse serviciosde localización para determinar la ubicación del usuario con el entorno, conocerque objetos se encuentran a su alrededor y finalmente conocer el perfil delusuario para poder elaborar recomendaciones de objetos, lugares o personas 6
  • 13. Capítulo 1. Introducciónde interés, por lo tanto, la aplicación que se pretende desarrollar debe integrarfunciones de reconocimiento, localización y recomendaciones en el entorno.En resumen, en este proyecto de tesis se diseñaron e implementaron deservicios que presentan la información contextual de recomendaciones depersonas, objetos y lugares utilizando tecnologías de realidad aumentada, porejemplo, descripción de objetos cómo libros, instalaciones, ubicación depersonas e incluso la identificación de personas por medio de tecnologías deauto-identificación. Como resultado de este proyecto de tesis se desarrolló unprototipo para teléfonos inteligentes (o Smartphones) que explota todos lossensores contextuales de estos dispositivos mostrando al usuario informacióncontextual de la IES sobre video en tiempo real capturado por la cámara deldispositivo.1.2 AntecedentesEn esta sección se detallarán las tesis y trabajos que se han elaborado dentrodel área de sistemas distribuidos del CENIDET con respecto al trabajo que seestá desarrollando.1.2.1 Servicios de localización conscientes del contexto aplicando perfiles de movilidad y tecnologías de localización heterogéneas [Arjona 2009]Este trabajo se considera antecedente ya que desarrolló servicios delocalización en interiores que pudieran estar conscientes del contexto, ademásse implementaron servicios para la localización de los usuarios utilizandodispositivos celulares, de esta manera se cuenta con un sistema de localizaciónen interiores que puede identificar los objetos que se encuentren en el entornoreal.Este proyecto logró introducir una aplicación conocida como “T-Guía”, la cualcuenta con una arquitectura cliente servidor, el servidor es capaz de gestionarla ubicación de los objetos mediante tarjetas RFID y las direcciones MAC de losdispositivos, mientras que la aplicación de cliente fue elaborada paradispositivos móviles con sistema operativo Android, y es capaz de recibir lainformación de las localizaciones mediante RFID y QRCodes, gracias a lastecnologías implementadas en este proyecto se logró una localización eninteriores con una precisión de posicionamiento de los dispositivos menor a 2metros.1.2.2 API para servicios de localización basada en tecnología RFID, QRCode, WIFI y Bluetooth [Yris 2012]Este proyecto dio como resultado una API que permitía al programadorimplementar métodos de localización de dispositivos móviles en interiores deedificios en base a las lecturas obtenidas por dispositivos con interfaz IEEE802.11 (Wi-Fi) y RFID. Los métodos que conforman la API también permitiránla trazabilidad en tiempo real de personas y objetos que se encuentrenidentificados por etiquetas RFID pasivas. 7
  • 14. Capítulo 1. IntroducciónEl algoritmo de localización por redes inalámbricas, mediante Wi-Fi o Bluetooth,consiste en definir distintas áreas de localización dependiendo la potencia de laseñal con la que esta se reciba, en la figura 1.1 puede apreciarse un ejemplode ésta definición de zonas tipo de algoritmo, los distintos puntos de accesoemiten señales con distinto nivel de frecuencia, dependiendo la potenciarecibida por cada uno de los puntos de acceso es posible dividir el entorno enceldas de localización, ya que se ha dividido el entorno en estas celdas, esposible identificar la ubicación del usuario en el entorno al registrar la potenciade la señal recibida, este método es conocido como el algoritmo de localización“fingerprint”. Figura 1.1 algoritmo de localización por redes inalámbricas implementado [Yris 2012]Una vez establecido este algoritmo para la localización en interiores, seprocedió a medir la potencia de las señales de los puntos de acceso en elentorno, registrando el incremento y decremento de cada señal recibida, estopermitió dividir el entorno en celdas de localización con una superficie de 2metros cuadrados, generando una división como se muestra en la figura 1.2. 8
  • 15. Capítulo 1. Introducción Figura 1.2 segmentación del entorno de acuerdo a la potencia de señal inalámbrica recibida [Yris 2012]Para definir la localización dentro de las distintas áreas funcionales del entorno,se agruparon las celdas que se encontraban dentro de una de las áreas, deésta forma, podrá definirse si el usuario se encuentra en un área funcional delentrono dependiendo en qué conjunto de celdas se encuentra, la siguientetabla define la correspondencia de las zonas funcionales del entorno con lasceldas definidas en la figura anterior.Nombre de la zona de localización Símbolo / colorCENIDET.Cerritus.DCC.Aula_1CENIDET.Cerritus.DCC.Aula_2CENIDET.Cerritus.DCC.Aula_3CENIDET.Cerritus.DCC.Laboratorio_Sistemas_DistribuidosCENIDET.Cerritus.DCC.Laboratorio_Ingenieria_de_softwareCENIDET.Cerritus.DCC.Laboratirio_Inteligencia_ArtificialCENIDET.Cerritus.DCC.Soporte_tecnicoCENIDET.Cerritus.DCC.SanitariosCENIDET.Cerritus.DCC.Escaleras_planta_bajaCENIDET.Cerritus.DCC.Entrada_al_edificioCENIDET.Cerritus.DCC.TragaLuzAdemás de implementar un servicio de localización por tecnologíasinalámbricas, también se implementó un algoritmo de reconocimiento medianteRFID. Esta tecnología permite capturar e identificar de manera automáticainformación contenida en etiquetas (tags) a través de un lector de ondas deradio frecuencia, éstas etiquetas RFID se adhieren a algún objeto, cuando elobjeto se encuentre en el campo de recepción del lector RFID, la etiqueta seenergiza y envía como respuesta un número de 96 bits (código EPC) al lector, 9
  • 16. Capítulo 1. Introduccióneste código se utiliza para identificar y extraer información del objeto [Portillo2008].Para ésta identificación, se diseñaron portales RFID que contaban con dosantenas lectoras, las cuales podían registrar el movimiento de entrada y salidade alguna entidad que contenga un tag, en la figura 1.3 se presenta el modelode los portales RFID, estos portales podrían ser instalados en los accesos delas distintas áreas del entorno como se muestra en la figura 1.4, de esta formael sistema podría registrar cuando un usuario, con una etiqueta RFID asignada,entraba o salía de determinada área, y de esta forma inferir su localización. Figura 1.3 diagrama del funcionam iento de los portales RFID [Yris 2012] Figura 1.4 diagrama para la implementación de portales RFID [Yris 2012] 10
  • 17. Capítulo 1. Introducción1.2.3 Generación y explotación de mapas semánticos para instalaciones organizacionales mediante el uso de ontologías [Estrada 2012]En este proyecto se desarrollaron herramientas que permitieron crear mapasvirtuales con anotaciones semánticas de manera automática, de esta forma losmapas contienen información acerca de la estructura de la información,además de contener la información de los elementos que se encuentran encada uno de los lugares.Para poder elaborar esto, los mapas se desarrollaron en el lenguaje de diseñode gráficos en segunda dimensión Scalable Vector Graphics (SVG), de estamanera se lograron desarrollar mapas que contienen información de lasinstalaciones sin depender de algún servicio web para obtener estainformación, además que este formato permite elaborar acercamientos a lasimágenes sin obtener alguna distorsión. En la figura 1.5, se muestra un ejemplode un mapa construido en este formato de la planta baja del edificio decomputación. Figura 1.5 Ejemplo de un mapa generado en el proyecto [Estrada 2012]Para obtener la información contenida en estos mapas, se utilizaron ontologíasorganizacionales, en las cuales contenían información acerca de los objetos,personas, eventos, recursos, etc. Con estas ontologías se podía extraer lainformación de la organización y asignarle esta información a los mapas SVG,de esta forma el mapa contendrá información sobre los objetos y las personasque están asignadas a ese lugar. Además de ello, se desarrolló una ontologíacapaz de modelar la infraestructura de una organización, con la cual eraposible definir áreas funcionales, entradas, edificios, escaleras, etc. 11
  • 18. Capítulo 1. Introducción1.2.4 Servicio de recomendación contextual mediante ontologías multidimensionales para dispositivos Smartphone [González 2012]El objetivo de esta tesis fue desarrollar servicios de recomendacióncontextuales para usuarios móviles de una IES, mediante la explotación deontologías organizacionales y ontologías de perfil de usuario, para inferirrecomendaciones de servicios, personas, lugares y objetos asociados a unaorganización. Las recomendaciones se explotarán en el dispositivo móvil de unusuario, aplicando técnicas avanzadas de interacción basadas en texto paravisualizar las recomendaciones, utilizando el potencial de los dispositivosmóviles de última generación.Este proyecto busca modelar la información contextual de una organización(IES) mediante una red de ontologías, basándose en los conceptos definidosen [Bouzeghoub 2009] sobre contexto multidimensional, de tal forma, que secontemplan cinco dimensiones, correspondientes a las siguientes ontologías:  Ontología organizacional: en esta ontología, basada en las ontologías de organizaciones desarrolladas previamente en el CENIDET, se describen diversos aspectos de la institución, tales como los datos generales y financieros de una organización, sus competencias, recursos de infraestructura, recursos humanos, estructura organizacional, objetos de conocimiento y servicios, entre otros.  Ontología de localización: esta ontología se forma de ontologías de espacios y de localización, desarrollándose actualmente en CENIDET [Estrada 2010] [Yris 2012], considera espacios interiores y exteriores de las organizaciones.  Ontología de Actividades: se propone esta ontología para describir las actividades de las personas pertenecientes a una organización, considerando el tipo de actividad, el rol de la persona en ella y los recursos organizacionales asociados a dicha actividad.  Ontología de tiempo: se toma como base la ontología OWL-Time y se propone extenderla para satisfacer los requerimientos del sistema de recomendación propuesto en esta tesis, tal como el modelado de horarios, periodos de trabajo, fechas de eventos, etc.  Ontología de perfil de usuario: en esta ontología, basada en las ontologías de perfil de usuarios desarrolladas previamente en el CENIDET, se describen los intereses y preferencias de los usuarios, además de las competencias de los mismos. 12
  • 19. Capítulo 1. IntroducciónCon este conjunto de ontologías, a las cuales se le añadirán las relacionescorrespondientes para conformar la red, se busca modelar aspectosrelacionados con competencias organizacionales e individuales, objetos deconocimientos, localización, infraestructura, eventos espacio/temporales,agendas de actividades, ocupaciones, roles e intereses de los usuarios.1.3 Descripción del problemaActualmente, los sistemas de información contextual en entornos inteligentesque utilizan realidad aumentada, necesitan establecer métodos para identificarobjetos, personas o lugares que estén contextualizados en el sistema. Sinembargo deben aplicar diferentes tecnologías para el reconocimiento deobjetos dependiendo el entorno en el que se encuentre la aplicación, ya quealgunas de ellas, como el reconocimiento de objetos a través de marcadores,pueden ser más eficientes en ciertos entornos, incluso dependiendo del origendel entorno, algunas tecnologías no pueden implementarse, por ejemplo el usode marcadores en museos de patrimonio cultural.Una vez conocidas las tecnologías que pueden implementarse en el entorno,debe tenerse en cuenta que utilizar una sola técnica para el reconocimiento deobjetos en este tipo de aplicaciones no garantiza una buena precisión alrelacionar los objetos reales con sus anotaciones virtuales [Park 2010], ademáses muy difícil realizar todas las funciones del sistema mediante el uso de unasola tecnología, por ejemplo, si se utilizaran marcadores únicamente, para lalocalización del usuario en el entorno deberían implementarse muchosmarcadores, de tal manera que se asegure que el usuario visualice, ademáscada marcador necesitaría contener la información de la zona del entorno en laque se localiza el usuario, tal como se hizo en [Thomas 2002], en caso de lastecnologías sensoriales, podría detectarse los objetos que se encuentran cercadel dispositivo, sin embargo algunas de ellas emiten señales de corto alcance,tal es el caso de RFID, y en cuanto a la realidad aumentada sería imposibleasociar los objetos virtuales con los reales de manera precisa, por ejemplo encaso de encontrarse múltiples objetos en el entorno, el dispositivo podríadetectar las señales emitidas por estos, sin embargo no podría asignar losobjetos virtuales con precisión a los objetos, debido a que no sabría en quédirección se recibe la señal. Debido a lo anterior, deben implementarsetécnicas que permitan combinar las distintas tecnologías de localización deusuarios y reconocimiento de objetos en el entorno para obtener una mayorprecisión en la inserción de los objetos reales.Cada una de las técnicas utilizadas para la auto-identificación de objetosimplica diferentes procesos para el reconocimiento de los mismos, por ejemplo,la identificación sensorial necesita conocer la localización del usuario paradeterminar que objetos se encuentran en su alrededor, después, con ayuda delos sensores del dispositivo, puede obtener la orientación del usuario y 13
  • 20. Capítulo 1. Introducciónmostrarle los objetos que está viendo a través de la cámara del dispositivomóvil. Para elaborar técnicas de auto-identificación hibridas es necesario tomaren cuenta ¿cómo se van a reconocer los distintos objetos del entorno utilizandodiversas técnicas?, ya que el entorno puede contar con diferentes objetos, en elcampo de visión podrían encontrarse objetos que se reconozcan mediante suforma, algún marcador o tecnologías sensoriales, de tal manera que debemosconsiderar que en el entorno existen múltiples objetos que pueden auto-identificarse de distintas maneras en tiempo real.Una vez que se implementan las técnicas de auto-identificación para reconocerpersonas, objetos y lugares, se debe extraer la información descriptiva de cadauno de estos elementos de una fuente de información contextual, para esteproyecto de tesis se utilizará el servicio de recomendación T-Guía, este sistemamodela semánticamente una organización y recomienda al usuario cada unode los elementos que define el modelo semántico desarrollado en los proyectosde tesis descritos en la sección 3, como caso de estudio, en este proyecto detesis se considera como escenario de prueba una institución de EducaciónSuperior (IES), debido a que estas contienen información sobre personal,eventos, horarios, objetos, etc. de esta manera existe mucha informacióncontextual en una IES para elaborar recomendaciones de los elementosanteriores, además que los proyectos anteriores, incluyendo el sistema derecomendación [Gonzáles 2010], el servicio de localización [Yris 2012] y elmodelado de la infraestructura [Estrada 2010], están basados en la IESCENIDET, y debido a esto, la aplicación que se pretende desarrollar podríaauxiliarse de éstas herramientas al integrar su funcionamiento para el entornoen que fueron diseñadas.Con el escenario descrito para esta tesis, se debe relacionar la informacióncontextual de los de las personas, lugares y objetos de la IES con las técnicasde realidad aumentada que estén en el campo de visión del dispositivo,solucionando los problemas relacionados con objetos sobrepuestos,identificación de lugares desde diferentes puntos de visión, de acuerdo a laubicación del usuario en las instalaciones de la IES, considerando que lainfraestructura de la organización se conforma de varios edificios multinivel enun área extensa y de muchos objetos de conocimiento y equipos de laboratorio.1.3.1 Complejidad del problemaComo se ha mencionado anteriormente, en este proyecto deben implementarsetécnicas que sean capaces de localizar a los usuarios en entornos inteligentes,los cuales mediante tecnologías para el censado de dispositivos móvilespueden detectar e inferir actividades del usuario, además de que debemostrársele al usuario información contextual del ambiente que lo rodea, lo cualimplica que debe considerarse lo siguiente para poder implementar estaaplicación: 14
  • 21. Capítulo 1. Introducción  Debe implementarse una técnica adecuada de auto-identificación para los objetos, lugares y personas, que permita la identificación de múltiples objetos en el campo de visión del dispositivo.  Deben implementarse técnicas de reconocimiento de múltiples objetos tanto para la identificación en interiores y exteriores dentro del entorno inteligente.  Deben establecerse técnicas que permitan la auto-identificación de personas, que puedan reconocer a una persona y mostrar la información de ésta mediante información contextual del sistema de recomendación.  Cada técnica utilizada comprende propias dificultades de reconocimiento, los marcadores deben diseñarse de determinado tamaño, dependiendo de la resolución de la cámara del dispositivo, para que puedan identificarse de manera correcta.  La aplicación necesita un repositorio donde pueda asociar los patrones para la identificación de los objetos y la información de los mismos.1.4 Objetivos del proyecto1.4.1 Objetivo generalEl objetivo de esta tesis es el análisis, diseño e implementación de servicios derecomendación contextual para instituciones de educación superior, queutilicen tecnologías de realidad aumentada para mostrar información depersonas, lugares y objetos en dispositivos Smartphone.1.4.2 Objetivos específicos  Implementar servicios de localización en interiores capaces de determinar la localización en tiempo real de un dispositivo móvil.  Desarrollar un servicio que sea capaz de determinar la orientación del dispositivo Smartphone mediante los sensores contextuales como el acelerómetro, magnetómetro y giroscopio.  Desarrollar servicios que permita identificar los objetos, lugares, personas y edificios que se están visualizando en el dispositivo, extrayendo la información contextual del modelo semántico organizacional.  Desarrollar servicios para la extracción de información contextual de una red de ontologías organizacionales, que contendrán la información del entorno en el que se desarrollará la aplicación. 15
  • 22. Capítulo 1. Introducción  Desarrollar servicios que muestren información contextual en tiempo real de personas, lugares y objetos mediante técnicas de realidad aumentada.1.5 JustificaciónAdemás de la realidad aumentada como una opción de interfaz para lossistemas de cómputo ubicuo, también pueden desarrollarse sistemas quemuestren la información contextual del entorno mediante mapas en segunda otercera dimensión, sin embargo este tipo de interfaz carece de naturalidad en lainteracción del usuario con la información del entorno, lo que conlleva aproblemas como la interpretación de la información del entorno, la localizaciónde lugares, objetos o personas que se encuentren en un piso distinto al delusuario, y al orientar al usuario en cuanto a su localización del edificio [Kurata2007]. Las tecnologías de realidad aumentada han evolucionado la interaccióncon el entorno en los sistemas de computación ubicua, ya que el usuario escapaz de visualizar el entorno real con información mediante objetos virtuales,lo que permite una interacción más intuitiva, de tal manera que el usuariopuede obtener la información y recomendaciones de objetos, lugares ypersonas únicamente al enfocarlas con el dispositivo [Matysczo 2003].Actualmente se está desarrollando una nueva versión del sistema derecomendación contextual de [Arjona 2009], de esta manera este proyectointegraría nuevas funciones que permitieran ampliar su funcionalidad. Comoparte de las mejoras del sistema T-Guía, se pretende mejorar la aplicacióncliente del sistema, de esta manera se implementarían nuevos métodos delocalización y se aprovecharían tecnologías de los dispositivos móviles que nose consideraron al desarrollar la primera versión del sistema T-Guía.Por otro lado, las tecnologías de realidad aumentada le permiten interactuar alusuario con el entorno real de manera más natural con la información deentornos inteligentes. Además, los dispositivos Smartphone integrantecnologías sensoriales que podrían gestionar muchos de los requerimientosde la implementación de aplicaciones de realidad aumentada. Por lo que aldesarrollar una nueva aplicación de información contextual utilizandotecnologías de realidad aumentada, se innovaría la interacción del cliente conel sistema. 16
  • 23. Capítulo 2. Marco Teórico Capítulo 2. Marco TeóricoEn esta sección se describen algunas herramientas, conceptos y aspectostécnicos que están considerados para el desarrollo del proyecto descrito eneste documento. 17
  • 24. Capítulo 2. Marco Teórico2.1 Realidad aumentadaLa realidad aumentada (Augmented Reality, AR) es un área de investigaciónque se procura mejorar la interacción con el entorno real mediante lasuperposición de información virtual [Schmalstieg 2011], esto quiere decir quegracias a las tecnologías desarrolladas mediante realidad aumentada podemoselaborar tareas en el entorno real permitiéndonos obtener información de éstemediante la inserción de objetos virtuales en el entorno, la realidad aumentadaabarca tres principales características;  La inserción de imágenes virtuales en los entornos reales. Como ya se mencionó anteriormente, la realidad aumentada integra información en el entorno real mediante objetos virtuales, ya sea mediante animaciones u objetos estáticos sobre el video grabado del entorno mediante la cámara del dispositivo.  Reconocimiento de objetos en tercera dimensión. Debido a que la realidad aumentada necesita sobreponer información de los objetos en el entorno, es necesario colocarla de manera precisa sobre cada uno de ellos, de esta forma se aseguraría una correspondencia del objeto con la información virtual, para ello se aplican distintas técnicas de reconocimiento de los elementos en el entorno.  Interactividad en tiempo real. Una de las características que integra la realidad aumentada es, que mientras el usuario interactúa con el entorno real puede interactuar con los objetos virtuales en el mismo instante.Inicialmente las aplicaciones de realidad aumentada se desarrollaban encomputadoras fijas o se construían dispositivos que se montaban sobre elusuario (Head Mounted Display, HMD) para permitir la movilidad de estasaplicaciones en el entorno [Azuma 1997], sin embargo, el costo de estossistemas y los conocimientos técnicos necesarios para su uso impidierongeneralizar la construcción de sistemas de realidad aumentada en estosdispositivos. Actualmente, varios investigadores han desarrollado sistemas derealidad aumentada aprovechando las tecnologías que ofrecen los dispositivosde cómputo móvil, como los PDA’s, Smartphones, Tablets PC, etc. Estosdispositivos contienen tecnologías sensoriales que nos permiten conocer elposicionamiento del usuario en el entorno y además la orientación del usuariopara conocer que objetos se encuentran en su campo de visión [Thalmann2008].Los sistemas de realidad aumentada requieren de un reconocimiento precisode la orientación y el posicionamiento del usuario para poder ajustar lainformación virtual en los objetos reales, para ello pueden utilizarse distintastécnicas con las cuales puede identificarse a los objetos del entorno, estaspueden clasificarse dependiendo a la estrategia y a las tecnologías utilizadaspara la identificación de objetos del entorno, comúnmente puede elaborarse laidentificación de objetos mediante el uso de marcadores visuales, sinmarcadores o mediante tecnologías sensoriales, a continuación se describe enqué consiste cada una de estas tecnologías. 18
  • 25. Capítulo 2. Marco Teórico2.1.1 Reconocimiento de objetos mediante el uso de marcadoresUn marcador visual es una imagen que contiene algún código preestablecido,el cual puede ser decodificado por algún dispositivo para el reconocimiento deobjetos, transferencia de información, etc.En la realidad aumentada, los marcadores se utilizan para facilitar y controlarlas imágenes que se van a visualizar, además de implementar otras funcionesen el sistema, por ejemplo, en [Thomas 2002] se implementó un juego derealidad aumentada en primera persona en el que, además de utilizarmarcadores para insertar los objetos virtuales, se implementó un sistema delocalización de bajo costo utilizando los marcadores, en donde se establecía laubicación del usuario en el entorno dependiendo el tipo de marcador. Ademásde funcionar como un sistema de localización los marcadores permiten obtenerla orientación del dispositivo sin necesidad de utilizar sensores de orientaciónen el dispositivo, en trabajos como [Schmalstieg 2003] y [Schmalstieg 2006] losmarcadores ayudan a obtener la orientación del dispositivo de acuerdo a lainclinación de la imagen del marcador capturada.En la figura 2.1 puede apreciarse un ejemplo de los marcadores que se utilizancomúnmente; de plantilla y matrices de datos. Los marcadores de tipo plantillason aquellos que se diseñan con alguna figura en particular, especialmentediseñada para reconocer objetos en el entorno, pueden facilitar la interpretaciónde estos por los usuarios. Las matrices de datos son capaces de almacenarcódigos binarios de manera bidimensional, comúnmente se emplean matricesde 6x6 capaces de generar 4096 marcadores distintos, también se han llegadoa implementar matrices de datos de 144x144 capaces de almacenar hasta1558 bytes. Figura 2.1 marcadores de planti lla y matrices de datos [Schmalstieg 2007]Además de las matrices de datos, también existen los códigos de respuestarápida (Quick Responce Code, QRCode), los cuales representan un códigobidimensional con el cual se puede codificar texto alfanumérico, códigosnuméricos e imágenes, la especificación permite codificar tres clases deinformación: QRCodes con 7,089 caracteres numéricos, con 4,296 caracteresalfanuméricos y con 2,953 códigos binarios (imágenes) [ISO 2006], En la figura2.2 puede apreciarse un ejemplo de un QRCode. 19
  • 26. Capítulo 2. Marco Teórico Figura 2.2 ejemplo de un QRCode [Woo 2011]Como puede observarse, los marcadores son capaces de almacenar datos dedistintas formas, además que pueden ser útiles para indicarle al usuario zonasde interés. Para poder reconocer la información que se encuentra dentro delmarcador podemos utilizar el algoritmo propuesto en [Schmalstieg 2007], elcual consta de cinco fases descritas de la siguiente forma:Umbralización. En este proceso se eliminan las sombras y los otros colorescapturados del entorno, conservando únicamente aquellos colores quepermitan identificar al marcador, por ejemplo, en la figura 2.3 puede apreciarseque cuando el marcador se encuentra en blanco y negro, el proceso deumbralización eliminará los otros tonos de la imagen, conservando únicamenteaquellos que le permitan identificar el marcador. Figura 2.3 proceso de umbralización [Schmalstieg 2007]Detección de marcadores. Una vez que se ha obtenido una imagen con laumbralización, deberán detectarse todas las figuras que puedan formar unmarcador, en este proceso se obtendrán diversas formas sin importar que noformen un rectángulo o la forma establecida del marcador.Definición de la forma. Una vez obtenidas las figuras candidatas, se sometena una verificación que comprueba que cumplen con la forma de losmarcadores, en caso de que los marcadores sean cuadrados, se descartarántodas las figuras que no tengan las propiedades de la forma del marcador.Verificación de patrones. Una vez obtenidas las figuras de los marcadores,puede identificarse el patrón que este contiene, este proceso permitiráreconocer el marcador y añadir los objetos virtuales correspondientesEstimación de la orientación. Finalmente puede obtenerse una orientacióndel dispositivo con respecto al marcador, esto puede hacerse al detectar algunainclinación en la imagen capturada del marcador 20
  • 27. Capítulo 2. Marco TeóricoLos marcadores visuales permiten controlar la identificación visual en elentorno, incluso pueden diseñarse para facilitar su reconocimiento, por ejemploal integrar marcadores de colores más visibles en el entorno, además de poderaprovechar otras funcionalidades de estos, como la obtención de la orientacióny ubicación del dispositivo.2.1.2 Técnicas de reconocimiento visual sin marcadoresEn algunos de los entornos, como es en el caso de los museos de patrimoniocultural [Park 2010] y [Papagiannakis 2005], no pueden agregarse marcadorespara la identificación de objetos en el entorno, por lo tanto debe optarse porotras estrategias que le permitan a la aplicación identificar que objetos seencuentran a su alrededor. Las técnicas de reconocimiento visual se utilizan enlos sistemas inteligentes para facilitar la recolección de los datos y la toma dedecisiones, este tipo de técnicas se encarga de clasificar objetos, capturadosen alguna escena o imagen capturada, en cierto número de categorías o clases[Pajares 2008].Muchos sistemas de este tipo se basan en la identificación de formas, bordes,o puntos clave de los objetos en el entorno, para ello es necesario aplicar algúnalgoritmo de tratamiento de imágenes por visión artificial. Para comprender demanera general como puede llevarse a cabo un reconocimiento visual, seexpondrá el algoritmo propuesto por [Matysczok 2003], en el cual se extraenlos bordes de una imagen para el reconocimiento de objetos y, posteriormente,para la inserción de información virtual de ese objeto.  Extracción de la estructura del objeto. Es necesario que primero se obtenga una imagen de algún objeto mediante la cámara del dispositivo, en este paso también se identificarán los bodes y puntos clave que puedan formar alguna figura que pueda ayudar a reconocer el objeto.  Acceso a los datos 3D-CAD. Una vez obtenidas los bordes, puntos o figuras candidatas a formar un objeto, se accede a los modelos creados en programas de diseño asistido mediante computadora (CAD), estos modelos almacenan las formas de los objetos del entorno que pueden ser identificados, de esta forma ayudarán a comparar las figuras obtenidas en el primer paso para determinar si se trata de algún objeto contextualizado.  Detección de figuras auxiliares. Una vez obtenido el modelo 3D-CAD, se compara este modelo con las figuras obtenidas en la captura de la imagen, de esta forma se obtendrán todas las coincidencias con el modelo, obteniendo una primera forma del objeto.  Reducción de polígonos. Ya que se han obtenido los bordes, puntos clave y figuras que coinciden con el modelo 3D-CAD, aquellos que no hayan coincidido con el modelo serán descartados, reduciendo las figuras capturadas para simplificar la forma del objeto y su reconocimiento.  Extracción de bordes dominantes. Ya que se cuenta únicamente con las figuras que coinciden con el modelo, se definen los bordes y superficies que formarán al objeto. 21
  • 28. Capítulo 2. Marco Teórico  Definición de relaciones. Una vez definidos los bordes y las superficies capturadas, se procede a formar relaciones entre estos para definir el objeto, esto permite reconocer finalmente al objeto  Conversión de datos. Finalmente, este objeto puede pasarse a un formato de reconocimiento, en donde pueda devolverse una clave de identificación, que le pueda indicar al sistema cómo reaccionar una vez que se ha reconocido el objeto, en algunos casos este objeto puede llegar a almacenarse para enriquecer los modelos 3D-CAD.Como puede verse, el proceso de reconocimiento de objetos requiere untratamiento avanzado de imágenes, debido a que estos objetos deben seridentificados sin importar de qué ángulo haya sido capturada la imagen, es porello que los modelos 3D-CAD deben capturarse de manera robusta, de talforma que el objeto pueda identificarse de diferentes perspectivas.2.1.3 Técnicas de reconocimiento sensorialLas técnicas de reconocimiento sensorial pueden dividirse en dos tipos deacuerdo al tipo de reconocimiento que utilizan, por un lado se encuentranaquellas técnicas que se encargan de reconocer los objetos al recibir una señalmediante algún tipo de sensor, y por otro lado se encuentran aquellas queutilizan sensores de orientación para definir que objetos se encuentravisualizando el usuario de acuerdo a la posición en la que se encuentra eldispositivo.Algunos trabajos han utilizado tecnologías como la identificación por lucesinfrarrojas, tecnologías por identificación de radiofrecuencia (RFID) u otro tipode sensores. En trabajos como [Olwal 2006] se utilizan sensores infrarrojos enlos dispositivos para poder detectar una señal capaz de identificar objetos delentorno y proyectar información contextual del mismo. El trabajo [Rashid 2006]utiliza la tecnología RFID para integrar etiquetas en los puntos de interés(points of interest, POI) capaces de contener información de estos, para lalectura de estas etiquetas, se integró un lector de RFID en el dispositivo, deesta forma el sistema era capaz de reaccionar ante los POIs del entornodetectados por el dispositivo.Como puede apreciarse, este tipo de tecnologías se utiliza de manera similar alos marcadores visuales, añadiéndole a algún objeto del entorno un mecanismocapaz de emitir una señal que pueda ser recibida por el dispositivo y de estaforma poder identificarse. Sin embargo, existen otros trabajos que aprovechanlos sensores de orientación como el acelerómetro, giroscopio y magnetómetropara identificar los POIs del entorno. Trabajos como [Paucher 2010]implementan un reconocimiento a base de los sensores de orientación, el cualdespués se complementa con un reconocimiento visual para lograr una mayorprecisión para la correspondencia de la información virtual con los objetosreales.En [Mulloni 2010] se propuso un método con el cual puede saberse si eldispositivo se encuentra viendo un POI a partir de su orientación, en la figura2.4 puede apreciarse el modelo de orientación de un dispositivo con respecto aun POI, como puede verse, existen tres rotaciones R definidas por los 22
  • 29. Capítulo 2. Marco Teóricoacelerómetros de los ejes X, Y y Z. Una rotación del dispositivo con respecto alnorte (RDN), la rotación del POI con respecto al norte (RPN) y finalmente unarotación del dispositivo con respecto al POI (RDP), el norte se define con lasmediciones del magnetómetro del dispositivo. Figura 2.4 modelo de rotaciones en un reconocimiento sensorial por ori entaciónPara que este modelo funcione es necesario establecer una localización delusuario con el entorno, ya que la orientación de los POIs puede variar deacuerdo a la ubicación del usuario en el entorno, una vez establecida lalocalización del usuario, se toman los datos de las rotaciones RPN, donde seencontrarán referenciados los POIs. Cada vez que el usuario se encuentre enla localización definida se obtiene la rotación del dispositivo RDN, esta rotaciónobtenida puede compararse con la rotación de los POIs RPN y obtener larotación RDP, esta última rotación definirá la rotación que existe entre el puntode interés y el campo de visión del dispositivo, cuando la orientación del campode visión del dispositivo este cerca de un POI, podrá visualizarse la informacióncontextual de este.Como puede apreciarse, las técnicas sensoriales son capaces de identificarobjetos al capturar señales en el entorno, o bien, al identificar la orientación deldispositivo, sin embargo ninguna de estas técnicas utiliza la cámara deldispositivo para elaborar algún tipo de reconocimiento, por lo que la precisiónde estas técnicas se basa únicamente en las señales capturadas o en lasorientaciones medidas, lo que hace que este tipo de técnicas tenga una menorprecisión en la correspondencia de las anotaciones virtuales con los objetosreales.2.2 Computación ubicuaLa computación ubicua mejora el uso de las computadoras haciendo que estasestén conscientes de un entorno físico, procurando que éstas no seanperceptibles para el usuario, por lo tanto podemos definir a la computaciónubicua como el diseño de ambientes inteligentes que integran computadoras odispositivos que sean capaces de registrar los cambios o actividades que seefectúan en el entorno, de esta manera se pueden implementar sistemas quepueden cambiar su comportamiento de acuerdo a los eventos que se presentenen su entorno. [Weiser 1993] 23
  • 30. Capítulo 2. Marco TeóricoLa computación ubicua surge con el objetivo de integrar a las computadoras enlas actividades de la vida cotidiana, de esta manera las computadoras podríangestionar la información del entorno sin necesidad de que el usuario tuvieraconciencia de los dispositivos encargados de construir el ambiente inteligente,para ello, se han diseñado dispositivos de cómputo móvil cada vez másdiscretos, como los Smartphones o PDA’s, capaces de obtener información delposicionamiento y la orientación del usuario a base de sensores integrados enlos dispositivos, además, también se han diseñado tecnologías capaces deintegrar técnicas de auto-identificación de los objetos en el entorno, como losmarcadores, códigos QR o etiquetas RFID.2.3 Servicios de recomendación contextualEl modelado y administración de contexto es crítico para la implementación deservicios inteligentes (Smart Services), término que incluye dos áreasespecíficas de investigación: a) técnicas de interacción inteligentes, que tratanaspectos relacionados con el descubrimiento, agregación y entrega derecursos, b) servicios inteligentes, enfocados en proporcionar la infraestructuraadecuada para dar soporte a las interacciones inteligentes; es decir,proporcionar la funcionalidad requerida que permita a un sistema adaptarse asu entorno y a las preferencias y necesidades del usuario.Esto significa que además de conocer el contexto del usuario, también serequiere conocer el contexto que le rodea, país, ciudad, época del año, horario,etc. El contexto se puede representar con información espacial, se utilizanbases de datos espaciales (SIG) que procesan información georeferencial(longitud, latitud) para ubicar puntos o superficies de terrenos o instalacionesen cualquier lugar del planeta, esta información es útil para establecer límites,siempre que sea necesario restringir el razonamiento espacial, de acuerdo alos elementos que se encuentren cercanos a una persona, como por ejemplopersonas, instalaciones negocios, lugares, etc.Con esto se reconoce la importancia de la heterogeneidad de la informacióncontextual, así como también de las relaciones inherentes a ésta. Lo anterior sepuede resumir con la siguiente definición de contexto: Cualquier información útilpara caracterizar el estado de entidades individuales y las relaciones entreellos. Una entidad es cualquier objeto o persona que puede afectar elcomportamiento de un sistema y/o su interacción con el usuario.En la última década se han buscado distintos enfoques para representar yadministrar la información contextual. Entre estos acercamientos seencuentran: listas de atributos con sus respectivos valores, modelos XML conuna estructura de datos jerarquizada de atributos y valores, modelos orientadosa objetos y modelos basados en ontologías, estos últimos permiten definirespecificaciones formales de entidades contextuales y sus relaciones dentro deun dominio.Utilizando modelos semánticos basados en ontologías es posible caracterizardimensiones espacio-tiempo, en donde se modela tanto a las personas como alos lugares. Las personas se modelan mediante su perfil, el cual describe losdetalles del usuario en forma de una jerarquía conceptual, representandoinformación como: el nombre, la edad, el año de nacimiento, el nivel 24
  • 31. Capítulo 2. Marco Teóricoacadémico, sus dominios de conocimiento, sus competencias individuales1, suspreferencias, gustos, su agenda, y más. Con relación al modelado de lugares,se pueden modelar organizaciones describiendo aspectos tales como suinfraestructura tecnológica e instalaciones (activo fijo), sus recursos humanos(capital intelectual), sus objetos de conocimiento 2 (capital estructural), susservicios y sus competencias organizacionales 3 , adicionalmente se puedenmodelar atributos relacionados con espacio-tiempo tales como: horarios,actividades, servicios, ubicación, etc. Con estos modelos se puede integrar unared de ontologías que represente un modelo semántico multidimensional.Como resultado de este modelado semántico multidimensional, los servicios derecomendación contextual han emergido como un área de investigación queofrece varios nichos de oportunidad, áreas como la sobrecarga de informacióny soporte para la toma de decisiones [Middleton 2009]. El enfoque semánticoderivado de las ontologías se puede explotar de manera efectiva en serviciosde recomendación contextual, ya que confiere una capacidad de inferenciasobre la información, haciendo uso de lenguajes basados en lógica de primerorden y cláusulas de Horn [Breitman 2007].2.4 Modelado organizacional orientado al entornoEl modelado organizacional es una disciplina que se encarga de externalizar yformalizar conocimiento estructural y de comportamiento sobre cómo seorganiza, trabaja y cuáles son las funciones de una organización [Cheung2006], lo cual permite describir de manera más sencilla las competencias,recursos técnicos, tecnológicos, objetos de conocimiento, etc. Para poderdescribir los elementos de la organización mencionados anteriormente, seutilizan herramientas como la Web Semántica, memorias corporativas, modelosde competencia y ontologías de la organización.Los modelos organizacionales nos permiten contener un repositorio con el cualpodemos almacenar y administrar información sobre los recursos, lainfraestructura, datos del personal, eventos, actividades y demás acerca de unaorganización, con lo que este repositorio nos suele ser de gran utilidad paraelaborar aplicaciones como servicios de recomendación de la organización,modelos de representación del entono organizacional, e incluso sistemas decómputo ubicuo que puedan informar a un usuario acerca de la localización derecursos, lugares o eventos que se efectúen en el entorno. De esta forma, lasherramientas que permiten modelar la información de las organizaciones nossirven para extraer información relevante para el tipo de aplicaciones que sepretendan diseñar, en el caso del cómputo ubicuo, pueden diseñarse sistemasque permitan obtener información acerca de los eventos, lugares, personas uobjetos que se encuentran en el entorno basándose en un repositorio con lainformación de la organizacional, por ejemplo ontologías organizacionales.1 Conjunto de características personales (conocimiento, habilidades, destrezas, intereses, educación y entrenamiento) que un individuo aplica en un rango desituaciones de un dominio de conocimiento.2 Representación física de conocimiento, de tal manera que dicho conocimiento quede plasmado en un medio físico, en forma de texto, audio, video oimagen.3 Se define como las capacidades colectivas que permitirán a una organización sacar provecho a sus servicios o productos, de sus objetos de conocimiento, desu infraestructura, prestigio y capital intelectual. 25
  • 32. Capítulo 2. Marco Teórico2.5 AndroidEs un sistema operativo desarrollado por Google, el cual contiene un conjuntode aplicaciones para dispositivos móviles. Android está diseñado para que losdesarrolladores puedan crear aplicaciones en las que se aproveche al máximolos recursos y las funciones de los dispositivos móviles. Android estádesarrollado sobre el núcleo del sistema operativo Linux, además utiliza unamáquina virtual que ha sido diseñada para optimizar los recursos de memoria yhardware en un entorno móvil.Actualmente, los desarrolladores de Android han liberado un SDK (SoftwareDevelopment Kit) con el cual se pueden construir aplicaciones en el lenguajede programación Java, además este SDK puede actuar como un complementopara el entorno de desarrollo Eclipse. Esto se ha hecho con el fin de permitirlesa los desarrolladores diseñar aplicaciones tomando ventaja de todas lascaracterísticas que los dispositivos pueden ofrecer [Kumar 2008].2.6 Tecnología sensorial en SmartphonesActualmente la tecnología celular ha evolucionado hasta el punto en que puedeincluir dispositivos que permitan reconocer actividades del entorno físico, talcomo la cámara, micrófonos, acelerómetros, GPS, etc. Para poder procesaresta información es necesario contar con sensores que permitan captar lasseñales físicas para su transformación en datos electrónicos. Un sensor cuentacon los componentes básicos que se muestran en la figura 2.5, una unidad dedetección (Sensing unit), unidad de procesamiento (Processing unit), unidadtransceptora (Transceiver) y una unidad de energía (Power unit), pueden tenerComponentes adicionales dependientes de alguna aplicación, tales como unsistema de localización (Location finding system), generador de energía (Powergenerator) o un movilizador (Mobilizer). Figura 2.5 Principales componentes de los sensores [Akyildiz 2002]Las unidades de detección están compuestas de dos sub-unidades: sensor yconvertidores analógicos a digitales (Analogic-to-Digital Converters, ADC), elsensor produce las señales analógicas de acuerdo a los datos recibidos del 26
  • 33. Capítulo 2. Marco Teóricoentorno, estas señales analógicas son convertidas a digitales por el ADC yentonces se envían a la unidad de procesamiento. La unidad deprocesamiento, que está generalmente asociada con una pequeña unidad dealmacenamiento, procesa la información que recibe para convertir los datosrecibidos en información, el transceptor es aquel que se encarga de enviar yrecibir información de otros sensores o dispositivos, para que estos puedaninteractuar con el sensor, uno de los componentes más importantes de unsensor es la unidad de energía, ya que ésta provee al sensor la energía parasu funcionamiento [Akyildiz 2002].En este proyecto se utilizarán sensores que puedan determinar la orientacióndel dispositivo, para ello pueden emplearse sensores del tipo magnetómetro,giroscopio y acelerómetros de tres ejes.Magnetómetro. En general, un magnetómetro es el tipo de sensor que permitemedir la intensidad y dirección de alguna señal magnética, en algunoscelulares, este tipo de sensor nos permite detectar la dirección de la señalmagnética de la tierra y determinar la orientación del teléfono celular conrespecto a los puntos cardinales, lo que a veces puede funcionar como unabrújula digital [Kim 1989].Giroscopio. Un sensor de tipo giroscopio registra los movimientos entre lostres ejes (eje longitudinal, eje vertical y eje transversal de acuerdo a las tresdimensiones del entorno real), de tal manera que podemos detectar laorientación y la inclinación del dispositivo, en la figura 2.6 puede apreciarse unejemplo de un giroscopio digital, se considera el punto central del dispositivocomo el punto de gravedad del giroscopio, y de acuerdo a este punto el sensortomará los valores de su eje vertical (yaw), eje longitudinal (roll) y ejetransversal (pitch), dependiendo de la inclinación en la que se encuentre elsensor [Jones 2010]. Figura 2.6 diagrama de un giroscopio digital [Jones 2010]Acelerómetro. Un sensor del tipo acelerómetro se encarga de medir lasaceleraciones y vibraciones, los acelerómetros son direccionales, esto quieredecir que los acelerómetros pueden medir la aceleración en un solo eje, sinembargo se han podido desarrollar acelerómetros capaces de leer en múltiplesejes, los cuales nos permiten medir la aceleración en tres dimensiones. Adiferencia del giroscopio que se encarga de obtener el posicionamiento del 27
  • 34. Capítulo 2. Marco Teóricodispositivo con respecto a sus ejes, el acelerómetro permitirá obtener lavelocidad en la que el dispositivo se mueve o cambia de posición en los tresejes mencionados anteriormente [Jones 2010]. 28
  • 35. Capítulo 3. Estado del Arte Capítulo 3. Estado del ArteEn esta sección se analizaran los trabajos que tienen objetivos similares a losdel proyecto en desarrollo, evaluando cada una de las propuestas de soluciónde estos mismos. 29
  • 36. Capítulo 3. Estado del Arte3.1 SistemasEn esta sección se describirán los trabajos que desarrollaron sistemas capacesde insertar objetos virtuales en el entorno, cada uno de ellos fue diseñado paracierto tipo de entornos con necesidades muy particulares de los mismos.3.1.1 A Tracking Framework for Augmented Reality Tours on Cultural Heritage Sites [Park 2010]El departamento de ingeniería en electrónica y computación de la universidadHanyang en Corea, desarrolló una aplicación de realidad aumentada para elpalacio Gyeongbokgung, el cual es un museo de patrimonio cultural ubicado enCorea. El objetivo de este proyecto era elaborar una inserción de informaciónvirtual en las exhibiciones del museo mediante realidad aumentada, sinembargo, una de las principales restricciones que tiene este museo depatrimonio cultural es que no se pueden agregar marcadores al entorno parafacilitar el reconocimiento de objetos.En este trabajo se menciona que existen distintos tipos de métodos para laidentificación de objetos en sistemas de realidad aumentada, tales como elreconocimiento mediante el uso de marcadores, sin marcadores(reconocimiento de formas, figuras o patrones) o bien, utilizando tecnologíassensoriales, tales como la radio frecuencia, sensores del dispositivo, etc.Debido a la naturaleza del museo, fue imposible para este proyecto emplear laidentificación de los objetos a través de marcadores, por lo cual, propone unmétodo hibrido, entre técnicas de identificación visual y reconocimientosensorial, para la asociación de objetos virtuales con los objetos reales. Paraello se diseñó un algoritmo como se muestra en la figura 3.1. Figura 3.1 algoritmo de estimación de poses [Park 2010] 30
  • 37. Capítulo 3. Estado del ArteEste algoritmo funciona con tres tipos de identificación, la identificaciónsensorial TF1, la identificación visual (TF2 y TF3) y la identificación mediante lacombinación de estas dos técnicas (TF4). Para elaborar el reconocimientosensorial TF1, se utilizan sensores de posicionamiento, tales como el GPS,acelerómetro y giroscopio, los cuales permiten estimar la localización,orientación y velocidad con la que se mueve un usuario en el entorno. En elreconocimiento mediante visualización (TF2 y TF3) también estima elposicionamiento del usuario de acuerdo a las imágenes capturadas con lacámara del dispositivo, eso se hace mediante el reconocimiento de figuras,tales como bordes, esquinas o características que son detectadas en lasimágenes capturadas. En TF2 el posicionamiento es estimado utilizando elreconocimiento de las figuras de manera directa, siempre que lascaracterísticas de la escena detectada sean conocidas, por ejemplo una seriede segmentos rectangulares que dominen la escena pudieran describir la formaespecífica de un cuarto en el entorno, o bien, alguna figura especifica podríadescribir un objeto en particular. En TF3, la información referente a la escenacapturada está predefinida en una base de datos, el posicionamiento esdefinido cuando las figuras detectadas en la escena coinciden con las que seencuentran almacenadas en la base de datos, la cual puede contenerreferencia de imágenes o el conjunto de ellas así como sus trasformaciones,tales como la rotación o la escala.Finalmente se emplea un reconocimiento hibrido (TF4) que combina lastécnicas basadas en visión y las mediciones obtenidas mediante la localizaciónsensorial, de manera que la localización sensorial puede proveer informaciónacerca de una región de interés (Region Of Interest, ROI), una vez identificadala región de interés en la que se encuentra el usuario, es posible ajustar losobjetos virtuales al entorno real mediante una identificación visual de aspectosclave del ambiente.Como ya se mencionó anteriormente, este algoritmo se aplicó al palacioGyeongbokgung, tomando los algunos aspectos principales de acuerdo a lasposibles formas de los cuartos y a la localización del usuario con el entorno, enla figura 3.2 pueden apreciarse algunos ejemplos de la inserción de los objetosvirtuales en algunas de las salas del palacio. En algunas de las salas, como laque se muestra en la figura 3.2.a, se pudo insertar el objeto virtual debido a laforma de los objetos que se encontraban en el cuarto (cuatro pilares y unrecuadro en la parte superior), mientras que en otras salas, como en la figura3.2.b y 3.2.c, es necesario localizar primero al usuario y después reconoceralgún patrón establecido, tal como se explicó en el algoritmo de reconocimientohibrido. 31
  • 38. Capítulo 3. Estado del ArteFigura 3.2. Técnicas de realidad aumentada implementadas en el palacio deGyeongbokgung [Park 2010]3.1.2 An Augmented Reality Presentation System for Remote Cultural Heritage Sites [Zöllner 2009]En este proyecto se implementó un sistema que mostraba información yobjetos virtuales en las exhibiciones de un museo de arqueología y patrimoniocultural, el usuario podía observar videos, imágenes, texto informativo ymodelos en 3D de lugares históricos a partir del reconocimiento de una imagendel entorno.Para mostrar la información virtual se elaboró un reconocimiento visual de losmurales o pinturas que se encontraban en el entorno. En ciertos lugares de losmuseos se instalaron dispositivos como el que se muestra en la figura 3.3, loscuales únicamente tenían 180 grados de libertad, cuando el usuario enfocabaalguno de los murales era posible insertar los objetos virtuales. 32
  • 39. Capítulo 3. Estado del ArteFigura 3.3 dispositivo estático para la visualización de información contextual enmurales [Zöllner 2009]Además, el usuario también podía visualizar los objetos virtuales endispositivos móviles, como se muestra en la figura 3.4, en este tipo dereconocimiento, el usuario podía acercarse a una pintura que estuviera paralelaal suelo, el dispositivo mostraba un objeto virtual físico, el cual se quedaba demanera estática sobre la pintura, permitiéndole al usuario moverse alrededorde ella para visualizar este objeto en distintas perspectivas. Este sistema fueimplementado en tres museos de patrimonio cultural, adaptando los objetosvirtuales para las exhibiciones y utilizando las mismas técnicas dereconocimiento de objetos. Figura 3.4 inserción de objetos virtuales en los dispositivos móviles [Zöllner 2009]3.1.3 Location-based augmented reality on mobile phones [Turk 2010]El laboratorio “Four Eyes” de la universidad de california implementó unsistema de realidad aumentada capaz de elaborar un reconocimiento visual ysensorial por orientación de los objetos del entorno. Este proyecto propone unenfoque en el que se aprovechan los servicios de localización y estimación deposicionamiento para desarrollar aplicaciones de realidad aumentada, a su vez,integran técnicas de reconocimiento visual de objetos para lograr una mayorprecisión para insertar objetos virtuales.Los desarrolladores del proyecto proponen el modelo que aparece en la figura3.5, la nube azul representa el entorno, en el cual pueden existir diversospuntos de interés y varias localizaciones en donde puede estar el usuario(representadas por los puntos verdes), cada una de estas localizaciones definedos movimientos; uno de rotación, en donde el usuario puede girar con eldispositivo visualizando el entorno a su alrededor, y otro de traslación, endonde el usuario cambia de una localización a otra. Cada una de estaslocalizaciones contiene un campo de visión, el cual puede variar dependiendola rotación del usuario, en este campo de visión pueden encontrarse distintospuntos de interés (representados por los cubos amarillos), de tal forma quecuando un usuario se encuentre en una localización y oriente el campo de 33
  • 40. Capítulo 3. Estado del Artevisión a un punto de interés, el sistema deberá mostrarle información de esepunto mediante realidad aumentada.Figura 3.5 Modelo de reconocimiento mediante localización y orientación propuestoen el proyecto [Turk 2010]Para el reconocimiento mediante la orientación, se emplearon el magnetómetroy acelerómetros de tres ejes, además de recibir las señales del norte magnéticoy la orientación del dispositivo, estos sensores también captan señales deeléctricas de objetos cercanos y las aceleraciones que se ejercen sobre eldispositivo, por ejemplo la gravedad o el movimiento del usuario, por lo queestas medidas pueden variar y afectar la precisión de los objetos virtuales. Unode los problemas que se expone en este método es que la precisión en lainserción de los objetos virtuales suele ser afectada por las mediciones de lossensores y la precisión del servicio de localización, es por ello que seimplementaron técnicas de visualización que permitieran insertar los objetosvirtuales de manera precisa, en la figura 3.6 puede apreciarse que con elmétodo de reconocimiento por orientación (figura de la izquierda) no se obtieneuna gran precisión en la relación de los objetos virtuales con los reales, alimplementar las técnicas visuales, se logró una correspondencia como semuestra en la figura de la derecha.Figura 3.6 aumentación mediante el reconocimiento por orientación y a justemediante técnicas de reconocimiento visual 34
  • 41. Capítulo 3. Estado del Arte3.1.4 An Augmented Reality Interface to Contextual Information [Ajanki 2011]En este proyecto se implementó un sistema de información contextual en unainstitución de educación superior, capaz de proporcionar información delentorno dependiendo a la forma en que el usuario interactuaba con ella.Para poder retribuirle información al usuario utilizo un algoritmo como el queaparece en la figura 3.7, primero el sistema infiere la relevancia de lainformación de acuerdo al contexto, como el lugar y horario, y de acuerdo allugar en que se encuentra el usuario, ésta información se proyecta medianterealidad aumentada en un dispositivo HDM (Head Mounted Display), finalmentese evalúa la interacción que tiene el usuario con esta información de acuerdocon su interacción con esta, ésta interacción le permite al sistema volver ainferir la relevancia de información extra del elemento del entorno que elusuario esté visualizando.Figura 3.7 algoritmo para la retribución de información en el sistema [Ajanki 2011]En este sistema se podían insertar las anotaciones virtuales como se muestraen la figura 3.8, como puede observarse, en este proyecto se elaboraba unreconocimiento facial a las personas que pudieran conocer temas de interéspara el usuario, mientras que los puntos de interés, como lugares del entorno,eran reconocidos mediante marcadores visuales. Además de utilizar estastécnicas de identificación, el sistema podía elaborar un reconocimiento de voz,de esta forma el usuario podría proporcionar información extra del contexto. 35
  • 42. Capítulo 3. Estado del ArteFigura 3.8 reconocimiento de objetos e inserción de información en el entorno[Ajanki 2011]3.1.5 Personalized In-store E-Commerce with the PromoPad: an Augmented Reality Shopping Assistant [Zhu 2008]En este proyecto se implementó un sistema en un centro comercial, el cual lesproporcionaba recomendaciones personalizadas a los clientes del almacén. Detal forma que cuando un usuario se encontraba cerca de algún producto quepudiera ser de interés para él, se le mostraba un acercamiento del producto,como se muestra en la figura 3.9, donde además se le mostraba informacióndel producto y algunas recomendaciones de otros productos similares ocomplementarios. Figura 3.9 acercamiento a un producto de posible interés para el clientePara poder obtener la información del usuario, se les repartía una tarjeta a losclientes frecuentes, de esta forma se podía comprobar que el cliente estabautilizando el sistema, con esta tarjeta era posible identificar al usuario y tenerun registro de las compras que había elaborado anteriormente, permitiendoelaborar un perfil de él para recomendarle productos que pudieran serle deinterés. En este sistema se implementó un servicio de localización mediantemarcadores visuales, de tal forma que únicamente se podría identificar lalocalización del usuario cuando éste se encontrara cerca de un productocontextualizado. 36
  • 43. Capítulo 3. Estado del Arte3.2 HerramientasEn esta sección se describirán algunas herramientas que pretenden facilitar laimplementación de aplicaciones, con tecnologías de realidad aumentada eninteriores, estas aplicaciones se diseñaron para poder integrar susfuncionalidades a diversos entornos.3.2.1 Look!: Framework para Aplicaciones de Realidad Aumentada en Android [Bellón 2011]Ésta herramienta fue desarrollada en la Universidad Complutense de Madriddentro de la facultad de informática, en este proyecto se pretendía desarrollaruna herramienta capaz facilitar la implementación de sistemas de realidadaumentada, para ello se implementaron varios algoritmos para gestionar elreconocimiento de objetos mediante los sensores de orientación e integraronun sistema de localización mediante tecnologías Wi-Fi.Además de integrar diversos métodos para la manipulación de los sensores delos dispositivos, para el reconocimiento por orientación, se integraron otrasfuncionalidades y servicios, con el objetivo de abarcar la mayoría de lasnecesidades que se presentan en la implementación de sistemas de realidadaumentada, dichos aspectos son los siguientes:  Localización en interiores: Como ya se menciono anteriormente, este proyecto integra un algoritmo de localización en interiores por tecnología Wi-Fi conocido como Closest Neighbor, en el cual se establecen determinadas localizaciones en el entorno de acuerdo a la frecuencia recibida por la señal Wi-Fi, el sistema determina la localización del usuario mediante la cercanía de los puntos de localización definidos anteriormente.  Representación gráfica: En este punto, el Framework permite la representación gráfica de elementos tanto en dos dimensiones como tres dimensiones, únicamente proporcionándole al sistema la información suficiente de los objetos que serán dibujados.  Interacción con los objetos virtuales: El Framework integra un sistema de interacción táctil con los objetos virtuales, de tal forma que el programador debe preocuparse por el efecto producido en dicha interacción.  Acceso a Servicios Remotos: Adicionalmente éste Framework pretende facilitar el acceso a servicios externos, tales como bases de datos alojadas en servidores remotos.3.2.2 CAMAR Tag Framework: Context-Aware Mobile Augmented Reality Tag Framework for Dual-reality Linkage [Woo 2009]En este proyecto se propuso un Framework basado en realidad aumentadapara dispositivos móviles consciente del contexto (Context-Aware Mobile 37
  • 44. Capítulo 3. Estado del ArteAugmented Reality, CAMAR), con el cual, el usuario podría agregaranotaciones virtuales en un entorno determinado.Para el funcionamiento de este Framework, el usuario debe capturar imágenesdel entorno en distintas perspectivas, esto es debido a que ésta herramientaemplea un reconocimiento visual, por ello es necesario extraer primero lospuntos clave de los objetos del entorno para generar modelos que permitan sureconocimiento posteriormente, estos modelos pueden ser almacenados en unservidor de la red interna del sistema. Con los modelos capturadosanteriormente, el sistema generará un entorno virtual como aparece en la figura3.10, con ayuda del entorno virtual, el usuario podrá generar anotaciones,insertar o eliminar objetos en el entorno, de esta forma, cuando el sistemareconozca un objeto, a partir de los modelos generados anteriormente, sepodrá insertar información virtual del entorno diseñada por el usuario.Figura 3.10 generación del mundo virtual a partir del entorno real en el proyecto[Woo 2009]3.2.3 Unified Context-aware Augmented Reality Application Framework for User-Driven Tour Guides [Woo 2010]Este trabajo desarrolló un Framework orientado a la implementación deaplicaciones de realidad aumentada, para mostrar información contextual enmuseos, permitiéndole al usuario contribuir en el enriquecimiento deinformación de las exhibiciones.Este proyecto extiende las funcionalidades del proyecto CAMAR descrito en[Woo 2009], por lo que también genera un entorno virtual a partir de imágenescapturadas de los objetos que se desean contextualizar, sin embargo, en esteFramework se implementaron funciones de localización y reconocimientosensorial para facilitar el almacenamiento de modelos.El sistema utilizaba un servicio de localización mediante marcadores visuales,además obtenía la información de la rotación del dispositivo para facilitar elreconocimiento de los objetos en tercera dimensión. Una vez obtenida laubicación y orientación del dispositivo, el entorno virtual podía ser generado, dela misma forma que el Framework CAMAR. De esta forma el usuario podíaagregar anotaciones virtuales en las exhibiciones, las cuales se almacenaríanen el entorno virtual para su posterior proyección. 38
  • 45. Capítulo 3. Estado del Arte3.3 Análisis del estado del arteUna vez presentados los trabajos similares al proyecto que se encuentra endesarrollo, se procede a comparar las características de cada uno de ellos y lasdel trabajo que se realizó. De acuerdo con [Swan 2010], los sistemas derealidad aumentada deben considerarse características del entorno, el registrode la información del entorno (captura), el diseño y precisión de la inserción deobjetos virtuales (aumentación), los aspectos del dispositivo y losrequerimientos de interacción con el usuario, al considerar estas característicasse solucionan muchos de los problemas que se suscitan en la implementaciónde estas aplicaciones. Para evaluar los aspectos de estos sistemas, seevaluarán las características mencionadas anteriormente de la siguiente forma:  Entorno: en este punto se considerará el entorno donde se implementó o para el que fue diseñada la aplicación, también se especifica si el entorno cuenta con servicios de localización o si requirió de alguna infraestructura especial para la implementación del sistema.  Captura: se abordarán las técnicas que se emplearon para el reconocimiento de los elementos del entorno.  Aumentación: se considerarán los objetos virtuales insertados por cada uno de los trabajos para representar información en el entorno, en este caso no se evaluará la precisión en la correspondencia de la información con los objetos virtuales, debido a que cada una de estas aplicaciones es precisa para sus requerimientos particulares.  Dispositivo: se referirá al tipo de dispositivo en el que se implementó el sistema o bien la tecnología del hardware que utiliza.  Usuario: en este aspecto se describirá la interacción entre el usuario y el sistema que se diseñó en el sistema.Una vez establecidos estos aspectos, se procede a evaluar cómo se comportanlos sistemas ante cada uno de ellos, para ello se elaboró la siguiente tabla: 39
  • 46. Capítulo 3. Estado del Arte Entorno Captura Aumentación Dispositivo Usuario[Park 2010] Museo de patrimonio Reconocimiento Inserción personas y Cámara inserción de objetos cultural, suele utilizar el visual y por objetos virtuales en los GPS virtuales para representar GPS para la localización orientación objetos Acelerómetro información de las contextualizados del Giroscopio exhibiciones entorno Magnetómetro[Zöllner 2009] museos de arqueología y Reconocimiento inserción de lugares Cámara El usuario podía obtener patrimonio cultural visual de virtuales, cuadros con Acelerómetro información y visualizar pinturas en el mensajes de texto Giroscopio lugares virtuales desde entorno distintas perspectivas[Turk 2010] institución de educación Identificación Remarca la figura de Cámara Permitió desarrollar una superior sensorial por los objetos detectados Acelerómetro metodología para insertar orientación y Giroscopio objetos de manera precisa reconocimiento Magnetómetro visual de objetos en 3D[Ajanki 2011] institución de educación reconocimiento Recuadros Cámara Proporcionaba al usuario superior facial, transparentes con texto Micrófono información del entorno a marcadores informativo partir su interacción y el visuales, contexto en que se reconocimiento encuentre de voz[Zhu 2008] Centro comercial, se reconocimiento elabora un Cámara Se tiene un registro del implementó localización por visual de los acercamiento del historial del usuario para marcadores visuales productos producto y muestra elaborar las información y recomendaciones de los recomendaciones de productos otros productos similares[Bellón 2011] Considera la Reconocimiento capaz de insertar Magnetómetro permite insertar objetos implementación en sensorial por objetos en 2D y 3D Acelerómetro virtuales especificando la cualquier entorno, incluye orientación de Giroscopio orientación de estos servicios de localización los objetos Wi-Fi[Woo 2009] diseñado para cualquier Reconocimiento Genera un entorno Cámara Permite insertar objetos entorno en interiores visual de los virtual con anotaciones en 2D y 3D sobre los objetos de acuerdo a los objetos del entorno modelos de reconocimiento de objetos[Woo 2010] Orientado para museos, Reconocimiento se basa en el Acelerómetro Le permite insertar a los implementa un servicio de visual de Framework de [Woo Giroscopio usuarios anotaciones localización por objetos 2009], integra el Cámara sobre las exhibiciones del marcadores visuales reconocimiento por museo localización y orientación del dispositivoProyecto institución de educación Reconocimiento Insertará iconos Magnetómetro proporcionadesarrollado superior por orientación representativos e Acelerómetro recomendaciones del información de los Giroscopio entorno de acuerdo al objetos contexto y al perfil del usuario Como pudo verse, muchos de estos trabajos emplean algoritmos híbridos para la identificación de objetos, con el objetivo de elaborar un reconocimiento más robusto de los elementos del entorno, además, todos los trabajos analizados implementan su aplicación en dispositivos móviles de algún tipo, lo que indica que los sensores de este tipo de dispositivos puede gestionar mucha de la información del entorno. 40
  • 47. Capítulo 3. Estado del ArteSin embargo, a pesar de en muchos de los trabajos de este tipo intentan lograruna gran precisión en el entorno de investigación, esto conlleva a ciertasdesventajas, estos sistemas pueden ser implementados únicamente en elentorno donde fueron diseñados, esto es debido a que los patrones de losmodelos en tercera dimensión o bien los marcadores visuales únicamenteestán diseñados exclusivamente para el entorno de implementación, en casode que se quisieran migrar a otro tipo de organización, necesitarían rediseñarsus modelos de reconocimiento o posiblemente algunos de sus algoritmosimplementados, en cambio, la aplicación desarrollada, es capaz de utilizarse endistintos tipos de organizaciones, debido a que el algoritmo para laidentificación de puntos de interés es más simple y puede adaptarse fácilmentea cualquier entorno, únicamente realizando una extracción de las ubicacionesdel usuario, los puntos de interés y la orientación de estos mismos. Además deello, los patrones visuales únicamente son reconocidos cuando el dispositivo escapaz de ver todos los puntos y figuras claves para la identificación de losobjetos en el entorno, en este proyecto se utilizaron técnicas sensoriales parala identificación de estos objetos, de esta manera, no es necesario que elusuario esté visualizando un objeto para que le pueda mostrar informacióndetallada, incluso puede mostrar información de objetos en otras habitaciones oque estén obstruidos por otros objetos, como paredes, tránsito de personas,etc. 41
  • 48. Capítulo 4. Diseño de la aplicación Capítulo 4. Diseño de la aplicaciónDe acuerdo al análisis elaborado anteriormente de las técnicas que se utilizanen los sistemas de realidad aumentada, se diseñaron soluciones para que laaplicación pudiera cubrir con los requerimientos establecidos, en este capítulose presenta el diseño de las principales características de la aplicación, asícomo la solución que se implementó para poder identificar puntos de interés enel entorno. 42
  • 49. Capítulo 4. Diseño de la aplicación4.1 Arquitectura general del sistemaComo se ha hablado anteriormente, este proyecto formará parte de un sistemade recomendación contextual, actualmente orientado a instituciones deeducación superior, con el cual se podrá mostrársele al usuario informaciónpersonalizada del entorno en que se encuentra. Para ello se han desarrolladodiferentes aplicaciones en proyectos anteriores, el sistema global abarcará laintegración de éstos para presentar las recomendaciones personalizadas, en lafigura 4.1 puede observarse la arquitectura general del sistema. Figura 4.1 arquitectura general del nuevo sistema T -GuíaEn la figura 4.1 puede observarse que el sistema se conforma con 4aplicaciones, las cuales se describen a continuación:  Semantic T-Guide: esta aplicación fue desarrollada en [González 2012], permite generar recomendaciones a partir del perfil del usuario, la hora y el lugar a donde llega de la organización y la información almacenada en la red de ontologías, de esta forma se genera un archivo de recomendaciones que son presentadas al usuario.  Ont2SVG: este proyecto se desarrolló en [Estrada 2012], en el cual se generaban mapas en formato SVG a partir de la información de la infraestructura de la organización almacenada en la ontología, de esta forma el usuario podía seleccionar una ubicación en el mapa para obtener más información de lo que se encuentra ahí.  Servicio de ubicación: en [Yris 2012] se desarrolló un servicio de ubicación mediante el diseño de algoritmos con tecnologías Wi-Fi y RFID, con este servicio se puede conocer la ubicación del usuario con respecto a la organización.  YLEYANA: esta aplicación se desarrolló en el presente proyecto de tesis, aprovecha la ubicación del usuario y las recomendaciones generadas para proyectar la información mediante realidad aumentada. 43
  • 50. Capítulo 4. Diseño de la aplicaciónComo puede observarse, el sistema que se desarrollará al final, implementaservicios de recomendación contextual, servicios de ubicación, interfacesutilizando mapas en formato SVG e interfaces utilizando realidad aumentada.La aplicación YLEYANA funcionaría como se muestra en la figura 4.2, una vezque se hayan integrado todas las funcionalidades al sistema. Como puedeobservarse, la aplicación Semantic T-Guide generaría un archivo derecomendaciones en formato XML que serán enviados a la aplicaciónYLEYANA, estos archivos contendrán toda la información que será mostradamediante realidad aumentada, por otro lado, el servicio de ubicación recibirá ellugar en donde se encuentra el usuario con respecto a la organización,utilizando tecnologías Wi-Fi, esta ubicación será recibida por la aplicaciónYLEYANA para determinar qué información del archivo XML se mostrarámediante realidad aumentada, de acuerdo a la ubicación del usuario. Figura 4.2 Funcionamiento de la aplicación YLEYANA en el sistemaComo puede observarse, la aplicación YLEYANA presentará la información dela organización mediante realidad aumentada, una vez que reciba la ubicacióny la información de las recomendaciones, para ello, la aplicación YLEYANA seencargará de identificar los elementos de la organización en el entorno real,mediante alguna técnica para la identificación de puntos de interés, para poderasociarlos con algún objeto virtual y finalmente presentar la informaciónmediante realidad aumentada.4.2 Modelo de orientación en el entornoEn el CENIDET pueden implementarse técnicas de reconocimiento pororientación y mediante el uso de marcadores visuales, sin embargo, laimplementación de marcadores visuales requiere que el marcador seareconocido por el dispositivo, por lo que es necesario visualizarlo por completoy a una distancia óptima, además el dispositivo únicamente muestrainformación al usuario cuando éste se encuentra visualizando un marcador. Porotro lado, el reconocimiento por orientación no necesita identificación visual de 44
  • 51. Capítulo 4. Diseño de la aplicaciónlos puntos de interés (POI), por lo que tiene la ventaja de poder visualizar POI’sque pueden estar ocultos visualmente por alguna pared u obstáculo en elcampo de visión.Para implementar un servicio de identificación sensorial robusto, se requiereestablecer primero hacia que orientaciones puede el usuario encontrarinformación de interés en cada una de las posibles ubicaciones del entorno.Muchos de los sistemas de navegación convencionales, elaboran modelos paraconocer hacia donde quedan determinadas rutas que el usuario puede seguirde acuerdo a su ubicación, para esto algunos de estos sistemas utilizanmodelos de navegación basándose en las orientaciones de los ocho puntoscardinales (N, S, E O, NE, NO, SE y SO), es posible adaptar estos modelos ala aplicación para que, en lugar de identificar posibles rutas de navegación,identifique los POI’s que le rodean al usuario.Los sistemas de navegación como el que se describe en [Jürgen 2007],[Pombinho 2011] o [Worboys 2011] implementan modelos ocultos de Markov(MOM), los cuales pueden representar los estados en un sistema y lastransiciones que pueden hacerse para llegar a los distintos estados. En el casode los sistemas de navegación, los modelos ocultos de Markov se caracterizancomo se muestra en la figura 4.3, los estados representan distintas ubicacionesen el entorno y las transiciones representan la ruta que sigue un usuario parallegar a determinado estado.Figura 4.3 segmentación del entorno para la construcción de un MOM [Pombinho2011]Cada transición contiene el valor de una orientación, de tal forma quedependiendo la orientación de la ruta que se tome se llegará al estado que seencuentre en esa dirección. Para simplificar la cantidad de orientaciones en unestado, el trabajo de [Worboys 2011] propone un modelo con ochoorientaciones para cada estado (ver figura 4.4), esto ayuda a representar lasrutas de navegación del usuario. 45
  • 52. Capítulo 4. Diseño de la aplicación Figura 4.4 modelo de navegación de 8 orientaciones [Worboys 2011]Con base en lo anterior, es posible adaptar el modelo de orientación [Worboys2011] para el reconocimiento de POI’s, en este caso es necesario definir lasorientaciones en las que puede encontrarse algún punto de interés (POI), paraesto se diseño un modelo de ocho orientaciones, como se muestra en la figura4.5, este modelo se definió con una variación aproximada de 10° de acuerdo alos puntos cardinales, además pueden implementarse orientaciones haciaarriba y abajo, contextualizando las plantas de los edificios, con lo que sedefine un modelo con 10 orientaciones. Figura 4.5 modelo de ocho orientaciones para indicar los POIs del entornoUna vez definido este modelo para cada uno de los estados en el MOM, esnecesario definir el área de cada uno de los estados del modelo, para esto seimplementó una aplicación con ayuda del framework Look! [Bellón 2011]. Estaaplicación inserta un cubo 3D en la imagen de video en tiempo real relacionadocon cada una de las orientaciones definidas en el modelo de orientación (verfigura 4.6), esta aplicación nos permitió ubicarnos en distintas áreas del entornoy visualizar los POI’s relacionados a la ubicación actual, si uno de éstos varíade acuerdo a la ubicación en el entorno se definirá una nueva área en elentorno. 46
  • 53. Capítulo 4. Diseño de la aplicación Figura 4.6 ejemplo de la aplicación del modelo de ocho grados de libertadPara evaluar este modelo, se consideró la planta baja del edificio decomputación en el campus “Cerritus”, una vez hecha la evaluación, sesegmentó el entorno, como se muestra en la figura 4.7, en esta segmentaciónse definieron áreas correspondiente a los estados del MOM. Figura 4.7 definición de las zonas de localización para los estados en el MOMDe acuerdo a lo anterior, podemos representar un autómata, como el de lafigura 4.8, para representar el funcionamiento de este modelo en el entorno, eneste autómata se consideran los estados E como zonas de localización endonde se encuentran POI’s a su alrededor, el estado E puede asociar dos tiposde movimiento del usuario, de rotación R y de traslación T [Turk 2010]. Cuandoel usuario orienta su dispositivo en una rotación R, definida en base al modelode ocho grados de libertad, podrá visualizar información de un POI’s; distintosestados pueden hacer referencia a un mismo POI desde diferentes rotaciones.El movimiento de traslación T se realiza cuando un usuario cambia de 47
  • 54. Capítulo 4. Diseño de la aplicaciónlocalización, se considera que el sistema puede iniciar o terminar desdecualquier estado.Figura 4.8 autómata del modelo de ori entación propuesto para la visualización dePOIsConforme a lo anterior, puede decirse que para que el usuario pueda visualizarlos objetos virtuales, debe seguirse el siguiente proceso:  Se identifica en cuál de las ubicaciones de la organización se encuentra el usuario.  De acuerdo a esta ubicación, se determinan las orientaciones que pueden visualizarse.  Una vez que se han identificado que orientaciones tiene disponible la ubicación del usuario, se identifica hacia qué POI’s apuntan cada una de las orientaciones.  Finalmente se identifica la orientación qué se encuentra visualizando el usuario para poder determinar de que POI será la información que se le muestre.Una de las ventajas que integra este modelo, es que le permite al sistema tenerconocimiento sobre objetos que se encuentren fuera del campo de visión deldispositivo, por ejemplo, en la figura 4.9 se muestra una imagen en donde seidentifican tres POI’s de la clase aula, que no son visibles directamente por laperspectiva de la imagen, por lo que mediante éste modelo, podemos inferirque en esa orientación hay tres aulas del entorno, por lo que es posible mostrarinformación de cada una de éstas. 48
  • 55. Capítulo 4. Diseño de la aplicaciónFigura 4.9 manejo de los objetos fuera del campo de visión en el mode lo deorientación4.3 Diagrama de casos de usoPara modelar las funcionalidades principales del sistema y la interacción delusuario con el mismo, se elaboró el diagrama de casos de uso que se muestraen la figura 4.10, describiendo cada uno de los casos de uso como se muestraa continuación. Figura 4.10 Diagrama de casos de uso del sistemaEn las tablas que se muestran a continuación se describen cada uno de loscasos de uso definidos anteriormente, en donde se especifican los objetivos yla secuencia de pasos que involucra cada caso de uso, en las excepciones, seindica la secuencia normal completa y se modifican los pasos a seguir cuandopueda existir una excepción en el sistema. 49
  • 56. Capítulo 4. Diseño de la aplicación 50
  • 57. Capítulo 4. Diseño de la aplicaciónUC-1 Visualizar puntos de interésVersión 1.0Autores Rodrigo Alejandro Morán LealObjetivos  Desarrollar servicios que permita identificar los objetos, lugares,Asociados personas y edificios que se están visualizando en el dispositivo, extrayendo la información contextual del modelo semántico organizacional.  Desarrollar servicios que muestren información contextual en tiempo real de personas, lugares y objetos mediante técnicas de realidad aumentada.  Desarrollar un servicio que sea capaz de determinar la orientación del dispositivo Smartphone mediante los sensores contextuales como el acelerómetro, magnetómetro y giroscopio.Descripción Este caso de uso permitirá que el usuario pueda visualizar la información de los objetos en el entorno de acuerdo a la orientación del dispositivoPrecondición La información de la ontología debe ser descargada en el dispositivo, deberá conocerse la ubicación del usuarioSecuencia normal Acción P1. El sistema carga la información de la ontología P2. El sistema recibe la información de la localización del usuario P3. El sistema determina la información que será mostrada y la ubicación de la misma de acuerdo a la localización del usuario P4. El usuario gira sobre su mismo eje para visualizar distintos puntos de interés P5. El sistema muestra los distintos puntos de interés de acuerdo a la orientación del dispositivoPost condición El usuario podrá visualizar información del dispositivoExcepciones Acción S1.1. El sistema mostrará un mensaje de error en caso de que el archivo no pudiera leerse de manera correcta S2.1. El sistema carga la información de la ontología S2.2. El sistema recibe la información de la localización del usuario 51
  • 58. Capítulo 4. Diseño de la aplicaciónUC-2 Obtener localización del usuarioVersión 1.0Autores Rodrigo Alejandro Morán LealObjetivos  Implementar servicios de localización en interiores capaces deAsociados determinar la localización en tiempo real de un dispositivo móvil.Descripción En este caso de uso se obtiene la localización del usuario para poder determinar que objetos se encuentran a su alrededor y la información que le será mostradaPrecondición Debe haberse implementado en el entorno un servicio de localización capaz de identificar la localización del usuario en el entorno.Secuencia normal Acción P1. El sistema espera la información de la ubicación del usuario P2. El servicio de localización por Wi-Fi proporciona la ubicación del usuario de acuerdo a las áreas funcionales registradas en la ontología P3. El sistema identifica el área enviada por el servicio de localización P4. El sistema determina la información que será cargada de acuerdo al área donde se encuentre el usuarioPost condición Se contara con la información de la ubicación del usuario en el entornoExcepciones Acción S1.1 El sistema espera la información de la ubicación del usuario S1.2 El servicio de localización no se encuentra disponible o tiene problemas para informar la ubicación del usuario S1.3 El sistema indica que no se pudo obtener la ubicación del usuario S2.1 El sistema espera la información de la ubicación del usuario S2.2 El servicio de localización por Wi-Fi proporciona la ubicación del usuario de acuerdo a las áreas funcionales registradas en la ontología S2.3 El sistema no reconoce la zona que proporciona el servicio de localización S2.4 El sistema indica que el área donde se encuentra el usuario no se encuentra registrada o no se ha cargado dentro del dispositivo S2.5 El sistema indica que la información debe de actualizarse o contactar al administrador 52
  • 59. Capítulo 4. Diseño de la aplicaciónUC-3 Obtener detallesVersión 1.0Autores Rodrigo Alejandro Morán LealObjetivos  Desarrollar servicios que muestren información contextual en tiempoAsociados real de personas, lugares y objetos mediante técnicas de realidad aumentadaDescripción En este caso de uso se mostrará la información detallada de alguno de los puntos de interés que haya seleccionado el usuarioPrecondición El usuario deberá encontrarse visualizando los puntos de interés en el entornoSecuencia normal Acción P1. El usuario selecciona un punto de interés del entorno mostrado a través de objetos virtuales mediante realidad aumentada P2. El sistema identifica el objeto seleccionado por el usuario P3. El sistema recopila la información disponible del objeto y se la presenta al usuarioPost condición El usuario obtendrá más información de un punto de interés en el entornoExcepciones Acción S1.1 El usuario selecciona un punto de interés del entorno mostrado a través de objetos virtuales mediante realidad aumentada S1.2 El sistema identifica el objeto seleccionado por el usuario S1.3 El sistema tiene problemas para proporcionar la información del objeto S1.4 El sistema indica al usuario que hubo un error al presentar la información y que es necesario que lo vuelva a intentar 53
  • 60. Capítulo 4. Diseño de la aplicaciónUC-4 Filtrar informaciónVersión 1.0Autores Rodrigo Alejandro Morán LealObjetivos  Desarrollar servicios que muestren información contextual en tiempoAsociados real de personas, lugares y objetos mediante técnicas de realidad aumentadaDescripción Este caso de uso permitirá al usuario seleccionar al usuario la información de cierto tipo de objetos que desea que se presentePrecondición El usuario debe encontrarse visualizando puntos de interés en algún lugar del entornoSecuencia normal Acción P1. El usuario selecciona los tipos de ítems que desea que se muestren en la pantalla P2. El sistema identifica los tipos de ítems seleccionados P3. El sistema vuelve a presentar la información del entorno de acuerdo a los tipos de ítems seleccionados por el usuarioPost condición El sistema mostrará únicamente la información de los tipos de objetos que haya seleccionado el usuarioExcepciones Acción S1.1 El usuario selecciona los tipos de ítems que desea que se muestren en la pantalla S1.2 El sistema identifica los tipos de ítems seleccionados S1.3 El sistema le indica al usuario que existieron problemas para presentar la información del entorno 54
  • 61. Capítulo 4. Diseño de la aplicaciónUC-5 Actualizar informaciónVersión 1.0Autores Rodrigo Alejandro Morán LealObjetivos  Desarrollar servicios para la extracción de información contextual deAsociados una red de ontologías organizacionales, que contendrán la información del entorno en el que se desarrollará la aplicación  Desarrollar servicios que muestren información contextual en tiempo real de personas, lugares y objetos mediante técnicas de realidad aumentadaDescripción En este caso de uso el sistema descargará la versión más reciente del archivo que contiene la información para el funcionamiento del sistemaPrecondición El archivo con la información del sistema debe encontrarse almacenado en algún repositorio en donde accederá el sistemaSecuencia normal Acción P1. El usuario selecciona la opción para actualizar la información del sistema P2. El sistema descarga el archivo actual con la información de la ontología P3. El sistema se reinicia con la información del archivo descargadoPost condición El sistema contará con la información actualizada de todos los puntos de interés, orientaciones y ubicaciones en el entornoExcepciones Acción S1.1 El usuario selecciona la opción para actualizar la información del sistema S1.2 El sistema no puede descargar el archivo con la información de la ontología S1.3 El sistema indica al usuario que el archivo no pudo descargarse por una falla en la conexión de red 55
  • 62. Capítulo 4. Diseño de la aplicaciónUC-6 Generar archivo de informaciónVersión 1.0Autores Rodrigo Alejandro Morán LealObjetivos  Desarrollar servicios para la extracción de información contextual deAsociados una red de ontologías organizacionales, que contendrán la información del entorno en el que se desarrollará la aplicación.Descripción Este caso de uso permite al administrador del sistema generar el archivo que contendrá toda la información necesaria para el funcionamiento del sistema, extrayendo esta información de la red de ontologías de la organización.Precondición Debe encontrarse instanciada la información de los puntos de interés, las orientaciones, los objetos y las ubicaciones en la red de ontologíasSecuencia normal Acción P1. El administrador inicia la aplicación para generar el archivo con la información de la red de ontologías P2. La aplicación extrae la información de la red de ontologías P3. La aplicación genera un archivo y lo almacena en el repositorio del sistemaPost condición Se generará un archivo con la última información registrada en la red de ontologías para el funcionamiento del sistemaExcepciones Acción S1.1 El administrador inicia la aplicación para generar el archivo con la información de la red de ontologías S1.2 La aplicación no puede extraer la información de la ontología S1.3 La aplicación genera una excepción indicando que ocurrió un error en la extracción de la información de la ontología S2.1 El administrador inicia la aplicación para generar el archivo con la información de la red de ontologías S2.2 La aplicación extrae la información de la red de ontologías S2.3 La aplicación no puede generar el archivo S2.4 La aplicación genera una excepción indicando que el archivo con la información de la ontología no pudo ser generado 56
  • 63. Capítulo 4. Diseño de la aplicación4.4 Diagramas de clasesUna vez que se han definido las funciones principales del sistema, se procedea diseñar los objetos principales del sistema, para ello se elaboró un diagramacomo se muestra en la figura 4.11. Figura 4.11 Diagrama de clases del sistemaNombre MainDescripción Esta será la clase principal del sistema, con ella se podrán insertar los objetos virtuales y será la pantalla con la que el usuario podrá interactuar con la información del sistemaAtributos Nodos: este atributo contendrá una lista de varios objetos del tipo Nodo, los cuales harán referencia a las localizaciones del usuario en el entorno pois: representará una lista con los puntos de interés hacia los que apuntan las orientaciones del modelo Orientaciones: será una lista de todas las orientaciones que contienen los nodos Referencias: en este atributo se almacenará una lista con la información de todos los objetos que se encuentran en el entornoMétodos crearObjetosVirtuales: este método permitirá que la aplicación cree los objetos virtuales en el entorno. leerArchivo: para obtener la información de la red ontologías es necesario extraerla de algún archivo almacenado en el dispositivo, este método permitirá extraer la información del archivo para almacenarla en la lista de Nodos, Pois, Orientaciones y referencias. leerLocalizacion: este método permitirá recibir la información del servicio de localización y procesarla para determinar en qué ubicación se encuentra el usuario en el entonrno 57
  • 64. Capítulo 4. Diseño de la aplicaciónNombre NodoDescripción Cada localización del usuario en el entorno será representado por un nodo o segmento de navegación, dependiendo a la localización del usuario se seleccionará un nodo en específico, cargando cada uno de los datos del nodo correspondienteAtributos Id: este atributo define el identificador de los nodos del entorno, estos nodos estarán registrados en la ontología del sistema y se identificarán de la misma forma como se encuentran en la ontología Nombre: describirá el nombre que se le dio al nodo, esto permitiría que el sistema pueda proporcionarle al usuario información de su ubicación y que éste la pueda entender. ContainedIn: este atributo contendrá el identificador del área física a la que hace referencia el nodo Orientación: este atributo será una lista de objetos del tipo Orientación, la cual almacenará todas las referencias a las orientaciones que contenga el nodo donde esté localizado el usuarioMétodos obtenerOrientacion(): este método fue diseñado para permitirle al sistema buscar una determinada orientación dentro del objeto Nodo, de esta forma será posible acceder a la información que ésta contengaNombre OrientaciónDescripción Esta clase se refiere a las orientaciones que se encuentran disponibles de acuerdo a la ubicación del entornoAtributos Id: contiene el identificador de la orientación POI: esta lista contendrá todos los puntos de interés definidos con la clase POI, estos puntos de interés serán los que se encuentren en la determinada orientaciónMétodos obtenerPOI(): este método permitirá obtener la información de algún punto de interés que se encuentre dentro de la orientación, como resultado arrojará un objeto de la clase POINombre POIDescripción Se refiere a los puntos de interés que se encuentran en el entorno, esta clase se referirá a las zonas en donde se pueda encontrar información en el entornoAtributos Id: este atributo hará referencia al identificador de los puntos de interés definido en la ontología Referencias: al igual que los objetos anteriores, este atributo contendrá una lista de objetos, sin embargo contendrá la información de los objetos del entorno a los que el punto de interés hace referencia.Métodos obtenerReferencias(): este método permitirá que la clase POI pueda buscar la información de las referencias que se encuentran en el entorno, este método permitirá definir los objetos de tipo Referencia para mostrar su información posteriormente 58
  • 65. Capítulo 4. Diseño de la aplicaciónNombre ReferenciaDescripción Esta clase se utilizará para describir la información de los objetos que aparecerá en el entorno, esta clase podrá heredar a otros objetos, añadiéndole atributos específicos para los distintos tipos de objetos, personas, lugares o eventos del entornoAtributos Id: será el identificador del objeto, este identificador será extraído de la red de ontologías. Tipo: se referirá al tipo de objeto de la ontología que representa, por ahora se ha definido que el sistema identificará personas, objetos fijos, lugares y eventos en el entorno.Métodos getTipo(): este método permitirá obtener el tipo de objeto al que pertenece la referencia, esto podría ayudar a crear nuevos objetos que contengan atributos específicos para cada uno de los objetos, lugares, personas y eventos del entorno. 59
  • 66. Capítulo 5. Implementación Capítulo 5. ImplementaciónEn este capítulo se describe la etapa de implementación del prototipo quecumple con las funcionalidades descritas en el capítulo anterior, se describenlas adecuaciones que se hicieron a la red de ontologías para gestionar lainformación del sistema, se describe el servicio de localización que se utilizó enel sistema y finalmente las funcionalidades implementadas. 60
  • 67. Capítulo 5. Implementación5.1 Modificaciones a la red de ontologíasComo se mencionó anteriormente, en el laboratorio de sistemas distribuidos delCENIDET se diseñó e implementó una red de ontologías que permite modelarvarios elementos y dimensiones contextuales de una organización, estaontología se utilizó para desarrollar una plataforma de servicios derecomendación sensibles al contexto en el proyecto de [González 2012] ymapas en formato SVG desarrollados en el proyecto de [Estrada 2012]capaces de almacenar información del entorno.Para el desarrollo de este proyecto, es necesario que la red de ontologíaspueda modelar los elementos necesarios para cumplir con las necesidadesespecificadas, para ello debe contener la información de los puntos de interés,orientaciones y las localizaciones del usuario. Actualmente, se cuenta con unaontología desarrollada en [Estrada 2012] capaz de gestionar la información dela infraestructura de la organización, esta ontología le permitiría al sistemacontrolar la información de la ubicación del usuario y de los diferentes puntosde interés en el entorno, sin embargo, esta ontología no hace referencia a lospuntos de interés ni a las orientaciones en las que se encuentran los POI’s, porlo que fue necesario adaptar esta ontología agregando nuevos elementos quepermitan gestionar e instanciar esta información.Para este caso se analizaron dos ontologías, OntoNav descrita en [Christos2005] y ONALIN descrita en [Dudas 2009], estas ontologías permiten gestionarinformación de puntos de interés e información de orientación del usuarioreferente a su entorno, estas ontologías se diseñaron para gestionarinformación de sistemas de navegación. Si se requiere implementarfuncionalidades de un sistema de navegación, como parte de los servicios derecomendación, estas dos ontologías proporcionan soluciones a los problemasque se relacionan con la gestión de información en sistemas de navegación,por lo que utilizar una de estas ontologías para extender el modelo propuestopor [González 2011] podría soportar nuevas funcionalidades para laimplementación de sistemas de navegación en el futuro.La ontología ONALIN extiende la ontología OntoNav, ambas contienen clases yrelaciones orientadas a los sistemas de navegación, sin embargo, ONALINimplementa adicionalmente el estándar ADA, que permite una descripción másdetallada del entorno, por ejemplo, permite describir detalles del entornoadecuados para auxiliar a personas con alguna incapacidad, con lo cual, lasfuncionalidades del sistema también incluirían a usuarios con algunadiscapacidad, por lo tanto se optó por implementar la ontología ONALIN dentrode la red de ontologías organizacionales.Una vez integradas las clases y relaciones de la ontología de infraestructuradesarrolladas en [Estrada 2012] y las de la ontología ONALIN de [Dudas 2009]en la red de ontologías, se muestran en la figura 5.1 las clases y las relacionesque le permitirán gestionar la información a la aplicación. 61
  • 68. Capítulo 5. Implementación Figura 5.1 Unión de la ontología de infraestructura y ONALINPara describir el proceso de gestión de información del sistema derecomendación es necesario identificar cómo se instancia la información de laslocalizaciones de los puntos de interés y de las orientaciones del dispositivo, enla figura 5.2, se muestran las fases de este proceso de instanciación. Figura 5.2 Proceso de instanciación de la información del sistemaInstanciación de infraestructura. De acuerdo con la ontología deinfraestructura, la clase Space puede representar todos los espacios físicos dealguna organización, debido a la relación containedIn, cada uno de estosespacios puede encontrarse dentro de algún otro espacio mayor, por ejemplo,en la figura 5.3 se muestra la definición de los espacios en una institución deeducación superior, como puede verse dentro del espacio más grandedenominado campus se encuentran los edificios, los cuales contienen distintos 62
  • 69. Capítulo 5. Implementaciónpisos y a su vez estos contienen zonas (aulas, oficinas, laboratorios, etc.),finalmente se llega al espacio que se refiere a la celda de localización utilizadaen el algoritmo diseñado en [Yris 2012]. Como puede apreciarse, la claseSpace y la relación containedIn permiten modelar todos los espacios dentro deuna organización de manera jerárquica.Figura 5.3 Modelo de representación de las di stintas zonas del entorno [Estrada2012]Instanciación de la información. En este paso, pueden instanciarse todos losobjetos de la red de ontologías en paralelo con la infraestructura de lainformación, esta información contendrá la descripción de los objetos deconocimiento, personas, eventos, servicios, etc. Esta información será la quereferenciarán los puntos de interés.Instanciación de segmentos de navegación. Los segmentos de navegaciónhacen referencia a las localizaciones en las que se puede encontrar el usuarioen el entorno, estas localizaciones son modeladas por la claseNetworkSegment de la ontología ONALIN, estos segmentos de red puedenestar contenidos en un espacio definido en la ontología de infraestructura,como puede verse en la figura 5.4, los puntos con la letra N representarán loslugares en los que el usuario puede encontrarse para obtener información delentorno mediante realidad aumentada. 63
  • 70. Capítulo 5. Implementación Figura 5.4 Representación de los segmentos de navegación en el entornoPara registrar cada uno de estos segmentos de navegación se definió elidentificador EαNβ, donde Eα representa el identificador del edificio y Nβrepresenta el identificador del nodo.Instanciación de POI’s. Para referenciar la información descrita anteriormente,es necesario instanciar la clase POI de la ontología ONALIN, esta clase permiteindicar la existencia de puntos de interés en el entorno y permite relacionarloscon alguna orientación de los segmentos de navegación. En la figura 5.5, semuestran los puntos de interés (puntos con la letra P) que representan un lugaren el entorno donde se pueda encontrar posible información para el usuario. Figura 5.5 integración de los puntos de interés al entornoPara controlar los puntos de interés en el entorno se definió un identificador dela forma EαPOIβ, el cual identifica el edificio Eα y el punto de interés POIβ.Instanciación de orientaciones. Una vez instanciados los nodos y los POI’ses necesario relacionarlos entre sí con la clase Orientation de la ontologíaONALIN, con la clase Networksegment se relacionan los nodos con las 64
  • 71. Capítulo 5. Implementaciónorientaciones mediante hasOrientation y finalmente la orientación se relacionacon los POI’s mediante la relación hasPOI de la clase Orientation, en la figura5.6 se puede observar que cada segmento de navegación integra una o másrelaciones con algún punto de interés. Figura 5.6 integración de las orientaciones en el entornoPara cada una de las orientaciones se utiliza un identificador definido de lasiguiente manera: EαNβ(NO|SU|ES|WE|NE|NW|SE|SW|UP|DN)En donde se emplea el mismo identificador del segmento de navegación, Eαpara identificar el edificio y Nβ para identificar el segmento de navegación, esteidentificador se complementa con diez identificadores de orientación posiblesde acuerdo a las ocho orientaciones de los puntos cardinales (NO norte, SUSur, ES este, WE oeste, NE noreste, NW noroeste, SE sureste y SW suroeste)y las 2 orientaciones hacia arriba UP o hacia abajo DN.Relación de POI’s con la información. Una vez que se instancian loselementos necesarios en la ontología para describir el entorno, es necesarioreferenciar la información a los puntos de interés, para esto la clase POI puedeutilizarse para hacer referencia cualquier elemento de la red de ontologíasmediante la relación reffersTO a owl:Thing, de esta forma los POI’s puedencontener información de elemento de la organización.5.2 Servicio de localizaciónActualmente, el entorno de desarrollo no cuenta con la infraestructuranecesaria para implementar los servicios de localización diseñados en [Yris2012], estos servicios permiten identificar automáticamente la ubicación delusuario dentro de su contexto para seleccionar los POI’s que se encuentran asu alrededor.El servicio de localización automático desarrollado por [Yris 2012], no se utilizóen este proyecto, en su lugar, se implementó una función que le permita alusuario seleccionar manualmente la ubicación en la que se encuentra, en la 65
  • 72. Capítulo 5. Implementaciónfigura 5.7 puede apreciarse el botón dentro de la interfaz en donde el usuariopuede seleccionar su ubicación en el entorno. Figura 5.7 Botón para la selección de la localización del usua rioUna vez que el usuario presiona ese botón, le aparece una pantalla como laque se muestra en la figura 5.8, en esta figura se muestra una lista deubicaciones, los valores de esta lista son determinados de acuerdo al archivodel sistema que tiene la información registrada en la ontología organizacional. Figura 5.8 Pantalla para la selección de la localización del usuarioFinalmente, una vez seleccionada la ubicación del usuario, el sistema es capazde identificar los POI’s relacionados con esa ubicación, como puede verse en lafigura 5.9, la localización del usuario fue determinada y el sistema es capaz demostrar los puntos de interés en el entorno. 66
  • 73. Capítulo 5. Implementación Figura 5.9 Visualización de puntos de interés en el entorno5.3 Desarrollo de la aplicaciónUna vez que se han definido los servicios de localización y se han establecidolos métodos para gestionar la información del sistema, se describirán lasfuncionalidades del sistema. Para la etapa de implementación fue necesarioanalizar la interacción de los elementos descritos en la red de ontologías, eldispositivo y el entorno, en la figura 5.10, se muestra la representación de cadauno de los elementos con respecto a la ontología, al entorno y al dispositivo. Figura 5.10 representación de las clases de la ontología en un entorno real 67
  • 74. Capítulo 5. ImplementaciónCon relación a la ontología, en la figura 5.11, se presenta un ejemplo deinstancias descritas en el modelo organizacional. Figura 5.11 Ejemplo de i nstanciación de las ontologías del sistemaDe acuerdo a las figuras 5.10 y 5.11, se describe que el aula 1 representa unárea funcional del entorno, mientras que DCCN3 hace referencia a la ubicacióndel usuario, es decir, el usuario está dentro del Aula 1, localizado en elsegmento de navegación identificado por DCCN3. Mientras el usuario seencuentre en nodo DCCN3 puede visualizar el entorno a su alrededor con sudispositivo móvil, cuando el usuario enfoque el campo de visión del dispositivoen la orientación noreste, determinada por el sensor magnetómetro(representada por DCCN3NE) el modelo de orientación definido en la ontologíaencuentra que la orientación es válida y que hace referencia al punto de interésDCCPOI5, este punto de interés contiene la información de el Servidor desistemas distribuidos (SD) y del portal RFID.5.3.1 Lectura de la información de la OntologíaPara poder formar los objetos virtuales y también para mostrar información delentorno, es necesario que la aplicación acceda de alguna forma a lainformación de la ontología, para lograr esto se planteó que la aplicación fueracapaz de descargar un archivo en formato JSON que contiene información delos POI’s para asignarla a los objetos virtuales.La estructura principal de los archivos JSON se describe en la figura 5.12, enlos archivos JSON primero se define el nombre del objeto entre comillas,enseguida se define el valor de este objeto, en este caso, se define un objetollamado “RecomendacionesAR” el cual, tiene como valor otra estructura deobjeto, dentro del cual existen tres objetos más, Nodos, Orientaciones y POI’s,los cuales tienen la estructura de un arreglo, cada uno contiene informaciónpara la proyección de objetos virtuales. Figura 5.12 Estructura principal de un archivo JSON 68
  • 75. Capítulo 5. ImplementaciónCada arreglo contiene información de la estructura de los objetos, en el caso delos nodos, cada uno de sus elementos tiene una estructura como la que semuestra en la figura 5.13, esta estructura contiene el Id del nodo, su nombre ydonde se encuentra contenido este nodo en el entorno, también contiene unarreglo que contiene la lista de todas las orientaciones que define este nodo. Figura 5.13 Estructura de un objeto del tipo nodoLa estructura de cada una de las orientaciones se describe en la figura 5.14,como puede observarse, cada orientación define un identificador y un arregloque contiene los identificadores de todas las orientaciones que se encuentranen determinado nodo. Figura 5.14 Estructura de un objeto de ori entaciónFinalmente, se encuentran los objetos del tipo POI (puntos de interés), loscuales, contienen un identificador y un arreglo que contiene información decada uno de los objetos que se mostrarán mediante realidad aumentada, loscuales se definen como se muestra en la figura 5.15. Figura 5.15 Estructura de un POICon estas estructuras la aplicación puede obtener la información necesariapara formar los objetos virtuales, extrayendo todos los datos contenidos en losobjetos del archivo JSON. 69
  • 76. Capítulo 5. Implementación5.3.2 Implementación de los objetos virtualesComo se describió en la sección anterior, la ontología es capaz modelar losaspectos del entorno organizacional y los dispositivos que utiliza el usuario, sedescribió el proceso de localización, sin embargo, no se ha explicado cómo seidentifican las orientaciones. Para gestionar las orientaciones se emplea elFramework Look! Descrito en [Bellón 2011], el cual, permite gestionar granparte de las funcionalidades de los sensores de orientación de un dispositivo.Para insertar los objetos virtuales en imágenes de video, capturadas en tiemporeal, mediante un dispositivo tablet o Smartphone, se utiliza una variabledenominada “entorno” de tipo “World”, esta variable controla todos los objetosque se insertan mediante las técnicas de realidad aumentada. Los objetosvirtuales que se van a crear para mostrar información de los POI’s se generana partir de una imagen del icono representativo del POI, asociándole unacadena de texto, para insertar la imagen se emplea el código de la figura 5.16,en este código se define una entidad mediante la clase “EntityData”, estasentidades hacen referencia a los datos de cada uno de los objetos virtuales yse agregan al entorno, estos datos se almacenan en una variable nueva deltipo “WorldEntity” en la cual se puede indicar que se insertó un objeto imagenen segunda dimensión, la cual se agrega a la variable “entorno”. Figura 5.16 Inserción de imágenes con la librerí a Look!Una vez que se han insertado las imágenes se procede a insertar el textodescriptivo, para ello se implementó un proceso similar al anterior, como semuestra en la figura 5.17, primero se definen los datos de la entidad, esta vezse especifica que se inserta un texto en el objeto, para esto se obtiene elnombre que viene desde la ontología y se coloca en el objeto. Figura 5.17 Inserción de texto en el objeto virtual 70
  • 77. Capítulo 5. ImplementaciónUna vez hechos estos ajustes, la información se despliega en la pantalla deldispositivo como se muestra en la figura 5.18. Figura 5.18 Inserción de objetos virtuales en el entornoUna vez que se integran los objetos virtuales en el entorno, el Framework Look!Permite interactúar con estos objetos, de tal forma que cuando el usuarioselecciona alguno de estos POI’s directamente en la pantalla, se muestrainformación descriptiva de este objeto, en la figura 5.19 se muestra la pantallaque presenta información de un punto de interés del entorno. Figura 5.19 Pantalla de información extra de los puntos de interés del entorno 71
  • 78. Capítulo 5. Implementación5.3.3 Funcionalidad de filtrado de informaciónEn la pantalla del dispositivo pueden aparecer distintos objetos en una mismadirección, en esta pantalla el usuario puede seleccionar la información quequiere que se despliegue, en esta pantalla se integró una funcionalidad para elfiltrado de información, de esta forma el usuario puede mostrar y ocultar ciertostipos de objetos en la pantalla. Para integrar esta funcionalidad primero sedeclaran variables que controlan la visibilidad de los objetos, en la figura 5.20pueden apreciarse estas variables, en este caso el sistema controla cuatrotipos de objetos (Personas, lugares, inventario y eventos), el valor de estasvariables es “true” al inicio para mostrar todos los objetos y conforme elija elusuario estos objetos se irán ocultando. Figura 5.20 variables que controlan la visibilidad de los objetosPara ocultar o mostrar los objetos se utiliza el método que se muestra en lafigura 5.21, este método recibe en un entero el número del elemento del arregloanterior donde contiene el valor de visibilidad del objeto, también recibe el tipode objetos que será ocultado, con estas variables se puede buscar entre losobjetos que se encuentran insertados en el entorno y cambiar la visibilidad decada uno de los que correspondan con el tipo de objetos que será ocultado. Figura 5.21 Método para el filtrado de informaciónLa función anterior se implementa en los diferentes botones del menú para quecada uno sea capaz de ocultar y mostrar distintos tipos de objetos, en la figura5.22 puede apreciarse que el usuario apunta su dispositivo móvil a una mismadirección y en esta se muestran distintos tipos de objetos gracias a lasopciones de filtrado implementadas. 72
  • 79. Capítulo 5. ImplementaciónFigura 5.22 Implementación de opciones de filtra do de información en la aplicación 73
  • 80. Capítulo 6. Pruebas Capítulo 6. PruebasUna vez diseñadas e implementadas los diferentes elementos de la aplicación,es necesario comprobar el funcionamiento de éstos en el entorno deimplementación. En este capítulo se especifica el diseño de las pruebas que sele hicieron a la aplicación y los resultados obtenidos. 74
  • 81. Capítulo 6. Pruebas6.1 Plan de pruebasPara documentar la especificación de las pruebas de esta aplicación, seutilizará el estándar IEEE 829-1998 [IEEE 1998], el cual está diseñado paradocumentar las pruebas que se elaboran a los sistemas de software, paracomprobar la funcionalidad de los mismos.Para las pruebas de este sistema, se ejecutarán las funcionalidadesdesarrolladas en la aplicación, para comprobar su comportamiento en elentorno de implementación, de esta forma se observarán las diversassituaciones que puedan presentarse, detectando y corrigiendo los diversoserrores que puedan surgir.6.1.1 EnfoqueEn estas pruebas se verificara que las funcionalidades de la aplicación puedanser capaces de presentar la información de los puntos de interés (POI) en elentorno a través de tecnologías de realidad aumentada, además de ello, secomprobará que la aplicación pueda acceder a la información de la ontologíaque representa el entorno y a las recomendaciones diseñadas en el proyectode tesis de [González 2012].6.1.2 Características a probarLas características a probar de esta aplicación serán aquellas que permitancumplir con los requerimientos funcionales del proyecto, las cuales se definen acontinuación:  Inserción de los objetos virtuales en el entorno. La aplicación debe ser capaz de insertar objetos virtuales en el entorno que muestren información de éste, los objetos virtuales deben permitirle al usuario acceder a más información cuando interactúa con ellos, además de ello, los objetos virtuales deben cambiar dependiendo de la ubicación que seleccione el usuario, además de comprobar las funciones de filtrado de información de los objetos en la pantalla  Lectura de la información de la ontología. Deberá evaluarse que la aplicación pueda extraer de manera correcta la información necesaria de la ontología, verificando que sea posible representar la ubicación del usuario, las orientaciones del dispositivo, los puntos de interés y la información de los objetos que serán representados en el sistema.  Acceso a las recomendaciones. En la tesis desarrollada por [González 2012] se desarrollaron diversos tipos de archivos que contenían distintas recomendaciones de ciertos ítems del entorno organizacional, estos ítems les eran recomendados a los usuarios de acuerdo a tres tipos de perfil; estudiante, profesor investigador y empresario, además de ello se tomaban en cuenta aspectos del horario en el que llegaba el usuario (tiempo) y al campus o lugar en el que llegaba (espacio), en este proyecto se comprobará que el sistema sea capaz de acceder a esos 75
  • 82. Capítulo 6. Pruebas archivos para leer la información de las recomendaciones y plasmarla mediante realidad aumentada.6.1.3 Características excluidasLas características que no serán consideradas al evaluar esta aplicación sonlas siguientes:  Precisión del sistema. Las pruebas que se realizarán a esta aplicación no evaluará la precisión con la que corresponden los objetos virtuales insertados mediante realidad aumentada con los elementos del entorno, esto se debe a que la precisión, del método de identificación de los elementos del entorno, depende mucho del servicio de ubicación del usuario. Además, de acuerdo con el Framework Look!, el algoritmo de identificación de objetos utiliza el magnetómetro y los acelerómetros de tres ejes del dispositivo, los cuales cual pueden captar la energía de diversos campos magnéticos, con lo cual, su precisión puede también afectarse con la interferencia de objetos con demasiado metal o si se encuentra en cercanía con algún otro dispositivo, igualmente en el trabajo desarrollado en [Bellón 2011], se establece que la precisión de este tipo de sensores puede variar de 1 a 11 grados de acuerdo a diversos factores, como el tipo de sensor y los eventos que se susciten en el entorno.  Información recibida en las recomendaciones. En estas pruebas no se evaluarán las recomendaciones de los elementos que se encuentran en los archivos que se utilizarán en las pruebas, esto se debe a que anteriormente ya se evaluó la efectividad de estas recomendaciones en la tesis de [González 2012], las cuales comprobaban que se le proporcionara información al usuario de distintos tipos de objetos en el entorno de acuerdo al horario, la información de su perfil y el lugar donde se encuentra.6.1.4 Elementos de prueba  La red de ontologías debe contener información sobre todos los objetos que serán representados mediante realidad aumentada del entorno en donde será implementado.  Debe instanciarse la infraestructura, nodos, orientaciones y puntos de interés del entorno que sean capaces de indicarle a la aplicación cómo serán insertados los objetos virtuales.  Deberá contarse con los archivos de recomendaciones generados con el proyecto de tesis de [González 2012] y haberse generado un archivo JSON para todos estos archivos para proyectar la información mediante realidad aumentada. 76
  • 83. Capítulo 6. Pruebas6.1.5 Requerimientos para realizar las pruebas  Un Smartphone con sistema operativo Android 2.2, sensor de magnetómetro, acelerómetro de tres ejes y/o giroscopio y una tarjeta SD  Una red Wi-Fi en el entorno para las pruebas de actualización de la información  Un servicio http al que se pueda acceder para descargar la información de la ontología6.1.6 Criterio éxito/fracaso de los casos de pruebaSe considerará que la aplicación funciona de manera correcta si susfuncionalidades pueden cumplir con lo siguiente:  La aplicación es capaz de insertar objetos virtuales en el entorno compuestos por una imagen y un nombre.  Las opciones de filtrado son capaces de mostrar y ocultar información de manera correcta.  La aplicación es capaz de descargar el archivo JSON que contiene la información de la ontología.  Los objetos virtuales deben proporcionar información detallada cuando el usuario interactúa con ellos.  Los objetos virtuales de esta aplicación deben cambiar cuando el usuario selecciona una ubicación diferente.Si alguno de los aspectos anteriores no se cumple se marcará que una de lasfuncionalidades ha fracasado y se revisarán los aspectos técnicos de está paracorregir los posibles errores.6.1.7 ResponsabilidadesEl tesista Rodrigo Alejandro Morán Leal será el responsable de elaborar cadauna de las pruebas diseñadas para esta aplicación, así como las correccionesa la aplicación a partir de los fracasos que puedan surgir en las pruebas.6.1.8 Diseño de las pruebasComo se ha mencionado anteriormente, las pruebas se ejecutarán con ayudade los archivos de recomendaciones generados en [González 2012], en estosarchivos se elaboraron recomendaciones para tres tipos de usuarios,Profesores, Empresarios y Alumnos, para el proyecto de [González 2012] segeneró un total de 100 archivos XML con recomendaciones.Para poder conocer la ubicación de los objetos contenidos en lasrecomendaciones, es necesario construir los archivos JSON que representaránel entorno de implementación, es por ello que se construyeron dos archivosJSON base que modelan la planta baja y alta del edificio de computación, en lafigura 6.1 puede apreciarse que en la planta baja del edificio de computación,como puede observarse, este piso contiene 9 diferentes ubicaciones 77
  • 84. Capítulo 6. Pruebas(representadas por los puntos verdes) y 7 puntos de interés (representados porlos puntos amarillos). Figura 6.1 Representación de la plata baja del edificio de computaciónPor otro lado, la planta alta del edificio de computación se representa comoaparece en la figura 6.2, en este plano puede apreciarse que se continúa conlos puntos de interés y las ubicaciones en el entorno, se puede apreciar queesta vez son 8 ubicaciones y 24 puntos de interés, para estas pruebas no seconsideró que el usuario se metiera a los cubículos debido a que estos podríanestar cerrados u ocupados durante las pruebas. 78
  • 85. Capítulo 6. Pruebas Figura 6.2 representación de la planta alta del edificio de computaciónUna vez modelado el entorno de implementación, es posible construir dosarchivos JSON base (uno para la planta alta y otro para la planta baja),capaces de contener toda la información que permita representar lasrecomendaciones obtenidas por los archivos XML. Los archivos JSONconstruidos, deberán adecuarse para cada uno de los archivos conrecomendaciones, por lo que existirán dos archivos JSON (uno de la plantabaja y otro de la planta alta) para cada uno de los archivos XML consideradosen las pruebas.Para elaborar las pruebas en esta aplicación, se tomarán 9 archivos para lostres tipos de usuarios generados en las recomendaciones. Para cada uno delos archivos se considerará elaborar diferentes pruebas en cada piso deledificio de computación, considerando aleatoriamente 4 ubicaciones para cadauno de los pisos, en resumen, se elaborarían 108 pruebas para cada nivel deledificio, generando un total de 216 casos en los que se comprobará lafuncionalidad de la aplicación.Para cada uno de los 216 casos de prueba deberán realizarse las siguientesacciones para comprobar el funcionamiento de la aplicación:  Se seleccionará una ubicación aleatoria de acuerdo al piso en que se encuentre  El usuario deberá poder visualizar algún objeto virtual que represente un punto de interés en el entorno  El usuario interactúa con los objetos virtuales y estos le muestran más información de las recomendaciones 79
  • 86. Capítulo 6. PruebasSi alguna de estas actividades no se puede completarse exitosamente, laprueba se considerará como errónea y se corregirán los posibles errores paravolverla a realizar.6.2 Reporte de pruebasEn esta sección se presentan algunas pruebas realizadas a la aplicación,mostrando los resultados obtenidos y las observaciones que se hicieron. Caso de prueba: Alumno120101Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel alumno uno, la ubicación de las pruebas fue la entradaResultado:Observaciones: en esta prueba se descargó el archivo JSON con los datos de laplanta baja, existieron problemas de conexión de red sin embargo pudo descargarse elarchivo de manera correcta, el usuario interactuó con los objetos virtuales y la pruebafue exitosaResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 80
  • 87. Capítulo 6. Pruebas Caso de prueba: Alumno130102Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo tresdel alumno uno, la ubicación de las pruebas fue el laboratorio de inteligencia artificialResultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 81
  • 88. Capítulo 6. Pruebas Caso de prueba: Empresario130202Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo tresdel empresario uno, la ubicación de las pruebas fue el pasillo 13Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 82
  • 89. Capítulo 6. Pruebas Caso de prueba: Alumno130203Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo tresdel alumno uno, la ubicación de las pruebas fue el pasillo 14Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 83
  • 90. Capítulo 6. Pruebas Caso de prueba: Alumno220103Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel alumno dos, la ubicación de las pruebas fue el aula 3Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 84
  • 91. Capítulo 6. Pruebas Caso de prueba: Alumno220104Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel alumno dos, la ubicación de las pruebas fue el laboratorio de sistemas distribuidosResultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 85
  • 92. Capítulo 6. Pruebas Caso de prueba: Alumno220202Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel alumno dos, la ubicación de las pruebas fue el pasillo 15Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 86
  • 93. Capítulo 6. Pruebas Caso de prueba: Alumno220204Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel alumno dos, la ubicación de las pruebas fue el pasillo 17Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 87
  • 94. Capítulo 6. Pruebas Caso de prueba: Alumno310102Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo unodel alumno tres, la ubicación de las pruebas fue el aula 2Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 88
  • 95. Capítulo 6. Pruebas Caso de prueba: Alumno310104Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo unodel alumno tres, la ubicación de las pruebas fue el aula 3Resultado:Observaciones: en esta prueba, el archivo de recomendaciones contenía lainformación del laboratorio de inteligencia artificial como un lugar y también registradacomo inventarioResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 89
  • 96. Capítulo 6. Pruebas Caso de prueba: Alumno310203Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo unodel alumno tres, la ubicación de las pruebas fue el pasillo 13Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 90
  • 97. Capítulo 6. Pruebas Caso de prueba: Alumno320203Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel alumno tres, la ubicación de las pruebas fue el pasillo 14Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 91
  • 98. Capítulo 6. Pruebas Caso de prueba: Empresario130104Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo tresdel empresario uno, la ubicación de las pruebas fue la entradaResultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 92
  • 99. Capítulo 6. Pruebas Caso de prueba: Empresario110104Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo unodel empresario uno, la ubicación de las pruebas fue la entradaResultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 93
  • 100. Capítulo 6. Pruebas Caso de prueba: Empresario130203Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo tresdel empresario uno, la ubicación de las pruebas fue el pasillo 13Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 94
  • 101. Capítulo 6. Pruebas Caso de prueba: Empresario130204Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo tresdel empresario uno, la ubicación de las pruebas fue el pasillo 12Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 95
  • 102. Capítulo 6. Pruebas Caso de prueba: Empresario230102Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivotres del empresario dos, la ubicación de las pruebas fue el laboratorio de sistemasdistribuidosResultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 96
  • 103. Capítulo 6. Pruebas Caso de prueba: Empresario230103Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo tresdel empresario dos, la ubicación de las pruebas fue el aula 2Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 97
  • 104. Capítulo 6. Pruebas Caso de prueba: Empresario210201Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel empresario uno, la ubicación de las pruebas fue el pasillo 12Resultado:Observaciones: en esta prueba se descargó el archivo JSON para modelar la plantaalta, el usuario pudo interactuar con los objetos virtuales en estas pruebas por lo queresultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 98
  • 105. Capítulo 6. Pruebas Caso de prueba: Empresario210204Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo unodel empresario tres, la ubicación de las pruebas fue el pasillo 15Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 99
  • 106. Capítulo 6. Pruebas Caso de prueba: Empresario310102Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo unodel empresario tres, la ubicación de las pruebas fue el vestíbuloResultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 100
  • 107. Capítulo 6. Pruebas Caso de prueba: Empresario320102Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel empresario tres, la ubicación de las pruebas fue el laboratorio de inteligenciaartificialResultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 101
  • 108. Capítulo 6. Pruebas Caso de prueba: Empresario310203Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo unodel empresario tres, la ubicación de las pruebas fue el pasillo 10Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 102
  • 109. Capítulo 6. Pruebas Caso de prueba: Empresario320203Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel empresario tres, la ubicación de las pruebas fue el pasillo 10Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 103
  • 110. Capítulo 6. Pruebas Caso de prueba: Profesor130102Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo tresdel profesor uno, la ubicación de las pruebas fue el laboratorio de sistemas distribuidosResultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 104
  • 111. Capítulo 6. Pruebas Caso de prueba: Profesor130103Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo tresdel profesor uno, la ubicación de las pruebas fue la entradaResultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 105
  • 112. Capítulo 6. Pruebas Caso de prueba: Profesor110202Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo unodel profesor uno, la ubicación de las pruebas fue el pasillo 11Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 106
  • 113. Capítulo 6. Pruebas Caso de prueba: Profesor110204Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo unodel profesor uno, la ubicación de las pruebas fue el pasillo 14Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 107
  • 114. Capítulo 6. Pruebas Caso de prueba: Profesor220102Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel profesor dos, la ubicación de las pruebas fue el laboratorio de inteligencia artificialResultado:Observaciones: en estas pruebas se incluyó la orientación hacia arriba, en la cual seencontraba el cubículo del Dr. René SantaolayaResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 108
  • 115. Capítulo 6. Pruebas Caso de prueba: Profesor220104Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel profesor dos, la ubicación de las pruebas fue el aula 3Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 109
  • 116. Capítulo 6. Pruebas Caso de prueba: Profesor220203Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel profesor dos, la ubicación de las pruebas fue el pasillo 11Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 110
  • 117. Capítulo 6. Pruebas Caso de prueba: Profesor230203Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo tresdel profesor dos, la ubicación de las pruebas fue el vestíbuloResultado:Observaciones: en estas pruebas se incluyó la orientación hacia abajo, en la cual seencontraba el laboratorio de sistemas distribuidosResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 111
  • 118. Capítulo 6. Pruebas Caso de prueba: Profesor330101Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo tresdel profesor tres, la ubicación de las pruebas fue el laboratorio de ingeniería desoftwareResultado:Observaciones: en esta prueba se descargó el archivo JSON para modelar la plantabaja, el usuario pudo interactuar con los objetos virtuales en estas pruebas por lo queresultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 112
  • 119. Capítulo 6. Pruebas Caso de prueba: Profesor320104Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel profesor tres, la ubicación de las pruebas fue el laboratorio de inteligencia artificialResultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 113
  • 120. Capítulo 6. Pruebas Caso de prueba: Profesor320204Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel profesor tres, la ubicación de las pruebas fue el pasillo 10Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba 114
  • 121. Capítulo 6. Pruebas Caso de prueba: Profesor320203Descripción: se elaborarán pruebas de funcionalidad de la aplicación en el archivo dosdel profesor tres, la ubicación de las pruebas fue el pasillo 12Resultado:Observaciones: el usuario pudo interactuar con los objetos virtuales presentadosmediante realidad aumentada, estas pruebas resultaron exitosasResponsable de la prueba: Cargo:Rodrigo Alejandro Morán Leal Autor de la prueba6.3 ResultadosUna vez elaboradas las pruebas descritas anteriormente se procederá aevaluar los resultados obtenidos. En un principio, la aplicación marcaba unerror en varios de los archivos XML al tratar de extraer la información de losobjetos en las recomendaciones, esto fue debido a que en los archivos XMLexiste un error en la etiqueta “Extensión” en las recomendaciones de personas,como puede apreciarse en la figura 6.3, en esta figura puede apreciarse quealgunas etiquetas utilizan la letra s mientras que otras la letra c. 115
  • 122. Capítulo 6. Pruebas Figura 6.3 Error en los archivos XML por la etiqueta ExtensiónEste error se ocasiono debido a que en un principio se generaban lasrecomendaciones utilizando una c en la etiqueta, después se corrigió y seutilizo la letra s, por tal motivo algunos archivos quedaron con la letra c, parasolucionar este problema se corrigieron todos los archivos encontrados en laspruebas que utilizaban la letra c en la etiqueta extensión. Además de esteproblema en los archivos XML, algunos de ellos generaban recomendacionesnulas, como puede verse en la figura 6.4, que también pueden causar conflicto,estas recomendaciones no fueron consideradas para las pruebas. Figura 6.4 Recomendaciones nulas en los archivos XMLUna vez corregidos los archivos XML para adaptarlos a las pruebas, éstasprocedieron a ejecutarse, únicamente se descargó una vez el archivo JSONpara realizar todas las pruebas correspondientes en cada piso. En una primeraejecución de las pruebas, únicamente tuvieron error 4 pruebas de las 216 quese planearon, dando porcentaje de éxito del 98.14%, las pruebas que marcaronerror fue debido a que existía un error de sintaxis en el archivo JSON en el quese ejecutaron las pruebas, una vez corregido este error, se volvieron a ejecutarestas pruebas y resultaron exitosas, obteniendo finalmente un 100% de éxitoen la ejecución de las pruebas. 116
  • 123. Capítulo 7. Conclusiones y trabajos futuros Capítulo 7. Conclusiones y trabajos futurosEn este capítulo se abordarán las conclusiones obtenidas en el desarrollo deeste proyecto de investigación, así como también las aportaciones hechas eneste proyecto y los posibles trabajos futuros. 117
  • 124. Capítulo 7. Conclusiones y trabajos futuros7.1 ConclusionesComo pudo observarse, en este proyecto se desarrolló una aplicación capaz depresentar las recomendaciones e información del entorno, a través detecnologías de realidad aumentada en dispositivos Smarthphone, con estaaplicación es posible identificar diferentes objetos en el entorno a través delmodelo de reconocimiento por orientación desarrollado en esta tesis, con elcual, el dispositivo es capaz de mostrar información de puntos de interés alusuario mediante técnicas de realidad aumentada.Además, al implementar la aplicación, se desarrolló la estructura de mensajesbasados en JSON, estos mensajes contienen información extraída del modelosemántico de la organización, la aplicación es capaz de leer los datosnecesarios para formar los puntos de interés, las orientaciones y lasubicaciones del usuario, también se implementaron ajustes a la red deontologías organizacional, con estas modificaciones se puede modelar lainformación necesaria para que el modelo de orientación funcione con unsistema de orientación basado en sensorización.Para probar el modelo de orientación resultado de este proyecto de tesis, sedesarrolló una aplicación capaz de presentar las recomendaciones de unaorganización a través de realidad aumentada, aprovechando los sensores deldispositivo para determinar su orientación, además, se implementaron nuevasclases y relaciones a la red de ontologías organizacionales que ayudarán acomplementar la gestión de la información del entorno.7.2 AportacionesAdemás de haber desarrollado una aplicación capaz de insertar información derecomendaciones en el entorno, a través de realidad aumentada, también sediseñó un modelo de reconocimiento de distintos puntos de interés mediante eluso de los sensores del dispositivo, con este modelo de reconocimiento pororientación, es posible que el dispositivo reconozca diferentes puntos de interésen el entorno sin que estos se encuentren en el campo de visión del dispositivo.Además, se implementaron algunas modificaciones a las recomendaciones y ala aplicación desarrollada en este proyecto de tesis, con este modelo se puedereconocer cualquier punto de interés fijo, (tales como oficinas, salas, lugares,rutas de evacuación, etc.) así como objetos que se encuentren temporalmenteen algún espacio determinado (expendedores de alimentos, extintores,botiquines de primeros auxilios, etc.).Otra de las aportaciones en este proyecto de tesis, fue ampliar el conocimientoque se tenía sobre el desarrollo de aplicaciones que utilizan realidadaumentada dentro del área de sistemas distribuidos, a través de lainvestigación de las diversas técnicas utilizadas en estos sistemas, y tambiéncon la evaluación de los trabajos abordados en el estado del arte. De estaforma se asimilaron tecnologías y técnicas se utilizan actualmente para eldesarrollo de aplicaciones con realidad aumentada.Por último, en este proyecto de tesis también se modificó la ontología ONALIN,con estas modificaciones complementaron la ontología implementada en[Estrada 2010] para modelar la infraestructura de la organización. La ontología 118
  • 125. Capítulo 7. Conclusiones y trabajos futurosONALIN se diseñó para el desarrollo de sistemas de navegación, consideraestándares que son capaces de elaborar especificaciones para usuarios condiscapacidades motrices, por lo que permitiría desarrollar algún sistema denavegación que fuera capaz de escoger la ruta más conveniente para elusuario, de acuerdo a sus capacidades motrices.7.3 Trabajos futurosUna vez que se ha desarrollado una aplicación que presenta información alusuario mediante realidad aumentada, un trabajo futuro sería la integración delservicio de recomendaciones con mapas contextuales en formato SVG y elservicio de localización implementado en el trabajo de [Yris 2012], integrandode esta forma una aplicación muy completa para modelar los elementos dediversos tipos de organizaciones (museos, empresas de gobierno, centroscomerciales, instituciones de educación superior, etc.), ofreciendo en lasorganizaciones recomendaciones personalizadas a sus visitantes, servicio deubicación de los usuarios dentro de las instalaciones y consultar la informaciónde la organización a través de una interfaz tradicional, mapas SVG o bienrealidad aumentada.Además de implementar los otros trabajos realizados anteriormente, tambiénpodrían adecuarse los archivos XML de las recomendaciones al formato JSON,de esta forma la aplicación sería mucho más ligera y su lectura sería mássimple. También, sería posible adecuar algunos aspectos de esta aplicaciónpara que pudiera funcionar en dispositivos móviles tipo Tablet, con las cualesse podrían integrar más opciones en la interfaz, debido a que sus pantallas sonmás grandes.Finalmente, otro proyecto que contemplaría este trabajo de investigación, es laimplementación de una herramienta que permita la generación semiautomáticade mapas contextuales en formato SVG y los modelos ocultos de Markov(MOM), a partir de la descripción de infraestructura de la red de ontologíasorganizacional, para este caso se podría generar de manera semiautomática ladefinición de las ubicaciones y de los POI’s y algo interesante es que sepueden generar las rutas por donde se puede transitar dentro y fuera de losedificios, tomando en cuenta las especificaciones de accesibilidad parapersonas con diversas discapacidades, estas especificaciones estánconsideradas en la ontología ONALIN. 119
  • 126. ReferenciasReferencias[Ajanki 2011] An Augmented Reality Interface to Contextual Information, AnttiAjanki, Mark Billinghurst, Hannes Gamper, Toni Järvenpää, Melih Kandemir,Samuel Kaski, Markus Koskela, Mikko Kurimo, Jorma Laaksonen, KaiPuolamäki, Teemu Ruokolainen, Timo Tossavainen, Special Issue onAugmented Reality, Volumen 15, 2011[Jones 2010] STMicroelectronics Makes 3-Axis Digital Gyroscope With OneSensor, Willie D. Jones, IEEE Spectrum, 2010[Akyildiz 2002] A survey on sensor networks, Ian F. Akyildiz, Weilian Su,Yogesh Sankarasubramaniam, and Erdal Cayirci, IEEE communicationsmagazine, Agosto del 2002[Arjona 2009] Servicios de localización consientes de contextos aplicados aperfiles de movilidad y tecnologías de localización heterogéneas, Israel ArjonaVizcaíno, CENIDET, México 2009[Azuma 1997] A survey of Augmented Reality, Ronald T. Azuma,Teleoperators and Virtual Environments, Agosto 1997[Bellón 2011] Look!: Framework para Aplicaciones de Realidad Aumentada enAndroid, Sergio Bellón Alcarazo, Jorge Creixell Rojo, Angel Serrano Laguna,Jorge J. Gómez Sanz, Universidad Complutense de Madrid, Facultad deInformática, 2011[Bouzeghoub 2009] Situation-Aware Adaptive Recommendation to AssistMobile Users in a Campus Environment, Amel Bouzeghoub, Kien Ngoc Do,Leandro Krug Wives, International Conference on Advanced InformationNetworking and Applications, Reino Unido 2009[Cheung 2006] A Personal Knowledge Management Tool that SupportsOrganizational Knowledge Management, Cheung Larry Y.C., Chung Paul WaiHing, Stone R.G., Dai Wei, 3rd Asia-Pacific International Conference onKnowledge Management (KMAP), Hong Kong 2006[Choonsung 2010] Unified Context-aware Augmented Reality ApplicationFramework for User-Driven Tour Guides, Choonsung Shin, Hyejin Kim,Changgu Kang, Youngkyoon Jang, Ahyoung Choi, Woontack Woo,International Symposium on Ubiquitous Virtual Reality, 2010 120
  • 127. Referencias[Christos 2005] OntoNav: A Semantic Indoor Navigation System, ChristosAnagnostopoulos, Vassileios Tsetsos, Panayotis Kikiras, Stathes P., 1stWorkshop on Semantics in Mobile Environments (SME05), 2005[Coulton 2008] Using a Camera Phone as aMixed-Reality Laser Cannon, FadiChehimi, Paul Coulton, Reuben Edwards, International Journal of ComputerGames Technology, Reino Unido 2008[Dudas 2009] ONALIN: Ontology and Algorithm for Indoor Routing, Patrick M.Dudas, Mahsa Ghafourian, Tenth International Conference on Mobile DataManagement: Systems, Services and Middleware, 2009[Ehrig 2007] Ontology Alignment Bridging the Semantic Gap, Marc Ehrig,Springer, Estados Unidos 2007[Estrada 2010] Generación y explotación de mapas semánticos deinstalaciones organizacionales mediante el uso de ontologías, Ricardo EstradaPeláez, CENIDET, México 2010[Estrada 2012] Generación y explotación de mapas semánticos deinstalaciones organizacionales mediante el uso de ontologías, Ricardo EstradaPeláez, CENIDET, México 2010[Gediminas 2010] Context-Aware Recommender Systems, GediminasAdomavicius, Alexander Tuzhilin, New York, 2010[González 2012] Servicio de recomendación contextual mediante ontologíasmultidimensionales para dispositivos Smartphone, Nimrod González Franco,CENIDET, México 2012[IEEE 1998] 829 Standard for Software and System Test Documentation,Institute of Electrical and Electronic Engineers, Estados Unidos, 1998[ISO 2006] ISO/IEC18004, Information technology - Automatic identification anddata capture techniques - QR Code 2005 bar code symbology specification,segunda Edición, Editorial ISO/EC, Suiza 2006[Jürgen 2007] Towards a Semantic Spatial Model for Pedestrian IndoorNavigation, Edgar-Philipp Stoffel, Bernhard Lorenz, Hans Jürgen Ohlbach,conference on Advances in conceptual modeling: foundations and applications,2007 121
  • 128. Referencias[Kim 1989] Digital Compass and Magnetometer having a sensor coil wound ona high permaneablility isotropic core, Nam H. Kim, Timothy Hawks, UnitedStates Patent, Estados Unidos 1989[Kumar 2008] A Developer’s First Look at Android, Amit Kumar Saha,Overview developers – Linux for you, Enero del 2008[Kurata 2007] A Pilot User Study on 3-D Museum Guide with RouteRecommendation Using a Sustainable Positioning System, Takashi Okuma,Masakatsu Kourogi, Nobuchika Sakata, Takeshi Kurata, InternationalConference on Control, Automation and Systems, Corea 2007[Matysczok 2003] Development of a Real Time Image Based ObjectRecognition Method for Mobile AR-Devices, Juergen Gausemeier, JuergenFruend, Carsten Matysczok, Beat Bruederlin, David Beier, Afrigraph 2003[Mulloni 2010] North-centred Orientation Tracking on Mobile Phones, GerhardSchall, Alessandro Mulloni, Gerhard Reitmayr, 9th IEEE InternationalSymposium on Mixed and Augmented Reality (ISMAR), 2010[Olwal 2006] LightSense: Enabling Spatially Aware Handheld InteractionDevices, Alex Olwal, IEEE and ACM International Symposium on Mixed andAugmented Reality[Pajares 2008] Visión por computador Imágenes digitales y aplicaciones,Gonzalo Pajares Martinsanz, Jesús M. de la Cruz García, segunda Edición,Editorial RA-MA, México 2008.[Papagiannakis 2005] Mixing Virtual and Real scenes in the site of ancientPompeii, George Papagiannakis, Sebastien Schertenleib, Brian O’Kennedy,Marlene Arevalo-Poizat, Nadia Magnenat-Thalmann, Andrew Stoddart, DanielThalmann, Journal of Visualization and Computer Animation 16, 2005[Park 2010] A Tracking Framework for Augmented Reality Tours on CulturalHeritage Sites, Byung-Kuk Seo, Kangsoo Kim, Jungsik Park, Jong-II Park,Proceedings of the 9th ACM SIGGRAPH Conference on Virtual-RealityContinuum and its Applications in Industry, Estados unidos 2010[Paucher 2010] Location-based augmented reality on mobile phones, RémiPaucher, Matthew Turk, IEEE Computer Society Conference on ComputerVision and Pattern Recognition Workshops (CVPRW), 2010 122
  • 129. Referencias[Pombinho 2011] Point of interest awareness using indoor positioning with amobile phone, Paulo Pombinho, Ana Paula Afonso, Maria Beatriz Carmo,International Conference on Pervasive and Embedded Computing andCommunication Systems, 2011[Portillo 2008] Tecnología de identificación por radio frecuencia (RFID):Aplicaciones en el ámbito de la salud, Javier I. Portillo, Ana Belén Bermejo, AnaM. Bernardos, Informe de Vigilancia Tecnológica Madrid, 2008[Pressman 2002] Ingeniería del software: un enfoque práctico, RogerPressman, 5ª edición, McGraw-Hill, 2002.[QDevNet 2011] Augmented Reality – Qualcomm developer Network,QDevNet, 2011, https://developer.qualcomm.com/develop/mobile-technologies/augmented-reality[Rashid 2006] PAC-LAN: Mixed-Reality Gaming with RFID Enabled MobilePhones, Omer Rashid, Will Bamford, Paul Coulton, Reuben Edwards, ACMComputers in Entertainment, Vol. 4, No. 4, October 2006.[Röhrig 2009] Indoor Location Tracking in Non-line-of-Sight EnvironmentsUsing a IEEE 802.15.4a Wireless Network, Christof Röhrig, Marcel Müller,International Conference on Intelligent Robots and Systems, 2009[Schmalstieg 2003] Location based Applications for Mobile AugmentedReality, Gerhard Reitmayr, Dieter Schmalstieg, Australasian User InterfaceConference, Australia 2003[Schmalstieg 2006] Handheld augmented reality displays, IEEE Conference onVirtual Reality, Dieter Schmalstieg, Daniel Wagner, Washington, 2006[Schmalstieg 2007] Experiences with Handheld Augmented Reality, DieterSchmalstieg, Daniel Wagner, International Symposium on Mixed andAugmented Reality (ISMAR), Japón 2007[Schmalstieg 2011] Augmented Reality 2.0, Dieter Schmalstieg, TobiasLanglotz, Mark Billinghurst, Virtual Realities, p. 13-38, Springer, Alemania 2011[Shann 2007] Face detection and smile detection, Yu-Hao Huang, Chiou-Shann Fuh, Images & Recognition, Vol. 13 - No. 1, p. 4 – 9, China 2007 123
  • 130. Referencias[Sukhatme 2009] Coarse In-building Localization with Smartphones, AvinashParnandi, Ken Le, Pradeep Vaghela, Aalaya Kolli, Karthik Dantu, SameeraPoduri, Gaurav S. Sukhatme, Estados Unidos 2009[Swan 2010] Perceptual Issues in Augmented Reality Revisited, Ernst Kruijff, J.Edward Swan, Steven Feiner, IEEE International Symposium on Mixed andAugmented Reality, Corea 2010[Thalmann 2008] A survey of mobile and wireless technologies for augmentedreality systems, George Papagiannakis, Gurminder Singh, Nadia Magnenat-Thalmann, Journal of Visualization and Computer Animation, Estados Unidos2008[Thomas 2002] First Person Indoor/Outdoor Augmented Reality Application:ARQuake, Bruce Thomas, Ben Close, John Donoghue, John Squires, Phillip DeBondi, Wayne Piekarski, Springer - Personal and Ubiquitous Computing,Londres 2002.[Turk 2010] Location-based augmented reality on mobile phones, RémiPaucher, Matthew Turk, IEEE Computer Society Conference on ComputerVision and Pattern Recognition Workshops (CVPRW), 2010[Vargas 2009] Modelo colaborativo para la integración de sistemas, RocíoVargas Arrollo, CENIDET, México 2009[Weiser 1993] Some computer science issues in ubiquitous computing, MarkWeiser, communications of the ACM, Julio 1993, Vol 36, No. 7[Woo 2009] CAMAR Tag Framework: Context-Aware Mobile AugmentedReality Tag Framework for Dual-reality Linkage, Hyejin Kim, Wonwoo Lee,Woontack Woo, International Symposium on Ubiquitous Virtual Reality, 2009.[Woo 2010] Unified Context-aware Augmented Reality Application Frameworkfor User-Driven Tour Guides, Choonsung Shin, Hyejin Kim, Changgu Kang,Youngkyoon Jang, Ahyoung Choi, Woontack Woo, International Symposium onUbiquitous Virtual Reality, 2010.[Woo 2011] QR Code Data Representation for Mobile Augmented Reality,Hyoseok Yoon, Nohyoung Park, Wonwoo Lee, Youngkyoon Jang, WoontackWoo, International AR Standards Meeting-February, 2011[Worboys 2011] Modeling indoor space, Michael Worboys, Conference OnSpatial Information, 2011 124
  • 131. Referencias[Yris 2012] API Para servicios de localización basada en tecnología RFID,QRCode, WIFI y Bluetooth, Miguel Ángel Yris Pastor, CENIDET, México 2010[Zhu 2008] Personalized In-store E-Commerce with the PromoPad: anAugmented Reality Shopping Assistant, Wei Zhu, Charles B. Owen, Hairong Li,Joo-Hyun Lee, Electronic Journal for E-commerce Tools, 2008[Zöllner 2009] An Augmented Reality Presentation System for Remote CulturalHeritage Sites, M. Zöllner, J. Keil, H. Wüst, D. Pletinckx, The 10th InternationalSymposium on Virtual Reality, Archaeology and Cultural Heritage VAST, 2009 125