Sistemas interpretados en GPUs: Aplicaciones en patrimonio histórico y visualización expresiva
- Germán Arroyo Moreno Co-director
- Domingo Martín Perandrés Co-director
Defence university: Universidad de Granada
Fecha de defensa: 24 July 2023
- Francisco Ramon Feito Higueruela Chair
- Juan Ruiz de Miras Secretary
- Lidia M. Ortega Alvarado Committee member
Type: Thesis
Abstract
Durante el siglo pasado la preservación del patrimonio histórico ha adquirido un papel esencial en el devenir de nuestra sociedad. Muchas han sido las organizaciones que se han creado para preservar y difundir estos bienes culturales, tanto materiales como inmateriales, que nos ayudan a comprender nuestro pasado. Los trabajos relacionados con la preservación y difusión de estos bienes son bastante complejos y, a menudo, necesitan de la colaboración de varios especialistas organizados en equipos multidisciplinares. Entre las tareas que estos deben realizar, el proceso de documentación ocupa un lugar fundamental. Si la documentación resulta adecuada, se garantiza un análisis preciso de la información recabada y, en consecuencia, se podrán tomar decisiones bien fundadas en futuros trabajos de conservación. Este proceso de documentación, sin embargo, resulta bastante laborioso. Requiere gestionar grandes conjuntos de datos heterogéneos: fotografías, bases de datos, informes, grabaciones de audio, ilustraciones, modelos 3D escaneados, etc. En función del tipo y número de aplicaciones que utilicen de manera habitual los integrantes de estos equipos de especialistas, manejar de manera eficiente estos conjuntos de datos puede convertirse en una tarea complicada. Las aplicaciones especializadas pueden proporcionar soluciones más efectivas a determinados problemas, pero un numero excesivo de ellas conduce a la fragmentación de resultados y obliga a establecer protocolos de compatibilidad para la información que se transfiere entre ellas. Por suerte, existen soluciones software de carácter general que son capaces de manejar estos conjuntos de datos heterogéneos con solvencia. Entre ellas destacan los sistemas de información. En sus inicios estas herramientas trabajaban únicamente con información bidimensional (2D), pero hoy día son capaces de manejar contenidos en tres dimensiones como modelos 3D escaneados. Aunque son muchas las ventajas que ofrecen, al ser soluciones generales no siempre utilizan los modelos de representación de datos más apropiados o emplean eficientemente las capacidades del hardware existente. En esta tesis doctoral se presentan un conjunto de propuestas que aprovechan las virtudes de las arquitecturas paralelas de las unidades de procesamiento gráfico (GPU) para solventar este tipo de ineficiencias en la creación, gestión y actualización de datos en sistemas de información 3D dedicados a la documentación de patrimonio histórico. En concreto, se detalla una nueva arquitectura de sistemas de información 3D optimizada para el procesamiento de datos en GPU. Dicha arquitectura usa el concepto de capas temáticas visto en los sistemas de información geográfica para asignar datos a la superficie del modelo, utiliza texturas 2D para almacenar la información de las capas que indexa a través de coordenadas de textura y realiza el proceso de edición de información íntegramente en la GPU. En las pruebas realizadas se han obtenido resultados que pueden llegar a ser hasta dos órdenes de magnitud más rápidos que los ofrecidos por soluciones anteriores durante la edición de información. Para expandir la funcionalidad de esta arquitectura también se propone un algoritmo que permite almacenar la información topológica de modelos 3D en texturas 2D. El cálculo de este algoritmo se resuelve completamente en el espacio de GPU y ofrece una solución eficiente al cómputo de operaciones que requieran este tipo de información, como pueden ser los campos de distancias. Comparado con soluciones anteriores, esta propuesta es, como mínimo, dos ordenes de magnitud más rápida a la hora de calcular la topología en las pruebas que se han realizado. Asimismo, se ha diseñado un lenguaje para poder operar entre capas de información, y se ha incluido un nuevo módulo en la arquitectura que permite traducir sentencias escritas en este lenguaje a código de shader que se ejecuta en la GPU. De esta manera se evitan transferencias innecesarias entre el espacio de CPU y el espacio de GPU que degradarían el rendimiento del sistema propuesto y todas las operaciones se resuelven íntegramente en GPU, siendo consistente con el resto de la arquitectura. Se incluye también un estudio de usabilidad del sistema de información desarrollado que ha permitido verificar la calidad de la solución. Gracias a la colaboración de los participantes, se han identificado ineficiencias en la interfaz de usuario y se han recopilado valoraciones críticas de usuarios potenciales. Finalmente, se describe un lenguaje de programación visual que permite documentar de forma gráfica el patrimonio histórico mediante la combinación de múltiples técnicas de visualización expresiva. Gracias a un sistema de cachés de representación y a la definición de una estructura de datos eficiente, el lenguaje permite iterar con facilidad multitud de estilos visuales que se computan en el espacio de GPU.