Metropolis Sampling

De Codepixel

Contenido

[editar] Introducción

El muestreo que propone esta técnica se basa en generar unos cuantos rayos, y quedarse con los mejores para modificarlos un poco y continuar muestreando las partes importantes de la escena. Este simple vídeo es muy ilustrativo.

[editar] Matemática

El algoritmo se basa en ir generando muestras y en funcion de la muestra anterior, x, segun una funcion de probabilidad T(x,y) que aceptaremos o no en funcion de A(x,y). Es por tanto un metodo de rejection.

La idea es generar un histograma con las muestras que generamos proporcionales a f, y ese histograma es proporcional a f, con lo que escalandolo podremos deducir f. El histograma es la posicion de equilibrio de las mutaciones.

[editar] Pseudocódigo

 x0 ~ p(x)
 for i = 1 to N mutations
   xtent ~ T(x i-1 , x )
   if (e < A(x i-1 , x )
     xi = xteny
   else
     xi = xi-1
   record(xi)

[editar] Original de Metropolis 1953

El algoritmo se llama Metropolis-Hastings

The Metropolis Sampling Algorithm nos explica la matemática basica de la integracion. Es un buen punto de comienzo. Al final viene un pseudocodigo interesante, mas claro que el de matt pharr. Pero esta orientado simplemente a generar muestras siguiendo el algoritmo de m(rt)^2 (es el algoritmo de integracion de montecarlo, el original de metropolis)

Markov Chain Monte Carlo and Related Topics esta totalmente orientado a M(RT)^2, desarrollando las matematicas de este tipo de sampleado a un nivel generico.

[editar] Papers

El trabajo original es Robust Monte Carlo Methods for Light Transport Simulation, donde explica todo detalladamente. Es un pdf largo y extenso, donde se define tanto el sampleado bidireccional, como el metropolis.

Metropolis Sampling de Matt Pharr. Es una explicacion general del algoritmo (PDF con las transparencias de clase del mismo autor).

A Practical Introduction to Metropolis Light Transport más orientado a imagen, trae algo mas de código sobre T. Nos da un ejemplo de como aplicar metropolis a una imagen, que es basicamente el que se usa despues en el raytracer. Nos da una guia de como aplicar metropolis para path tracing y bidireccional.

On the start-up bias problem of metropolis sampling : también trae pseudocodigo. Trata de como aplicar las primeras muestras para generar nuestro sampleado.

El pseudo código no nos explica como usar T. Entiendo que hay que generar muestras proporcionalmente a T.

Otros papers:

[editar] Links

Herramientas personales
Navegación
Herramientas