Muestreo de importancia de mapas ambientales


14

¿Cuál es el enfoque más conocido actualmente e idealmente verificado por producción para el muestreo de mapas de entorno (EM) en un trazado de ruta unidireccional basado en MIS y tipos similares de renderizadores? Preferiría soluciones que sean razonablemente complicadas y razonablemente funcionales a las que proporcionan un muestreo perfecto a costa de una implementación súper complicada y difícil de entender.

Lo que se hasta ahora

Hay algunas formas fáciles de muestrear EM. Se puede muestrear el hemisferio necesario de una manera ponderada por el coseno, que ignora las formas de la función BSDF y EM. Como resultado, no funciona para EM dinámicos:

ingrese la descripción de la imagen aquí

Para mejorar el muestreo a un nivel utilizable, se puede muestrear la luminancia del EM en toda la esfera. Se implementa con relativa facilidad y los resultados son bastante buenos. Sin embargo, la estrategia de muestreo sigue ignorando la información de visibilidad hemisférica y el factor coseno (y también el BSDF), lo que resulta en un alto ruido en las superficies que no están iluminadas directamente por áreas de alta intensidad del EM:

ingrese la descripción de la imagen aquí

Documentos

He encontrado algunos documentos sobre el tema, pero aún no los he leído. ¿Vale la pena leer e implementar alguno de estos en un trazador de ruta unidireccional directo, o hay algo aún mejor?

  • Muestreo de importancia estructurada de mapas ambientales (2003) por Agarwal et al.

  • Muestreo de importancia orientable (2007) por Kartic Subr y Jim Arvo. Afirman presentar "... un algoritmo para un muestreo eficiente e importante estratificado de mapas ambientales que genera muestras en el hemisferio positivo definido por la orientación local de superficies arbitrarias mientras se tiene en cuenta la ponderación del coseno. "El documento" Importancia del muestreo de armónicos esféricos "lo comenta:" Crean una representación triangulada del mapa del entorno y almacenan la iluminación premultipliplicada por cada una de las primeras nueve funciones básicas de armónicos esféricos en cada vértice. Esto forma una base orientable donde el coseno sujetado puede rotarse eficientemente a cualquier orientación ".

  • Muestreo práctico de importancia del producto para iluminación directa (2008) por Petrik Clarberg y Tomas Akenine-Möller. Un algoritmo para muestrear el producto de la iluminación del mapa ambiental y la reflectancia de la superficie. Utiliza muestreo de importancia basado en wavelets.

  • Importance Sampling Spherical Harmonics (2009) por Jarosz, Carr y Jensenn. El resumen dice: "... presentamos el primer método práctico para las funciones de muestreo de importancia representadas como armónicos esféricos (SH) ..."

  • Muestreo de mapas de medio ambiente basado en el cambio medio por tonos (2015) por Feng et al. Esto es bastante nuevo y no he encontrado ni una referencia ni el documento en sí.


Tengo una pregunta. ¿La segunda imagen se genera solo al muestrear el EM? ¿O es una versión MISed de muestreo de coseno y muestreo EM? Realmente espero que sea la versión MISed, porque si es así, entonces podría tener un remedio para el alto ruido en la parte oscura.
tom

No @tom, solo utiliza el muestreo espermático EM, ignorando tanto el BRDF (Lambert) como el factor coseno. Se usaron 64 muestras y no se aplicó el filtro de espacio de imagen, solo promediando el área de píxeles. Cuando se aplica MIS para combinar el muestreo EM con el muestreo de coseno, el ruido en la sombra disminuye mucho, pero aumenta ligeramente en la parte iluminada por el sol.
ivokabel

Respuestas:


6

Esta no es una respuesta completa, solo me gustaría compartir el conocimiento que obtuve al estudiar dos de los documentos mencionados en la pregunta: Muestreo de importancia orientable y Muestreo práctico de importancia del producto para iluminación directa .

Muestreo de importancia orientable

En este documento proponen un método para muestrear el producto del componente coseno fijado y la iluminación del mapa ambiental:

LmiMETRO(ωyo)(ωyonorte)+

Aprovechan el hecho de que una aproximación lineal por partes de la función del producto puede expresarse relativamente bien y precalcularse parcialmente utilizando las primeras nueve bases armónicas esféricas. Construyen esta aproximación sobre un EM triangulado adaptativamente y lo usan como una función importante para el muestreo.

Precalculan y almacenan coeficientes de aproximación para cada vértice de triángulo y también coeficientes para el cálculo de la integral de aproximación sobre el triángulo para cada triángulo. Estos coeficientes se denominan pesos de vértice y triángulo. Luego hacen uso del hecho de que es posible calcular fácilmente los coeficientes para una integral sobre un conjunto de triángulos simplemente sumando los pesos de los triángulos individuales sin incorporar bases armónicas esféricas adicionales. Esto les permite construir un árbol binario equilibrado sobre los triángulos donde cada nodo contiene coeficientes para calcular la integral de aproximación sobre los triángulos del subárbol del nodo.

El procedimiento de muestreo consiste en seleccionar un triángulo y muestrear su área:

  • Se elige un triángulo descendiendo por el árbol binario preconstruido con probabilidad proporcional a las aproximaciones sub-integrales. Esto cuesta cálculos sobre la marcha de sub-integrales, cada uno de los cuales consiste en un producto interno de coordenadas armónicas esféricas de coseno prensado con los coeficientes calculados previamente. O(logN)
  • La superficie del triángulo elegido se muestrea en tiempo de forma bi-lineal mediante una nueva estrategia de muestreo estratificado propuesta en el documento.O(1)

Para mí, esto parece una técnica prometedora , pero la pregunta clásica con los papeles es cómo se comportará en la vida real. Por un lado, puede haber casos patológicos en los que el EM es difícil de aproximar con una función lineal triangulada por partes, lo que puede conducir a una enorme cantidad de triángulos y / o una mala calidad de la muestra. Por otro lado, puede proporcionar instantáneamente una aproximación relativamente buena de toda la contribución EM, lo que puede ser útil al muestrear múltiples fuentes de luz.

Muestreo práctico de importancia del producto para iluminación directa

En este artículo proponen un método para muestrear el producto de la iluminación del mapa ambiental y la reflectancia de la superficie ponderada en coseno:

LEM(ωi)fr(ωi,ωo,n)(ωin)+

El único preprocesamiento en este método es el cálculo de una representación jerárquica del EM (ya sea basado en mipmap o wavelet). El resto se realiza sobre la marcha durante el muestreo.

El procedimiento de muestreo:

  • Creación de una aproximación BRDF sobre la marcha: primero extraen varias muestras de importancia BRDF y evalúan . A partir de estos valores, construyen una aproximación constante por partes basada en cuadrícula del BRDF, donde cada hoja del árbol contiene exactamente una muestra.fr(ωi,ωo,n)(ωin)+
  • Calcular un producto de la aproximación BRDF y el EM: La multiplicación se realiza en las hojas de quadtree BRDF y los valores promediados se propagan a los padres.
  • Muestreo del producto: las muestras uniformes se alimentan a través del árbol del producto utilizando una deformación de muestra simple.

El procedimiento debería generar muestras relativamente buenas a costa de un cálculo previo pesado; muestran que se necesitan aproximadamente 100–200 muestras de BRDF para la aproximación de BRDF para lograr el mejor rendimiento de muestreo. Esto puede hacerlo adecuado para cálculos de iluminación puramente directos, donde se generan muchas muestras por punto de sombreado, pero probablemente sea demasiado costoso para los algoritmos de iluminación global (por ejemplo, trazadores de ruta unidireccional o bidireccional), donde generalmente se generan solo unas pocas muestras por punto de sombreado.


4

Descargo de responsabilidad: no tengo idea de cuál es el estado del arte en el muestreo del mapa ambiental. De hecho, tengo muy poco conocimiento sobre este tema. Entonces, esta no será una respuesta completa, pero formularé el problema matemáticamente y lo analizaré. Lo hago principalmente por mí mismo, así que lo dejo en claro para mí mismo, pero espero que OP y otros lo encuentren útil.


Queremos calcular la iluminación directa en un punto, es decir, queremos saber el valor de la integral donde es la función BSDF ( explícitamente la dependencia de lo normal que será útil más adelante), es el resplandor del mapa ambiental y es el término coseno junto con la visibilidad (para qué sirve el ) es decir if

I=S2f(ωi,ωo,n)L(ωi)(ωin)+dωi
f(ωi,ωo,n)L(ωi)(ωin)++(ωin)+=0(ωin)<0

Estimamos esta integral generando muestras con respecto a la función de densidad de probabilidad , el estimador es Nωi1,,ωiNp(ωi)

I1Nk=1Nf(ωik,ωo,n)L(ωik)(ωikn)+p(ωik)

La pregunta es: ¿Cómo elegimos el pdf modo que podamos generar las muestras en un tiempo aceptable y la varianza del estimador anterior es razonablemente pequeña?p


El mejor método Elijaproporcional al integrando Pero la mayoría de las veces es Es muy costoso generar una muestra de acuerdo con este pdf, por lo que no es útil en la práctica.p

p(ωi)f(ωi,ωo,n)L(ωi)(ωin)+

Métodos sugeridos por OP:

Método uno : Elija proporcional al término coseno Método dos : Elija proporcional al EM p

p(ωi)(ωin)+
p
p(ωi)L(ωi)

Basado en los nombres de los documentos mencionados, puedo adivinar parcialmente lo que hacen (desafortunadamente no tengo el tiempo y la energía para leerlos en este momento). Pero antes de discutir lo que probablemente hacen, hablemos un poco sobre las series de poder: D


Si tenemos una función de una variable real, por ejemplo, . Entonces, si se comporta bien, puede expandirse en una serie de potencias Donde son constantes. Esto se puede usar para aproximar truncando la suma en algún paso Si es suficientemente alto, entonces el error es realmente pequeño.f(x)

f(x)=k=0akxk
akfn
f(x)k=0nakxk
n

Ahora, si tenemos función en dos variables, por ejemplo, podemos expandirla solo en el primer argumento donde son funciones solo en . También se puede expandir en ambos argumentos donde son constantes. Por lo tanto, la función con argumentos reales se puede ampliar como la suma de los poderes de ese argumento. Se puede hacer algo similar para las funciones definidas en la esfera.f(x,y)

f(x,y)=k=0bk(y)xk
bk(y)y
f(x,y)=k,l=0cklxkyl
ckl

Ahora, tengamos una función definida en la esfera, por ejemplo, . Dicha función también se puede ampliar de manera similar a la función de un parámetro real donde son constantes y Son armónicos esféricos . Los armónicos esféricos normalmente están indexados por dos índices y se escriben como función en coordenadas esféricas, pero eso no es importante aquí. Lo importante es que puede escribirse como una suma de algunas funciones conocidas.f(ω)

f(ω)=k=0αkSk(ω)
αkSk(ω)f

Ahora la función que toma dos puntos en la esfera, por ejemplo, se puede expandir solo en sus primeros argumentos o en sus dos argumentos f(ω,ω)

f(ω,ω)=k=0βk(ω)Sk(ω)
f(ω,ω)=k,l=0γklSk(ω)Sl(ω)

Entonces, ¿cómo es todo esto útil?

Propongo el CMUNSM (Crazy mental inútil sin método de muestreo): supongamos que tenemos expansiones para todas las funciones, es decir, Si conectamos esto en el integral obtenemos

f(ωyo,ωo,norte)=k,l,metro=0 0αklmetroSk(ωyo)Sl(ωo)Smetro(norte)L(ωyo)=norte=0 0βnorteSnorte(ω)(ωyonorte)+=pag,q=0 0γpagqSpag(ωyo)Sq(norte)
yo=k,l,metro,norte,pag,q=0 0αklmetroβnorteγpagqSl(ωo)Smetro(norte)Sq(norte)S2Sk(ωyo)Snorte(ω)Spag(ωyo)reωyo

En realidad, ya no necesitamos Monte Carlo porque podemos calcular los valores de las integrales antemano y luego evaluar la suma (en realidad aproximada suma, sumaríamos solo los primeros términos) y obtenemos el resultado deseado.S2Sk(ωyo)Snorte(ω)Spag(ωyo)reωyo

Todo esto es bueno, pero es posible que no sepamos que las expansiones de BSDF o el mapa ambiental o las expansiones convergen muy lentamente, por lo tanto, tendríamos que tomar muchos términos en la suma para obtener una respuesta razonablemente precisa.


Entonces, la idea no es expandirse en todos los argumentos. Un método que podría valer la pena investigar sería ignorar BSDF y expandir solo el mapa ambiental, es decir, esto conduciría a pdf:

L(ωyo)norte=0 0KβnorteSnorte(ωyo)
pag(ωyo)norte=0 0KβnorteSnorte(ωyo)(ωnorte)+

Ya sabemos cómo hacer esto para , esto no es más que el método uno . Supongo que se hace en uno de los documentos para más alto .K=0 0K


Extensiones adicionales. Puede expandir diferentes funciones en diferentes argumentos y hacer cosas similares a las anteriores. Otra cosa es que puede expandirse de manera diferente, es decir, no use armónicos esféricos sino diferentes funciones.

Así que esta es mi opinión sobre el tema, espero que lo haya encontrado al menos un poco útil y ahora me voy a GoT y me acuesto.


Jaja, cuando publiqué la respuesta, SE me preguntó si soy un humano o un robot, el sitio no estaba seguro: espero que no sea por la longitud de la respuesta, se me salió un poco de las manos.
tom

quieres que mi cerebro se derrita, ¿no? ;-) Por cierto: ya logré leer dos de los documentos / presentaciones, así que espero extender la pregunta o escribir una respuesta superficial al final de esta semana. Y ahora, GoT FTW!
ivokabel

0

Si bien los métodos de muestreo del producto proporcionan una mejor distribución (perfecta) de los rayos, diría que el uso de MIS (muestreo de importancia múltiple) es un método verificado en la producción. Dado que la información de sombreado es desconocida, el muestreo del producto no se vuelve perfecto de todos modos y es bastante difícil de implicar. ¡Disparar más rayos podría valer más! Depende de su situación y presupuestos de rayos, por supuesto!

Breve descripción de MIS: en esencia, trazas un rayo BSDF (como lo harías de todos modos para hacer una iluminación indirecta) y un rayo explícito hacia el EM. MIS le brinda pesos para que pueda combinarlos de una manera que elimine mucho ruido. MIS es especialmente bueno para elegir la "técnica" (muestreo implícito o explícito) en función de la situación que se presenta. Esto sucede naturalmente sin que el usuario tenga que tomar decisiones difíciles basadas en la aspereza, etc.

El Capítulo 9 de http://graphics.stanford.edu/papers/veach_thesis/ cubre esto en detalle. Consulte también https://www.shadertoy.com/view/4sSXWt para ver una demostración de MIS en acción con luces de área.


Sí, MIS es una técnica importante de producción verificada, que ayuda mucho y la uso en mi solución (supongo, debería haberlo dicho más claramente en la pregunta). Sin embargo, el rendimiento general de un estimador basado en MIS depende de la calidad de sus estrategias de muestreo parcial. Lo que estoy tratando de hacer aquí es mejorar una de las subestrategias para mejorar el rendimiento general del estimador. En mi experiencia, generalmente es más eficiente usar menos muestras de alta calidad de lo que puede ser más costoso de generar que las de baja calidad más fáciles de generar.
ivokabel
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.