adjoint-driven russian roulette and splitting in light ...sungeui/icg/students... · adjoint-driven...

37
Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek [SIGGRAPH 2016] Presenter: Eunhyouk Shin

Upload: others

Post on 16-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation

J. Vorba, J. Krivanek [SIGGRAPH 2016]

Presenter: Eunhyouk Shin

Page 2: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Last presentation: Interactive Sound Propagation with Bidirectional Path Tracing

- Acoustic transport equation

- Solution in Neumann series form

- Estimate terms using BDPT & multiple importance sampling

- Caching for interactive performance

- SNR metric for evaluating stochastic sound propagation

- Compared to visual rendering, temporal dimension quality is important

rather than spatial resolution

Page 3: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Direction sampling Russian roulette / splitting

Recall: Probabilistic Aspects of MCRT

orω? or

Page 4: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

To reduce variance (noise),

we must make more path that contributes more.

But how do we know beforehand how much it will contribute?

Recall: Importance Sampling

Page 5: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Direction sampling Russian roulette / splitting

Estimating global information

Recent Techniques using Global Estimation

Path Guiding [Vorba et al. 14]

ADRRS [Vorba et al. 16]PIS [Herholtz et al. 16]

Page 6: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Contents

- Particle tracing

- Russian roulette & splitting

- Determining the RR/splitting factor

- Weight window

- Results

*Figures in the slides is from the authors [Vorba et al. 16]

Page 7: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Particle Tracing

Page 8: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Particle Tracing

- Trace weighted particles to get an unbiased estimate of the pixel value

Particle weight

Page 9: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Particle Tracing

- When a particle collides to a light source, it contributes to the estimation according to the weight.

+Weight Emission

+

Page 10: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Particle Tracing

- Contribution must be different for before/after a bounce

previous weight?

Page 11: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Weight Update: Bounce

- Incremental weight update by BRDF, geometric term, sampling distribution

x

particle weight update

Page 12: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Particle Tracing

We have an unbiased estimator,But when do we terminate?

Page 13: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Russian Roulette & Splitting

Page 14: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Russian Roulette

- Upon collision, the particle survives with probability q

Page 15: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Weight Update: Russian Roulette

0E[ ] = E[ ]

- Key: Expected contribution must remain unchanged

no RR

: Weight of survived particle gets ‘boosted’

Page 16: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Splitting

Page 17: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Weight Update: Splitting

split to q particles

- Key: Expected contribution must remain unchanged

E[ ] = E[ ]

no splitting

: Splitted particles share the weight evenly

Page 18: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Unified RR/Splitting

RR: Split:

or

- RR and splitting has same weight update formula:

- Make q particles in expectation sense- Extends to non-integer splitting

Page 19: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Determining the RR/Splitting factor

Page 20: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Issues

- If q is too low, only a small fraction of the particles reach the light source

Page 21: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Issues

- If q is too high, we are wasting too much resource for particles with low contribution

Page 22: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Issues

- Existing approaches set q according to the local properties (e.g. reflectance) of the surface, but it’s still far from optimal

Page 23: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Adjoint Driven Russian Roulette and Splitting

- New approach uses global information of radiance

means “radiance” in this context

Page 24: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Adjoint Driven Russian Roulette and Splitting

ADRRS

- Set q as expected contribution of outgoing particles

- How to estimate pixel value and reflected radiance?

Page 25: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Path Guiding [Vorba et al. 2014]

…- Precomputed cache of estimated radiance distribution

Page 26: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Estimated Radiance

Page 27: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

- Want lower variance in rendered image- Should make more particles for high-contribution paths- We query the precomputed radiance cache to compute the

adjoint-driven RR/splitting factor

Summary: Determining the RR/splitting Factor

radiance cache

Page 28: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Weight Window

Page 29: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Weight Invariance

Desired weight after RR/splitting

RR/Splitting factor

Weight after RR/split

Page 30: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Weight Invariance

split

share weight

Page 31: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Weight Invariance

roulette

boost weight

Page 32: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Weight Window

split

pass through

roulette

- More robust by loosening the RR/splitting

Page 33: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

ADRRS Summary

Contribute to pixel estimate

make 0+ new particles

Apply weight window (RR/splitting)

Query radiance cache to compute desired weight

+

Collision

Page 34: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Results

Page 35: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Path tracingPlain

+ our ADRRS

Page 36: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Path tracing

Plain + our ADRRS + our ADRRS Path guiding

Page 37: Adjoint-Driven Russian Roulette and Splitting in Light ...sungeui/ICG/Students... · Adjoint-Driven Russian Roulette and Splitting in Light Transport Simulation J. Vorba, J. Krivanek

Conclusion

- Use precomputed radiance (adjoint) estimation to compute

expected path contribution

- Set RR/splitting factor as the expected contribution

- Able to make more particles for high-contribution path

- Reduced variance in rendered image