stringtranslate.com

Convolución integral de línea

Imagen de la Gran Nube de Magallanes , una de las galaxias más cercanas a nuestra Vía Láctea, creada con LIC

En visualización científica , la convolución integral de línea ( LIC ) es un método para visualizar un campo vectorial (como el movimiento de un fluido ) a altas resoluciones espaciales. [1] La técnica LIC fue propuesta por primera vez por Brian Cabral y Leith Casey Leedom en 1993. [2]

En LIC, la integración numérica discreta de líneas se realiza a lo largo de las líneas de campo (curvas) del campo vectorial en una cuadrícula uniforme . La operación integral es una convolución de un núcleo de filtro y una textura de entrada, a menudo ruido blanco . [1] En el procesamiento de señales , este proceso se conoce como convolución discreta . [3]

Descripción general

Las visualizaciones tradicionales de campos vectoriales utilizan flechas o líneas pequeñas para representar la dirección y magnitud de los vectores. Este método tiene una resolución espacial baja, lo que limita la densidad de datos presentables y corre el riesgo de oscurecer las características de los datos. [1] [3] Los métodos más sofisticados, como las líneas de corriente y las técnicas de rastreo de partículas, pueden ser más reveladores, pero dependen en gran medida de los puntos de semilla adecuados. [1] Los métodos basados ​​en texturas, como LIC, evitan estos problemas, ya que representan todo el campo vectorial con una resolución de punto (píxel). [1]

En comparación con otras técnicas basadas en la integración que calculan las líneas de campo del campo vectorial de entrada, LIC tiene la ventaja de que se muestran todas las características estructurales del campo vectorial, sin necesidad de adaptar los puntos de inicio y fin de las líneas de campo al campo vectorial específico. En otras palabras, muestra la topología del campo vectorial. [ cita requerida ]

En pruebas de usuarios, se descubrió que LIC era particularmente bueno para identificar puntos críticos. [4]

Algoritmo

Descripción informal

La LIC hace que los valores de salida estén fuertemente correlacionados a lo largo de las líneas de campo, pero no estén correlacionados en direcciones ortogonales. [1] Como resultado, las líneas de campo contrastan entre sí y se destacan visualmente del fondo.

Intuitivamente, el proceso se puede entender con el siguiente ejemplo: el flujo de un campo vectorial se puede visualizar superponiendo un patrón fijo y aleatorio de pintura oscura y clara. A medida que el flujo pasa por la pintura, el fluido recoge parte del color de la pintura y lo promedia con el color que ya ha adquirido. El resultado es una textura rayada y manchada al azar en la que los puntos a lo largo de la misma línea de corriente tienden a tener un color similar. Otros ejemplos físicos incluyen:

Descripción matemática formal

Aunque el campo vectorial de entrada y la imagen resultante están discretizados, conviene mirarlo desde un punto de vista continuo. [1] Sea el campo vectorial dado en algún dominio . Aunque el campo vectorial de entrada normalmente está discretizado, consideramos que el campo está definido en cada punto de , es decir, suponemos una interpolación . Las líneas de corriente, o más generalmente las líneas de campo, son tangentes al campo vectorial en cada punto. Terminan en el límite de o en puntos críticos donde . Por el bien de la simplicidad, los puntos críticos y los límites se ignoran en lo siguiente.

Una línea de campo , parametrizada por la longitud del arco , se define como Sea la línea de campo que pasa por el punto para . Entonces el valor de gris de la imagen en se establece en

donde es el núcleo de convolución , es la imagen de ruido y es la longitud del segmento de línea de campo que se sigue.

Se debe calcular la convolución de cada píxel de la imagen LIC. Si se lleva a cabo de manera simple, esto es bastante costoso. Primero, se deben calcular las líneas de campo utilizando un método numérico para resolver ecuaciones diferenciales ordinarias , como el método de Runge-Kutta , y luego, para cada píxel, se debe calcular la convolución a lo largo de un segmento de línea de campo.

La imagen final normalmente estará coloreada de alguna manera. Normalmente, se utiliza algún campo escalar (como la longitud del vector) para determinar el tono, mientras que la salida LIC en escala de grises determina el brillo .

Diferentes opciones de núcleos de convolución y ruido aleatorio producen diferentes texturas; por ejemplo, el ruido rosa produce un patrón nublado donde las áreas de mayor flujo se destacan como manchas, lo que resulta adecuado para la visualización del clima. Un mayor refinamiento de la convolución puede mejorar la calidad de la imagen. [6]

Descripción de programación

Algorítmicamente, LIC toma un campo vectorial y una textura de ruido como entrada, y genera una textura. El proceso comienza generando en el dominio del campo vectorial una imagen aleatoria de niveles de gris con la resolución de salida deseada. Luego, para cada píxel de esta imagen, se calcula la línea de corriente hacia adelante y hacia atrás de una longitud de arco fija . El valor asignado al píxel actual se calcula mediante una convolución de un núcleo de convolución adecuado con los niveles de gris de todos los píxeles de ruido que se encuentran en un segmento de esta línea de corriente. Esto crea una imagen LIC de niveles de gris.

Versiones

Básico

Visualización LIC básica de un campo de flujo

Las imágenes LIC básicas son imágenes en escala de grises, sin color ni animación. Si bien dichas imágenes LIC transmiten la dirección de los vectores de campo, no indican la orientación; en el caso de los campos estacionarios, esto se puede solucionar mediante una animación. Las imágenes LIC básicas no muestran la longitud de los vectores (ni la intensidad del campo).

Color

LIC con color que indica la magnitud de la velocidad

La longitud de los vectores (o la intensidad del campo) suele estar codificada en color; como alternativa, se puede utilizar animación. [2] [1]

Animación

Ilustración de cómo se anima el LIC.
Arriba: filtro de caja normal (promedio).
En el medio: filtro sinusoidal en . Abajo: filtro sinusoidal en .

Las imágenes LIC se pueden animar utilizando un núcleo que cambia con el tiempo. Se seguirían utilizando muestras de la línea de corriente en un tiempo constante, pero en lugar de promediar todos los píxeles de una línea de corriente con un núcleo estático, se utiliza un núcleo con forma de onda construido a partir de una función periódica multiplicada por una función de Hann que actúa como una ventana (para evitar artefactos). Luego, la función periódica se desplaza a lo largo del período para crear una animación.

Licencia rápida de conducir (FLIC)

El cálculo se puede acelerar significativamente reutilizando partes de líneas de campo ya calculadas, especializándolas en una función de caja como núcleo de convolución y evitando cálculos redundantes durante la convolución. [1] El método LIC rápido resultante se puede generalizar a núcleos de convolución que son polinomios arbitrarios. [7]

Convolución integral de línea orientada (OLIC)

Debido a que LIC no codifica la orientación del flujo, no puede distinguir entre líneas de corriente de igual dirección pero de orientación opuesta. [8] La convolución integral de línea orientada (OLIC) resuelve este problema utilizando un núcleo asimétrico tipo rampa y una textura de ruido de baja densidad. [8] El núcleo modula asimétricamente la intensidad a lo largo de la línea de corriente, produciendo un trazo que codifica la orientación; la baja densidad de la textura de ruido evita que los trazos borrosos se superpongan, lo que facilita la legibilidad.

La representación rápida de la convolución integral de línea orientada (FROLIC) es una variación que se aproxima a OLIC al representar cada traza en pasos discretos en lugar de como una mancha continua. [8] [9]

Flujo inestable de LIC (UFLIC)

Para campos vectoriales dependientes del tiempo (flujo inestable), se ha diseñado una variante llamada LIC de flujo inestable que mantiene la coherencia de la animación del flujo. [10] Se ha presentado una implementación interactiva basada en GPU de UFLIC. [11]

Paralelo

Dado que el cálculo de una imagen LIC es costoso pero inherentemente paralelo, el proceso se ha paralelizado [12] y, con la disponibilidad de implementaciones basadas en GPU, se ha vuelto interactivo en PC.

Multidimensional

Cabe señalar que el dominio no tiene por qué ser un dominio 2D: el método es aplicable a dominios de dimensiones superiores que utilizan campos de ruido multidimensionales. Sin embargo, la visualización de la textura LIC de dimensiones superiores es problemática; una forma de hacerlo es utilizar la exploración interactiva con cortes 2D que se posicionan y rotan manualmente. El dominio tampoco tiene por qué ser plano; la textura LIC también se puede calcular para superficies 2D de formas arbitrarias en el espacio 3D. [13]

Aplicaciones

Esta técnica se ha aplicado a una amplia gama de problemas desde que se publicó por primera vez en 1993, tanto científicos como creativos, entre ellos:

Representación de campos vectoriales:

Efectos artísticos para la generación y estilización de imágenes:

Generalización del terreno:

Implementaciones

Véase también

Referencias

  1. ^ abcdefghi Stalling, Detlev; Hege, Hans-Christian (6-11 de agosto de 1995). "Convolución integral de línea rápida e independiente de la resolución". Actas de la 22.ª Conferencia anual sobre gráficos informáticos y técnicas interactivas . SIGGRAPH '95. Los Ángeles, California. págs. 249-256. CiteSeerX  10.1.1.45.5526 . doi :10.1145/218380.218448. ISBN. 0-89791-701-4.
  2. ^ ab Cabral, Brian; Leedom, Leith Casey (2–6 de agosto de 1993). "Obtención de imágenes de campos vectoriales mediante convolución integral de línea". Actas de la 20.ª conferencia anual sobre gráficos por ordenador y técnicas interactivas . SIGGRAPH '93. Anaheim, California. págs. 263–270. CiteSeerX 10.1.1.115.1636 . doi :10.1145/166117.166151. ISBN .  0-89791-601-8.
  3. ^ ab Ward, Matthew O. (5 de febrero de 1996). "Convolución integral de línea para visualización de flujo". Instituto Politécnico de Worcester . Consultado el 21 de julio de 2024 .
  4. ^ Laidlaw, David H.; Kirby, Robert M.; Davidson, J. Scott; Miller, Timothy S.; da Silva, Marco; Warren, William H.; Tarr, Michael J. (21–26 de octubre de 2001). "Evaluación comparativa cuantitativa de métodos de visualización de campos vectoriales 2D". IEEE Visualization 2001, VIS '01. Actas . San Diego, CA, EE. UU., págs. 143–150.
  5. ^ Liu, Zhanping (21 de agosto de 2007). "LIC (Line Integral Convolution)" (Convolución integral de línea) . Consultado el 21 de julio de 2024 .
  6. ^ Weiskopf, Daniel (2009). "Convolución integral de línea iterativa doble para visualización de campos vectoriales basada en texturas". En Möller, Torsten; Hamann, Bernd; Russell, Robert D. (eds.). Fundamentos matemáticos de visualización científica, gráficos por computadora y exploración masiva de datos . Matemáticas y visualización. Berlín, Nueva York: Springer . pp. 191–211. CiteSeerX 10.1.1.66.3013 . doi :10.1007/b106657_10. ISBN.  978-3-540-25076-0.[ enlace muerto ]
  7. ^ Hege, Hans-Christian; Stalling, Detlev (1998), "LIC rápido con núcleos de filtro polinomial por partes", en Hege, Hans-Christian; Polthier, Konrad (eds.), Visualización matemática , Berlín, Heidelberg: Springer-Verlag, págs. 295–314, CiteSeerX 10.1.1.31.504 , doi :10.1007/978-3-662-03567-2_22, ISBN  978-3-642-08373-0
  8. ^ abc Wegenkittl, Rainer; Gröller, Eduard (24 de octubre de 1997). "Convolución integral de línea orientada rápidamente para la visualización de campos vectoriales a través de Internet" (PDF) . Actas. Visualization '97 (Cat. No. 97CB36155) . pp. 309–316. doi :10.1109/VISUAL.1997.663897. ISBN 0-8186-8262-0.
  9. ^ Herramienta de exploración Java para sistemas dinámicos por R. Wegenkittl y E. Gröller.
  10. ^ Shen, Han-Wei; Kam, David L. (1998). "Un nuevo algoritmo de convolución integral de línea para visualizar campos de flujo que varían en el tiempo" (PDF) . IEEE Trans Vis Comput Graph . 4 (2). Los Alamitos: IEEE: 98–108. doi :10.1109/2945.694952. ISSN  1077-2626.
  11. ^ Ding, Zi'ang; Liu, Zhanping; Yu, Yang; Chen, Wei (2015). "Convolución integral de línea de flujo inestable paralela para visualización densa de alto rendimiento". Simposio de visualización del Pacífico IEEE 2015, PacificVis 2015 . Hangzhou, China. págs. 25-30.
  12. ^ Zöckler, Malta; Estancamiento, Detlev; Hege, Hans-Christian (1997). "Convolución integral de líneas paralelas" (PDF) . Computación Paralela . 23 (7). Ámsterdam: Holanda Septentrional: 975–989. doi :10.1016/S0167-8191(97)00039-2. ISSN  0167-8191.
  13. ^ Battke, Henrik; Stalling, Detlev; Hege, Hans-Christian (1997). "Convolución integral de línea rápida para superficies arbitrarias en 3D". En Hege, Hans-Christian; Polthier, Konrad (eds.). Visualización y matemáticas: experimentos, simulaciones y entornos . Berlín, Nueva York: Springer . págs. 181–195. CiteSeerX 10.1.1.71.7228 . doi :10.1007/978-3-642-59195-2_12. ISBN  3-540-61269-6.
  14. ^ DAAC: Convolución integral de línea
  15. ^ Exploración visual de sistemas dinámicos autónomos 2D Thomas Müller2,1 y Filip Sadlo1 Publicado el 26 de febrero de 2015 • © 2015 IOP Publishing Ltd European Journal of Physics, Volumen 36, Número 3
  16. ^ Un mapa en tiempo real del viento en EE.UU. por Fernanda Viégas y Martin Wattenberg.
  17. ^ Publicación de researchgate: Sun, Shuo y Huang, Dongwei. (2022). Dibujo a lápiz eficiente basado en regiones.
  18. ^ S. Yamamoto, Xiaoyang Mo y A. Imamiya, "Filtro de lápiz LIC mejorado", Actas. Conferencia internacional sobre gráficos, imágenes y visualización por computadora, 2004. CGIV 2004., 2004, págs. 251-256, doi: 10.1109/CGIV.2004.1323994.
  19. ^ Xiaoyang Mao, M. Kikukawa, K. Kashio y A. Imamiya, "Generación automática de textura de cabello con convolución integral de línea", Conferencia IEEE sobre visualización de información de 2000. Conferencia internacional sobre visualización y gráficos por computadora, 2000, págs. 303-308, doi: 10.1109/IV.2000.859772.
  20. ^ Xiaoyang Mao, Toshikazu Suzuki y Atsumi Imamiya. 2003. AtelierM: un sistema interactivo basado en la física para crear texturas tradicionales de mármol. En Actas de la 1.ª conferencia internacional sobre gráficos por ordenador y técnicas interactivas en Australasia y el Sudeste Asiático (GRAPHITE '03). Association for Computing Machinery, Nueva York, NY, EE. UU., 79 y siguientes. https://doi.org/10.1145/604471.604489
  21. ^ Bernhard Jenny (2021) Generalización del terreno con convolución integral de línea, Cartografía y Ciencias de la Información Geográfica, 48:1, 78-92, DOI: 10.1080/15230406.2020.1833762