Métodos GPGPU para simulación y visualización de modelos volumétricos interactivos
- Rodríguez Aguilera, Alejandro
- Alejandro José León Salas Director/a
Universidad de defensa: Universidad de Granada
Fecha de defensa: 22 de septiembre de 2017
- Juan Carlos Torres Cantero Presidente/a
- Sergio Damas Arroyo Secretario/a
- Eder Miguel Villalba Vocal
- Nigel William John Vocal
- Juan J. Jiménez Delgado Vocal
Tipo: Tesis
Resumen
I. INTRODUCCIÓN Modelar el comportamiento físico de los fenómenos del mundo real ha sido de interés científico a lo largo de la historia. Es una herramienta clave no sólo para mejorar nuestra comprensión del mundo, sino también para proporcionar un medio para reproducir y predecir el comportamiento de muchos tipos de procesos físicos, proporcionando ideas importantes que luego se pueden emplear para una mejor toma de decisiones, estudio detallado O entrenamiento previo a actuaciones reales, entre otras aplicaciones. El modelado computacional y la simulación están entre los desarrollos más significativos dentro de la investigación científica y de ingeniería en las últimas décadas y un amplio abanico de métodos de simulación física son utilizados en una amplia gama de disciplinas tan diversas como la astrofísica, el plegamiento de moléculas, la ingeniería civil o las industrias del cine y los videojuegos. Un problema importante de los métodos de simulación computacional surge con la complejidad del modelo empleado para describir el fenómeno. Un modelo demasiado complejo de calcular o demasiado grande para almacenar puede requerir una cantidad inaceptable de tiempo para realizar la simulación deseada. Esta limitación se hace especialmente evidente en aplicaciones interactivas, en las que el presupuesto de tiempo para realizar un paso de simulación puede limitarse a unos pocos milisegundos. Muchas de las aplicaciones de simulación interactiva también requieren retroalimentación visual, por lo tanto la conexión entre el modelo de simulación y su representación visual debe realizarse de manera eficiente para permitir que la aplicación cumpla con el estricto límite de tiempo. En el caso específico de las simulaciones médicas, como pueden ser casos la simulación de procesos fisiológicos o la simulación de procedimientos quirúrgicos (comúnmente conocida como cirugía virtual), se requiere un modelo complejo de la anatomía humana. La distribución tisular de las formas biológicas se captura típicamente a través de tecnologías de detección 3D tales como la tomografía computarizada o las técnicas de resonancia magnética. Como resultado, los datos adquiridos incluyen hasta varios millones de vóxeles de información que representa la distribución de tejido dentro de los diferentes órganos y estructuras anatómicas. Esta enorme cantidad de datos puede usarse para obtener tanto los modelos biomecánicos como los visuales para aplicaciones interactivas, convirtiéndose en un problema computacionalmente muy exigente que ha recibido mucha atención de la comunidad científica. La eficiencia en el cómputo de estas aplicaciones se ha incrementado a lo largo de los años, tanto por mejoras en el hardware como en el software. La introducción de las unidades de procesamiento gráfico (GPU) ya permitió acelerar la retroalimentación visual de estas aplicaciones, pero la aparición de las GPUs de cauce programable, y más importante, el desarrollo posterior de entornos de desarrollo para la computación de propósito general en gráficos (GPGPU), supuso un avance significativo que permitió extender su uso a muchos campos de la computación moderna, incluyendo el campo de simulación física. En esta tesis exploramos las técnicas GPGPU con el objetivo de desarrollar nuevos métodos y algoritmos mejorados para la simulación y visualización de aplicaciones interactivas, con especial atención a aplicaciones médicas y de \emph{soft robotics}, y específicamente en los métodos de simulación basados en ChainMail para simulación médica y modelado de elementos finitos para control de \emph{soft robots}, y en las técnicas de visualización directa de datos volumétricos deformables y técnicas de exploración asistida de los mismos. II. ESTRUCTURA DE LA TESIS DOCTORAL El principal objetivo de esta tesis doctoral es el estudio y aplicación de técnicas GPGPU para la aceleración de procesos de alto coste computacional y su aplicación a entornos de simulación interactiva. Las contribuciones de la tesis se han agrupado en tres bloques temáticos: simulación médica mediante algoritmo ChainMail, control de \emph{soft robots} basado en simulación y visualización médica interactiva. La tesis se presenta en la modalidad de ``compendio'' y a continuación citamos las contribuciones en cada uno de los bloques. Bloque I: Simulación ChainMail paralela de modelos médicos heterogéneos A. Rodríguez, A. León, L. López Escudero and M. García Sánchez (2014). “A System Proposal for Interactive Deformation of Large Medical Volumes”. Proceedings of Spanish Computer Graphics Conference (CEIG 2014). A. Rodríguez, A. León, G. Arroyo, and J. M. Mantas (2015). “SP-ChainMail: a GPU-based sparse parallel ChainMail algorithm for deforming medical volumes”. The Journal of Supercomputing, Volume 71, Issue 9, pp. 3482-3499. A. Rodríguez, A. León and G. Arroyo (2016). “Parallel deformation of heterogeneous ChainMail models: Application to interactive deformation of large medical volumes”. Computers in Biology and Medicine, Volume 79, pp. 222-232. Bloque II: Control de soft robots basado en simulación A. Rodríguez, E. Coevoet and C. Duriez. “Real-time simulation of hydraulic components for interactive control of soft robots”. IEEE International Conference on Robotics and Automation (ICRA 2017). Bloque III: Visualización médica interactiva A. Rodríguez, A. León Salas, D. Martín Perandrés and M. A. Otaduy (2015). “A parallel resampling method for interactive deformation of volumetric models”. Computers & Graphics, Volume 53, pp. 147-155. A. Rodríguez and A. León (2016). “Spatial Opacity Maps for Direct Volume Rendering of Regions of Interest”. Proceedings of Spanish Computer Graphics Conference (CEIG 2016). III. Conclusiones En esta tesis hemos presentado diferentes contribuciones en los campos de modelos deformables, soft robots y visualización y exploración de volúmenes. Nuestras soluciones están enfocadas hacia sistemas interactivos, tanto en entornos médicos como de control de robots. El presupuesto de tiempo limitado para proporcionar retroalimentación de estas aplicaciones conlleva un sacrificio en términos de precisión de la simulación subyacente y/o nivel de detalle de la retroalimentación visual, para satisfacer los requisitos de rendimiento interactivo. Motivados por esta limitación, hemos centrado nuestros esfuerzos en explotar el poder de cómputo paralelo de las GPU modernas para mejorar la calidad global de las soluciones y, junto con nuestras principales contribuciones, presentamos varias contribuciones relativas a computación GPGPU. A continuación detallamos las conclusiones y contribuciones específicas relacionadas con cada bloque. Bloque I: Simulación ChainMail paralela de modelos médicos heterogéneos Hemos presentado un nuevo algoritmo ChainMail paralelo replanteando el algoritmo como un problema de computación stencil. Hemos demostrado que este esquema de cómputo permite aumentar significativamente el rendimiento del algoritmo a través de un cómputo paralelo de las etapas de propagación y relajación en la GPU. Abordamos el problema de la computación eficiente de modelos de ChainMail heterogéneos incorporando un mecanismo basado en marcas de tiempo a la etapa de propagación teniendo en cuenta que la velocidad de propagación de una deformación a través de un cuerpo deformable depende de la rigidez del material atravesado y generalizando el proceso de minimización de energía en la etapa de relajación, que modela la energía elástica almacenada en los tejidos heterogéneos basada en la ley de Hooke. En términos de rendimiento, nuestros experimentos demuestran que nuestra solución supera a los algoritmos ChainMail anteriores por factores de más de 20x, permitiendo simulaciones interactivas para modelos de varios millones de elementos. Para abordar la naturaleza irregular de la computación de nuestro enfoque stencil, hemos propuesto un esquema de partición para una gestión eficiente de la computación en la GPU, reduciendo drásticamente la computación innecesaria y así aumentar el rendimiento del algoritmo. Un análisis experimental mostró que el esquema de partición exhibe buena portabilidad y escalabilidad y permite una aceleración del cómputo de un factor de 7x con respecto al esquema de gestión naif. En conclusión, el algoritmo propuesto aborda varias limitaciones del algoritmo original aumentando su rendimiento, manejando materiales heterogéneos de forma eficiente y permitiendo que varias deformaciones se propaguen simultáneamente a través del modelo, junto con otras mejoras menores, y creemos que las soluciones basadas en los modelos ChainMail pueden aprovechar estas características para mejorar y ampliar su aplicabilidad. Se ha demostrado que el esquema de partición propuesto aumenta el rendimiento y es aplicable a problemas generales de computación stencil que sufren de computación irregular. Bloque II: Control de soft robots basado en simulación En el campo emergente de control de soft robots, el complejo comportamiento de sus cuerpos, actuadores y otros componentes involucrados debe ser modelado de una manera eficiente pero precisa para permitir soluciones de simulación interactivas para calcular la actuación requerida en unos pocos milisegundos. Hemos presentado un nuevo método paralelo usando la GPU para una estimación eficiente de la distribución del peso del fluido dentro de las cavidades hidráulicas junto con un nuevo modelo de su comportamiento dinámico. Hemos integrado nuestra solución dentro del entorno de simulación de soft robots de SOFA, proporcionando un sistema para la planificación interactiva del movimiento de soft robots con actuadores hidráulicos. Un análisis experimental de nuestra solución muestra la exactitud de las estimaciones de distribución de peso del fluido y el modelo dinámico. También presentamos un nuevo algoritmo de distribución de trabajo general, simple y paralelo que mejora el cómputo de cargas de trabajo irregulares en la GPU y hemos mostrado su aplicación a nuestro algoritmo de estimación de distribución de peso. Bloque III: Visualización médica interactiva Hemos abordado dos problemas computacionalmente exigentes de procesamiento interactivo de volúmenes en aplicaciones médicas: la visualización de datos volumétricos deformables y la visualización de regiones de interés para la exploración de volúmenes médicos. Hemos presentado un algoritmo de remuestreo paralelo para la visualización directa de datos volumétricos deformados. El núcleo del método es una malla de muestreo intermedia que desacopla el proceso de remuestreo del método de deformación subyacente. Una ventaja notable de este desacoplamiento es que cualquier método de deformación puede aplicarse mediante un mapeado de su campo de deformación a la malla de muestreo, tal y como mostramos en el caso de modelos de masa-muelle y elementos finitos con elementos tetraédricos, sin embargo, la principal contribución de este método, como se muestra en nuestros experimentos es que este desacoplamiento elimina de forma efectiva la dependencia del rendimiento del algoritmo respecto a la resolución del modelo de deformación, existente en los métodos anteriores. Esto permite la visualización interactiva de modelos volumétricos empleando esquemas de deformación de alta resolución, como nuestro algoritmo ChainMail, sin un coste computacional adicional. Hemos introducido el concepto de mapas de opacidad espacial como una nueva herramienta para la exploración de regiones de interés en datos volumétricos médicos. Con el objetivo de proporcionar una integración sencilla de las técnicas de visualización 3D con los flujos de trabajo clínicos existentes, que normalmente se basan en la exploración de cortes 2D, seguimos un paradigma sin parámetros para la generación interactiva de los mapas de opacidad basado en una computación paralela de crecimiento de regiones, siendo la única entrada por parte del usuario la selección de un píxel en un corte 2D. También mostramos cómo integrar los mapas de opacidad en el cauce estándar de visualización de volúmenes, permitiendo así su combinación con los métodos existentes para una visualización contextual mejorada, y demostramos esta ventaja combinando su aplicación con un procedimiento de generación automático de la función de transferencia.