Articulo de referencia

convolución de 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 de 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 de integral de línea ( LIC ) es un método para visualizar un campo vectorial (como el movimiento de un fluido ) con alta resolución espacial. [ 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 de integración 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 pequeñas flechas o líneas para representar la dirección y magnitud del vector. Este método tiene una baja resolución espacial , lo que limita la densidad de datos presentables y corre el riesgo de ocultar características distintivas en los datos. [ 1 ] [ 3 ] Métodos más sofisticados, como las líneas de corriente y las técnicas de trazado de partículas, pueden ser más reveladores, pero dependen en gran medida de puntos 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 puntual (de píxeles). [ 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 mostrar 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.

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

Algoritmo

Descripción informal

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

Intuitivamente, el proceso se puede comprender 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 absorbe parte de su color, promediándolo con el color que ya ha adquirido. El resultado es una textura irregular y difuminada donde los puntos a lo largo de la misma línea de corriente tienden a tener un color similar. Otros ejemplos físicos incluyen:

  • patrones en espiral de pintura, aceite o espuma en un río
  • Visualización de líneas de campo magnético mediante limaduras de hierro distribuidas aleatoriamente.
  • arena fina siendo arrastrada por el fuerte viento [ 5 ]

Descripción matemática formal

Aunque el campo vectorial de entrada y la imagen resultante están discretizados, conviene observarlo desde un punto de vista continuo. [ 1 ] Seav{\displaystyle \mathbf {v} }sea ​​el campo vectorial dado en algún dominioΩ{\displaystyle \Omega }Aunque el campo vectorial de entrada suele estar discretizado, consideramos que el campov{\displaystyle \mathbf {v} }como se define en cada punto deΩ{\displaystyle \Omega }, es decir, asumimos 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Ω{\displaystyle \Omega }o en puntos críticos dondev=0{\displaystyle \mathbf {v} =\mathbf {0} }. En aras de la simplicidad, a continuación se omiten los puntos críticos y los límites.

Una línea de campoσ{\displaystyle {\boldsymbol {\sigma }}}, parametrizado por la longitud del arcos{\displaystyle s}, se define como

dσ(s)ds=v(σ(s))|v(σ(s))|.{\displaystyle {\frac {d{\boldsymbol {\sigma }}(s)}{ds}}={\frac {\mathbf {v} ({\boldsymbol {\sigma }}(s))}{|\mathbf {v} ({\boldsymbol {\sigma }}(s))|}}.}

Dejarσr(s){\displaystyle {\boldsymbol {\sigma }}_{\mathbf {r} }(s)}sea ​​la línea de campo que pasa por el puntor{\displaystyle \mathbf {r} }paras=0{\displaystyle s=0}. Luego, el valor de gris de la imagen enr{\displaystyle \mathbf {r} }está configurado para

D(r)=L/2L/2k(s)norte(σr(s))ds{\displaystyle D(\mathbf {r} )=\int _{-L/2}^{L/2}k(s)N({\boldsymbol {\sigma }}_{\mathbf {r} }(s))ds}

dóndek(s){\displaystyle k(s)}es el núcleo de convolución ,norte(r){\displaystyle N(\mathbf {r} )}es la imagen de ruido, yL{\displaystyle L}es la longitud del segmento de línea de campo que se sigue.

D(r){\displaystyle D(\mathbf {r} )}Se debe calcular para cada píxel de la imagen LIC. Si se realiza de forma ingenua, esto resulta 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. Típicamente, algún campo escalar enΩ{\displaystyle \Omega }(como la longitud del vector) se utiliza para determinar el tono, mientras que la salida LIC en escala de grises determina el brillo .

Las distintas elecciones 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 destacan como manchas, adecuado para la visualización del clima. Refinamientos adicionales en la convolución pueden mejorar la calidad de la imagen. [ 6 ]

Descripción del programa

Algorítmicamente, LIC toma como entrada un campo vectorial y una textura de ruido, y genera una textura. El proceso comienza generando, en el dominio del campo vectorial, una imagen aleatoria en escala de grises con la resolución de salida deseada. A continuación, para cada píxel de esta imagen, se calcula la trayectoria de avance y retroceso de un arco de longitud fija . El valor asignado al píxel actual se obtiene mediante la 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 trayectoria. Esto crea una imagen LIC en escala de grises.

Versiones

Básico

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

Las imágenes LIC básicas son imágenes en escala de grises, sin color ni animación. Si bien estas imágenes LIC muestran la dirección de los vectores del campo, no indican la orientación; para campos estacionarios, esto se puede solucionar con 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) se suele codificar en color; alternativamente, se puede utilizar animación. [ 2 ] [ 1 ]

Animación

Ilustración de cómo se anima LIC. Arriba: filtro de caja normal (promedio). Medio: filtro sinusoidal ent{\displaystyle t}. Abajo: filtro sinusoidal ent+δt{\displaystyle t+\delta t}.

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

LIC rápido (FLIC)

El cálculo puede acelerarse significativamente reutilizando partes de líneas de campo ya calculadas, especializándolas en una función de caja como núcleo de convolución.k(s){\displaystyle k(s)}y evitando cálculos redundantes durante la convolución. [ 1 ] El método LIC rápido resultante puede generalizarse 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 orientación opuesta. [ 8 ] La convolución integral de línea orientada (OLIC) resuelve este problema mediante el uso de 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 rastro que codifica la orientación; la baja densidad de la textura de ruido evita que los rastros borrosos se superpongan, lo que facilita la lectura.

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

LIC de flujo inestable (UFLIC)

Para campos vectoriales dependientes del tiempo (flujo inestable), se ha diseñado una variante llamada Unsteady Flow LIC que mantiene la coherencia de la animación del flujo. [ 10 ] Se ha presentado una implementación interactiva de UFLIC basada en GPU. [ 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, interactivo en PC.

Multidimensional

Tenga en cuenta que el dominioΩ{\displaystyle \Omega }No tiene por qué ser un dominio 2D: el método es aplicable a dominios de dimensiones superiores utilizando campos de ruido multidimensionales. Sin embargo, la visualización de la textura LIC de dimensiones superiores es problemática; una forma es utilizar la exploración interactiva con cortes 2D que se posicionan y rotan manualmente. El dominioΩ{\displaystyle \Omega }No tiene por qué ser plana; la textura LIC también se puede calcular para superficies 2D de forma arbitraria en el espacio 3D. [ 13 ]

Aplicaciones

Esta técnica se ha aplicado a una amplia gama de problemas desde su primera publicación en 1993, tanto científicos como creativos, entre los que se incluyen:

Representación de campos vectoriales:

  • visualización de flujos estacionarios (independientes del tiempo) (líneas de corriente) [ 14 ]
  • exploración visual de sistemas dinámicos autónomos 2D [ 15 ]
  • mapeo del viento [ 16 ]
  • mapeo del flujo de agua

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

  • dibujo a lápiz [ 17 ] (técnica de generación automática de dibujos a lápiz utilizando el filtro de lápiz LIC [ 18 ] )
  • generación automática de texturas de cabello [ 19 ]
  • creando textura de marmoleado [ 20 ]

Generalización del terreno:

Implementaciones

  • Herramientas de procesamiento de imágenes basadas en GPU por Raymond McGuire
  • ParaView  : Convolución de integral de línea
  • Herramienta de visualización de flujo 2D basada en LIC y RK4. Desarrollada con C++ y VTK por Andrés Bejarano.
  • Wolfram Research (2008), LineIntegralConvolutionPlot, función de Wolfram Language, https://reference.wolfram.com/language/ref/LineIntegralConvolutionPlot.html (actualizado en 2014).

Véase también

Referencias

  1. 1 2 3 4 5 6 7 8 9 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 por Computadora 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. 1 2 Cabral, Brian; Leedom, Leith Casey (2-6 de agosto de 1993). "Imagen de campos vectoriales mediante convolución de integral de línea". Actas de la 20.ª conferencia anual sobre gráficos por computadora 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. 1 2 Ward, Matthew O. (5 de febrero de 1996). "Convolución de integral de línea para visualización de flujo" . Instituto Politécnico de Worcester . Recuperado 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)" . Recuperado el 21 de julio de 2024 .
  6. Weiskopf, Daniel (2009). "Convolución iterativa de integral de línea doble para la visualización de campos vectoriales basados ​​en texturas" . En Möller, Torsten; Hamann, Bernd; Russell, Robert D. (eds.). Fundamentos matemáticos de la visualización científica, los gráficos por computadora y la exploración de datos masivos . Matemáticas y visualización. Berlín, Nueva York: Springer . pp. 191–211 . doi : 10.1007/b106657_10 . ISBN  978-3-540-25076-0.
  7. Hege, Hans-Christian; Stalling, Detlev (1998), "Fast LIC with Piecewise Polynomial Filter Kernels", en Hege, Hans-Christian; Polthier, Konrad (eds.), Mathematical Visualization , Berlín, Heidelberg: Springer-Verlag, pp. 295–314 , CiteSeerX 10.1.1.31.504 , doi : 10.1007/978-3-662-03567-2_22 , ISBN   978-3-642-08373-0
  8. 1 2 3 Wegenkittl, Rainer; Gröller, Eduard (24 de octubre de 1997). «Convolución rápida de integral de línea orientada para la visualización de campos vectoriales a través de Internet» (PDF) . Actas. Visualization '97 (Cat. No. 97CB36155) . págs. 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 de integral de línea para visualizar campos de flujo variables en el tiempo" (PDF) . IEEE Trans Vis Comput Graph . 4 (2). Los Alamitos: IEEE: 98–108 . Bibcode : 1998ITVCG...4...98H . 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 a 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 rápida de integrales de línea 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 . pp. 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 de 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. Mapa en tiempo real del viento en Estados Unidos, elaborado por Fernanda Viégas y Martin Wattenberg.
  17. Publicación en 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 por Computadora, Imágenes y Visualización, 2004. CGIV 2004, 2004, pp. 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 de integral de línea", Conferencia IEEE de 2000 sobre visualización de información. Una conferencia internacional sobre visualización y gráficos por computadora, 2000, pp. 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 de marmoleado tradicionales. En Actas de la 1.ª conferencia internacional sobre gráficos por computadora y técnicas interactivas en Australasia y el Sudeste Asiático (GRAPHITE '03). Association for Computing Machinery, Nueva York, NY, EE. UU., 79 y ss. https://doi.org/10.1145/604471.604489
  21. Bernhard Jenny (2021) Generalización del terreno con convolución de integral de línea, Cartografía y Ciencias de la Información Geográfica, 48:1, 78-92, DOI: 10.1080/15230406.2020.1833762