Progressive Photon Beams Wojciech Jarosz 1 Derek - - PDF document

progressive photon beams
SMART_READER_LITE
LIVE PREVIEW

Progressive Photon Beams Wojciech Jarosz 1 Derek - - PDF document

Progressive Photon Beams Wojciech Jarosz 1 Derek Nowrouzezahrai 1 Robert Thomas 1 Peter-Pike Sloan 2 Ma@hias Zwicker 3 1 Disney Research


slide-1
SLIDE 1

Wojciech ¡Jarosz1 ¡ ¡ ¡ ¡ ¡ ¡Derek ¡Nowrouzezahrai1 Robert ¡Thomas1 ¡ ¡ ¡ ¡ ¡Peter-­‑Pike ¡Sloan2 ¡ ¡ ¡ ¡ ¡Ma@hias ¡Zwicker3

1Disney ¡Research ¡Zürich ¡ ¡ ¡ ¡ ¡2Disney ¡InteracFve ¡Studios ¡ ¡ ¡ ¡ ¡2Universität ¡Bern

Progressive ¡Photon ¡Beams

Thursday, 6 September 12

  • Thanks ¡for ¡the ¡introduc2on, ¡and ¡thank ¡you ¡all ¡for ¡a6ending
slide-2
SLIDE 2

Thursday, 6 September 12

  • In ¡this ¡talk ¡we ¡are ¡interes2ng ¡in ¡rendering ¡scenes ¡like ¡the ¡one ¡shown ¡here
  • Unfortunately, ¡most ¡previous ¡rendering ¡techniques ¡have ¡difficulty ¡with ¡this ¡type ¡of ¡scene ¡[click] ¡due ¡

to ¡the ¡extremely ¡complex ¡light ¡paths ¡involved. ¡[click]

  • In ¡par2cular, ¡each ¡light ¡source ¡is ¡modeled ¡realis2cally ¡using ¡a ¡collec2on ¡of ¡mirrors ¡and ¡lenses
  • Hence, ¡all ¡the ¡illumina2on ¡you ¡see ¡is ¡actually ¡caus2cs ¡[click]
  • Furthermore, ¡we ¡have ¡a ¡heterogeneous ¡medium. ¡[click]
  • I’ll ¡describe ¡our ¡new ¡Progressive ¡Photon ¡Beams ¡approach ¡which, ¡by ¡combining ¡the ¡efficiency ¡of ¡

photon ¡beams ¡with ¡the ¡convergence ¡guarantees ¡of ¡progressive ¡photon ¡mapping, ¡is ¡able ¡to ¡handle ¡ scenes ¡like ¡this ¡quickly ¡and ¡accurately

slide-3
SLIDE 3

■ Complex ¡light ¡paths

Thursday, 6 September 12

  • In ¡this ¡talk ¡we ¡are ¡interes2ng ¡in ¡rendering ¡scenes ¡like ¡the ¡one ¡shown ¡here
  • Unfortunately, ¡most ¡previous ¡rendering ¡techniques ¡have ¡difficulty ¡with ¡this ¡type ¡of ¡scene ¡[click] ¡due ¡

to ¡the ¡extremely ¡complex ¡light ¡paths ¡involved. ¡[click]

  • In ¡par2cular, ¡each ¡light ¡source ¡is ¡modeled ¡realis2cally ¡using ¡a ¡collec2on ¡of ¡mirrors ¡and ¡lenses
  • Hence, ¡all ¡the ¡illumina2on ¡you ¡see ¡is ¡actually ¡caus2cs ¡[click]
  • Furthermore, ¡we ¡have ¡a ¡heterogeneous ¡medium. ¡[click]
  • I’ll ¡describe ¡our ¡new ¡Progressive ¡Photon ¡Beams ¡approach ¡which, ¡by ¡combining ¡the ¡efficiency ¡of ¡

photon ¡beams ¡with ¡the ¡convergence ¡guarantees ¡of ¡progressive ¡photon ¡mapping, ¡is ¡able ¡to ¡handle ¡ scenes ¡like ¡this ¡quickly ¡and ¡accurately

slide-4
SLIDE 4

■ Complex ¡light ¡paths ■ Realis2c ¡light ¡sources ¡(encased ¡in ¡glass: ¡caus2cs)

Thursday, 6 September 12

  • In ¡this ¡talk ¡we ¡are ¡interes2ng ¡in ¡rendering ¡scenes ¡like ¡the ¡one ¡shown ¡here
  • Unfortunately, ¡most ¡previous ¡rendering ¡techniques ¡have ¡difficulty ¡with ¡this ¡type ¡of ¡scene ¡[click] ¡due ¡

to ¡the ¡extremely ¡complex ¡light ¡paths ¡involved. ¡[click]

  • In ¡par2cular, ¡each ¡light ¡source ¡is ¡modeled ¡realis2cally ¡using ¡a ¡collec2on ¡of ¡mirrors ¡and ¡lenses
  • Hence, ¡all ¡the ¡illumina2on ¡you ¡see ¡is ¡actually ¡caus2cs ¡[click]
  • Furthermore, ¡we ¡have ¡a ¡heterogeneous ¡medium. ¡[click]
  • I’ll ¡describe ¡our ¡new ¡Progressive ¡Photon ¡Beams ¡approach ¡which, ¡by ¡combining ¡the ¡efficiency ¡of ¡

photon ¡beams ¡with ¡the ¡convergence ¡guarantees ¡of ¡progressive ¡photon ¡mapping, ¡is ¡able ¡to ¡handle ¡ scenes ¡like ¡this ¡quickly ¡and ¡accurately

slide-5
SLIDE 5

■ Complex ¡light ¡paths ■ Realis2c ¡light ¡sources ¡(encased ¡in ¡glass: ¡caus2cs) ■ Heterogeneous ¡media

Thursday, 6 September 12

  • In ¡this ¡talk ¡we ¡are ¡interes2ng ¡in ¡rendering ¡scenes ¡like ¡the ¡one ¡shown ¡here
  • Unfortunately, ¡most ¡previous ¡rendering ¡techniques ¡have ¡difficulty ¡with ¡this ¡type ¡of ¡scene ¡[click] ¡due ¡

to ¡the ¡extremely ¡complex ¡light ¡paths ¡involved. ¡[click]

  • In ¡par2cular, ¡each ¡light ¡source ¡is ¡modeled ¡realis2cally ¡using ¡a ¡collec2on ¡of ¡mirrors ¡and ¡lenses
  • Hence, ¡all ¡the ¡illumina2on ¡you ¡see ¡is ¡actually ¡caus2cs ¡[click]
  • Furthermore, ¡we ¡have ¡a ¡heterogeneous ¡medium. ¡[click]
  • I’ll ¡describe ¡our ¡new ¡Progressive ¡Photon ¡Beams ¡approach ¡which, ¡by ¡combining ¡the ¡efficiency ¡of ¡

photon ¡beams ¡with ¡the ¡convergence ¡guarantees ¡of ¡progressive ¡photon ¡mapping, ¡is ¡able ¡to ¡handle ¡ scenes ¡like ¡this ¡quickly ¡and ¡accurately

slide-6
SLIDE 6

■ Complex ¡light ¡paths ■ Realis2c ¡light ¡sources ¡(encased ¡in ¡glass: ¡caus2cs) ■ Heterogeneous ¡media

Progressive ¡Photon ¡Beams

= ¡progressive ¡photon ¡mapping ¡using ¡photon ¡beams

Thursday, 6 September 12

  • In ¡this ¡talk ¡we ¡are ¡interes2ng ¡in ¡rendering ¡scenes ¡like ¡the ¡one ¡shown ¡here
  • Unfortunately, ¡most ¡previous ¡rendering ¡techniques ¡have ¡difficulty ¡with ¡this ¡type ¡of ¡scene ¡[click] ¡due ¡

to ¡the ¡extremely ¡complex ¡light ¡paths ¡involved. ¡[click]

  • In ¡par2cular, ¡each ¡light ¡source ¡is ¡modeled ¡realis2cally ¡using ¡a ¡collec2on ¡of ¡mirrors ¡and ¡lenses
  • Hence, ¡all ¡the ¡illumina2on ¡you ¡see ¡is ¡actually ¡caus2cs ¡[click]
  • Furthermore, ¡we ¡have ¡a ¡heterogeneous ¡medium. ¡[click]
  • I’ll ¡describe ¡our ¡new ¡Progressive ¡Photon ¡Beams ¡approach ¡which, ¡by ¡combining ¡the ¡efficiency ¡of ¡

photon ¡beams ¡with ¡the ¡convergence ¡guarantees ¡of ¡progressive ¡photon ¡mapping, ¡is ¡able ¡to ¡handle ¡ scenes ¡like ¡this ¡quickly ¡and ¡accurately

slide-7
SLIDE 7

■ Path ¡tracing

  • [Kajiya ¡86]
  • [Veach ¡and ¡Guibas ¡94]
  • [Lafortune ¡and ¡Willems ¡96]

Previous ¡Work: ¡Unbiased ¡Methods

3

Thursday, 6 September 12

  • The ¡gold ¡standard ¡for ¡rendering ¡these ¡types ¡of ¡scene ¡is ¡arguably ¡compu2ng ¡unbiased, ¡noise-­‑free ¡

images.

  • Several ¡algorithms ¡exist, ¡which ¡are ¡essen2ally ¡variants ¡of ¡brute-­‑force ¡path ¡tracing ¡or ¡Metropolis ¡light ¡

transport

  • Though ¡these ¡methods ¡are ¡unbiased, ¡[click] ¡they ¡are ¡notoriously ¡slow ¡to ¡converge ¡to ¡noise-­‑free ¡

images

  • Another ¡problem ¡with ¡these ¡approaches ¡[click] ¡is ¡their ¡inability ¡to ¡handle ¡certain ¡types ¡of ¡light ¡paths ¡

robustly, ¡in ¡par2cular ¡caus2cs ¡or ¡specular ¡reflec2ons/refrac2ons ¡of ¡caus2cs. ¡Hence, ¡they ¡would ¡fall ¡ apart ¡on ¡this ¡disco ¡scene

slide-8
SLIDE 8

■ Path ¡tracing

  • [Kajiya ¡86]
  • [Veach ¡and ¡Guibas ¡94]
  • [Lafortune ¡and ¡Willems ¡96]

■ Metropolis ¡light ¡transport

  • [Veach ¡and ¡Guibas ¡97]
  • [Pauly ¡et ¡al. ¡00]

✓ unbiased

Previous ¡Work: ¡Unbiased ¡Methods

3

Thursday, 6 September 12

  • The ¡gold ¡standard ¡for ¡rendering ¡these ¡types ¡of ¡scene ¡is ¡arguably ¡compu2ng ¡unbiased, ¡noise-­‑free ¡

images.

  • Several ¡algorithms ¡exist, ¡which ¡are ¡essen2ally ¡variants ¡of ¡brute-­‑force ¡path ¡tracing ¡or ¡Metropolis ¡light ¡

transport

  • Though ¡these ¡methods ¡are ¡unbiased, ¡[click] ¡they ¡are ¡notoriously ¡slow ¡to ¡converge ¡to ¡noise-­‑free ¡

images

  • Another ¡problem ¡with ¡these ¡approaches ¡[click] ¡is ¡their ¡inability ¡to ¡handle ¡certain ¡types ¡of ¡light ¡paths ¡

robustly, ¡in ¡par2cular ¡caus2cs ¡or ¡specular ¡reflec2ons/refrac2ons ¡of ¡caus2cs. ¡Hence, ¡they ¡would ¡fall ¡ apart ¡on ¡this ¡disco ¡scene

slide-9
SLIDE 9

■ Path ¡tracing

  • [Kajiya ¡86]
  • [Veach ¡and ¡Guibas ¡94]
  • [Lafortune ¡and ¡Willems ¡96]

■ Metropolis ¡light ¡transport

  • [Veach ¡and ¡Guibas ¡97]
  • [Pauly ¡et ¡al. ¡00]

✓ unbiased − slow

Previous ¡Work: ¡Unbiased ¡Methods

3

Thursday, 6 September 12

  • The ¡gold ¡standard ¡for ¡rendering ¡these ¡types ¡of ¡scene ¡is ¡arguably ¡compu2ng ¡unbiased, ¡noise-­‑free ¡

images.

  • Several ¡algorithms ¡exist, ¡which ¡are ¡essen2ally ¡variants ¡of ¡brute-­‑force ¡path ¡tracing ¡or ¡Metropolis ¡light ¡

transport

  • Though ¡these ¡methods ¡are ¡unbiased, ¡[click] ¡they ¡are ¡notoriously ¡slow ¡to ¡converge ¡to ¡noise-­‑free ¡

images

  • Another ¡problem ¡with ¡these ¡approaches ¡[click] ¡is ¡their ¡inability ¡to ¡handle ¡certain ¡types ¡of ¡light ¡paths ¡

robustly, ¡in ¡par2cular ¡caus2cs ¡or ¡specular ¡reflec2ons/refrac2ons ¡of ¡caus2cs. ¡Hence, ¡they ¡would ¡fall ¡ apart ¡on ¡this ¡disco ¡scene

slide-10
SLIDE 10

■ Path ¡tracing

  • [Kajiya ¡86]
  • [Veach ¡and ¡Guibas ¡94]
  • [Lafortune ¡and ¡Willems ¡96]

■ Metropolis ¡light ¡transport

  • [Veach ¡and ¡Guibas ¡97]
  • [Pauly ¡et ¡al. ¡00]

✓ unbiased − slow − not ¡robust ¡to ¡caus2cs

Previous ¡Work: ¡Unbiased ¡Methods

3

Thursday, 6 September 12

  • The ¡gold ¡standard ¡for ¡rendering ¡these ¡types ¡of ¡scene ¡is ¡arguably ¡compu2ng ¡unbiased, ¡noise-­‑free ¡

images.

  • Several ¡algorithms ¡exist, ¡which ¡are ¡essen2ally ¡variants ¡of ¡brute-­‑force ¡path ¡tracing ¡or ¡Metropolis ¡light ¡

transport

  • Though ¡these ¡methods ¡are ¡unbiased, ¡[click] ¡they ¡are ¡notoriously ¡slow ¡to ¡converge ¡to ¡noise-­‑free ¡

images

  • Another ¡problem ¡with ¡these ¡approaches ¡[click] ¡is ¡their ¡inability ¡to ¡handle ¡certain ¡types ¡of ¡light ¡paths ¡

robustly, ¡in ¡par2cular ¡caus2cs ¡or ¡specular ¡reflec2ons/refrac2ons ¡of ¡caus2cs. ¡Hence, ¡they ¡would ¡fall ¡ apart ¡on ¡this ¡disco ¡scene

slide-11
SLIDE 11

■ Volumetric ¡Photon ¡Mapping

  • [Jensen ¡& ¡Christensen ¡98]
  • [Jarosz ¡et ¡al. ¡08]

Previous ¡Work: ¡Volumetric ¡PM

4

[Jarosz et al. 08] [Jensen & Christensen 98] Thursday, 6 September 12

  • Methods ¡such ¡as ¡volumetric ¡photon ¡mapping ¡do ¡not ¡suffer ¡from ¡these ¡problems ¡[click]
  • They ¡typically ¡produce ¡high-­‑quality ¡results ¡much ¡faster ¡than ¡unbiased ¡techniques ¡[click]
  • and ¡is ¡one ¡of ¡the ¡few ¡algorithms ¡that ¡is ¡robust ¡to ¡caus2c ¡paths ¡[click]
  • However, ¡photon ¡mapping ¡introduces ¡bias.
  • It ¡is ¡consistent, ¡though, ¡which ¡means ¡that ¡if ¡we ¡use ¡an ¡infinite ¡number ¡of ¡photons, ¡we ¡will ¡get ¡the ¡

correct ¡solu2on.

  • but, ¡this ¡is ¡of ¡li6le ¡prac2cal ¡value ¡since ¡we ¡obviously ¡cannot ¡store ¡an ¡unlimited ¡number ¡of ¡photons.
slide-12
SLIDE 12

■ Volumetric ¡Photon ¡Mapping

  • [Jensen ¡& ¡Christensen ¡98]
  • [Jarosz ¡et ¡al. ¡08]

Previous ¡Work: ¡Volumetric ¡PM

4

[Jarosz et al. 08] [Jensen & Christensen 98]

✓ generally ¡produce ¡high-­‑quality ¡images ¡faster

Thursday, 6 September 12

  • Methods ¡such ¡as ¡volumetric ¡photon ¡mapping ¡do ¡not ¡suffer ¡from ¡these ¡problems ¡[click]
  • They ¡typically ¡produce ¡high-­‑quality ¡results ¡much ¡faster ¡than ¡unbiased ¡techniques ¡[click]
  • and ¡is ¡one ¡of ¡the ¡few ¡algorithms ¡that ¡is ¡robust ¡to ¡caus2c ¡paths ¡[click]
  • However, ¡photon ¡mapping ¡introduces ¡bias.
  • It ¡is ¡consistent, ¡though, ¡which ¡means ¡that ¡if ¡we ¡use ¡an ¡infinite ¡number ¡of ¡photons, ¡we ¡will ¡get ¡the ¡

correct ¡solu2on.

  • but, ¡this ¡is ¡of ¡li6le ¡prac2cal ¡value ¡since ¡we ¡obviously ¡cannot ¡store ¡an ¡unlimited ¡number ¡of ¡photons.
slide-13
SLIDE 13

■ Volumetric ¡Photon ¡Mapping

  • [Jensen ¡& ¡Christensen ¡98]
  • [Jarosz ¡et ¡al. ¡08]

Previous ¡Work: ¡Volumetric ¡PM

4

[Jarosz et al. 08] [Jensen & Christensen 98]

✓ generally ¡produce ¡high-­‑quality ¡images ¡faster ✓ robust ¡to ¡caus2c ¡paths

Thursday, 6 September 12

  • Methods ¡such ¡as ¡volumetric ¡photon ¡mapping ¡do ¡not ¡suffer ¡from ¡these ¡problems ¡[click]
  • They ¡typically ¡produce ¡high-­‑quality ¡results ¡much ¡faster ¡than ¡unbiased ¡techniques ¡[click]
  • and ¡is ¡one ¡of ¡the ¡few ¡algorithms ¡that ¡is ¡robust ¡to ¡caus2c ¡paths ¡[click]
  • However, ¡photon ¡mapping ¡introduces ¡bias.
  • It ¡is ¡consistent, ¡though, ¡which ¡means ¡that ¡if ¡we ¡use ¡an ¡infinite ¡number ¡of ¡photons, ¡we ¡will ¡get ¡the ¡

correct ¡solu2on.

  • but, ¡this ¡is ¡of ¡li6le ¡prac2cal ¡value ¡since ¡we ¡obviously ¡cannot ¡store ¡an ¡unlimited ¡number ¡of ¡photons.
slide-14
SLIDE 14

■ Volumetric ¡Photon ¡Mapping

  • [Jensen ¡& ¡Christensen ¡98]
  • [Jarosz ¡et ¡al. ¡08]

Previous ¡Work: ¡Volumetric ¡PM

4

[Jarosz et al. 08] [Jensen & Christensen 98]

✓ generally ¡produce ¡high-­‑quality ¡images ¡faster ✓ robust ¡to ¡caus2c ¡paths − biased ¡(but ¡consistent)

Thursday, 6 September 12

  • Methods ¡such ¡as ¡volumetric ¡photon ¡mapping ¡do ¡not ¡suffer ¡from ¡these ¡problems ¡[click]
  • They ¡typically ¡produce ¡high-­‑quality ¡results ¡much ¡faster ¡than ¡unbiased ¡techniques ¡[click]
  • and ¡is ¡one ¡of ¡the ¡few ¡algorithms ¡that ¡is ¡robust ¡to ¡caus2c ¡paths ¡[click]
  • However, ¡photon ¡mapping ¡introduces ¡bias.
  • It ¡is ¡consistent, ¡though, ¡which ¡means ¡that ¡if ¡we ¡use ¡an ¡infinite ¡number ¡of ¡photons, ¡we ¡will ¡get ¡the ¡

correct ¡solu2on.

  • but, ¡this ¡is ¡of ¡li6le ¡prac2cal ¡value ¡since ¡we ¡obviously ¡cannot ¡store ¡an ¡unlimited ¡number ¡of ¡photons.
slide-15
SLIDE 15

Previous ¡Work: ¡Progressive ¡PM

■ Progressive ¡photon ¡mapping

  • [Hachisuka ¡et ¡al. ¡08]
  • [Hachisuka ¡and ¡Jensen ¡09]
  • [Knaus ¡and ¡Zwicker ¡11]

5

[Hachisuka ¡et ¡al. ¡08]

Thursday, 6 September 12

  • Hachisuka ¡et ¡al. ¡introduced ¡a ¡prac2cal ¡way ¡to ¡alleviate ¡this ¡memory ¡constraint
  • They ¡introduced ¡progressive ¡photon ¡mapping, ¡which ¡shows ¡how ¡to ¡eliminate ¡bias ¡and ¡noise ¡

simultaneously ¡in ¡photon ¡mapping ¡without ¡having ¡to ¡storing ¡an ¡unlimited ¡number ¡of ¡photons

slide-16
SLIDE 16

1 ¡itera2on 2 ¡million ¡photons

Previous ¡Work: ¡Progressive ¡PM

6

[Knaus ¡and ¡Zwicker ¡11]

Thursday, 6 September 12

  • Instead ¡of ¡storing ¡all ¡photons ¡needed ¡to ¡obtain ¡a ¡converged ¡result ¡[click]
  • Photons ¡are ¡traced ¡and ¡discarded ¡progressively ¡[click]
  • the ¡rendered ¡image ¡is ¡updated ¡aler ¡each ¡photon ¡tracing ¡pass ¡[click]
  • in ¡such ¡a ¡way ¡that ¡the ¡approxima2on ¡converges ¡to ¡the ¡correct ¡solu2on ¡in ¡the ¡limit.
slide-17
SLIDE 17

10 ¡itera2ons 20 ¡million ¡photons

Previous ¡Work: ¡Progressive ¡PM

7

[Knaus ¡and ¡Zwicker ¡11]

Thursday, 6 September 12

  • Instead ¡of ¡storing ¡all ¡photons ¡needed ¡to ¡obtain ¡a ¡converged ¡result ¡[click]
  • Photons ¡are ¡traced ¡and ¡discarded ¡progressively ¡[click]
  • the ¡rendered ¡image ¡is ¡updated ¡aler ¡each ¡photon ¡tracing ¡pass ¡[click]
  • in ¡such ¡a ¡way ¡that ¡the ¡approxima2on ¡converges ¡to ¡the ¡correct ¡solu2on ¡in ¡the ¡limit.
slide-18
SLIDE 18

100 ¡itera2ons 200 ¡million ¡photons

Previous ¡Work: ¡Progressive ¡PM

8

[Knaus ¡and ¡Zwicker ¡11]

Thursday, 6 September 12

  • Instead ¡of ¡storing ¡all ¡photons ¡needed ¡to ¡obtain ¡a ¡converged ¡result ¡[click]
  • Photons ¡are ¡traced ¡and ¡discarded ¡progressively ¡[click]
  • the ¡rendered ¡image ¡is ¡updated ¡aler ¡each ¡photon ¡tracing ¡pass ¡[click]
  • in ¡such ¡a ¡way ¡that ¡the ¡approxima2on ¡converges ¡to ¡the ¡correct ¡solu2on ¡in ¡the ¡limit.
slide-19
SLIDE 19

1000 ¡itera2ons 2 ¡billion ¡photons

Previous ¡Work: ¡Progressive ¡PM

9

[Knaus ¡and ¡Zwicker ¡11]

Thursday, 6 September 12

  • Instead ¡of ¡storing ¡all ¡photons ¡needed ¡to ¡obtain ¡a ¡converged ¡result ¡[click]
  • Photons ¡are ¡traced ¡and ¡discarded ¡progressively ¡[click]
  • the ¡rendered ¡image ¡is ¡updated ¡aler ¡each ¡photon ¡tracing ¡pass ¡[click]
  • in ¡such ¡a ¡way ¡that ¡the ¡approxima2on ¡converges ¡to ¡the ¡correct ¡solu2on ¡in ¡the ¡limit.
slide-20
SLIDE 20

Previous ¡Work: ¡Photon ¡Beams

■ Photon ¡Beams ¡[Jarosz ¡et ¡al. ¡11]

10

Thursday, 6 September 12

  • This ¡past ¡SIGGRAPH, ¡we ¡introduced ¡a ¡new ¡technique ¡for ¡rendering ¡par2cipa2ng ¡media ¡called ¡photon ¡

beams

  • The ¡central ¡observa2on ¡that ¡we ¡made ¡is ¡that ¡volumetric ¡photon ¡mapping ¡throws ¡away ¡a ¡lot ¡of ¡

poten2ally ¡useful ¡informa2on ¡between ¡the ¡shoo2ng ¡stage ¡and ¡the ¡density ¡es2ma2on ¡stage

  • In ¡par2cular, ¡photon ¡mapping ¡traces ¡random-­‑walk ¡paths ¡from ¡the ¡light, ¡and ¡then ¡stores ¡the ¡ver2ces ¡
  • f ¡these ¡paths ¡as ¡photons
  • We ¡made ¡the ¡observa2on ¡that ¡if ¡we ¡stored ¡the ¡en2re ¡path ¡of ¡the ¡photons, ¡and ¡not ¡just ¡the ¡

sca6ering ¡loca2ons, ¡then ¡we ¡get ¡a ¡higher ¡sampling ¡density ¡within ¡the ¡medium, ¡and ¡obtain ¡higher ¡ quality ¡renderings ¡at ¡virtually ¡no ¡extra ¡cost.

slide-21
SLIDE 21

Previous ¡Work: ¡Photon ¡Beams

■ Photon ¡Beams ¡[Jarosz ¡et ¡al. ¡11]

10

Photon ¡Points

Thursday, 6 September 12

  • This ¡past ¡SIGGRAPH, ¡we ¡introduced ¡a ¡new ¡technique ¡for ¡rendering ¡par2cipa2ng ¡media ¡called ¡photon ¡

beams

  • The ¡central ¡observa2on ¡that ¡we ¡made ¡is ¡that ¡volumetric ¡photon ¡mapping ¡throws ¡away ¡a ¡lot ¡of ¡

poten2ally ¡useful ¡informa2on ¡between ¡the ¡shoo2ng ¡stage ¡and ¡the ¡density ¡es2ma2on ¡stage

  • In ¡par2cular, ¡photon ¡mapping ¡traces ¡random-­‑walk ¡paths ¡from ¡the ¡light, ¡and ¡then ¡stores ¡the ¡ver2ces ¡
  • f ¡these ¡paths ¡as ¡photons
  • We ¡made ¡the ¡observa2on ¡that ¡if ¡we ¡stored ¡the ¡en2re ¡path ¡of ¡the ¡photons, ¡and ¡not ¡just ¡the ¡

sca6ering ¡loca2ons, ¡then ¡we ¡get ¡a ¡higher ¡sampling ¡density ¡within ¡the ¡medium, ¡and ¡obtain ¡higher ¡ quality ¡renderings ¡at ¡virtually ¡no ¡extra ¡cost.

slide-22
SLIDE 22

Previous ¡Work: ¡Photon ¡Beams

■ Photon ¡Beams ¡[Jarosz ¡et ¡al. ¡11]

10

Photon ¡Points Photon ¡Beams

Thursday, 6 September 12

  • This ¡past ¡SIGGRAPH, ¡we ¡introduced ¡a ¡new ¡technique ¡for ¡rendering ¡par2cipa2ng ¡media ¡called ¡photon ¡

beams

  • The ¡central ¡observa2on ¡that ¡we ¡made ¡is ¡that ¡volumetric ¡photon ¡mapping ¡throws ¡away ¡a ¡lot ¡of ¡

poten2ally ¡useful ¡informa2on ¡between ¡the ¡shoo2ng ¡stage ¡and ¡the ¡density ¡es2ma2on ¡stage

  • In ¡par2cular, ¡photon ¡mapping ¡traces ¡random-­‑walk ¡paths ¡from ¡the ¡light, ¡and ¡then ¡stores ¡the ¡ver2ces ¡
  • f ¡these ¡paths ¡as ¡photons
  • We ¡made ¡the ¡observa2on ¡that ¡if ¡we ¡stored ¡the ¡en2re ¡path ¡of ¡the ¡photons, ¡and ¡not ¡just ¡the ¡

sca6ering ¡loca2ons, ¡then ¡we ¡get ¡a ¡higher ¡sampling ¡density ¡within ¡the ¡medium, ¡and ¡obtain ¡higher ¡ quality ¡renderings ¡at ¡virtually ¡no ¡extra ¡cost.

slide-23
SLIDE 23

Photon ¡Points ¡vs. ¡Photon ¡Beams

11

100k ¡Photon ¡Points Ground ¡Truth

Thursday, 6 September 12

  • In ¡prac2ce, ¡photon ¡mapping ¡effec2vely ¡blurs ¡each ¡photon ¡point ¡into ¡a ¡small ¡disc.
  • On ¡the ¡other ¡hand, ¡[click] ¡photon ¡beams ¡blurs ¡each ¡photon ¡path ¡into ¡a ¡thick ¡line ¡segment
  • Now, ¡even ¡though ¡beams ¡produce ¡higher ¡quality ¡results ¡using ¡less ¡photons, ¡the ¡generated ¡images ¡

are ¡s2ll ¡biased, ¡since ¡each ¡beam ¡is ¡blurred ¡with ¡a ¡finite ¡width

slide-24
SLIDE 24

Photon ¡Points ¡vs. ¡Photon ¡Beams

11

100k ¡Photon ¡Points 5k ¡Photon ¡Beams Ground ¡Truth

Thursday, 6 September 12

  • In ¡prac2ce, ¡photon ¡mapping ¡effec2vely ¡blurs ¡each ¡photon ¡point ¡into ¡a ¡small ¡disc.
  • On ¡the ¡other ¡hand, ¡[click] ¡photon ¡beams ¡blurs ¡each ¡photon ¡path ¡into ¡a ¡thick ¡line ¡segment
  • Now, ¡even ¡though ¡beams ¡produce ¡higher ¡quality ¡results ¡using ¡less ¡photons, ¡the ¡generated ¡images ¡

are ¡s2ll ¡biased, ¡since ¡each ¡beam ¡is ¡blurred ¡with ¡a ¡finite ¡width

slide-25
SLIDE 25

Goals

■ Combine ¡benefits ¡of:

  • photon ¡beams
  • progressive ¡photon ¡mapping

12

Thursday, 6 September 12

  • The ¡goal ¡of ¡our ¡paper ¡is ¡to ¡combine ¡the ¡benefits ¡of ¡photon ¡beams ¡and ¡progressive ¡photon ¡mapping
  • We ¡would ¡like ¡to ¡use ¡the ¡more ¡efficient ¡photon ¡beams ¡approach ¡but ¡formulate ¡a ¡progressive ¡

algorithm ¡that ¡will ¡converge ¡to ¡the ¡correct ¡result ¡[click]

  • We ¡call ¡this ¡combina2on: ¡Progressive ¡Photon ¡Beams
  • The ¡end ¡result ¡is ¡an ¡efficient ¡algorithm ¡which: ¡[click]
  • is ¡robust ¡to ¡complex ¡light ¡paths ¡[click]
  • converges ¡to ¡unbiased ¡result ¡in ¡finite ¡memory ¡[click]
  • handles ¡heterogeneous ¡media, ¡and ¡[click]
  • supports ¡progressive ¡updates ¡for ¡interac2ve ¡preview
slide-26
SLIDE 26

Goals

■ Combine ¡benefits ¡of:

  • photon ¡beams
  • progressive ¡photon ¡mapping

■ Progressive ¡Photon ¡Beams

12

Thursday, 6 September 12

  • The ¡goal ¡of ¡our ¡paper ¡is ¡to ¡combine ¡the ¡benefits ¡of ¡photon ¡beams ¡and ¡progressive ¡photon ¡mapping
  • We ¡would ¡like ¡to ¡use ¡the ¡more ¡efficient ¡photon ¡beams ¡approach ¡but ¡formulate ¡a ¡progressive ¡

algorithm ¡that ¡will ¡converge ¡to ¡the ¡correct ¡result ¡[click]

  • We ¡call ¡this ¡combina2on: ¡Progressive ¡Photon ¡Beams
  • The ¡end ¡result ¡is ¡an ¡efficient ¡algorithm ¡which: ¡[click]
  • is ¡robust ¡to ¡complex ¡light ¡paths ¡[click]
  • converges ¡to ¡unbiased ¡result ¡in ¡finite ¡memory ¡[click]
  • handles ¡heterogeneous ¡media, ¡and ¡[click]
  • supports ¡progressive ¡updates ¡for ¡interac2ve ¡preview
slide-27
SLIDE 27

Goals

■ Combine ¡benefits ¡of:

  • photon ¡beams
  • progressive ¡photon ¡mapping

■ Progressive ¡Photon ¡Beams

  • robust ¡to ¡complex ¡light ¡paths

12

Thursday, 6 September 12

  • The ¡goal ¡of ¡our ¡paper ¡is ¡to ¡combine ¡the ¡benefits ¡of ¡photon ¡beams ¡and ¡progressive ¡photon ¡mapping
  • We ¡would ¡like ¡to ¡use ¡the ¡more ¡efficient ¡photon ¡beams ¡approach ¡but ¡formulate ¡a ¡progressive ¡

algorithm ¡that ¡will ¡converge ¡to ¡the ¡correct ¡result ¡[click]

  • We ¡call ¡this ¡combina2on: ¡Progressive ¡Photon ¡Beams
  • The ¡end ¡result ¡is ¡an ¡efficient ¡algorithm ¡which: ¡[click]
  • is ¡robust ¡to ¡complex ¡light ¡paths ¡[click]
  • converges ¡to ¡unbiased ¡result ¡in ¡finite ¡memory ¡[click]
  • handles ¡heterogeneous ¡media, ¡and ¡[click]
  • supports ¡progressive ¡updates ¡for ¡interac2ve ¡preview
slide-28
SLIDE 28

Goals

■ Combine ¡benefits ¡of:

  • photon ¡beams
  • progressive ¡photon ¡mapping

■ Progressive ¡Photon ¡Beams

  • robust ¡to ¡complex ¡light ¡paths
  • converges ¡to ¡unbiased ¡result ¡in ¡finite ¡memory

12

Thursday, 6 September 12

  • The ¡goal ¡of ¡our ¡paper ¡is ¡to ¡combine ¡the ¡benefits ¡of ¡photon ¡beams ¡and ¡progressive ¡photon ¡mapping
  • We ¡would ¡like ¡to ¡use ¡the ¡more ¡efficient ¡photon ¡beams ¡approach ¡but ¡formulate ¡a ¡progressive ¡

algorithm ¡that ¡will ¡converge ¡to ¡the ¡correct ¡result ¡[click]

  • We ¡call ¡this ¡combina2on: ¡Progressive ¡Photon ¡Beams
  • The ¡end ¡result ¡is ¡an ¡efficient ¡algorithm ¡which: ¡[click]
  • is ¡robust ¡to ¡complex ¡light ¡paths ¡[click]
  • converges ¡to ¡unbiased ¡result ¡in ¡finite ¡memory ¡[click]
  • handles ¡heterogeneous ¡media, ¡and ¡[click]
  • supports ¡progressive ¡updates ¡for ¡interac2ve ¡preview
slide-29
SLIDE 29

Goals

■ Combine ¡benefits ¡of:

  • photon ¡beams
  • progressive ¡photon ¡mapping

■ Progressive ¡Photon ¡Beams

  • robust ¡to ¡complex ¡light ¡paths
  • converges ¡to ¡unbiased ¡result ¡in ¡finite ¡memory
  • handles ¡heterogeneous ¡media

12

Thursday, 6 September 12

  • The ¡goal ¡of ¡our ¡paper ¡is ¡to ¡combine ¡the ¡benefits ¡of ¡photon ¡beams ¡and ¡progressive ¡photon ¡mapping
  • We ¡would ¡like ¡to ¡use ¡the ¡more ¡efficient ¡photon ¡beams ¡approach ¡but ¡formulate ¡a ¡progressive ¡

algorithm ¡that ¡will ¡converge ¡to ¡the ¡correct ¡result ¡[click]

  • We ¡call ¡this ¡combina2on: ¡Progressive ¡Photon ¡Beams
  • The ¡end ¡result ¡is ¡an ¡efficient ¡algorithm ¡which: ¡[click]
  • is ¡robust ¡to ¡complex ¡light ¡paths ¡[click]
  • converges ¡to ¡unbiased ¡result ¡in ¡finite ¡memory ¡[click]
  • handles ¡heterogeneous ¡media, ¡and ¡[click]
  • supports ¡progressive ¡updates ¡for ¡interac2ve ¡preview
slide-30
SLIDE 30

Goals

■ Combine ¡benefits ¡of:

  • photon ¡beams
  • progressive ¡photon ¡mapping

■ Progressive ¡Photon ¡Beams

  • robust ¡to ¡complex ¡light ¡paths
  • converges ¡to ¡unbiased ¡result ¡in ¡finite ¡memory
  • handles ¡heterogeneous ¡media
  • supports ¡progressive/interacFve ¡updates

12

Thursday, 6 September 12

  • The ¡goal ¡of ¡our ¡paper ¡is ¡to ¡combine ¡the ¡benefits ¡of ¡photon ¡beams ¡and ¡progressive ¡photon ¡mapping
  • We ¡would ¡like ¡to ¡use ¡the ¡more ¡efficient ¡photon ¡beams ¡approach ¡but ¡formulate ¡a ¡progressive ¡

algorithm ¡that ¡will ¡converge ¡to ¡the ¡correct ¡result ¡[click]

  • We ¡call ¡this ¡combina2on: ¡Progressive ¡Photon ¡Beams
  • The ¡end ¡result ¡is ¡an ¡efficient ¡algorithm ¡which: ¡[click]
  • is ¡robust ¡to ¡complex ¡light ¡paths ¡[click]
  • converges ¡to ¡unbiased ¡result ¡in ¡finite ¡memory ¡[click]
  • handles ¡heterogeneous ¡media, ¡and ¡[click]
  • supports ¡progressive ¡updates ¡for ¡interac2ve ¡preview
slide-31
SLIDE 31

Progressive ¡Photon ¡Beams

13

Thursday, 6 September 12

  • At ¡a ¡high-­‑level ¡our ¡approach ¡proceeds ¡similarly ¡as ¡previous ¡PPM ¡techniques.
  • The ¡main ¡idea ¡is ¡to ¡generate ¡a ¡sequence ¡of ¡render ¡passes ¡(one ¡of ¡which ¡is ¡shown ¡here), ¡where ¡each ¡

pass ¡uses ¡an ¡independent ¡collec2on ¡of ¡photon ¡beams. ¡The ¡output ¡of ¡our ¡algorithm ¡is ¡a ¡running ¡ average ¡of ¡the ¡passes ¡so ¡far ¡(which ¡I’ll ¡show ¡on ¡the ¡right).

  • Since ¡photon ¡beams ¡are ¡biased, ¡by ¡defini2on, ¡if ¡we ¡just ¡averaged ¡several ¡independent ¡passes, ¡the ¡

variance ¡would ¡diminish, ¡but ¡the ¡final ¡result ¡would ¡s2ll ¡be ¡biased ¡[click]

slide-32
SLIDE 32

Progressive ¡Photon ¡Beams

13

Pass ¡1

Thursday, 6 September 12

  • At ¡a ¡high-­‑level ¡our ¡approach ¡proceeds ¡similarly ¡as ¡previous ¡PPM ¡techniques.
  • The ¡main ¡idea ¡is ¡to ¡generate ¡a ¡sequence ¡of ¡render ¡passes ¡(one ¡of ¡which ¡is ¡shown ¡here), ¡where ¡each ¡

pass ¡uses ¡an ¡independent ¡collec2on ¡of ¡photon ¡beams. ¡The ¡output ¡of ¡our ¡algorithm ¡is ¡a ¡running ¡ average ¡of ¡the ¡passes ¡so ¡far ¡(which ¡I’ll ¡show ¡on ¡the ¡right).

  • Since ¡photon ¡beams ¡are ¡biased, ¡by ¡defini2on, ¡if ¡we ¡just ¡averaged ¡several ¡independent ¡passes, ¡the ¡

variance ¡would ¡diminish, ¡but ¡the ¡final ¡result ¡would ¡s2ll ¡be ¡biased ¡[click]

slide-33
SLIDE 33

Progressive ¡Photon ¡Beams

14

Pass ¡2 Average ¡of ¡Passes ¡1..2

Thursday, 6 September 12

  • As ¡a ¡key ¡step, ¡we ¡reduce ¡the ¡radii ¡of ¡the ¡photon ¡beams ¡aler ¡each ¡pass. ¡Therefore ¡each ¡subsequent ¡

image ¡on ¡the ¡lel ¡has ¡less ¡bias ¡but ¡slightly ¡more ¡noise. ¡We ¡reduce ¡the ¡radii ¡in ¡such ¡a ¡way, ¡however, ¡ that ¡as ¡we ¡add ¡more ¡passes ¡the ¡running ¡average ¡of ¡these ¡images ¡converges ¡to ¡the ¡correct ¡solu2on.

  • The ¡ques2on ¡is, ¡how ¡quickly ¡should ¡we ¡reduce ¡the ¡radii?
  • A ¡main ¡contribu2on ¡of ¡this ¡paper ¡is ¡to ¡determine ¡exactly ¡how ¡quickly ¡we ¡need ¡to ¡reduce ¡the ¡beams ¡

radii ¡so ¡that ¡we ¡obtain ¡convergence.

slide-34
SLIDE 34

Progressive ¡Photon ¡Beams

15

Pass ¡4 Average ¡of ¡Passes ¡1..4

Thursday, 6 September 12

  • As ¡a ¡key ¡step, ¡we ¡reduce ¡the ¡radii ¡of ¡the ¡photon ¡beams ¡aler ¡each ¡pass. ¡Therefore ¡each ¡subsequent ¡

image ¡on ¡the ¡lel ¡has ¡less ¡bias ¡but ¡slightly ¡more ¡noise. ¡We ¡reduce ¡the ¡radii ¡in ¡such ¡a ¡way, ¡however, ¡ that ¡as ¡we ¡add ¡more ¡passes ¡the ¡running ¡average ¡of ¡these ¡images ¡converges ¡to ¡the ¡correct ¡solu2on.

  • The ¡ques2on ¡is, ¡how ¡quickly ¡should ¡we ¡reduce ¡the ¡radii?
  • A ¡main ¡contribu2on ¡of ¡this ¡paper ¡is ¡to ¡determine ¡exactly ¡how ¡quickly ¡we ¡need ¡to ¡reduce ¡the ¡beams ¡

radii ¡so ¡that ¡we ¡obtain ¡convergence.

slide-35
SLIDE 35

Progressive ¡Photon ¡Beams

16

Pass ¡8 Average ¡of ¡Passes ¡1..8

Thursday, 6 September 12

  • As ¡a ¡key ¡step, ¡we ¡reduce ¡the ¡radii ¡of ¡the ¡photon ¡beams ¡aler ¡each ¡pass. ¡Therefore ¡each ¡subsequent ¡

image ¡on ¡the ¡lel ¡has ¡less ¡bias ¡but ¡slightly ¡more ¡noise. ¡We ¡reduce ¡the ¡radii ¡in ¡such ¡a ¡way, ¡however, ¡ that ¡as ¡we ¡add ¡more ¡passes ¡the ¡running ¡average ¡of ¡these ¡images ¡converges ¡to ¡the ¡correct ¡solu2on.

  • The ¡ques2on ¡is, ¡how ¡quickly ¡should ¡we ¡reduce ¡the ¡radii?
  • A ¡main ¡contribu2on ¡of ¡this ¡paper ¡is ¡to ¡determine ¡exactly ¡how ¡quickly ¡we ¡need ¡to ¡reduce ¡the ¡beams ¡

radii ¡so ¡that ¡we ¡obtain ¡convergence.

slide-36
SLIDE 36

Progressive ¡Photon ¡Beams

17

Pass ¡16 Average ¡of ¡Passes ¡1..16

Thursday, 6 September 12

  • As ¡a ¡key ¡step, ¡we ¡reduce ¡the ¡radii ¡of ¡the ¡photon ¡beams ¡aler ¡each ¡pass. ¡Therefore ¡each ¡subsequent ¡

image ¡on ¡the ¡lel ¡has ¡less ¡bias ¡but ¡slightly ¡more ¡noise. ¡We ¡reduce ¡the ¡radii ¡in ¡such ¡a ¡way, ¡however, ¡ that ¡as ¡we ¡add ¡more ¡passes ¡the ¡running ¡average ¡of ¡these ¡images ¡converges ¡to ¡the ¡correct ¡solu2on.

  • The ¡ques2on ¡is, ¡how ¡quickly ¡should ¡we ¡reduce ¡the ¡radii?
  • A ¡main ¡contribu2on ¡of ¡this ¡paper ¡is ¡to ¡determine ¡exactly ¡how ¡quickly ¡we ¡need ¡to ¡reduce ¡the ¡beams ¡

radii ¡so ¡that ¡we ¡obtain ¡convergence.

slide-37
SLIDE 37

Progressive ¡Photon ¡Beams

18

Pass ¡32 Average ¡of ¡Passes ¡1..32

Thursday, 6 September 12

  • As ¡a ¡key ¡step, ¡we ¡reduce ¡the ¡radii ¡of ¡the ¡photon ¡beams ¡aler ¡each ¡pass. ¡Therefore ¡each ¡subsequent ¡

image ¡on ¡the ¡lel ¡has ¡less ¡bias ¡but ¡slightly ¡more ¡noise. ¡We ¡reduce ¡the ¡radii ¡in ¡such ¡a ¡way, ¡however, ¡ that ¡as ¡we ¡add ¡more ¡passes ¡the ¡running ¡average ¡of ¡these ¡images ¡converges ¡to ¡the ¡correct ¡solu2on.

  • The ¡ques2on ¡is, ¡how ¡quickly ¡should ¡we ¡reduce ¡the ¡radii?
  • A ¡main ¡contribu2on ¡of ¡this ¡paper ¡is ¡to ¡determine ¡exactly ¡how ¡quickly ¡we ¡need ¡to ¡reduce ¡the ¡beams ¡

radii ¡so ¡that ¡we ¡obtain ¡convergence.

slide-38
SLIDE 38

Progressive ¡Photon ¡Beams

19

Pass ¡64 Average ¡of ¡Passes ¡1..64

Thursday, 6 September 12

  • As ¡a ¡key ¡step, ¡we ¡reduce ¡the ¡radii ¡of ¡the ¡photon ¡beams ¡aler ¡each ¡pass. ¡Therefore ¡each ¡subsequent ¡

image ¡on ¡the ¡lel ¡has ¡less ¡bias ¡but ¡slightly ¡more ¡noise. ¡We ¡reduce ¡the ¡radii ¡in ¡such ¡a ¡way, ¡however, ¡ that ¡as ¡we ¡add ¡more ¡passes ¡the ¡running ¡average ¡of ¡these ¡images ¡converges ¡to ¡the ¡correct ¡solu2on.

  • The ¡ques2on ¡is, ¡how ¡quickly ¡should ¡we ¡reduce ¡the ¡radii?
  • A ¡main ¡contribu2on ¡of ¡this ¡paper ¡is ¡to ¡determine ¡exactly ¡how ¡quickly ¡we ¡need ¡to ¡reduce ¡the ¡beams ¡

radii ¡so ¡that ¡we ¡obtain ¡convergence.

slide-39
SLIDE 39

Progressive ¡Photon ¡Beams

20

Pass ¡128 Average ¡of ¡Passes ¡1..128

Thursday, 6 September 12

  • As ¡a ¡key ¡step, ¡we ¡reduce ¡the ¡radii ¡of ¡the ¡photon ¡beams ¡aler ¡each ¡pass. ¡Therefore ¡each ¡subsequent ¡

image ¡on ¡the ¡lel ¡has ¡less ¡bias ¡but ¡slightly ¡more ¡noise. ¡We ¡reduce ¡the ¡radii ¡in ¡such ¡a ¡way, ¡however, ¡ that ¡as ¡we ¡add ¡more ¡passes ¡the ¡running ¡average ¡of ¡these ¡images ¡converges ¡to ¡the ¡correct ¡solu2on.

  • The ¡ques2on ¡is, ¡how ¡quickly ¡should ¡we ¡reduce ¡the ¡radii?
  • A ¡main ¡contribu2on ¡of ¡this ¡paper ¡is ¡to ¡determine ¡exactly ¡how ¡quickly ¡we ¡need ¡to ¡reduce ¡the ¡beams ¡

radii ¡so ¡that ¡we ¡obtain ¡convergence.

slide-40
SLIDE 40

Progressive ¡Photon ¡Beams

21

Pass ¡256 Average ¡of ¡Passes ¡1..256

Thursday, 6 September 12

  • As ¡a ¡key ¡step, ¡we ¡reduce ¡the ¡radii ¡of ¡the ¡photon ¡beams ¡aler ¡each ¡pass. ¡Therefore ¡each ¡subsequent ¡

image ¡on ¡the ¡lel ¡has ¡less ¡bias ¡but ¡slightly ¡more ¡noise. ¡We ¡reduce ¡the ¡radii ¡in ¡such ¡a ¡way, ¡however, ¡ that ¡as ¡we ¡add ¡more ¡passes ¡the ¡running ¡average ¡of ¡these ¡images ¡converges ¡to ¡the ¡correct ¡solu2on.

  • The ¡ques2on ¡is, ¡how ¡quickly ¡should ¡we ¡reduce ¡the ¡radii?
  • A ¡main ¡contribu2on ¡of ¡this ¡paper ¡is ¡to ¡determine ¡exactly ¡how ¡quickly ¡we ¡need ¡to ¡reduce ¡the ¡beams ¡

radii ¡so ¡that ¡we ¡obtain ¡convergence.

slide-41
SLIDE 41

Progressive ¡Photon ¡Beams

22

Pass ¡512 Average ¡of ¡Passes ¡1..512

Thursday, 6 September 12

  • As ¡a ¡key ¡step, ¡we ¡reduce ¡the ¡radii ¡of ¡the ¡photon ¡beams ¡aler ¡each ¡pass. ¡Therefore ¡each ¡subsequent ¡

image ¡on ¡the ¡lel ¡has ¡less ¡bias ¡but ¡slightly ¡more ¡noise. ¡We ¡reduce ¡the ¡radii ¡in ¡such ¡a ¡way, ¡however, ¡ that ¡as ¡we ¡add ¡more ¡passes ¡the ¡running ¡average ¡of ¡these ¡images ¡converges ¡to ¡the ¡correct ¡solu2on.

  • The ¡ques2on ¡is, ¡how ¡quickly ¡should ¡we ¡reduce ¡the ¡radii?
  • A ¡main ¡contribu2on ¡of ¡this ¡paper ¡is ¡to ¡determine ¡exactly ¡how ¡quickly ¡we ¡need ¡to ¡reduce ¡the ¡beams ¡

radii ¡so ¡that ¡we ¡obtain ¡convergence.

slide-42
SLIDE 42

Progressive ¡Photon ¡Beams

23

100K ¡beams ¡per ¡pass 51.2M ¡beams ¡total

Thursday, 6 September 12

  • The ¡ques2on ¡is, ¡how ¡quickly ¡should ¡we ¡reduce ¡the ¡radii?
  • A ¡main ¡contribu2on ¡of ¡this ¡paper ¡is ¡to ¡determine ¡exactly ¡how ¡quickly ¡we ¡need ¡to ¡reduce ¡the ¡beams ¡

radii ¡so ¡that ¡we ¡obtain ¡convergence.

slide-43
SLIDE 43

Progressive ¡Photon ¡Beams

24

100K ¡beams ¡per ¡pass 51.2M ¡beams ¡total + ¡progressive ¡surface ¡photon ¡mapping

Thursday, 6 September 12

  • The ¡ques2on ¡is, ¡how ¡quickly ¡should ¡we ¡reduce ¡the ¡radii?
  • A ¡main ¡contribu2on ¡of ¡this ¡paper ¡is ¡to ¡determine ¡exactly ¡how ¡quickly ¡we ¡need ¡to ¡reduce ¡the ¡beams ¡

radii ¡so ¡that ¡we ¡obtain ¡convergence.

slide-44
SLIDE 44

Progressive ¡Photon ¡Beams

25

Thursday, 6 September 12

  • In ¡the ¡remainder ¡of ¡the ¡talk ¡I ¡will ¡describe ¡how ¡we ¡arrive ¡at ¡our ¡algorithm ¡[click]
  • One ¡of ¡the ¡key ¡steps ¡is ¡to ¡derive ¡the ¡necessary ¡condi2ons ¡for ¡sta2s2cal ¡convergence ¡[click]
  • Also, ¡we ¡introduce ¡an ¡efficient ¡and ¡unbiased ¡new ¡way ¡to ¡handle ¡heterogeneous ¡media ¡with ¡beams ¡

[click]

  • Finally, ¡I’ll ¡discuss ¡how ¡our ¡formula2on ¡allows ¡for ¡efficient ¡implementa2on ¡on ¡either ¡a ¡CPU ¡or ¡GPU ¡

[click]

  • We ¡also ¡propose ¡some ¡usability ¡improvements ¡applicable ¡to ¡all ¡ppm ¡techniques ¡and ¡I ¡encourage ¡you ¡

to ¡look ¡in ¡the ¡paper ¡for ¡these ¡details.

slide-45
SLIDE 45

Progressive ¡Photon ¡Beams

■ Sta2s2cal ¡convergence

25

Thursday, 6 September 12

  • In ¡the ¡remainder ¡of ¡the ¡talk ¡I ¡will ¡describe ¡how ¡we ¡arrive ¡at ¡our ¡algorithm ¡[click]
  • One ¡of ¡the ¡key ¡steps ¡is ¡to ¡derive ¡the ¡necessary ¡condi2ons ¡for ¡sta2s2cal ¡convergence ¡[click]
  • Also, ¡we ¡introduce ¡an ¡efficient ¡and ¡unbiased ¡new ¡way ¡to ¡handle ¡heterogeneous ¡media ¡with ¡beams ¡

[click]

  • Finally, ¡I’ll ¡discuss ¡how ¡our ¡formula2on ¡allows ¡for ¡efficient ¡implementa2on ¡on ¡either ¡a ¡CPU ¡or ¡GPU ¡

[click]

  • We ¡also ¡propose ¡some ¡usability ¡improvements ¡applicable ¡to ¡all ¡ppm ¡techniques ¡and ¡I ¡encourage ¡you ¡

to ¡look ¡in ¡the ¡paper ¡for ¡these ¡details.

slide-46
SLIDE 46

Progressive ¡Photon ¡Beams

■ Sta2s2cal ¡convergence ■ Heterogeneous ¡media

25

Thursday, 6 September 12

  • In ¡the ¡remainder ¡of ¡the ¡talk ¡I ¡will ¡describe ¡how ¡we ¡arrive ¡at ¡our ¡algorithm ¡[click]
  • One ¡of ¡the ¡key ¡steps ¡is ¡to ¡derive ¡the ¡necessary ¡condi2ons ¡for ¡sta2s2cal ¡convergence ¡[click]
  • Also, ¡we ¡introduce ¡an ¡efficient ¡and ¡unbiased ¡new ¡way ¡to ¡handle ¡heterogeneous ¡media ¡with ¡beams ¡

[click]

  • Finally, ¡I’ll ¡discuss ¡how ¡our ¡formula2on ¡allows ¡for ¡efficient ¡implementa2on ¡on ¡either ¡a ¡CPU ¡or ¡GPU ¡

[click]

  • We ¡also ¡propose ¡some ¡usability ¡improvements ¡applicable ¡to ¡all ¡ppm ¡techniques ¡and ¡I ¡encourage ¡you ¡

to ¡look ¡in ¡the ¡paper ¡for ¡these ¡details.

slide-47
SLIDE 47

Progressive ¡Photon ¡Beams

■ Sta2s2cal ¡convergence ■ Heterogeneous ¡media ■ Efficient ¡implementa2on

25

Thursday, 6 September 12

  • In ¡the ¡remainder ¡of ¡the ¡talk ¡I ¡will ¡describe ¡how ¡we ¡arrive ¡at ¡our ¡algorithm ¡[click]
  • One ¡of ¡the ¡key ¡steps ¡is ¡to ¡derive ¡the ¡necessary ¡condi2ons ¡for ¡sta2s2cal ¡convergence ¡[click]
  • Also, ¡we ¡introduce ¡an ¡efficient ¡and ¡unbiased ¡new ¡way ¡to ¡handle ¡heterogeneous ¡media ¡with ¡beams ¡

[click]

  • Finally, ¡I’ll ¡discuss ¡how ¡our ¡formula2on ¡allows ¡for ¡efficient ¡implementa2on ¡on ¡either ¡a ¡CPU ¡or ¡GPU ¡

[click]

  • We ¡also ¡propose ¡some ¡usability ¡improvements ¡applicable ¡to ¡all ¡ppm ¡techniques ¡and ¡I ¡encourage ¡you ¡

to ¡look ¡in ¡the ¡paper ¡for ¡these ¡details.

slide-48
SLIDE 48

Progressive ¡Photon ¡Beams

■ Sta2s2cal ¡convergence ■ Heterogeneous ¡media ■ Efficient ¡implementa2on ■ Usability ¡improvements

25

Thursday, 6 September 12

  • In ¡the ¡remainder ¡of ¡the ¡talk ¡I ¡will ¡describe ¡how ¡we ¡arrive ¡at ¡our ¡algorithm ¡[click]
  • One ¡of ¡the ¡key ¡steps ¡is ¡to ¡derive ¡the ¡necessary ¡condi2ons ¡for ¡sta2s2cal ¡convergence ¡[click]
  • Also, ¡we ¡introduce ¡an ¡efficient ¡and ¡unbiased ¡new ¡way ¡to ¡handle ¡heterogeneous ¡media ¡with ¡beams ¡

[click]

  • Finally, ¡I’ll ¡discuss ¡how ¡our ¡formula2on ¡allows ¡for ¡efficient ¡implementa2on ¡on ¡either ¡a ¡CPU ¡or ¡GPU ¡

[click]

  • We ¡also ¡propose ¡some ¡usability ¡improvements ¡applicable ¡to ¡all ¡ppm ¡techniques ¡and ¡I ¡encourage ¡you ¡

to ¡look ¡in ¡the ¡paper ¡for ¡these ¡details.

slide-49
SLIDE 49

StaFsFcal ¡Convergence

■ Previous ¡deriva2ons ¡not ¡directly ¡applicable

26

Thursday, 6 September 12

  • Even ¡though ¡photon ¡beams ¡are ¡a ¡generaliza2on ¡of ¡photon ¡mapping, ¡we ¡cannot ¡directly ¡re-­‑use ¡the ¡

convergence ¡analyses ¡from ¡progressive ¡photon ¡mapping ¡directly ¡for ¡photon ¡beams ¡[click]

  • The ¡reason ¡is ¡that ¡density ¡es2ma2on ¡using ¡beams ¡is ¡mathema2cally ¡quite ¡different ¡than ¡density ¡

es2ma2on ¡using ¡points

  • We ¡need ¡to ¡analyze ¡the ¡necessary ¡condi2ons ¡for ¡convergence ¡in ¡this ¡more ¡complicated ¡case
slide-50
SLIDE 50

StaFsFcal ¡Convergence

■ Previous ¡deriva2ons ¡not ¡directly ¡applicable

  • beam ¡density ¡vs. ¡point ¡density

26

Thursday, 6 September 12

  • Even ¡though ¡photon ¡beams ¡are ¡a ¡generaliza2on ¡of ¡photon ¡mapping, ¡we ¡cannot ¡directly ¡re-­‑use ¡the ¡

convergence ¡analyses ¡from ¡progressive ¡photon ¡mapping ¡directly ¡for ¡photon ¡beams ¡[click]

  • The ¡reason ¡is ¡that ¡density ¡es2ma2on ¡using ¡beams ¡is ¡mathema2cally ¡quite ¡different ¡than ¡density ¡

es2ma2on ¡using ¡points

  • We ¡need ¡to ¡analyze ¡the ¡necessary ¡condi2ons ¡for ¡convergence ¡in ¡this ¡more ¡complicated ¡case
slide-51
SLIDE 51

StaFsFcal ¡Framework

■ We ¡build ¡on ¡Knaus ¡and ¡Zwicker ¡approach

27

Thursday, 6 September 12

  • To ¡accomplish ¡this, ¡we ¡build ¡off ¡of ¡the ¡probabilis2c ¡framework ¡developed ¡by ¡Knaus ¡and ¡Zwicker
  • They ¡showed ¡that ¡convergence ¡in ¡such ¡a ¡progressive ¡algorithm ¡can ¡be ¡achieved ¡[click] ¡by ¡enforcing ¡a ¡

ra2o ¡of ¡the ¡variance ¡between ¡passes.

  • Alpha ¡is ¡a ¡user ¡parameter ¡between ¡0 ¡and ¡1 ¡which ¡influences ¡the ¡bias/variance ¡(as ¡we ¡will ¡see ¡later)
  • Our ¡task ¡is ¡to ¡enforce ¡such ¡a ¡variance ¡ra2o ¡when ¡the ¡images ¡are ¡generated ¡using ¡photon ¡beams
  • Ul2mately ¡we ¡are ¡interested ¡in ¡determining ¡how ¡the ¡radii ¡of ¡beams ¡should ¡shrink, ¡so ¡we ¡need ¡some ¡

way ¡to ¡relate ¡the ¡variance ¡of ¡each ¡pass ¡to ¡the ¡radius ¡of ¡the ¡beams

slide-52
SLIDE 52

StaFsFcal ¡Framework

■ We ¡build ¡on ¡Knaus ¡and ¡Zwicker ¡approach ■ Need ¡to ¡enforce ¡variance ¡ra2o:

27

Variance[Passi+1] Variance[Passi] = i + 1 i + α

Thursday, 6 September 12

  • To ¡accomplish ¡this, ¡we ¡build ¡off ¡of ¡the ¡probabilis2c ¡framework ¡developed ¡by ¡Knaus ¡and ¡Zwicker
  • They ¡showed ¡that ¡convergence ¡in ¡such ¡a ¡progressive ¡algorithm ¡can ¡be ¡achieved ¡[click] ¡by ¡enforcing ¡a ¡

ra2o ¡of ¡the ¡variance ¡between ¡passes.

  • Alpha ¡is ¡a ¡user ¡parameter ¡between ¡0 ¡and ¡1 ¡which ¡influences ¡the ¡bias/variance ¡(as ¡we ¡will ¡see ¡later)
  • Our ¡task ¡is ¡to ¡enforce ¡such ¡a ¡variance ¡ra2o ¡when ¡the ¡images ¡are ¡generated ¡using ¡photon ¡beams
  • Ul2mately ¡we ¡are ¡interested ¡in ¡determining ¡how ¡the ¡radii ¡of ¡beams ¡should ¡shrink, ¡so ¡we ¡need ¡some ¡

way ¡to ¡relate ¡the ¡variance ¡of ¡each ¡pass ¡to ¡the ¡radius ¡of ¡the ¡beams

slide-53
SLIDE 53

■ First, ¡consider ¡rendering ¡each ¡pass ¡

using ¡a ¡single ¡beam

Rendering ¡Using ¡One ¡Beam

28

Thursday, 6 September 12

  • Lets ¡first ¡consider ¡render ¡each ¡pass ¡using ¡a ¡single ¡stochas2cally-­‑generated ¡beam, ¡we ¡will ¡generalize ¡

this ¡later

slide-54
SLIDE 54

Rendering ¡Using ¡One ¡Beam

29

■ We ¡show ¡that:

Thursday, 6 September 12

  • In ¡the ¡paper, ¡we ¡show ¡that ¡under ¡some ¡reasonable ¡assump2ons: ¡[click]
  • The ¡variance ¡is ¡inversely ¡propor2onal ¡to ¡the ¡radius ¡of ¡the ¡beam. ¡[click]
  • More ¡concretely, ¡the ¡variance ¡increases ¡linearly ¡as ¡we ¡reduce ¡the ¡kernel ¡radius ¡r ¡[click]
  • On ¡the ¡other ¡hand, ¡we ¡show ¡that ¡the ¡opposite ¡is ¡true ¡for ¡bias: ¡it ¡is ¡linearly ¡propor2onal ¡to ¡the ¡radius.
slide-55
SLIDE 55

Rendering ¡Using ¡One ¡Beam

29

■ We ¡show ¡that:

  • a

Variance[Passi] ∝ 1 ri

Thursday, 6 September 12

  • In ¡the ¡paper, ¡we ¡show ¡that ¡under ¡some ¡reasonable ¡assump2ons: ¡[click]
  • The ¡variance ¡is ¡inversely ¡propor2onal ¡to ¡the ¡radius ¡of ¡the ¡beam. ¡[click]
  • More ¡concretely, ¡the ¡variance ¡increases ¡linearly ¡as ¡we ¡reduce ¡the ¡kernel ¡radius ¡r ¡[click]
  • On ¡the ¡other ¡hand, ¡we ¡show ¡that ¡the ¡opposite ¡is ¡true ¡for ¡bias: ¡it ¡is ¡linearly ¡propor2onal ¡to ¡the ¡radius.
slide-56
SLIDE 56

Rendering ¡Using ¡One ¡Beam

29

■ We ¡show ¡that:

  • a
  • The ¡variance ¡increases ¡linearly ¡as ¡we ¡reduce ¡

the ¡kernel ¡radius ¡r.

Variance[Passi] ∝ 1 ri

Thursday, 6 September 12

  • In ¡the ¡paper, ¡we ¡show ¡that ¡under ¡some ¡reasonable ¡assump2ons: ¡[click]
  • The ¡variance ¡is ¡inversely ¡propor2onal ¡to ¡the ¡radius ¡of ¡the ¡beam. ¡[click]
  • More ¡concretely, ¡the ¡variance ¡increases ¡linearly ¡as ¡we ¡reduce ¡the ¡kernel ¡radius ¡r ¡[click]
  • On ¡the ¡other ¡hand, ¡we ¡show ¡that ¡the ¡opposite ¡is ¡true ¡for ¡bias: ¡it ¡is ¡linearly ¡propor2onal ¡to ¡the ¡radius.
slide-57
SLIDE 57

Rendering ¡Using ¡One ¡Beam

29

■ We ¡show ¡that:

  • a
  • The ¡variance ¡increases ¡linearly ¡as ¡we ¡reduce ¡

the ¡kernel ¡radius ¡r.

  • a
  • The ¡bias ¡decreases ¡linearly ¡as ¡we ¡reduce ¡the ¡

kernel ¡radius ¡r.

Variance[Passi] ∝ 1 ri Bias[Passi] ∝ ri

Thursday, 6 September 12

  • In ¡the ¡paper, ¡we ¡show ¡that ¡under ¡some ¡reasonable ¡assump2ons: ¡[click]
  • The ¡variance ¡is ¡inversely ¡propor2onal ¡to ¡the ¡radius ¡of ¡the ¡beam. ¡[click]
  • More ¡concretely, ¡the ¡variance ¡increases ¡linearly ¡as ¡we ¡reduce ¡the ¡kernel ¡radius ¡r ¡[click]
  • On ¡the ¡other ¡hand, ¡we ¡show ¡that ¡the ¡opposite ¡is ¡true ¡for ¡bias: ¡it ¡is ¡linearly ¡propor2onal ¡to ¡the ¡radius.
slide-58
SLIDE 58

■ We ¡show ¡that:

  • a
  • The ¡variance ¡increases ¡linearly ¡as ¡we ¡reduce ¡

the ¡kernel ¡radius ¡r.

  • a
  • The ¡bias ¡decreases ¡linearly ¡as ¡we ¡reduce ¡the ¡

kernel ¡radius ¡r.

Rendering ¡Using ¡Many ¡Beams

30

Variance[Passi] ∝ 1 ri Bias[Passi] ∝ ri

Thursday, 6 September 12

  • In ¡prac2ce, ¡each ¡rendered ¡pass ¡will ¡use ¡many ¡beams, ¡each ¡with ¡their ¡own ¡radius.
  • In ¡the ¡original ¡photon ¡beams ¡method, ¡the ¡radii ¡are ¡computed ¡using ¡photon ¡differen2als ¡to ¡adapt ¡the ¡

blurring ¡across ¡the ¡scene

  • In ¡our ¡paper ¡we ¡show ¡that ¡we ¡can ¡easily ¡generalize ¡the ¡one-­‑beam ¡case ¡to ¡allow ¡for ¡mul2ple ¡beams.
  • The ¡only ¡change ¡that ¡is ¡necessary ¡is ¡that, ¡for ¡variance, ¡the ¡beam ¡radius ¡is ¡replaced ¡by ¡the ¡harmonic ¡

mean ¡of ¡the ¡beam ¡radii

  • For ¡bias, ¡the ¡radius ¡gets ¡replaced ¡by ¡the ¡arithme2c ¡mean ¡of ¡the ¡beam ¡radii
  • The ¡high-­‑level ¡story ¡remains ¡the ¡same, ¡that ¡variance ¡is ¡inversely ¡propor2onal ¡to ¡the ¡beam ¡radii, ¡and ¡

bias ¡is ¡directly ¡propor2onal ¡to ¡the ¡radii

slide-59
SLIDE 59

■ We ¡show ¡that:

  • a
  • The ¡variance ¡increases ¡linearly ¡as ¡we ¡reduce ¡

the ¡kernel ¡radius ¡r.

  • a
  • The ¡bias ¡decreases ¡linearly ¡as ¡we ¡reduce ¡the ¡

kernel ¡radius ¡r.

Rendering ¡Using ¡Many ¡Beams

30

Variance[Passi] ∝ 1 ri Bias[Passi] ∝ ri

Thursday, 6 September 12

  • In ¡prac2ce, ¡each ¡rendered ¡pass ¡will ¡use ¡many ¡beams, ¡each ¡with ¡their ¡own ¡radius.
  • In ¡the ¡original ¡photon ¡beams ¡method, ¡the ¡radii ¡are ¡computed ¡using ¡photon ¡differen2als ¡to ¡adapt ¡the ¡

blurring ¡across ¡the ¡scene

  • In ¡our ¡paper ¡we ¡show ¡that ¡we ¡can ¡easily ¡generalize ¡the ¡one-­‑beam ¡case ¡to ¡allow ¡for ¡mul2ple ¡beams.
  • The ¡only ¡change ¡that ¡is ¡necessary ¡is ¡that, ¡for ¡variance, ¡the ¡beam ¡radius ¡is ¡replaced ¡by ¡the ¡harmonic ¡

mean ¡of ¡the ¡beam ¡radii

  • For ¡bias, ¡the ¡radius ¡gets ¡replaced ¡by ¡the ¡arithme2c ¡mean ¡of ¡the ¡beam ¡radii
  • The ¡high-­‑level ¡story ¡remains ¡the ¡same, ¡that ¡variance ¡is ¡inversely ¡propor2onal ¡to ¡the ¡beam ¡radii, ¡and ¡

bias ¡is ¡directly ¡propor2onal ¡to ¡the ¡radii

slide-60
SLIDE 60

■ We ¡show ¡that:

  • a
  • The ¡variance ¡increases ¡linearly ¡as ¡we ¡reduce ¡

the ¡kernel ¡radius ¡r.

  • a
  • The ¡bias ¡decreases ¡linearly ¡as ¡we ¡reduce ¡the ¡

kernel ¡radius ¡r.

Rendering ¡Using ¡Many ¡Beams

30

Variance[Passi] ∝ 1 ri Bias[Passi] ∝ ri

harmonic ¡mean ¡

  • f ¡beam ¡radii

Thursday, 6 September 12

  • In ¡prac2ce, ¡each ¡rendered ¡pass ¡will ¡use ¡many ¡beams, ¡each ¡with ¡their ¡own ¡radius.
  • In ¡the ¡original ¡photon ¡beams ¡method, ¡the ¡radii ¡are ¡computed ¡using ¡photon ¡differen2als ¡to ¡adapt ¡the ¡

blurring ¡across ¡the ¡scene

  • In ¡our ¡paper ¡we ¡show ¡that ¡we ¡can ¡easily ¡generalize ¡the ¡one-­‑beam ¡case ¡to ¡allow ¡for ¡mul2ple ¡beams.
  • The ¡only ¡change ¡that ¡is ¡necessary ¡is ¡that, ¡for ¡variance, ¡the ¡beam ¡radius ¡is ¡replaced ¡by ¡the ¡harmonic ¡

mean ¡of ¡the ¡beam ¡radii

  • For ¡bias, ¡the ¡radius ¡gets ¡replaced ¡by ¡the ¡arithme2c ¡mean ¡of ¡the ¡beam ¡radii
  • The ¡high-­‑level ¡story ¡remains ¡the ¡same, ¡that ¡variance ¡is ¡inversely ¡propor2onal ¡to ¡the ¡beam ¡radii, ¡and ¡

bias ¡is ¡directly ¡propor2onal ¡to ¡the ¡radii

slide-61
SLIDE 61

■ We ¡show ¡that:

  • a
  • The ¡variance ¡increases ¡linearly ¡as ¡we ¡reduce ¡

the ¡kernel ¡radius ¡r.

  • a
  • The ¡bias ¡decreases ¡linearly ¡as ¡we ¡reduce ¡the ¡

kernel ¡radius ¡r.

Rendering ¡Using ¡Many ¡Beams

30

Variance[Passi] ∝ 1 ri Bias[Passi] ∝ ri

harmonic ¡mean ¡

  • f ¡beam ¡radii

Thursday, 6 September 12

  • In ¡prac2ce, ¡each ¡rendered ¡pass ¡will ¡use ¡many ¡beams, ¡each ¡with ¡their ¡own ¡radius.
  • In ¡the ¡original ¡photon ¡beams ¡method, ¡the ¡radii ¡are ¡computed ¡using ¡photon ¡differen2als ¡to ¡adapt ¡the ¡

blurring ¡across ¡the ¡scene

  • In ¡our ¡paper ¡we ¡show ¡that ¡we ¡can ¡easily ¡generalize ¡the ¡one-­‑beam ¡case ¡to ¡allow ¡for ¡mul2ple ¡beams.
  • The ¡only ¡change ¡that ¡is ¡necessary ¡is ¡that, ¡for ¡variance, ¡the ¡beam ¡radius ¡is ¡replaced ¡by ¡the ¡harmonic ¡

mean ¡of ¡the ¡beam ¡radii

  • For ¡bias, ¡the ¡radius ¡gets ¡replaced ¡by ¡the ¡arithme2c ¡mean ¡of ¡the ¡beam ¡radii
  • The ¡high-­‑level ¡story ¡remains ¡the ¡same, ¡that ¡variance ¡is ¡inversely ¡propor2onal ¡to ¡the ¡beam ¡radii, ¡and ¡

bias ¡is ¡directly ¡propor2onal ¡to ¡the ¡radii

slide-62
SLIDE 62

■ We ¡show ¡that:

  • a
  • The ¡variance ¡increases ¡linearly ¡as ¡we ¡reduce ¡

the ¡kernel ¡radius ¡r.

  • a
  • The ¡bias ¡decreases ¡linearly ¡as ¡we ¡reduce ¡the ¡

kernel ¡radius ¡r.

Rendering ¡Using ¡Many ¡Beams

30

Variance[Passi] ∝ 1 ri Bias[Passi] ∝ ri

harmonic ¡mean ¡

  • f ¡beam ¡radii

arithmeFc ¡mean ¡

  • f ¡beam ¡radii

Thursday, 6 September 12

  • In ¡prac2ce, ¡each ¡rendered ¡pass ¡will ¡use ¡many ¡beams, ¡each ¡with ¡their ¡own ¡radius.
  • In ¡the ¡original ¡photon ¡beams ¡method, ¡the ¡radii ¡are ¡computed ¡using ¡photon ¡differen2als ¡to ¡adapt ¡the ¡

blurring ¡across ¡the ¡scene

  • In ¡our ¡paper ¡we ¡show ¡that ¡we ¡can ¡easily ¡generalize ¡the ¡one-­‑beam ¡case ¡to ¡allow ¡for ¡mul2ple ¡beams.
  • The ¡only ¡change ¡that ¡is ¡necessary ¡is ¡that, ¡for ¡variance, ¡the ¡beam ¡radius ¡is ¡replaced ¡by ¡the ¡harmonic ¡

mean ¡of ¡the ¡beam ¡radii

  • For ¡bias, ¡the ¡radius ¡gets ¡replaced ¡by ¡the ¡arithme2c ¡mean ¡of ¡the ¡beam ¡radii
  • The ¡high-­‑level ¡story ¡remains ¡the ¡same, ¡that ¡variance ¡is ¡inversely ¡propor2onal ¡to ¡the ¡beam ¡radii, ¡and ¡

bias ¡is ¡directly ¡propor2onal ¡to ¡the ¡radii

slide-63
SLIDE 63

■ Global ¡radius ¡reduc2on ¡factor ¡Ri ¡

which ¡scales ¡all ¡beam ¡radii

Radius ¡ReducFon ¡Sequence

31

Thursday, 6 September 12

  • Our ¡ul2mate ¡goal ¡is ¡to ¡derive ¡a ¡global ¡radius ¡reduc2on ¡factor, ¡which ¡I’ll ¡denote ¡with ¡capital ¡R
  • R ¡will ¡start ¡out ¡at ¡1 ¡in ¡the ¡first ¡pass, ¡and ¡in ¡each ¡subsequent ¡pass, ¡the ¡photon ¡beams ¡radii ¡will ¡be ¡

scaled ¡by ¡this ¡factor ¡[click]

  • We ¡can ¡combine ¡our ¡desired ¡variance ¡ra2o ¡[click], ¡with ¡our ¡rela2on ¡between ¡variance ¡and ¡radius ¡to ¡
  • btain ¡an ¡expression ¡[click] ¡which ¡dictates ¡how ¡the ¡global ¡scaling ¡factor ¡should ¡change ¡across ¡passes ¡

in ¡order ¡to ¡obtain ¡a ¡convergent ¡algorithm.

  • This ¡radius ¡reduc2on ¡factor ¡is ¡what ¡allows ¡our ¡algorithm ¡to, ¡in ¡theory, ¡produce ¡convergent ¡results ¡

across ¡mul2ple ¡passes.

slide-64
SLIDE 64

■ Global ¡radius ¡reduc2on ¡factor ¡Ri ¡

which ¡scales ¡all ¡beam ¡radii

Radius ¡ReducFon ¡Sequence

31

Variance[Passi+1] Variance[Passi] = i + 1 i + α

Thursday, 6 September 12

  • Our ¡ul2mate ¡goal ¡is ¡to ¡derive ¡a ¡global ¡radius ¡reduc2on ¡factor, ¡which ¡I’ll ¡denote ¡with ¡capital ¡R
  • R ¡will ¡start ¡out ¡at ¡1 ¡in ¡the ¡first ¡pass, ¡and ¡in ¡each ¡subsequent ¡pass, ¡the ¡photon ¡beams ¡radii ¡will ¡be ¡

scaled ¡by ¡this ¡factor ¡[click]

  • We ¡can ¡combine ¡our ¡desired ¡variance ¡ra2o ¡[click], ¡with ¡our ¡rela2on ¡between ¡variance ¡and ¡radius ¡to ¡
  • btain ¡an ¡expression ¡[click] ¡which ¡dictates ¡how ¡the ¡global ¡scaling ¡factor ¡should ¡change ¡across ¡passes ¡

in ¡order ¡to ¡obtain ¡a ¡convergent ¡algorithm.

  • This ¡radius ¡reduc2on ¡factor ¡is ¡what ¡allows ¡our ¡algorithm ¡to, ¡in ¡theory, ¡produce ¡convergent ¡results ¡

across ¡mul2ple ¡passes.

slide-65
SLIDE 65

■ Global ¡radius ¡reduc2on ¡factor ¡Ri ¡

which ¡scales ¡all ¡beam ¡radii

Radius ¡ReducFon ¡Sequence

31

Variance[Passi+1] Variance[Passi] = i + 1 i + α Variance[Passi] ∝ 1 rH &

Thursday, 6 September 12

  • Our ¡ul2mate ¡goal ¡is ¡to ¡derive ¡a ¡global ¡radius ¡reduc2on ¡factor, ¡which ¡I’ll ¡denote ¡with ¡capital ¡R
  • R ¡will ¡start ¡out ¡at ¡1 ¡in ¡the ¡first ¡pass, ¡and ¡in ¡each ¡subsequent ¡pass, ¡the ¡photon ¡beams ¡radii ¡will ¡be ¡

scaled ¡by ¡this ¡factor ¡[click]

  • We ¡can ¡combine ¡our ¡desired ¡variance ¡ra2o ¡[click], ¡with ¡our ¡rela2on ¡between ¡variance ¡and ¡radius ¡to ¡
  • btain ¡an ¡expression ¡[click] ¡which ¡dictates ¡how ¡the ¡global ¡scaling ¡factor ¡should ¡change ¡across ¡passes ¡

in ¡order ¡to ¡obtain ¡a ¡convergent ¡algorithm.

  • This ¡radius ¡reduc2on ¡factor ¡is ¡what ¡allows ¡our ¡algorithm ¡to, ¡in ¡theory, ¡produce ¡convergent ¡results ¡

across ¡mul2ple ¡passes.

slide-66
SLIDE 66

■ Global ¡radius ¡reduc2on ¡factor ¡Ri ¡

which ¡scales ¡all ¡beam ¡radii

Ri+1 Ri = i + α i + 1

Radius ¡ReducFon ¡Sequence

31

Variance[Passi+1] Variance[Passi] = i + 1 i + α Variance[Passi] ∝ 1 rH &

Thursday, 6 September 12

  • Our ¡ul2mate ¡goal ¡is ¡to ¡derive ¡a ¡global ¡radius ¡reduc2on ¡factor, ¡which ¡I’ll ¡denote ¡with ¡capital ¡R
  • R ¡will ¡start ¡out ¡at ¡1 ¡in ¡the ¡first ¡pass, ¡and ¡in ¡each ¡subsequent ¡pass, ¡the ¡photon ¡beams ¡radii ¡will ¡be ¡

scaled ¡by ¡this ¡factor ¡[click]

  • We ¡can ¡combine ¡our ¡desired ¡variance ¡ra2o ¡[click], ¡with ¡our ¡rela2on ¡between ¡variance ¡and ¡radius ¡to ¡
  • btain ¡an ¡expression ¡[click] ¡which ¡dictates ¡how ¡the ¡global ¡scaling ¡factor ¡should ¡change ¡across ¡passes ¡

in ¡order ¡to ¡obtain ¡a ¡convergent ¡algorithm.

  • This ¡radius ¡reduc2on ¡factor ¡is ¡what ¡allows ¡our ¡algorithm ¡to, ¡in ¡theory, ¡produce ¡convergent ¡results ¡

across ¡mul2ple ¡passes.

slide-67
SLIDE 67

■ Global ¡radius ¡reduc2on ¡factor ¡Ri ¡

which ¡scales ¡all ¡beam ¡radii

Ri+1 Ri = i + α i + 1

Radius ¡ReducFon ¡Sequence

31

Variance[Passi+1] Variance[Passi] = i + 1 i + α Variance[Passi] ∝ 1 rH &

Thursday, 6 September 12

  • Our ¡ul2mate ¡goal ¡is ¡to ¡derive ¡a ¡global ¡radius ¡reduc2on ¡factor, ¡which ¡I’ll ¡denote ¡with ¡capital ¡R
  • R ¡will ¡start ¡out ¡at ¡1 ¡in ¡the ¡first ¡pass, ¡and ¡in ¡each ¡subsequent ¡pass, ¡the ¡photon ¡beams ¡radii ¡will ¡be ¡

scaled ¡by ¡this ¡factor ¡[click]

  • We ¡can ¡combine ¡our ¡desired ¡variance ¡ra2o ¡[click], ¡with ¡our ¡rela2on ¡between ¡variance ¡and ¡radius ¡to ¡
  • btain ¡an ¡expression ¡[click] ¡which ¡dictates ¡how ¡the ¡global ¡scaling ¡factor ¡should ¡change ¡across ¡passes ¡

in ¡order ¡to ¡obtain ¡a ¡convergent ¡algorithm.

  • This ¡radius ¡reduc2on ¡factor ¡is ¡what ¡allows ¡our ¡algorithm ¡to, ¡in ¡theory, ¡produce ¡convergent ¡results ¡

across ¡mul2ple ¡passes.

slide-68
SLIDE 68

Empirical ¡ValidaFon

32

Thursday, 6 September 12

  • To ¡empirically ¡validate ¡this ¡result, ¡we ¡ran ¡the ¡following ¡experiment ¡on ¡this ¡sphere ¡caus2c ¡scene
  • We ¡first ¡render ¡a ¡high-­‑quality ¡ground ¡truth ¡image
  • Then, ¡we ¡run ¡1 ¡thousand ¡passes ¡of ¡our ¡algorithm ¡with ¡three ¡different ¡serngs ¡for ¡alpha
  • We ¡repeat ¡this ¡10 ¡thousand ¡2mes
  • Given ¡these ¡30 ¡million ¡measurements, ¡we ¡can ¡compute ¡and ¡plot ¡the ¡sample ¡variance ¡and ¡bias ¡at ¡the ¡

highlighted ¡point ¡A ¡for ¡each ¡pass

slide-69
SLIDE 69

Empirical ¡ValidaFon

32

■ Render ¡reference

Thursday, 6 September 12

  • To ¡empirically ¡validate ¡this ¡result, ¡we ¡ran ¡the ¡following ¡experiment ¡on ¡this ¡sphere ¡caus2c ¡scene
  • We ¡first ¡render ¡a ¡high-­‑quality ¡ground ¡truth ¡image
  • Then, ¡we ¡run ¡1 ¡thousand ¡passes ¡of ¡our ¡algorithm ¡with ¡three ¡different ¡serngs ¡for ¡alpha
  • We ¡repeat ¡this ¡10 ¡thousand ¡2mes
  • Given ¡these ¡30 ¡million ¡measurements, ¡we ¡can ¡compute ¡and ¡plot ¡the ¡sample ¡variance ¡and ¡bias ¡at ¡the ¡

highlighted ¡point ¡A ¡for ¡each ¡pass

slide-70
SLIDE 70

Empirical ¡ValidaFon

32

■ Render ¡reference ■ Run ¡1024 ¡passes ¡of ¡

PPB ¡with ¡various ¡α

Thursday, 6 September 12

  • To ¡empirically ¡validate ¡this ¡result, ¡we ¡ran ¡the ¡following ¡experiment ¡on ¡this ¡sphere ¡caus2c ¡scene
  • We ¡first ¡render ¡a ¡high-­‑quality ¡ground ¡truth ¡image
  • Then, ¡we ¡run ¡1 ¡thousand ¡passes ¡of ¡our ¡algorithm ¡with ¡three ¡different ¡serngs ¡for ¡alpha
  • We ¡repeat ¡this ¡10 ¡thousand ¡2mes
  • Given ¡these ¡30 ¡million ¡measurements, ¡we ¡can ¡compute ¡and ¡plot ¡the ¡sample ¡variance ¡and ¡bias ¡at ¡the ¡

highlighted ¡point ¡A ¡for ¡each ¡pass

slide-71
SLIDE 71

Empirical ¡ValidaFon

32

■ Render ¡reference ■ Run ¡1024 ¡passes ¡of ¡

PPB ¡with ¡various ¡α

  • Repeat ¡10K ¡2mes

Thursday, 6 September 12

  • To ¡empirically ¡validate ¡this ¡result, ¡we ¡ran ¡the ¡following ¡experiment ¡on ¡this ¡sphere ¡caus2c ¡scene
  • We ¡first ¡render ¡a ¡high-­‑quality ¡ground ¡truth ¡image
  • Then, ¡we ¡run ¡1 ¡thousand ¡passes ¡of ¡our ¡algorithm ¡with ¡three ¡different ¡serngs ¡for ¡alpha
  • We ¡repeat ¡this ¡10 ¡thousand ¡2mes
  • Given ¡these ¡30 ¡million ¡measurements, ¡we ¡can ¡compute ¡and ¡plot ¡the ¡sample ¡variance ¡and ¡bias ¡at ¡the ¡

highlighted ¡point ¡A ¡for ¡each ¡pass

slide-72
SLIDE 72

Empirical ¡ValidaFon

32

A ¡.

■ Render ¡reference ■ Run ¡1024 ¡passes ¡of ¡

PPB ¡with ¡various ¡α

  • Repeat ¡10K ¡2mes

■ Measure ¡variance ¡

and ¡bias ¡at ¡point ¡A

Thursday, 6 September 12

  • To ¡empirically ¡validate ¡this ¡result, ¡we ¡ran ¡the ¡following ¡experiment ¡on ¡this ¡sphere ¡caus2c ¡scene
  • We ¡first ¡render ¡a ¡high-­‑quality ¡ground ¡truth ¡image
  • Then, ¡we ¡run ¡1 ¡thousand ¡passes ¡of ¡our ¡algorithm ¡with ¡three ¡different ¡serngs ¡for ¡alpha
  • We ¡repeat ¡this ¡10 ¡thousand ¡2mes
  • Given ¡these ¡30 ¡million ¡measurements, ¡we ¡can ¡compute ¡and ¡plot ¡the ¡sample ¡variance ¡and ¡bias ¡at ¡the ¡

highlighted ¡point ¡A ¡for ¡each ¡pass

slide-73
SLIDE 73

Empirical ¡ValidaFon

33

Variance[Passi+1] Variance[Passi] = i + 1 i + α

Thursday, 6 September 12

  • Given ¡our ¡theore2cal ¡variance ¡ra2o, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡in ¡theory ¡looks ¡like ¡this.
  • When ¡alpha ¡is ¡set ¡to ¡be ¡low, ¡the ¡variance ¡of ¡each ¡pass ¡increases ¡quickly. ¡This ¡corresponds ¡to ¡

reducing ¡the ¡radii ¡more ¡rapidly

  • In ¡contrast, ¡when ¡alpha ¡is ¡set ¡high, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡increase ¡slowly.
  • When ¡we ¡plot ¡the ¡sample ¡variance ¡from ¡the ¡data ¡we ¡gathered ¡in ¡our ¡experiment, ¡we ¡see, ¡by ¡using ¡
  • ur ¡radius ¡reduc2on ¡factor, ¡we ¡method ¡strongly ¡agrees ¡with ¡the ¡theore2cal ¡predic2on.
  • More ¡importantly, ¡we ¡are ¡interested ¡in ¡the ¡variance ¡of ¡the ¡running ¡average ¡of ¡the ¡passes
  • The ¡theore2cal ¡model ¡predicts ¡the ¡following ¡behavior
  • Which ¡again, ¡our ¡empirical ¡results ¡confirm.
  • Lastly, ¡our ¡theore2cal ¡model ¡can ¡also ¡predict ¡the ¡bias ¡of ¡each ¡pass, ¡as ¡well ¡as ¡the ¡bias ¡of ¡the ¡average.
  • In ¡theory, ¡the ¡bias ¡should ¡also ¡converge ¡to ¡zero ¡as ¡we ¡increase ¡the ¡number ¡of ¡passes, ¡and ¡we ¡see ¡

here ¡that ¡our ¡empirical ¡data ¡strongly ¡agrees ¡with ¡this ¡predic2on.

  • We ¡see ¡that ¡when ¡alpha ¡is ¡between ¡0 ¡and ¡1 ¡both ¡the ¡variance ¡and ¡the ¡bias ¡of ¡the ¡running ¡average ¡

converge ¡to ¡zero ¡as ¡predicted ¡by ¡our ¡model. ¡Also, ¡the ¡alpha ¡parameter ¡allows ¡the ¡user ¡to ¡control ¡the ¡ rela2ve ¡reduc2on ¡of ¡bias ¡vs ¡reduc2on ¡of ¡variance ¡in ¡the ¡average.

slide-74
SLIDE 74

Empirical ¡ValidaFon

33

Variance of pass α = 0.1 α = 0.5 α = 0.9

Variance[Passi+1] Variance[Passi] = i + 1 i + α

256 512 768 1024 10

  • 3

10

  • 2

10

  • 1

10 10

1

10

2

10

3

Pass i Variance

Theoretical

Thursday, 6 September 12

  • Given ¡our ¡theore2cal ¡variance ¡ra2o, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡in ¡theory ¡looks ¡like ¡this.
  • When ¡alpha ¡is ¡set ¡to ¡be ¡low, ¡the ¡variance ¡of ¡each ¡pass ¡increases ¡quickly. ¡This ¡corresponds ¡to ¡

reducing ¡the ¡radii ¡more ¡rapidly

  • In ¡contrast, ¡when ¡alpha ¡is ¡set ¡high, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡increase ¡slowly.
  • When ¡we ¡plot ¡the ¡sample ¡variance ¡from ¡the ¡data ¡we ¡gathered ¡in ¡our ¡experiment, ¡we ¡see, ¡by ¡using ¡
  • ur ¡radius ¡reduc2on ¡factor, ¡we ¡method ¡strongly ¡agrees ¡with ¡the ¡theore2cal ¡predic2on.
  • More ¡importantly, ¡we ¡are ¡interested ¡in ¡the ¡variance ¡of ¡the ¡running ¡average ¡of ¡the ¡passes
  • The ¡theore2cal ¡model ¡predicts ¡the ¡following ¡behavior
  • Which ¡again, ¡our ¡empirical ¡results ¡confirm.
  • Lastly, ¡our ¡theore2cal ¡model ¡can ¡also ¡predict ¡the ¡bias ¡of ¡each ¡pass, ¡as ¡well ¡as ¡the ¡bias ¡of ¡the ¡average.
  • In ¡theory, ¡the ¡bias ¡should ¡also ¡converge ¡to ¡zero ¡as ¡we ¡increase ¡the ¡number ¡of ¡passes, ¡and ¡we ¡see ¡

here ¡that ¡our ¡empirical ¡data ¡strongly ¡agrees ¡with ¡this ¡predic2on.

  • We ¡see ¡that ¡when ¡alpha ¡is ¡between ¡0 ¡and ¡1 ¡both ¡the ¡variance ¡and ¡the ¡bias ¡of ¡the ¡running ¡average ¡

converge ¡to ¡zero ¡as ¡predicted ¡by ¡our ¡model. ¡Also, ¡the ¡alpha ¡parameter ¡allows ¡the ¡user ¡to ¡control ¡the ¡ rela2ve ¡reduc2on ¡of ¡bias ¡vs ¡reduc2on ¡of ¡variance ¡in ¡the ¡average.

slide-75
SLIDE 75

Empirical ¡ValidaFon

33

Variance of pass α = 0.1 α = 0.5 α = 0.9 Empirical

Variance[Passi+1] Variance[Passi] = i + 1 i + α

256 512 768 1024 10

  • 3

10

  • 2

10

  • 1

10 10

1

10

2

10

3

Pass i Variance

Theoretical

Thursday, 6 September 12

  • Given ¡our ¡theore2cal ¡variance ¡ra2o, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡in ¡theory ¡looks ¡like ¡this.
  • When ¡alpha ¡is ¡set ¡to ¡be ¡low, ¡the ¡variance ¡of ¡each ¡pass ¡increases ¡quickly. ¡This ¡corresponds ¡to ¡

reducing ¡the ¡radii ¡more ¡rapidly

  • In ¡contrast, ¡when ¡alpha ¡is ¡set ¡high, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡increase ¡slowly.
  • When ¡we ¡plot ¡the ¡sample ¡variance ¡from ¡the ¡data ¡we ¡gathered ¡in ¡our ¡experiment, ¡we ¡see, ¡by ¡using ¡
  • ur ¡radius ¡reduc2on ¡factor, ¡we ¡method ¡strongly ¡agrees ¡with ¡the ¡theore2cal ¡predic2on.
  • More ¡importantly, ¡we ¡are ¡interested ¡in ¡the ¡variance ¡of ¡the ¡running ¡average ¡of ¡the ¡passes
  • The ¡theore2cal ¡model ¡predicts ¡the ¡following ¡behavior
  • Which ¡again, ¡our ¡empirical ¡results ¡confirm.
  • Lastly, ¡our ¡theore2cal ¡model ¡can ¡also ¡predict ¡the ¡bias ¡of ¡each ¡pass, ¡as ¡well ¡as ¡the ¡bias ¡of ¡the ¡average.
  • In ¡theory, ¡the ¡bias ¡should ¡also ¡converge ¡to ¡zero ¡as ¡we ¡increase ¡the ¡number ¡of ¡passes, ¡and ¡we ¡see ¡

here ¡that ¡our ¡empirical ¡data ¡strongly ¡agrees ¡with ¡this ¡predic2on.

  • We ¡see ¡that ¡when ¡alpha ¡is ¡between ¡0 ¡and ¡1 ¡both ¡the ¡variance ¡and ¡the ¡bias ¡of ¡the ¡running ¡average ¡

converge ¡to ¡zero ¡as ¡predicted ¡by ¡our ¡model. ¡Also, ¡the ¡alpha ¡parameter ¡allows ¡the ¡user ¡to ¡control ¡the ¡ rela2ve ¡reduc2on ¡of ¡bias ¡vs ¡reduc2on ¡of ¡variance ¡in ¡the ¡average.

slide-76
SLIDE 76

Empirical ¡ValidaFon

33

Variance of pass α = 0.1 α = 0.5 α = 0.9 α = 0.1 α = 0.5 α = 0.9 Variance of average Empirical

Variance[Passi+1] Variance[Passi] = i + 1 i + α

256 512 768 1024 10

  • 3

10

  • 2

10

  • 1

10 10

1

10

2

10

3

Pass i Variance

Theoretical

Thursday, 6 September 12

  • Given ¡our ¡theore2cal ¡variance ¡ra2o, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡in ¡theory ¡looks ¡like ¡this.
  • When ¡alpha ¡is ¡set ¡to ¡be ¡low, ¡the ¡variance ¡of ¡each ¡pass ¡increases ¡quickly. ¡This ¡corresponds ¡to ¡

reducing ¡the ¡radii ¡more ¡rapidly

  • In ¡contrast, ¡when ¡alpha ¡is ¡set ¡high, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡increase ¡slowly.
  • When ¡we ¡plot ¡the ¡sample ¡variance ¡from ¡the ¡data ¡we ¡gathered ¡in ¡our ¡experiment, ¡we ¡see, ¡by ¡using ¡
  • ur ¡radius ¡reduc2on ¡factor, ¡we ¡method ¡strongly ¡agrees ¡with ¡the ¡theore2cal ¡predic2on.
  • More ¡importantly, ¡we ¡are ¡interested ¡in ¡the ¡variance ¡of ¡the ¡running ¡average ¡of ¡the ¡passes
  • The ¡theore2cal ¡model ¡predicts ¡the ¡following ¡behavior
  • Which ¡again, ¡our ¡empirical ¡results ¡confirm.
  • Lastly, ¡our ¡theore2cal ¡model ¡can ¡also ¡predict ¡the ¡bias ¡of ¡each ¡pass, ¡as ¡well ¡as ¡the ¡bias ¡of ¡the ¡average.
  • In ¡theory, ¡the ¡bias ¡should ¡also ¡converge ¡to ¡zero ¡as ¡we ¡increase ¡the ¡number ¡of ¡passes, ¡and ¡we ¡see ¡

here ¡that ¡our ¡empirical ¡data ¡strongly ¡agrees ¡with ¡this ¡predic2on.

  • We ¡see ¡that ¡when ¡alpha ¡is ¡between ¡0 ¡and ¡1 ¡both ¡the ¡variance ¡and ¡the ¡bias ¡of ¡the ¡running ¡average ¡

converge ¡to ¡zero ¡as ¡predicted ¡by ¡our ¡model. ¡Also, ¡the ¡alpha ¡parameter ¡allows ¡the ¡user ¡to ¡control ¡the ¡ rela2ve ¡reduc2on ¡of ¡bias ¡vs ¡reduc2on ¡of ¡variance ¡in ¡the ¡average.

slide-77
SLIDE 77

Empirical ¡ValidaFon

33

Variance of pass α = 0.1 α = 0.5 α = 0.9 α = 0.1 α = 0.5 α = 0.9 Variance of average Empirical

Variance[Passi+1] Variance[Passi] = i + 1 i + α

256 512 768 1024 10

  • 3

10

  • 2

10

  • 1

10 10

1

10

2

10

3

Pass i Variance

Theoretical

Thursday, 6 September 12

  • Given ¡our ¡theore2cal ¡variance ¡ra2o, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡in ¡theory ¡looks ¡like ¡this.
  • When ¡alpha ¡is ¡set ¡to ¡be ¡low, ¡the ¡variance ¡of ¡each ¡pass ¡increases ¡quickly. ¡This ¡corresponds ¡to ¡

reducing ¡the ¡radii ¡more ¡rapidly

  • In ¡contrast, ¡when ¡alpha ¡is ¡set ¡high, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡increase ¡slowly.
  • When ¡we ¡plot ¡the ¡sample ¡variance ¡from ¡the ¡data ¡we ¡gathered ¡in ¡our ¡experiment, ¡we ¡see, ¡by ¡using ¡
  • ur ¡radius ¡reduc2on ¡factor, ¡we ¡method ¡strongly ¡agrees ¡with ¡the ¡theore2cal ¡predic2on.
  • More ¡importantly, ¡we ¡are ¡interested ¡in ¡the ¡variance ¡of ¡the ¡running ¡average ¡of ¡the ¡passes
  • The ¡theore2cal ¡model ¡predicts ¡the ¡following ¡behavior
  • Which ¡again, ¡our ¡empirical ¡results ¡confirm.
  • Lastly, ¡our ¡theore2cal ¡model ¡can ¡also ¡predict ¡the ¡bias ¡of ¡each ¡pass, ¡as ¡well ¡as ¡the ¡bias ¡of ¡the ¡average.
  • In ¡theory, ¡the ¡bias ¡should ¡also ¡converge ¡to ¡zero ¡as ¡we ¡increase ¡the ¡number ¡of ¡passes, ¡and ¡we ¡see ¡

here ¡that ¡our ¡empirical ¡data ¡strongly ¡agrees ¡with ¡this ¡predic2on.

  • We ¡see ¡that ¡when ¡alpha ¡is ¡between ¡0 ¡and ¡1 ¡both ¡the ¡variance ¡and ¡the ¡bias ¡of ¡the ¡running ¡average ¡

converge ¡to ¡zero ¡as ¡predicted ¡by ¡our ¡model. ¡Also, ¡the ¡alpha ¡parameter ¡allows ¡the ¡user ¡to ¡control ¡the ¡ rela2ve ¡reduc2on ¡of ¡bias ¡vs ¡reduc2on ¡of ¡variance ¡in ¡the ¡average.

slide-78
SLIDE 78

Empirical ¡ValidaFon

33

Variance of pass α = 0.1 α = 0.5 α = 0.9 α = 0.1 α = 0.5 α = 0.9 Bias of average α = 0.9 α = 0.5 α = 0.1 Variance of average Empirical

Variance[Passi+1] Variance[Passi] = i + 1 i + α

256 512 768 1024 10

  • 3

10

  • 2

10

  • 1

10 10

1

10

2

10

3

Pass i Variance

256 512 768 1024 10

  • 3

10

  • 2

10

  • 1

Pass i Bias

Theoretical

Thursday, 6 September 12

  • Given ¡our ¡theore2cal ¡variance ¡ra2o, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡in ¡theory ¡looks ¡like ¡this.
  • When ¡alpha ¡is ¡set ¡to ¡be ¡low, ¡the ¡variance ¡of ¡each ¡pass ¡increases ¡quickly. ¡This ¡corresponds ¡to ¡

reducing ¡the ¡radii ¡more ¡rapidly

  • In ¡contrast, ¡when ¡alpha ¡is ¡set ¡high, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡increase ¡slowly.
  • When ¡we ¡plot ¡the ¡sample ¡variance ¡from ¡the ¡data ¡we ¡gathered ¡in ¡our ¡experiment, ¡we ¡see, ¡by ¡using ¡
  • ur ¡radius ¡reduc2on ¡factor, ¡we ¡method ¡strongly ¡agrees ¡with ¡the ¡theore2cal ¡predic2on.
  • More ¡importantly, ¡we ¡are ¡interested ¡in ¡the ¡variance ¡of ¡the ¡running ¡average ¡of ¡the ¡passes
  • The ¡theore2cal ¡model ¡predicts ¡the ¡following ¡behavior
  • Which ¡again, ¡our ¡empirical ¡results ¡confirm.
  • Lastly, ¡our ¡theore2cal ¡model ¡can ¡also ¡predict ¡the ¡bias ¡of ¡each ¡pass, ¡as ¡well ¡as ¡the ¡bias ¡of ¡the ¡average.
  • In ¡theory, ¡the ¡bias ¡should ¡also ¡converge ¡to ¡zero ¡as ¡we ¡increase ¡the ¡number ¡of ¡passes, ¡and ¡we ¡see ¡

here ¡that ¡our ¡empirical ¡data ¡strongly ¡agrees ¡with ¡this ¡predic2on.

  • We ¡see ¡that ¡when ¡alpha ¡is ¡between ¡0 ¡and ¡1 ¡both ¡the ¡variance ¡and ¡the ¡bias ¡of ¡the ¡running ¡average ¡

converge ¡to ¡zero ¡as ¡predicted ¡by ¡our ¡model. ¡Also, ¡the ¡alpha ¡parameter ¡allows ¡the ¡user ¡to ¡control ¡the ¡ rela2ve ¡reduc2on ¡of ¡bias ¡vs ¡reduc2on ¡of ¡variance ¡in ¡the ¡average.

slide-79
SLIDE 79

Empirical ¡ValidaFon

33

Variance of pass α = 0.1 α = 0.5 α = 0.9 α = 0.1 α = 0.5 α = 0.9 Bias of average α = 0.9 α = 0.5 α = 0.1 Variance of average Empirical

Variance[Passi+1] Variance[Passi] = i + 1 i + α

256 512 768 1024 10

  • 3

10

  • 2

10

  • 1

10 10

1

10

2

10

3

Pass i Variance

256 512 768 1024 10

  • 3

10

  • 2

10

  • 1

Pass i Bias

Theoretical

Thursday, 6 September 12

  • Given ¡our ¡theore2cal ¡variance ¡ra2o, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡in ¡theory ¡looks ¡like ¡this.
  • When ¡alpha ¡is ¡set ¡to ¡be ¡low, ¡the ¡variance ¡of ¡each ¡pass ¡increases ¡quickly. ¡This ¡corresponds ¡to ¡

reducing ¡the ¡radii ¡more ¡rapidly

  • In ¡contrast, ¡when ¡alpha ¡is ¡set ¡high, ¡the ¡variance ¡of ¡each ¡pass ¡should ¡increase ¡slowly.
  • When ¡we ¡plot ¡the ¡sample ¡variance ¡from ¡the ¡data ¡we ¡gathered ¡in ¡our ¡experiment, ¡we ¡see, ¡by ¡using ¡
  • ur ¡radius ¡reduc2on ¡factor, ¡we ¡method ¡strongly ¡agrees ¡with ¡the ¡theore2cal ¡predic2on.
  • More ¡importantly, ¡we ¡are ¡interested ¡in ¡the ¡variance ¡of ¡the ¡running ¡average ¡of ¡the ¡passes
  • The ¡theore2cal ¡model ¡predicts ¡the ¡following ¡behavior
  • Which ¡again, ¡our ¡empirical ¡results ¡confirm.
  • Lastly, ¡our ¡theore2cal ¡model ¡can ¡also ¡predict ¡the ¡bias ¡of ¡each ¡pass, ¡as ¡well ¡as ¡the ¡bias ¡of ¡the ¡average.
  • In ¡theory, ¡the ¡bias ¡should ¡also ¡converge ¡to ¡zero ¡as ¡we ¡increase ¡the ¡number ¡of ¡passes, ¡and ¡we ¡see ¡

here ¡that ¡our ¡empirical ¡data ¡strongly ¡agrees ¡with ¡this ¡predic2on.

  • We ¡see ¡that ¡when ¡alpha ¡is ¡between ¡0 ¡and ¡1 ¡both ¡the ¡variance ¡and ¡the ¡bias ¡of ¡the ¡running ¡average ¡

converge ¡to ¡zero ¡as ¡predicted ¡by ¡our ¡model. ¡Also, ¡the ¡alpha ¡parameter ¡allows ¡the ¡user ¡to ¡control ¡the ¡ rela2ve ¡reduc2on ¡of ¡bias ¡vs ¡reduc2on ¡of ¡variance ¡in ¡the ¡average.

slide-80
SLIDE 80

Algorithm

34

Thursday, 6 September 12

  • We ¡can ¡now ¡use ¡our ¡algorithm ¡to ¡render ¡par2cipa2ng ¡media ¡in ¡a ¡progressive ¡fashion ¡[click]
  • The ¡first ¡step ¡is ¡just ¡standard ¡photon ¡beam ¡tracing, ¡the ¡only ¡change ¡is ¡that ¡we ¡scale ¡the ¡beam ¡radii ¡

by ¡the ¡global ¡factor ¡Ri, ¡which ¡starts ¡at ¡1 ¡[click]

  • In ¡the ¡second ¡step, ¡we ¡render ¡the ¡image ¡by ¡tracing ¡random ¡paths ¡through ¡each ¡pixel, ¡and ¡evalua2ng ¡

the ¡radius ¡along ¡each ¡ray ¡using ¡beams ¡[click]

  • We ¡then ¡average ¡the ¡image ¡with ¡our ¡previous ¡results, ¡and ¡display ¡this ¡running ¡average ¡[click]
  • Finally, ¡we ¡reduce ¡the ¡scaling ¡factor, ¡and ¡repeat
  • Note ¡that ¡this ¡is ¡just ¡a ¡simple ¡loop ¡around ¡standard ¡photon ¡beams
  • Also, ¡each ¡itera2on ¡is ¡in ¡fact ¡independent ¡(it ¡only ¡needs ¡knowledge ¡of ¡the ¡pass ¡number), ¡[click] ¡so ¡

we ¡can ¡trivially ¡parallelize ¡this ¡by ¡farming ¡out ¡each ¡pass ¡to ¡a ¡different ¡render ¡node ¡in ¡a ¡large ¡cluster, ¡ and ¡average ¡all ¡the ¡resul2ng ¡images

slide-81
SLIDE 81

Algorithm

Step ¡1:

■ Photon ¡tracing: ¡emit, ¡sca6er, ¡store ¡beams ■ Scale ¡beam ¡widths ¡by ¡global ¡factor ¡Ri

34

Thursday, 6 September 12

  • We ¡can ¡now ¡use ¡our ¡algorithm ¡to ¡render ¡par2cipa2ng ¡media ¡in ¡a ¡progressive ¡fashion ¡[click]
  • The ¡first ¡step ¡is ¡just ¡standard ¡photon ¡beam ¡tracing, ¡the ¡only ¡change ¡is ¡that ¡we ¡scale ¡the ¡beam ¡radii ¡

by ¡the ¡global ¡factor ¡Ri, ¡which ¡starts ¡at ¡1 ¡[click]

  • In ¡the ¡second ¡step, ¡we ¡render ¡the ¡image ¡by ¡tracing ¡random ¡paths ¡through ¡each ¡pixel, ¡and ¡evalua2ng ¡

the ¡radius ¡along ¡each ¡ray ¡using ¡beams ¡[click]

  • We ¡then ¡average ¡the ¡image ¡with ¡our ¡previous ¡results, ¡and ¡display ¡this ¡running ¡average ¡[click]
  • Finally, ¡we ¡reduce ¡the ¡scaling ¡factor, ¡and ¡repeat
  • Note ¡that ¡this ¡is ¡just ¡a ¡simple ¡loop ¡around ¡standard ¡photon ¡beams
  • Also, ¡each ¡itera2on ¡is ¡in ¡fact ¡independent ¡(it ¡only ¡needs ¡knowledge ¡of ¡the ¡pass ¡number), ¡[click] ¡so ¡

we ¡can ¡trivially ¡parallelize ¡this ¡by ¡farming ¡out ¡each ¡pass ¡to ¡a ¡different ¡render ¡node ¡in ¡a ¡large ¡cluster, ¡ and ¡average ¡all ¡the ¡resul2ng ¡images

slide-82
SLIDE 82

Algorithm

Step ¡1:

■ Photon ¡tracing: ¡emit, ¡sca6er, ¡store ¡beams ■ Scale ¡beam ¡widths ¡by ¡global ¡factor ¡Ri

Step ¡2:

■ Trace ¡random ¡camera ¡path, ¡evaluate ¡radiance ¡

es2mate ¡along ¡each ¡ray ¡using ¡beams

34

Thursday, 6 September 12

  • We ¡can ¡now ¡use ¡our ¡algorithm ¡to ¡render ¡par2cipa2ng ¡media ¡in ¡a ¡progressive ¡fashion ¡[click]
  • The ¡first ¡step ¡is ¡just ¡standard ¡photon ¡beam ¡tracing, ¡the ¡only ¡change ¡is ¡that ¡we ¡scale ¡the ¡beam ¡radii ¡

by ¡the ¡global ¡factor ¡Ri, ¡which ¡starts ¡at ¡1 ¡[click]

  • In ¡the ¡second ¡step, ¡we ¡render ¡the ¡image ¡by ¡tracing ¡random ¡paths ¡through ¡each ¡pixel, ¡and ¡evalua2ng ¡

the ¡radius ¡along ¡each ¡ray ¡using ¡beams ¡[click]

  • We ¡then ¡average ¡the ¡image ¡with ¡our ¡previous ¡results, ¡and ¡display ¡this ¡running ¡average ¡[click]
  • Finally, ¡we ¡reduce ¡the ¡scaling ¡factor, ¡and ¡repeat
  • Note ¡that ¡this ¡is ¡just ¡a ¡simple ¡loop ¡around ¡standard ¡photon ¡beams
  • Also, ¡each ¡itera2on ¡is ¡in ¡fact ¡independent ¡(it ¡only ¡needs ¡knowledge ¡of ¡the ¡pass ¡number), ¡[click] ¡so ¡

we ¡can ¡trivially ¡parallelize ¡this ¡by ¡farming ¡out ¡each ¡pass ¡to ¡a ¡different ¡render ¡node ¡in ¡a ¡large ¡cluster, ¡ and ¡average ¡all ¡the ¡resul2ng ¡images

slide-83
SLIDE 83

Algorithm

Step ¡1:

■ Photon ¡tracing: ¡emit, ¡sca6er, ¡store ¡beams ■ Scale ¡beam ¡widths ¡by ¡global ¡factor ¡Ri

Step ¡2:

■ Trace ¡random ¡camera ¡path, ¡evaluate ¡radiance ¡

es2mate ¡along ¡each ¡ray ¡using ¡beams

■ Display ¡running ¡average

34

Thursday, 6 September 12

  • We ¡can ¡now ¡use ¡our ¡algorithm ¡to ¡render ¡par2cipa2ng ¡media ¡in ¡a ¡progressive ¡fashion ¡[click]
  • The ¡first ¡step ¡is ¡just ¡standard ¡photon ¡beam ¡tracing, ¡the ¡only ¡change ¡is ¡that ¡we ¡scale ¡the ¡beam ¡radii ¡

by ¡the ¡global ¡factor ¡Ri, ¡which ¡starts ¡at ¡1 ¡[click]

  • In ¡the ¡second ¡step, ¡we ¡render ¡the ¡image ¡by ¡tracing ¡random ¡paths ¡through ¡each ¡pixel, ¡and ¡evalua2ng ¡

the ¡radius ¡along ¡each ¡ray ¡using ¡beams ¡[click]

  • We ¡then ¡average ¡the ¡image ¡with ¡our ¡previous ¡results, ¡and ¡display ¡this ¡running ¡average ¡[click]
  • Finally, ¡we ¡reduce ¡the ¡scaling ¡factor, ¡and ¡repeat
  • Note ¡that ¡this ¡is ¡just ¡a ¡simple ¡loop ¡around ¡standard ¡photon ¡beams
  • Also, ¡each ¡itera2on ¡is ¡in ¡fact ¡independent ¡(it ¡only ¡needs ¡knowledge ¡of ¡the ¡pass ¡number), ¡[click] ¡so ¡

we ¡can ¡trivially ¡parallelize ¡this ¡by ¡farming ¡out ¡each ¡pass ¡to ¡a ¡different ¡render ¡node ¡in ¡a ¡large ¡cluster, ¡ and ¡average ¡all ¡the ¡resul2ng ¡images

slide-84
SLIDE 84

Algorithm

Step ¡1:

■ Photon ¡tracing: ¡emit, ¡sca6er, ¡store ¡beams ■ Scale ¡beam ¡widths ¡by ¡global ¡factor ¡Ri

Step ¡2:

■ Trace ¡random ¡camera ¡path, ¡evaluate ¡radiance ¡

es2mate ¡along ¡each ¡ray ¡using ¡beams

■ Display ¡running ¡average ■ Reduce ¡global ¡factor Ri ¡and ¡repeat

34

Thursday, 6 September 12

  • We ¡can ¡now ¡use ¡our ¡algorithm ¡to ¡render ¡par2cipa2ng ¡media ¡in ¡a ¡progressive ¡fashion ¡[click]
  • The ¡first ¡step ¡is ¡just ¡standard ¡photon ¡beam ¡tracing, ¡the ¡only ¡change ¡is ¡that ¡we ¡scale ¡the ¡beam ¡radii ¡

by ¡the ¡global ¡factor ¡Ri, ¡which ¡starts ¡at ¡1 ¡[click]

  • In ¡the ¡second ¡step, ¡we ¡render ¡the ¡image ¡by ¡tracing ¡random ¡paths ¡through ¡each ¡pixel, ¡and ¡evalua2ng ¡

the ¡radius ¡along ¡each ¡ray ¡using ¡beams ¡[click]

  • We ¡then ¡average ¡the ¡image ¡with ¡our ¡previous ¡results, ¡and ¡display ¡this ¡running ¡average ¡[click]
  • Finally, ¡we ¡reduce ¡the ¡scaling ¡factor, ¡and ¡repeat
  • Note ¡that ¡this ¡is ¡just ¡a ¡simple ¡loop ¡around ¡standard ¡photon ¡beams
  • Also, ¡each ¡itera2on ¡is ¡in ¡fact ¡independent ¡(it ¡only ¡needs ¡knowledge ¡of ¡the ¡pass ¡number), ¡[click] ¡so ¡

we ¡can ¡trivially ¡parallelize ¡this ¡by ¡farming ¡out ¡each ¡pass ¡to ¡a ¡different ¡render ¡node ¡in ¡a ¡large ¡cluster, ¡ and ¡average ¡all ¡the ¡resul2ng ¡images

slide-85
SLIDE 85

Algorithm

Step ¡1:

■ Photon ¡tracing: ¡emit, ¡sca6er, ¡store ¡beams ■ Scale ¡beam ¡widths ¡by ¡global ¡factor ¡Ri

Step ¡2:

■ Trace ¡random ¡camera ¡path, ¡evaluate ¡radiance ¡

es2mate ¡along ¡each ¡ray ¡using ¡beams

■ Display ¡running ¡average ■ Reduce ¡global ¡factor Ri ¡and ¡repeat

34

Trivially ¡Parallelizable

Thursday, 6 September 12

  • We ¡can ¡now ¡use ¡our ¡algorithm ¡to ¡render ¡par2cipa2ng ¡media ¡in ¡a ¡progressive ¡fashion ¡[click]
  • The ¡first ¡step ¡is ¡just ¡standard ¡photon ¡beam ¡tracing, ¡the ¡only ¡change ¡is ¡that ¡we ¡scale ¡the ¡beam ¡radii ¡

by ¡the ¡global ¡factor ¡Ri, ¡which ¡starts ¡at ¡1 ¡[click]

  • In ¡the ¡second ¡step, ¡we ¡render ¡the ¡image ¡by ¡tracing ¡random ¡paths ¡through ¡each ¡pixel, ¡and ¡evalua2ng ¡

the ¡radius ¡along ¡each ¡ray ¡using ¡beams ¡[click]

  • We ¡then ¡average ¡the ¡image ¡with ¡our ¡previous ¡results, ¡and ¡display ¡this ¡running ¡average ¡[click]
  • Finally, ¡we ¡reduce ¡the ¡scaling ¡factor, ¡and ¡repeat
  • Note ¡that ¡this ¡is ¡just ¡a ¡simple ¡loop ¡around ¡standard ¡photon ¡beams
  • Also, ¡each ¡itera2on ¡is ¡in ¡fact ¡independent ¡(it ¡only ¡needs ¡knowledge ¡of ¡the ¡pass ¡number), ¡[click] ¡so ¡

we ¡can ¡trivially ¡parallelize ¡this ¡by ¡farming ¡out ¡each ¡pass ¡to ¡a ¡different ¡render ¡node ¡in ¡a ¡large ¡cluster, ¡ and ¡average ¡all ¡the ¡resul2ng ¡images

slide-86
SLIDE 86

■ Need ¡to ¡compute ¡transmi6ance: ¡

along ¡photon ¡beam, ¡along ¡camera ¡ray

EvaluaFng ¡the ¡Transmi@ance

35

Thursday, 6 September 12

  • Now, ¡lets ¡turn ¡to ¡some ¡prac2cal ¡details
  • During ¡rendering, ¡to ¡compute ¡the ¡contribu2on ¡of ¡each ¡beam, ¡we ¡need ¡to ¡compute ¡the ¡transmi6ance ¡

along ¡the ¡beam, ¡as ¡well ¡as ¡along ¡the ¡camera ¡ray.

slide-87
SLIDE 87

Homogeneous ¡Media

36

Thursday, 6 September 12

  • In ¡homogeneous ¡media, ¡transmi6ance ¡can ¡be ¡computed ¡analy2cally, ¡and ¡so ¡the ¡intensity ¡of ¡each ¡

beam ¡can ¡be ¡described ¡using ¡this ¡exponen2al ¡a6enua2on ¡curve

slide-88
SLIDE 88

Homogeneous ¡Media

36

Thursday, 6 September 12

  • In ¡homogeneous ¡media, ¡transmi6ance ¡can ¡be ¡computed ¡analy2cally, ¡and ¡so ¡the ¡intensity ¡of ¡each ¡

beam ¡can ¡be ¡described ¡using ¡this ¡exponen2al ¡a6enua2on ¡curve

slide-89
SLIDE 89

Homogeneous ¡Media

37

distance transmittance

Thursday, 6 September 12

  • In ¡homogeneous ¡media, ¡transmi6ance ¡can ¡be ¡computed ¡analy2cally, ¡and ¡so ¡the ¡intensity ¡of ¡each ¡

beam ¡can ¡be ¡described ¡using ¡this ¡exponen2al ¡a6enua2on ¡curve

slide-90
SLIDE 90

Homogeneous ¡Media

37

distance transmittance

Thursday, 6 September 12

  • In ¡homogeneous ¡media, ¡transmi6ance ¡can ¡be ¡computed ¡analy2cally, ¡and ¡so ¡the ¡intensity ¡of ¡each ¡

beam ¡can ¡be ¡described ¡using ¡this ¡exponen2al ¡a6enua2on ¡curve

slide-91
SLIDE 91

Heterogeneous ¡Media

38

distance transmittance

Thursday, 6 September 12

  • The ¡solu2on ¡we ¡proposed ¡in ¡the ¡original ¡photon ¡beams ¡paper ¡was ¡to ¡use ¡ray ¡marching ¡to ¡handle ¡

heterogeneous ¡media ¡[click]

  • This ¡is ¡efficient ¡since ¡we ¡can ¡just ¡ray ¡march ¡along ¡each ¡beam ¡in ¡the ¡preprocess, ¡cache ¡this ¡piecewise ¡

linear ¡transmi6ance ¡approxima2on, ¡and ¡in ¡constant-­‑2me ¡evaluate ¡the ¡transmi6ance ¡for ¡any ¡camera ¡ ray/beam ¡intersec2on ¡during ¡rendering ¡[click]

  • However, ¡ray ¡marching ¡introduces ¡addi2onal ¡bias!
  • We ¡unfortunately ¡cannot ¡use ¡our ¡progressive ¡theory ¡with ¡ray-­‑marched ¡transmi6ance ¡since ¡this ¡

addi2onal ¡bias ¡is ¡not ¡considered ¡in ¡our ¡error ¡analysis. ¡[click]

  • To ¡obtain ¡convergence ¡in ¡heterogeneous ¡media, ¡we ¡need ¡an ¡unbiased ¡transmi6ance ¡es2mator
slide-92
SLIDE 92

■ Ray ¡march

along ¡beams?

Heterogeneous ¡Media

38

distance transmittance

Thursday, 6 September 12

  • The ¡solu2on ¡we ¡proposed ¡in ¡the ¡original ¡photon ¡beams ¡paper ¡was ¡to ¡use ¡ray ¡marching ¡to ¡handle ¡

heterogeneous ¡media ¡[click]

  • This ¡is ¡efficient ¡since ¡we ¡can ¡just ¡ray ¡march ¡along ¡each ¡beam ¡in ¡the ¡preprocess, ¡cache ¡this ¡piecewise ¡

linear ¡transmi6ance ¡approxima2on, ¡and ¡in ¡constant-­‑2me ¡evaluate ¡the ¡transmi6ance ¡for ¡any ¡camera ¡ ray/beam ¡intersec2on ¡during ¡rendering ¡[click]

  • However, ¡ray ¡marching ¡introduces ¡addi2onal ¡bias!
  • We ¡unfortunately ¡cannot ¡use ¡our ¡progressive ¡theory ¡with ¡ray-­‑marched ¡transmi6ance ¡since ¡this ¡

addi2onal ¡bias ¡is ¡not ¡considered ¡in ¡our ¡error ¡analysis. ¡[click]

  • To ¡obtain ¡convergence ¡in ¡heterogeneous ¡media, ¡we ¡need ¡an ¡unbiased ¡transmi6ance ¡es2mator
slide-93
SLIDE 93

■ Ray ¡march

along ¡beams?

✓Inexpensive

Heterogeneous ¡Media

38

distance transmittance

Thursday, 6 September 12

  • The ¡solu2on ¡we ¡proposed ¡in ¡the ¡original ¡photon ¡beams ¡paper ¡was ¡to ¡use ¡ray ¡marching ¡to ¡handle ¡

heterogeneous ¡media ¡[click]

  • This ¡is ¡efficient ¡since ¡we ¡can ¡just ¡ray ¡march ¡along ¡each ¡beam ¡in ¡the ¡preprocess, ¡cache ¡this ¡piecewise ¡

linear ¡transmi6ance ¡approxima2on, ¡and ¡in ¡constant-­‑2me ¡evaluate ¡the ¡transmi6ance ¡for ¡any ¡camera ¡ ray/beam ¡intersec2on ¡during ¡rendering ¡[click]

  • However, ¡ray ¡marching ¡introduces ¡addi2onal ¡bias!
  • We ¡unfortunately ¡cannot ¡use ¡our ¡progressive ¡theory ¡with ¡ray-­‑marched ¡transmi6ance ¡since ¡this ¡

addi2onal ¡bias ¡is ¡not ¡considered ¡in ¡our ¡error ¡analysis. ¡[click]

  • To ¡obtain ¡convergence ¡in ¡heterogeneous ¡media, ¡we ¡need ¡an ¡unbiased ¡transmi6ance ¡es2mator
slide-94
SLIDE 94

■ Ray ¡march

along ¡beams?

✓Inexpensive

  • ­‑ Introduces ¡AddiFonal ¡Bias!

Heterogeneous ¡Media

38

distance transmittance

Thursday, 6 September 12

  • The ¡solu2on ¡we ¡proposed ¡in ¡the ¡original ¡photon ¡beams ¡paper ¡was ¡to ¡use ¡ray ¡marching ¡to ¡handle ¡

heterogeneous ¡media ¡[click]

  • This ¡is ¡efficient ¡since ¡we ¡can ¡just ¡ray ¡march ¡along ¡each ¡beam ¡in ¡the ¡preprocess, ¡cache ¡this ¡piecewise ¡

linear ¡transmi6ance ¡approxima2on, ¡and ¡in ¡constant-­‑2me ¡evaluate ¡the ¡transmi6ance ¡for ¡any ¡camera ¡ ray/beam ¡intersec2on ¡during ¡rendering ¡[click]

  • However, ¡ray ¡marching ¡introduces ¡addi2onal ¡bias!
  • We ¡unfortunately ¡cannot ¡use ¡our ¡progressive ¡theory ¡with ¡ray-­‑marched ¡transmi6ance ¡since ¡this ¡

addi2onal ¡bias ¡is ¡not ¡considered ¡in ¡our ¡error ¡analysis. ¡[click]

  • To ¡obtain ¡convergence ¡in ¡heterogeneous ¡media, ¡we ¡need ¡an ¡unbiased ¡transmi6ance ¡es2mator
slide-95
SLIDE 95

■ Ray ¡march

along ¡beams?

✓Inexpensive

  • ­‑ Introduces ¡AddiFonal ¡Bias!

■ Need ¡an ¡unbiased ¡transmi6ance ¡es2mator

Heterogeneous ¡Media

38

distance transmittance

Thursday, 6 September 12

  • The ¡solu2on ¡we ¡proposed ¡in ¡the ¡original ¡photon ¡beams ¡paper ¡was ¡to ¡use ¡ray ¡marching ¡to ¡handle ¡

heterogeneous ¡media ¡[click]

  • This ¡is ¡efficient ¡since ¡we ¡can ¡just ¡ray ¡march ¡along ¡each ¡beam ¡in ¡the ¡preprocess, ¡cache ¡this ¡piecewise ¡

linear ¡transmi6ance ¡approxima2on, ¡and ¡in ¡constant-­‑2me ¡evaluate ¡the ¡transmi6ance ¡for ¡any ¡camera ¡ ray/beam ¡intersec2on ¡during ¡rendering ¡[click]

  • However, ¡ray ¡marching ¡introduces ¡addi2onal ¡bias!
  • We ¡unfortunately ¡cannot ¡use ¡our ¡progressive ¡theory ¡with ¡ray-­‑marched ¡transmi6ance ¡since ¡this ¡

addi2onal ¡bias ¡is ¡not ¡considered ¡in ¡our ¡error ¡analysis. ¡[click]

  • To ¡obtain ¡convergence ¡in ¡heterogeneous ¡media, ¡we ¡need ¡an ¡unbiased ¡transmi6ance ¡es2mator
slide-96
SLIDE 96

Unbiased ¡Heterogeneous ¡Transmi@ance

■ Unbiased ¡transmi6ance ¡es2mators ¡exist

  • [Woodcock ¡et ¡al. ¡1965]
  • [Raab ¡et ¡al. ¡2008]
  • [Yue ¡et ¡al. ¡2010]
  • [Szirmay-­‑Kalos ¡et ¡al. ¡2011]

39

Thursday, 6 September 12

  • Unbiased ¡transmi6ance ¡es2mators ¡do ¡in ¡fact ¡exist ¡[click]
  • The ¡problem ¡is ¡that ¡they ¡are ¡slow ¡and ¡noisy
  • and, ¡they ¡are ¡not ¡cache-­‑able. ¡Meaning, ¡we ¡cannot ¡store ¡some ¡representa2on ¡along ¡each ¡beam, ¡and ¡

quickly ¡re-­‑evaluate ¡during ¡rendering ¡like ¡we ¡did ¡with ¡ray ¡marching

slide-97
SLIDE 97

Unbiased ¡Heterogeneous ¡Transmi@ance

■ Unbiased ¡transmi6ance ¡es2mators ¡exist

  • [Woodcock ¡et ¡al. ¡1965]
  • [Raab ¡et ¡al. ¡2008]
  • [Yue ¡et ¡al. ¡2010]
  • [Szirmay-­‑Kalos ¡et ¡al. ¡2011]
  • ­‑ slow/noisy
  • ­‑ not ¡cache-­‑able

40

Thursday, 6 September 12

  • Unbiased ¡transmi6ance ¡es2mators ¡do ¡in ¡fact ¡exist ¡[click]
  • The ¡problem ¡is ¡that ¡they ¡are ¡slow ¡and ¡noisy
  • and, ¡they ¡are ¡not ¡cache-­‑able. ¡Meaning, ¡we ¡cannot ¡store ¡some ¡representa2on ¡along ¡each ¡beam, ¡and ¡

quickly ¡re-­‑evaluate ¡during ¡rendering ¡like ¡we ¡did ¡with ¡ray ¡marching

slide-98
SLIDE 98

Transmi@ance ¡using ¡Free-­‑flight ¡Distance

41

Thursday, 6 September 12

  • If ¡we ¡want ¡to ¡compute ¡the ¡transmi6ance ¡along ¡the ¡beam ¡to ¡some ¡loca2on ¡y ¡[click]
  • The ¡standard ¡way ¡to ¡do ¡this ¡in ¡an ¡unbiased ¡way ¡is ¡to ¡generate ¡a ¡random ¡free-­‑flight ¡propaga2on ¡

distance ¡[click], ¡d ¡(this ¡can ¡be ¡done ¡for ¡both ¡homogeneous ¡media, ¡and ¡heterogeneous ¡media ¡using ¡ something ¡like ¡woodcock ¡tracking) ¡[click]

  • we ¡can ¡then ¡es2mate ¡transmi6ance ¡by ¡comparing ¡whether ¡this ¡distance ¡is ¡greater ¡than ¡or ¡less ¡than ¡

the ¡distance ¡from ¡x ¡to ¡y ¡[click]

  • Depending ¡on ¡where ¡our ¡random ¡distance ¡lands, ¡we ¡es2mate ¡transmi6ance ¡as ¡either ¡0 ¡or ¡1
  • Now, ¡this ¡is ¡unbiased, ¡but ¡as ¡I ¡said, ¡its ¡also ¡extremely ¡noisy
slide-99
SLIDE 99

Transmi@ance ¡using ¡Free-­‑flight ¡Distance

41

x

Thursday, 6 September 12

  • If ¡we ¡want ¡to ¡compute ¡the ¡transmi6ance ¡along ¡the ¡beam ¡to ¡some ¡loca2on ¡y ¡[click]
  • The ¡standard ¡way ¡to ¡do ¡this ¡in ¡an ¡unbiased ¡way ¡is ¡to ¡generate ¡a ¡random ¡free-­‑flight ¡propaga2on ¡

distance ¡[click], ¡d ¡(this ¡can ¡be ¡done ¡for ¡both ¡homogeneous ¡media, ¡and ¡heterogeneous ¡media ¡using ¡ something ¡like ¡woodcock ¡tracking) ¡[click]

  • we ¡can ¡then ¡es2mate ¡transmi6ance ¡by ¡comparing ¡whether ¡this ¡distance ¡is ¡greater ¡than ¡or ¡less ¡than ¡

the ¡distance ¡from ¡x ¡to ¡y ¡[click]

  • Depending ¡on ¡where ¡our ¡random ¡distance ¡lands, ¡we ¡es2mate ¡transmi6ance ¡as ¡either ¡0 ¡or ¡1
  • Now, ¡this ¡is ¡unbiased, ¡but ¡as ¡I ¡said, ¡its ¡also ¡extremely ¡noisy
slide-100
SLIDE 100

Tr(x, y) = ?

Transmi@ance ¡using ¡Free-­‑flight ¡Distance

41

y x

Thursday, 6 September 12

  • If ¡we ¡want ¡to ¡compute ¡the ¡transmi6ance ¡along ¡the ¡beam ¡to ¡some ¡loca2on ¡y ¡[click]
  • The ¡standard ¡way ¡to ¡do ¡this ¡in ¡an ¡unbiased ¡way ¡is ¡to ¡generate ¡a ¡random ¡free-­‑flight ¡propaga2on ¡

distance ¡[click], ¡d ¡(this ¡can ¡be ¡done ¡for ¡both ¡homogeneous ¡media, ¡and ¡heterogeneous ¡media ¡using ¡ something ¡like ¡woodcock ¡tracking) ¡[click]

  • we ¡can ¡then ¡es2mate ¡transmi6ance ¡by ¡comparing ¡whether ¡this ¡distance ¡is ¡greater ¡than ¡or ¡less ¡than ¡

the ¡distance ¡from ¡x ¡to ¡y ¡[click]

  • Depending ¡on ¡where ¡our ¡random ¡distance ¡lands, ¡we ¡es2mate ¡transmi6ance ¡as ¡either ¡0 ¡or ¡1
  • Now, ¡this ¡is ¡unbiased, ¡but ¡as ¡I ¡said, ¡its ¡also ¡extremely ¡noisy
slide-101
SLIDE 101

Tr(x, y) = ?

Transmi@ance ¡using ¡Free-­‑flight ¡Distance

41

y x d

Thursday, 6 September 12

  • If ¡we ¡want ¡to ¡compute ¡the ¡transmi6ance ¡along ¡the ¡beam ¡to ¡some ¡loca2on ¡y ¡[click]
  • The ¡standard ¡way ¡to ¡do ¡this ¡in ¡an ¡unbiased ¡way ¡is ¡to ¡generate ¡a ¡random ¡free-­‑flight ¡propaga2on ¡

distance ¡[click], ¡d ¡(this ¡can ¡be ¡done ¡for ¡both ¡homogeneous ¡media, ¡and ¡heterogeneous ¡media ¡using ¡ something ¡like ¡woodcock ¡tracking) ¡[click]

  • we ¡can ¡then ¡es2mate ¡transmi6ance ¡by ¡comparing ¡whether ¡this ¡distance ¡is ¡greater ¡than ¡or ¡less ¡than ¡

the ¡distance ¡from ¡x ¡to ¡y ¡[click]

  • Depending ¡on ¡where ¡our ¡random ¡distance ¡lands, ¡we ¡es2mate ¡transmi6ance ¡as ¡either ¡0 ¡or ¡1
  • Now, ¡this ¡is ¡unbiased, ¡but ¡as ¡I ¡said, ¡its ¡also ¡extremely ¡noisy
slide-102
SLIDE 102

Tr(x, y) ⇡ ky xk < d

Transmi@ance ¡using ¡Free-­‑flight ¡Distance

41

y x d

Thursday, 6 September 12

  • If ¡we ¡want ¡to ¡compute ¡the ¡transmi6ance ¡along ¡the ¡beam ¡to ¡some ¡loca2on ¡y ¡[click]
  • The ¡standard ¡way ¡to ¡do ¡this ¡in ¡an ¡unbiased ¡way ¡is ¡to ¡generate ¡a ¡random ¡free-­‑flight ¡propaga2on ¡

distance ¡[click], ¡d ¡(this ¡can ¡be ¡done ¡for ¡both ¡homogeneous ¡media, ¡and ¡heterogeneous ¡media ¡using ¡ something ¡like ¡woodcock ¡tracking) ¡[click]

  • we ¡can ¡then ¡es2mate ¡transmi6ance ¡by ¡comparing ¡whether ¡this ¡distance ¡is ¡greater ¡than ¡or ¡less ¡than ¡

the ¡distance ¡from ¡x ¡to ¡y ¡[click]

  • Depending ¡on ¡where ¡our ¡random ¡distance ¡lands, ¡we ¡es2mate ¡transmi6ance ¡as ¡either ¡0 ¡or ¡1
  • Now, ¡this ¡is ¡unbiased, ¡but ¡as ¡I ¡said, ¡its ¡also ¡extremely ¡noisy
slide-103
SLIDE 103

| {z }

Tr(x, y) ⇡ ky xk < d

Transmi@ance ¡using ¡Free-­‑flight ¡Distance

41

y x d

Thursday, 6 September 12

  • If ¡we ¡want ¡to ¡compute ¡the ¡transmi6ance ¡along ¡the ¡beam ¡to ¡some ¡loca2on ¡y ¡[click]
  • The ¡standard ¡way ¡to ¡do ¡this ¡in ¡an ¡unbiased ¡way ¡is ¡to ¡generate ¡a ¡random ¡free-­‑flight ¡propaga2on ¡

distance ¡[click], ¡d ¡(this ¡can ¡be ¡done ¡for ¡both ¡homogeneous ¡media, ¡and ¡heterogeneous ¡media ¡using ¡ something ¡like ¡woodcock ¡tracking) ¡[click]

  • we ¡can ¡then ¡es2mate ¡transmi6ance ¡by ¡comparing ¡whether ¡this ¡distance ¡is ¡greater ¡than ¡or ¡less ¡than ¡

the ¡distance ¡from ¡x ¡to ¡y ¡[click]

  • Depending ¡on ¡where ¡our ¡random ¡distance ¡lands, ¡we ¡es2mate ¡transmi6ance ¡as ¡either ¡0 ¡or ¡1
  • Now, ¡this ¡is ¡unbiased, ¡but ¡as ¡I ¡said, ¡its ¡also ¡extremely ¡noisy
slide-104
SLIDE 104

Transmi@ance ¡using ¡Free-­‑flight ¡Distance

42

y x d1 d0 d2 d3 d4

Tr(x, y) ≈ 2

5

■Compute ¡n ¡distances, ¡average:

Thursday, 6 September 12

  • To ¡improve ¡the ¡quality, ¡you ¡can ¡simply ¡repeat ¡this ¡a ¡number ¡of ¡2mes: ¡compute ¡several ¡distances ¡(in ¡

this ¡case ¡I’m ¡using ¡5) ¡and ¡then ¡just ¡count ¡how ¡many ¡of ¡those ¡distances ¡propagated ¡past ¡our ¡point ¡y

slide-105
SLIDE 105

Transmi@ance ¡using ¡Free-­‑flight ¡Distance

43

■Perform ¡this ¡for ¡each ¡ray/beam ¡intersec2on?

x

Thursday, 6 September 12

  • The ¡problem ¡is ¡that ¡we ¡have ¡to ¡do ¡this ¡for ¡every ¡ray/beam ¡intersec2on, ¡and ¡there ¡may ¡be ¡[click] ¡

thousands ¡of ¡these ¡for ¡a ¡single ¡beam, ¡so ¡repea2ng ¡this ¡for ¡each ¡intersec2on ¡would ¡be ¡completely ¡ imprac2cal

slide-106
SLIDE 106

Transmi@ance ¡using ¡Free-­‑flight ¡Distance

43

■Perform ¡this ¡for ¡each ¡ray/beam ¡intersec2on? ■Slow!

  • x

Thursday, 6 September 12

  • The ¡problem ¡is ¡that ¡we ¡have ¡to ¡do ¡this ¡for ¡every ¡ray/beam ¡intersec2on, ¡and ¡there ¡may ¡be ¡[click] ¡

thousands ¡of ¡these ¡for ¡a ¡single ¡beam, ¡so ¡repea2ng ¡this ¡for ¡each ¡intersec2on ¡would ¡be ¡completely ¡ imprac2cal

slide-107
SLIDE 107

Transmi@ance ¡using ¡Free-­‑flight ¡Distance

44

y x d1 d0 d2 d3 d4

Tr(x, y) ≈ 2

5

■Store ¡n ¡distances, ¡re-­‑evaluate:

Thursday, 6 September 12

  • To ¡arrive ¡at ¡our ¡efficient ¡solu2on, ¡we ¡make ¡the ¡observa2on ¡that ¡once ¡we ¡have ¡computed ¡several ¡

random ¡distances ¡for ¡some ¡loca2on ¡y, ¡we ¡can ¡also ¡re-­‑evaluate ¡the ¡transmi6ance ¡at ¡arbitrary ¡ loca2ons ¡along ¡the ¡beam, ¡by ¡simply ¡coun2ng ¡how ¡many ¡samples ¡fell ¡before ¡and ¡how ¡many ¡aler ¡our ¡ evalua2on ¡loca2on ¡y

  • Hence, ¡we ¡can ¡compute ¡these ¡propaga2on ¡distances ¡once ¡for ¡each ¡beam, ¡and ¡cache ¡them ¡with ¡the ¡

beams ¡for ¡evalua2on ¡during ¡rendering

slide-108
SLIDE 108

Tr(x, y) ≈ 5

5

Transmi@ance ¡using ¡Free-­‑flight ¡Distance

44

y x d1 d0 d2 d3 d4

■Store ¡n ¡distances, ¡re-­‑evaluate:

Thursday, 6 September 12

  • To ¡arrive ¡at ¡our ¡efficient ¡solu2on, ¡we ¡make ¡the ¡observa2on ¡that ¡once ¡we ¡have ¡computed ¡several ¡

random ¡distances ¡for ¡some ¡loca2on ¡y, ¡we ¡can ¡also ¡re-­‑evaluate ¡the ¡transmi6ance ¡at ¡arbitrary ¡ loca2ons ¡along ¡the ¡beam, ¡by ¡simply ¡coun2ng ¡how ¡many ¡samples ¡fell ¡before ¡and ¡how ¡many ¡aler ¡our ¡ evalua2on ¡loca2on ¡y

  • Hence, ¡we ¡can ¡compute ¡these ¡propaga2on ¡distances ¡once ¡for ¡each ¡beam, ¡and ¡cache ¡them ¡with ¡the ¡

beams ¡for ¡evalua2on ¡during ¡rendering

slide-109
SLIDE 109

■Step-­‑approxima2on ¡to ¡transmi6ance

Transmi@ance ¡using ¡Free-­‑flight ¡Distance

45

d1 d0 d2 d3

≈ Tr(x, y)

d4

Thursday, 6 September 12

  • This ¡effec2vely ¡stores ¡a ¡piece-­‑wise ¡constant ¡step-­‑approxima2on ¡to ¡the ¡transmi6ance ¡with ¡each ¡

beam

  • This ¡has ¡the ¡convenience ¡of ¡the ¡ray ¡marching ¡solu2on, ¡since ¡we ¡can ¡compactly ¡cache ¡it ¡and ¡quickly ¡

re-­‑evaluate, ¡but ¡addi2onally ¡it ¡is ¡unbiased.

slide-110
SLIDE 110

Transmi@ance ¡ValidaFon

46

Homogeneous Step Exponentially Increasing Gaussian

Extinction coefficient Analytic Transmittance Estimated Transmittance

Thursday, 6 September 12

  • To ¡confirm ¡that ¡this ¡[click]
  • we ¡used ¡this ¡technique ¡to ¡compute ¡transmi6ance ¡for ¡a ¡number ¡of ¡media ¡configura2ons ¡[click]
  • where ¡the ¡transmi6ance ¡can ¡be ¡computed ¡analy2cally
slide-111
SLIDE 111

Transmi@ance ¡ValidaFon

46

Homogeneous Step Exponentially Increasing Gaussian

Extinction coefficient Analytic Transmittance Estimated Transmittance

Thursday, 6 September 12

  • To ¡confirm ¡that ¡this ¡[click]
  • we ¡used ¡this ¡technique ¡to ¡compute ¡transmi6ance ¡for ¡a ¡number ¡of ¡media ¡configura2ons ¡[click]
  • where ¡the ¡transmi6ance ¡can ¡be ¡computed ¡analy2cally
slide-112
SLIDE 112

Transmi@ance ¡ValidaFon

46

Homogeneous Step Exponentially Increasing Gaussian

Extinction coefficient Analytic Transmittance Estimated Transmittance

Thursday, 6 September 12

  • To ¡confirm ¡that ¡this ¡[click]
  • we ¡used ¡this ¡technique ¡to ¡compute ¡transmi6ance ¡for ¡a ¡number ¡of ¡media ¡configura2ons ¡[click]
  • where ¡the ¡transmi6ance ¡can ¡be ¡computed ¡analy2cally
slide-113
SLIDE 113

Transmi@ance ¡ValidaFon

47

Homogeneous Step Exponentially Increasing Gaussian

Extinction coefficient Analytic Transmittance Estimated Transmittance

1 ¡pass

Thursday, 6 September 12

  • If ¡we ¡use ¡just ¡4 ¡propaga2on ¡distances, ¡we ¡get ¡a ¡pre6y ¡course ¡approxima2on ¡of ¡the ¡transmi6ance
slide-114
SLIDE 114

Transmi@ance ¡ValidaFon

48

Homogeneous Step Exponentially Increasing Gaussian

Extinction coefficient Analytic Transmittance Estimated Transmittance

16 ¡passes

Thursday, 6 September 12

  • However, ¡since ¡the ¡method ¡is ¡unbiased, ¡by ¡just ¡performing ¡this ¡independently ¡for ¡each ¡pass, ¡we ¡ ¡can ¡

reduce ¡the ¡error ¡of ¡the ¡approxima2on

slide-115
SLIDE 115

Transmi@ance ¡ValidaFon

49

Homogeneous Step Exponentially Increasing Gaussian

Extinction coefficient Analytic Transmittance Estimated Transmittance

2048 ¡passes

Thursday, 6 September 12

  • which ¡is ¡guaranteed ¡to ¡converge ¡to ¡the ¡correct ¡solu2on ¡with ¡more ¡passes
slide-116
SLIDE 116

Algorithm ¡(Heterogeneous)

50

Thursday, 6 September 12

  • We ¡use ¡this ¡approach ¡to ¡handle ¡heterogeneous ¡media
  • This ¡requires ¡modifying ¡our ¡base ¡algorithm ¡in ¡two ¡simple ¡ways: ¡[click]
  • During ¡photon ¡tracing, ¡we ¡compute ¡and ¡store ¡several ¡propaga2on ¡distances ¡with ¡each ¡beam ¡[click]
  • Similarly, ¡before ¡we ¡start ¡rendering, ¡we ¡compute ¡and ¡store ¡several ¡propaga2on ¡distances ¡for ¡each ¡

pixel ¡in ¡the ¡image

  • We ¡repeat ¡these ¡extra ¡steps ¡with ¡different ¡random ¡numbers ¡in ¡each ¡pass ¡to ¡ensure ¡convergence
slide-117
SLIDE 117

Algorithm ¡(Heterogeneous)

Step ¡1:

+ Compute/store ¡n-­‑step ¡transmi6ance ¡ with ¡each ¡beam

50

Thursday, 6 September 12

  • We ¡use ¡this ¡approach ¡to ¡handle ¡heterogeneous ¡media
  • This ¡requires ¡modifying ¡our ¡base ¡algorithm ¡in ¡two ¡simple ¡ways: ¡[click]
  • During ¡photon ¡tracing, ¡we ¡compute ¡and ¡store ¡several ¡propaga2on ¡distances ¡with ¡each ¡beam ¡[click]
  • Similarly, ¡before ¡we ¡start ¡rendering, ¡we ¡compute ¡and ¡store ¡several ¡propaga2on ¡distances ¡for ¡each ¡

pixel ¡in ¡the ¡image

  • We ¡repeat ¡these ¡extra ¡steps ¡with ¡different ¡random ¡numbers ¡in ¡each ¡pass ¡to ¡ensure ¡convergence
slide-118
SLIDE 118

Algorithm ¡(Heterogeneous)

Step ¡1:

+ Compute/store ¡n-­‑step ¡transmi6ance ¡ with ¡each ¡beam

Step ¡2:

+ Compute/store ¡n-­‑step ¡transmi6ance ¡for ¡ each ¡pixel

50

Thursday, 6 September 12

  • We ¡use ¡this ¡approach ¡to ¡handle ¡heterogeneous ¡media
  • This ¡requires ¡modifying ¡our ¡base ¡algorithm ¡in ¡two ¡simple ¡ways: ¡[click]
  • During ¡photon ¡tracing, ¡we ¡compute ¡and ¡store ¡several ¡propaga2on ¡distances ¡with ¡each ¡beam ¡[click]
  • Similarly, ¡before ¡we ¡start ¡rendering, ¡we ¡compute ¡and ¡store ¡several ¡propaga2on ¡distances ¡for ¡each ¡

pixel ¡in ¡the ¡image

  • We ¡repeat ¡these ¡extra ¡steps ¡with ¡different ¡random ¡numbers ¡in ¡each ¡pass ¡to ¡ensure ¡convergence
slide-119
SLIDE 119

Results ¡& ¡ImplementaFon

■ 3 ¡implementa2ons:

  • GPU-­‑only ¡Op2X ¡ray-­‑tracer
  • GPU-­‑only ¡rasteriza2on
  • General: ¡Hybrid ¡CPU/GPU

51

Thursday, 6 September 12

  • To ¡show ¡that ¡our ¡approach ¡can ¡easily ¡be ¡applied ¡to ¡different ¡compu2ng ¡plaxorms, ¡we ¡demonstrate ¡
  • ur ¡results ¡using ¡three ¡different ¡implementa2ons.
slide-120
SLIDE 120

Results ¡& ¡ImplementaFon

■ 3 ¡implementa2ons:

  • GPU-­‑only ¡Op2X ¡ray-­‑tracer
  • GPU-­‑only ¡rasteriza2on
  • General: ¡Hybrid ¡CPU/GPU

52

Thursday, 6 September 12

  • Firstly, ¡we ¡implemented ¡the ¡technique ¡on ¡the ¡GPU ¡using ¡NVIDIA’s ¡Op2X ¡ray-­‑tracing ¡framework
slide-121
SLIDE 121

53

scene ¡courtesy ¡of ¡Bruce ¡Walter

Thursday, 6 September 12

  • We ¡ran ¡our ¡algorithm ¡on ¡the ¡BumpySphere ¡scene ¡which ¡we ¡used ¡in ¡our ¡original ¡photon ¡beams ¡

paper.

  • This ¡is ¡a ¡deformed ¡refrac2ng ¡sphere ¡filled ¡with ¡a ¡homogeneous ¡medium, ¡such ¡as ¡amber ¡for ¡instance
  • With ¡a ¡thousand ¡beams ¡per ¡pass ¡the ¡scene ¡renders ¡interac2vely, ¡and ¡quickly ¡converges ¡to ¡a ¡crisp ¡

solu2on ¡in ¡a ¡ma6er ¡of ¡seconds

  • Here ¡the ¡user ¡can ¡manipula2ng ¡the ¡light ¡source ¡direc2on ¡or ¡change ¡the ¡camera’s ¡view ¡and ¡the ¡

algorithm ¡quickly ¡converges

slide-122
SLIDE 122

Results ¡& ¡ImplementaFon

■ 3 ¡implementa2ons:

  • GPU-­‑only ¡Op2X ¡ray-­‑tracer
  • GPU-­‑only ¡rasterizaFon
  • General: ¡Hybrid ¡CPU/GPU

54

Thursday, 6 September 12

  • In ¡a ¡ray-­‑tracing ¡framework, ¡we ¡need ¡to ¡intersect ¡all ¡camera ¡rays ¡with ¡all ¡beams
  • This ¡is ¡easily ¡the ¡most ¡expensive ¡part ¡of ¡the ¡algorithm
slide-123
SLIDE 123

Results ¡& ¡ImplementaFon

■ 3 ¡implementa2ons:

  • GPU-­‑only ¡Op2X ¡ray-­‑tracer ¡
  • GPU-­‑only ¡rasterizaFon
  • General: ¡Hybrid ¡CPU/GPU

55

Thursday, 6 September 12

  • In ¡a ¡ray-­‑tracing ¡framework, ¡we ¡need ¡to ¡intersect ¡all ¡camera ¡rays ¡with ¡all ¡beams
  • This ¡is ¡easily ¡the ¡most ¡expensive ¡part ¡of ¡the ¡algorithm
  • To ¡make ¡this ¡more ¡efficient, ¡we ¡can ¡render ¡the ¡directly-­‑visible ¡beams ¡as ¡axial-­‑billboards ¡using ¡

rasteriza2on ¡on ¡the ¡GPU.

slide-124
SLIDE 124

56

Thursday, 6 September 12

  • In ¡this ¡ocean ¡scene, ¡beams ¡are ¡generated, ¡refracted ¡at ¡the ¡ocean ¡surface, ¡and ¡rasterized ¡en2rely ¡on ¡

the ¡GPU

  • If ¡we ¡limit ¡the ¡number ¡of ¡beams ¡per ¡pass ¡we ¡can ¡easily ¡scale ¡from ¡real-­‑2me ¡results, ¡to ¡interac2ve ¡

results, ¡all ¡the ¡way ¡to ¡reference ¡quality ¡results ¡if ¡we ¡let ¡the ¡algorithm ¡converge ¡over ¡the ¡course ¡of ¡a ¡ few ¡seconds.

slide-125
SLIDE 125

Results ¡& ¡ImplementaFon

■ 3 ¡implementa2ons:

  • GPU-­‑only ¡Op2X ¡ray-­‑tracer
  • GPU-­‑only ¡rasteriza2on
  • General: ¡Hybrid ¡CPU/GPU

57

Thursday, 6 September 12

  • Our ¡most ¡complex ¡results ¡are ¡rendered ¡in ¡a ¡general ¡implementa2on ¡which ¡uses ¡a ¡combina2on ¡of ¡

the ¡CPU ¡and ¡GPU.

  • We ¡use ¡the ¡rasteriza2on ¡op2miza2on ¡I ¡just ¡men2oned ¡to ¡offload ¡directly-­‑visible ¡media ¡computa2on ¡
  • nto ¡the ¡GPU, ¡while ¡handling ¡secondary ¡reflec2ons ¡and ¡refrac2ons ¡off ¡of ¡surfaces ¡using ¡ray ¡tracing ¡
  • n ¡the ¡CPU
slide-126
SLIDE 126

58

[Sun ¡et ¡al. ¡2010]

scene ¡courtesy ¡of ¡Xin ¡Sun

Line-­‑space ¡Gathering

SOCCER

512x512

Thursday, 6 September 12

  • Xin ¡Sun ¡kindly ¡shared ¡their ¡Soccer ¡scene ¡with ¡us, ¡rendered ¡here ¡using ¡their ¡line-­‑space ¡gathering ¡

algorithm

  • For ¡comparison, ¡we ¡also ¡ran ¡our ¡algorithm ¡on ¡this ¡scene, ¡and ¡addi2onally ¡simulate ¡mul2ple ¡

sca6ering, ¡which ¡line-­‑space ¡gather ¡does ¡not ¡support.

slide-127
SLIDE 127

16 ¡passes 7.5 ¡seconds ¡CPU+GPU Our ¡Method

59

[Sun ¡et ¡al. ¡2010]

scene ¡courtesy ¡of ¡Xin ¡Sun

Line-­‑space ¡Gathering SOCCER 512x512

Thursday, 6 September 12

  • We ¡can ¡obtain ¡fast ¡preview ¡quality ¡results ¡from ¡16 ¡passes, ¡aler ¡about ¡7 ¡and ¡a ¡half ¡seconds
slide-128
SLIDE 128

512 ¡passes 61 ¡seconds ¡CPU+GPU Our ¡Method

60

[Sun ¡et ¡al. ¡2010] 73 ¡min ¡(CPU); ¡6.5 ¡min ¡(GPU)

scene ¡courtesy ¡of ¡Xin ¡Sun

Line-­‑space ¡Gathering SOCCER 512x512

✴ evaluated ¡on ¡similar, ¡but ¡not ¡iden2cal ¡systems

Thursday, 6 September 12

  • Aler ¡512 ¡passes ¡and ¡about ¡a ¡minute ¡of ¡computa2on, ¡our ¡hybrid ¡CPU+GPU ¡renderer ¡produces ¡noise-­‑

free ¡results

  • In ¡comparison, ¡the ¡performance ¡reported ¡by ¡the ¡line-­‑space ¡gathering ¡paper ¡is ¡73 ¡minutes ¡on ¡the ¡

CPU ¡or ¡6.5 ¡minutes ¡on ¡the ¡GPU.

slide-129
SLIDE 129

CARS

Pass ¡1

1280x720, ¡Depth-­‑of-­‑Field

Homogeneous Heterogeneous

Thursday, 6 September 12

  • In ¡the ¡last ¡three ¡results ¡I ¡show ¡the ¡heterogeneous ¡version ¡on ¡the ¡bo6om, ¡and ¡homogeneous ¡version ¡

at ¡the ¡top

  • In ¡all ¡these ¡scenes, ¡the ¡light ¡sources ¡(such ¡as ¡the ¡street ¡lights ¡and ¡the ¡headlights ¡of ¡the ¡cars) ¡are ¡

encased ¡in ¡glass, ¡which ¡produce ¡interes2ng ¡and ¡realis2c ¡angular ¡varia2on ¡in ¡the ¡ligh2ng

  • Note ¡that ¡the ¡individual ¡passes ¡of ¡heterogeneous ¡media ¡on ¡the ¡lel ¡show ¡this ¡swiss-­‑cheese ¡effect, ¡

which ¡is ¡due ¡to ¡our ¡piecewise-­‑step ¡transmi6ance ¡representa2on, ¡but ¡this ¡quickly ¡converges ¡to ¡a ¡ smooth ¡result ¡when ¡averaged ¡across ¡passes.

slide-130
SLIDE 130

CARS

Pass ¡2 Average ¡of ¡Passes ¡1..2

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡the ¡last ¡three ¡results ¡I ¡show ¡the ¡heterogeneous ¡version ¡on ¡the ¡bo6om, ¡and ¡homogeneous ¡version ¡

at ¡the ¡top

  • In ¡all ¡these ¡scenes, ¡the ¡light ¡sources ¡(such ¡as ¡the ¡street ¡lights ¡and ¡the ¡headlights ¡of ¡the ¡cars) ¡are ¡

encased ¡in ¡glass, ¡which ¡produce ¡interes2ng ¡and ¡realis2c ¡angular ¡varia2on ¡in ¡the ¡ligh2ng

  • Note ¡that ¡the ¡individual ¡passes ¡of ¡heterogeneous ¡media ¡on ¡the ¡lel ¡show ¡this ¡swiss-­‑cheese ¡effect, ¡

which ¡is ¡due ¡to ¡our ¡piecewise-­‑step ¡transmi6ance ¡representa2on, ¡but ¡this ¡quickly ¡converges ¡to ¡a ¡ smooth ¡result ¡when ¡averaged ¡across ¡passes.

slide-131
SLIDE 131

CARS

Pass ¡4 Average ¡of ¡Passes ¡1..4

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡the ¡last ¡three ¡results ¡I ¡show ¡the ¡heterogeneous ¡version ¡on ¡the ¡bo6om, ¡and ¡homogeneous ¡version ¡

at ¡the ¡top

  • In ¡all ¡these ¡scenes, ¡the ¡light ¡sources ¡(such ¡as ¡the ¡street ¡lights ¡and ¡the ¡headlights ¡of ¡the ¡cars) ¡are ¡

encased ¡in ¡glass, ¡which ¡produce ¡interes2ng ¡and ¡realis2c ¡angular ¡varia2on ¡in ¡the ¡ligh2ng

  • Note ¡that ¡the ¡individual ¡passes ¡of ¡heterogeneous ¡media ¡on ¡the ¡lel ¡show ¡this ¡swiss-­‑cheese ¡effect, ¡

which ¡is ¡due ¡to ¡our ¡piecewise-­‑step ¡transmi6ance ¡representa2on, ¡but ¡this ¡quickly ¡converges ¡to ¡a ¡ smooth ¡result ¡when ¡averaged ¡across ¡passes.

slide-132
SLIDE 132

CARS

Pass ¡8 Average ¡of ¡Passes ¡1..8

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡the ¡last ¡three ¡results ¡I ¡show ¡the ¡heterogeneous ¡version ¡on ¡the ¡bo6om, ¡and ¡homogeneous ¡version ¡

at ¡the ¡top

  • In ¡all ¡these ¡scenes, ¡the ¡light ¡sources ¡(such ¡as ¡the ¡street ¡lights ¡and ¡the ¡headlights ¡of ¡the ¡cars) ¡are ¡

encased ¡in ¡glass, ¡which ¡produce ¡interes2ng ¡and ¡realis2c ¡angular ¡varia2on ¡in ¡the ¡ligh2ng

  • Note ¡that ¡the ¡individual ¡passes ¡of ¡heterogeneous ¡media ¡on ¡the ¡lel ¡show ¡this ¡swiss-­‑cheese ¡effect, ¡

which ¡is ¡due ¡to ¡our ¡piecewise-­‑step ¡transmi6ance ¡representa2on, ¡but ¡this ¡quickly ¡converges ¡to ¡a ¡ smooth ¡result ¡when ¡averaged ¡across ¡passes.

slide-133
SLIDE 133

CARS

Pass ¡16 Average ¡of ¡Passes ¡1..16

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡the ¡last ¡three ¡results ¡I ¡show ¡the ¡heterogeneous ¡version ¡on ¡the ¡bo6om, ¡and ¡homogeneous ¡version ¡

at ¡the ¡top

  • In ¡all ¡these ¡scenes, ¡the ¡light ¡sources ¡(such ¡as ¡the ¡street ¡lights ¡and ¡the ¡headlights ¡of ¡the ¡cars) ¡are ¡

encased ¡in ¡glass, ¡which ¡produce ¡interes2ng ¡and ¡realis2c ¡angular ¡varia2on ¡in ¡the ¡ligh2ng

  • Note ¡that ¡the ¡individual ¡passes ¡of ¡heterogeneous ¡media ¡on ¡the ¡lel ¡show ¡this ¡swiss-­‑cheese ¡effect, ¡

which ¡is ¡due ¡to ¡our ¡piecewise-­‑step ¡transmi6ance ¡representa2on, ¡but ¡this ¡quickly ¡converges ¡to ¡a ¡ smooth ¡result ¡when ¡averaged ¡across ¡passes.

slide-134
SLIDE 134

CARS

Pass ¡32 Average ¡of ¡Passes ¡1..32

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡the ¡last ¡three ¡results ¡I ¡show ¡the ¡heterogeneous ¡version ¡on ¡the ¡bo6om, ¡and ¡homogeneous ¡version ¡

at ¡the ¡top

  • In ¡all ¡these ¡scenes, ¡the ¡light ¡sources ¡(such ¡as ¡the ¡street ¡lights ¡and ¡the ¡headlights ¡of ¡the ¡cars) ¡are ¡

encased ¡in ¡glass, ¡which ¡produce ¡interes2ng ¡and ¡realis2c ¡angular ¡varia2on ¡in ¡the ¡ligh2ng

  • Note ¡that ¡the ¡individual ¡passes ¡of ¡heterogeneous ¡media ¡on ¡the ¡lel ¡show ¡this ¡swiss-­‑cheese ¡effect, ¡

which ¡is ¡due ¡to ¡our ¡piecewise-­‑step ¡transmi6ance ¡representa2on, ¡but ¡this ¡quickly ¡converges ¡to ¡a ¡ smooth ¡result ¡when ¡averaged ¡across ¡passes.

slide-135
SLIDE 135

CARS

Pass ¡64 Average ¡of ¡Passes ¡1..64

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡the ¡last ¡three ¡results ¡I ¡show ¡the ¡heterogeneous ¡version ¡on ¡the ¡bo6om, ¡and ¡homogeneous ¡version ¡

at ¡the ¡top

  • In ¡all ¡these ¡scenes, ¡the ¡light ¡sources ¡(such ¡as ¡the ¡street ¡lights ¡and ¡the ¡headlights ¡of ¡the ¡cars) ¡are ¡

encased ¡in ¡glass, ¡which ¡produce ¡interes2ng ¡and ¡realis2c ¡angular ¡varia2on ¡in ¡the ¡ligh2ng

  • Note ¡that ¡the ¡individual ¡passes ¡of ¡heterogeneous ¡media ¡on ¡the ¡lel ¡show ¡this ¡swiss-­‑cheese ¡effect, ¡

which ¡is ¡due ¡to ¡our ¡piecewise-­‑step ¡transmi6ance ¡representa2on, ¡but ¡this ¡quickly ¡converges ¡to ¡a ¡ smooth ¡result ¡when ¡averaged ¡across ¡passes.

slide-136
SLIDE 136

CARS

Pass ¡128 Average ¡of ¡Passes ¡1..128

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡the ¡last ¡three ¡results ¡I ¡show ¡the ¡heterogeneous ¡version ¡on ¡the ¡bo6om, ¡and ¡homogeneous ¡version ¡

at ¡the ¡top

  • In ¡all ¡these ¡scenes, ¡the ¡light ¡sources ¡(such ¡as ¡the ¡street ¡lights ¡and ¡the ¡headlights ¡of ¡the ¡cars) ¡are ¡

encased ¡in ¡glass, ¡which ¡produce ¡interes2ng ¡and ¡realis2c ¡angular ¡varia2on ¡in ¡the ¡ligh2ng

  • Note ¡that ¡the ¡individual ¡passes ¡of ¡heterogeneous ¡media ¡on ¡the ¡lel ¡show ¡this ¡swiss-­‑cheese ¡effect, ¡

which ¡is ¡due ¡to ¡our ¡piecewise-­‑step ¡transmi6ance ¡representa2on, ¡but ¡this ¡quickly ¡converges ¡to ¡a ¡ smooth ¡result ¡when ¡averaged ¡across ¡passes.

slide-137
SLIDE 137

CARS

Pass ¡256 Average ¡of ¡Passes ¡1..256

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡the ¡last ¡three ¡results ¡I ¡show ¡the ¡heterogeneous ¡version ¡on ¡the ¡bo6om, ¡and ¡homogeneous ¡version ¡

at ¡the ¡top

  • In ¡all ¡these ¡scenes, ¡the ¡light ¡sources ¡(such ¡as ¡the ¡street ¡lights ¡and ¡the ¡headlights ¡of ¡the ¡cars) ¡are ¡

encased ¡in ¡glass, ¡which ¡produce ¡interes2ng ¡and ¡realis2c ¡angular ¡varia2on ¡in ¡the ¡ligh2ng

  • Note ¡that ¡the ¡individual ¡passes ¡of ¡heterogeneous ¡media ¡on ¡the ¡lel ¡show ¡this ¡swiss-­‑cheese ¡effect, ¡

which ¡is ¡due ¡to ¡our ¡piecewise-­‑step ¡transmi6ance ¡representa2on, ¡but ¡this ¡quickly ¡converges ¡to ¡a ¡ smooth ¡result ¡when ¡averaged ¡across ¡passes.

slide-138
SLIDE 138

CARS

Pass ¡512 Average ¡of ¡Passes ¡1..512

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡the ¡last ¡three ¡results ¡I ¡show ¡the ¡heterogeneous ¡version ¡on ¡the ¡bo6om, ¡and ¡homogeneous ¡version ¡

at ¡the ¡top

  • In ¡all ¡these ¡scenes, ¡the ¡light ¡sources ¡(such ¡as ¡the ¡street ¡lights ¡and ¡the ¡headlights ¡of ¡the ¡cars) ¡are ¡

encased ¡in ¡glass, ¡which ¡produce ¡interes2ng ¡and ¡realis2c ¡angular ¡varia2on ¡in ¡the ¡ligh2ng

  • Note ¡that ¡the ¡individual ¡passes ¡of ¡heterogeneous ¡media ¡on ¡the ¡lel ¡show ¡this ¡swiss-­‑cheese ¡effect, ¡

which ¡is ¡due ¡to ¡our ¡piecewise-­‑step ¡transmi6ance ¡representa2on, ¡but ¡this ¡quickly ¡converges ¡to ¡a ¡ smooth ¡result ¡when ¡averaged ¡across ¡passes.

slide-139
SLIDE 139

CARS

Pass ¡1024 Average ¡of ¡Passes ¡1..1024

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡the ¡last ¡three ¡results ¡I ¡show ¡the ¡heterogeneous ¡version ¡on ¡the ¡bo6om, ¡and ¡homogeneous ¡version ¡

at ¡the ¡top

  • In ¡all ¡these ¡scenes, ¡the ¡light ¡sources ¡(such ¡as ¡the ¡street ¡lights ¡and ¡the ¡headlights ¡of ¡the ¡cars) ¡are ¡

encased ¡in ¡glass, ¡which ¡produce ¡interes2ng ¡and ¡realis2c ¡angular ¡varia2on ¡in ¡the ¡ligh2ng

  • Note ¡that ¡the ¡individual ¡passes ¡of ¡heterogeneous ¡media ¡on ¡the ¡lel ¡show ¡this ¡swiss-­‑cheese ¡effect, ¡

which ¡is ¡due ¡to ¡our ¡piecewise-­‑step ¡transmi6ance ¡representa2on, ¡but ¡this ¡quickly ¡converges ¡to ¡a ¡ smooth ¡result ¡when ¡averaged ¡across ¡passes.

slide-140
SLIDE 140

72

Homogeneous

14.55M ¡Photon ¡Beams 9.5 ¡minutes

Heterogeneous

15.04M ¡Photon ¡Beams 16.8 ¡minutes

CARS

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-141
SLIDE 141

72

Homogeneous

14.55M ¡Photon ¡Beams 9.5 ¡minutes

Heterogeneous

15.04M ¡Photon ¡Beams 16.8 ¡minutes

CARS

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-142
SLIDE 142

FLASHLIGHTS

Pass ¡1 Average ¡of ¡Passes ¡1..1

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡this ¡flashlight ¡scene, ¡we ¡again ¡have ¡light ¡sources ¡encased ¡in ¡glass ¡and ¡mirror ¡elements
  • Also ¡note ¡that ¡we ¡can ¡trivially ¡support ¡depth-­‑of-­‑field ¡since ¡we ¡are ¡averaging ¡over ¡mul2ple ¡passes
slide-143
SLIDE 143

Pass ¡2 Average ¡of ¡Passes ¡1..2

FLASHLIGHTS

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡this ¡flashlight ¡scene, ¡we ¡again ¡have ¡light ¡sources ¡encased ¡in ¡glass ¡and ¡mirror ¡elements
  • Also ¡note ¡that ¡we ¡can ¡trivially ¡support ¡depth-­‑of-­‑field ¡since ¡we ¡are ¡averaging ¡over ¡mul2ple ¡passes
slide-144
SLIDE 144

Pass ¡4 Average ¡of ¡Passes ¡1..4

FLASHLIGHTS

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡this ¡flashlight ¡scene, ¡we ¡again ¡have ¡light ¡sources ¡encased ¡in ¡glass ¡and ¡mirror ¡elements
  • Also ¡note ¡that ¡we ¡can ¡trivially ¡support ¡depth-­‑of-­‑field ¡since ¡we ¡are ¡averaging ¡over ¡mul2ple ¡passes
slide-145
SLIDE 145

Pass ¡8 Average ¡of ¡Passes ¡1..8

FLASHLIGHTS

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡this ¡flashlight ¡scene, ¡we ¡again ¡have ¡light ¡sources ¡encased ¡in ¡glass ¡and ¡mirror ¡elements
  • Also ¡note ¡that ¡we ¡can ¡trivially ¡support ¡depth-­‑of-­‑field ¡since ¡we ¡are ¡averaging ¡over ¡mul2ple ¡passes
slide-146
SLIDE 146

Pass ¡16 Average ¡of ¡Passes ¡1..16

FLASHLIGHTS

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡this ¡flashlight ¡scene, ¡we ¡again ¡have ¡light ¡sources ¡encased ¡in ¡glass ¡and ¡mirror ¡elements
  • Also ¡note ¡that ¡we ¡can ¡trivially ¡support ¡depth-­‑of-­‑field ¡since ¡we ¡are ¡averaging ¡over ¡mul2ple ¡passes
slide-147
SLIDE 147

Pass ¡32 Average ¡of ¡Passes ¡1..32

FLASHLIGHTS

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡this ¡flashlight ¡scene, ¡we ¡again ¡have ¡light ¡sources ¡encased ¡in ¡glass ¡and ¡mirror ¡elements
  • Also ¡note ¡that ¡we ¡can ¡trivially ¡support ¡depth-­‑of-­‑field ¡since ¡we ¡are ¡averaging ¡over ¡mul2ple ¡passes
slide-148
SLIDE 148

Pass ¡64 Average ¡of ¡Passes ¡1..64

FLASHLIGHTS

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡this ¡flashlight ¡scene, ¡we ¡again ¡have ¡light ¡sources ¡encased ¡in ¡glass ¡and ¡mirror ¡elements
  • Also ¡note ¡that ¡we ¡can ¡trivially ¡support ¡depth-­‑of-­‑field ¡since ¡we ¡are ¡averaging ¡over ¡mul2ple ¡passes
slide-149
SLIDE 149

Pass ¡128 Average ¡of ¡Passes ¡1..128

FLASHLIGHTS

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡this ¡flashlight ¡scene, ¡we ¡again ¡have ¡light ¡sources ¡encased ¡in ¡glass ¡and ¡mirror ¡elements
  • Also ¡note ¡that ¡we ¡can ¡trivially ¡support ¡depth-­‑of-­‑field ¡since ¡we ¡are ¡averaging ¡over ¡mul2ple ¡passes
slide-150
SLIDE 150

Pass ¡256 Average ¡of ¡Passes ¡1..256

FLASHLIGHTS

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

  • In ¡this ¡flashlight ¡scene, ¡we ¡again ¡have ¡light ¡sources ¡encased ¡in ¡glass ¡and ¡mirror ¡elements
  • Also ¡note ¡that ¡we ¡can ¡trivially ¡support ¡depth-­‑of-­‑field ¡since ¡we ¡are ¡averaging ¡over ¡mul2ple ¡passes
slide-151
SLIDE 151

82

Homogeneous

2.1M ¡Photon ¡Beams 8 ¡minutes

Heterogeneous

2.1M ¡Photon ¡Beams 10.8 ¡minutes

FLASHLIGHTS

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-152
SLIDE 152

82

Homogeneous

2.1M ¡Photon ¡Beams 8 ¡minutes

Heterogeneous

2.1M ¡Photon ¡Beams 10.8 ¡minutes

FLASHLIGHTS

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-153
SLIDE 153

DISCO

Pass ¡1 Average ¡of ¡Passes ¡1..1

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-154
SLIDE 154

Pass ¡2 Average ¡of ¡Passes ¡1..2

DISCO

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-155
SLIDE 155

Pass ¡4 Average ¡of ¡Passes ¡1..4

DISCO

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-156
SLIDE 156

Pass ¡8 Average ¡of ¡Passes ¡1..8

DISCO

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-157
SLIDE 157

Pass ¡16 Average ¡of ¡Passes ¡1..16

DISCO

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-158
SLIDE 158

Pass ¡32 Average ¡of ¡Passes ¡1..32

DISCO

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-159
SLIDE 159

Pass ¡64 Average ¡of ¡Passes ¡1..64

DISCO

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-160
SLIDE 160

Pass ¡128 Average ¡of ¡Passes ¡1..128

DISCO

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-161
SLIDE 161

Pass ¡256 Average ¡of ¡Passes ¡1..256

DISCO

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-162
SLIDE 162

Pass ¡512 Average ¡of ¡Passes ¡1..512

DISCO

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-163
SLIDE 163

Pass ¡1024 Average ¡of ¡Passes ¡1..1024

DISCO

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-164
SLIDE 164

94

Homogeneous

19.67M ¡Photon ¡Beams 3 ¡minutes

Heterogeneous

16.19M ¡Photon ¡Beams 5.7 ¡minutes

DISCO

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-165
SLIDE 165

94

Homogeneous

19.67M ¡Photon ¡Beams 3 ¡minutes

Heterogeneous

16.19M ¡Photon ¡Beams 5.7 ¡minutes

DISCO

1280x720, ¡Depth-­‑of-­‑Field

Thursday, 6 September 12

slide-166
SLIDE 166

95

Thursday, 6 September 12

  • An ¡important ¡aspect ¡of ¡our ¡algorithm ¡is ¡that ¡it ¡provides ¡a ¡quick ¡interac2ve ¡preview ¡when ¡

manipula2ng ¡the ¡scene, ¡while ¡rapidly ¡converging ¡to ¡the ¡ground-­‑truth ¡solu2on ¡when ¡the ¡user ¡lets ¡go ¡

  • f ¡the ¡mouse.
slide-167
SLIDE 167

96

LimitaFons ¡& ¡Future ¡Work

Thursday, 6 September 12

  • There ¡are ¡of ¡course ¡some ¡limita2ons
  • Firstly, ¡photon ¡beams ¡are ¡fantas2c ¡at ¡reconstruc2ng ¡caus2c ¡light ¡paths, ¡but ¡mul2ple ¡sca6ering ¡

effects ¡can ¡s2ll ¡be ¡quite ¡costly

  • Also, ¡though ¡our ¡approach ¡is ¡convergent ¡with ¡any ¡alpha ¡between ¡0 ¡and ¡1, ¡this ¡is ¡fixed ¡for ¡the ¡en2re ¡

image, ¡it ¡might ¡be ¡possible ¡to ¡adapt ¡alpha ¡in ¡different ¡regions ¡of ¡the ¡image ¡to ¡accelerate ¡ convergence

  • Our ¡theory ¡tells ¡you ¡how ¡to ¡reduce ¡the ¡radii ¡if ¡you ¡want ¡an ¡unbiased ¡image ¡in ¡the ¡limit. ¡However, ¡an ¡

interes2ng ¡prac2cal ¡ques2on ¡is, ¡if ¡you ¡know ¡you ¡only ¡have ¡a ¡certain ¡2me ¡budget, ¡would ¡this ¡affect ¡ the ¡op2mal ¡reduc2on ¡factor?

  • Finally, ¡though ¡our ¡transmi6ance ¡es2mator ¡is ¡unbiased, ¡it ¡also ¡increases ¡variance, ¡especially ¡in ¡

dense ¡media. ¡It ¡would ¡be ¡interes2ng ¡to ¡see ¡if ¡an ¡unbiased ¡but ¡smoother ¡es2mator ¡for ¡transmi6ance ¡ is ¡possible.

slide-168
SLIDE 168

96

LimitaFons ¡& ¡Future ¡Work

■ Mul2ple ¡sca6ering ¡(rela2vely) ¡costly

Thursday, 6 September 12

  • There ¡are ¡of ¡course ¡some ¡limita2ons
  • Firstly, ¡photon ¡beams ¡are ¡fantas2c ¡at ¡reconstruc2ng ¡caus2c ¡light ¡paths, ¡but ¡mul2ple ¡sca6ering ¡

effects ¡can ¡s2ll ¡be ¡quite ¡costly

  • Also, ¡though ¡our ¡approach ¡is ¡convergent ¡with ¡any ¡alpha ¡between ¡0 ¡and ¡1, ¡this ¡is ¡fixed ¡for ¡the ¡en2re ¡

image, ¡it ¡might ¡be ¡possible ¡to ¡adapt ¡alpha ¡in ¡different ¡regions ¡of ¡the ¡image ¡to ¡accelerate ¡ convergence

  • Our ¡theory ¡tells ¡you ¡how ¡to ¡reduce ¡the ¡radii ¡if ¡you ¡want ¡an ¡unbiased ¡image ¡in ¡the ¡limit. ¡However, ¡an ¡

interes2ng ¡prac2cal ¡ques2on ¡is, ¡if ¡you ¡know ¡you ¡only ¡have ¡a ¡certain ¡2me ¡budget, ¡would ¡this ¡affect ¡ the ¡op2mal ¡reduc2on ¡factor?

  • Finally, ¡though ¡our ¡transmi6ance ¡es2mator ¡is ¡unbiased, ¡it ¡also ¡increases ¡variance, ¡especially ¡in ¡

dense ¡media. ¡It ¡would ¡be ¡interes2ng ¡to ¡see ¡if ¡an ¡unbiased ¡but ¡smoother ¡es2mator ¡for ¡transmi6ance ¡ is ¡possible.

slide-169
SLIDE 169

96

LimitaFons ¡& ¡Future ¡Work

■ Mul2ple ¡sca6ering ¡(rela2vely) ¡costly ■ Single ¡α ¡not ¡op2mal ¡for ¡en2re ¡image

  • adap2ve ¡α ¡possible?

Thursday, 6 September 12

  • There ¡are ¡of ¡course ¡some ¡limita2ons
  • Firstly, ¡photon ¡beams ¡are ¡fantas2c ¡at ¡reconstruc2ng ¡caus2c ¡light ¡paths, ¡but ¡mul2ple ¡sca6ering ¡

effects ¡can ¡s2ll ¡be ¡quite ¡costly

  • Also, ¡though ¡our ¡approach ¡is ¡convergent ¡with ¡any ¡alpha ¡between ¡0 ¡and ¡1, ¡this ¡is ¡fixed ¡for ¡the ¡en2re ¡

image, ¡it ¡might ¡be ¡possible ¡to ¡adapt ¡alpha ¡in ¡different ¡regions ¡of ¡the ¡image ¡to ¡accelerate ¡ convergence

  • Our ¡theory ¡tells ¡you ¡how ¡to ¡reduce ¡the ¡radii ¡if ¡you ¡want ¡an ¡unbiased ¡image ¡in ¡the ¡limit. ¡However, ¡an ¡

interes2ng ¡prac2cal ¡ques2on ¡is, ¡if ¡you ¡know ¡you ¡only ¡have ¡a ¡certain ¡2me ¡budget, ¡would ¡this ¡affect ¡ the ¡op2mal ¡reduc2on ¡factor?

  • Finally, ¡though ¡our ¡transmi6ance ¡es2mator ¡is ¡unbiased, ¡it ¡also ¡increases ¡variance, ¡especially ¡in ¡

dense ¡media. ¡It ¡would ¡be ¡interes2ng ¡to ¡see ¡if ¡an ¡unbiased ¡but ¡smoother ¡es2mator ¡for ¡transmi6ance ¡ is ¡possible.

slide-170
SLIDE 170

96

LimitaFons ¡& ¡Future ¡Work

■ Mul2ple ¡sca6ering ¡(rela2vely) ¡costly ■ Single ¡α ¡not ¡op2mal ¡for ¡en2re ¡image

  • adap2ve ¡α ¡possible?

■ Radius ¡reduc2on ¡for ¡finite ¡2me ¡budget?

Thursday, 6 September 12

  • There ¡are ¡of ¡course ¡some ¡limita2ons
  • Firstly, ¡photon ¡beams ¡are ¡fantas2c ¡at ¡reconstruc2ng ¡caus2c ¡light ¡paths, ¡but ¡mul2ple ¡sca6ering ¡

effects ¡can ¡s2ll ¡be ¡quite ¡costly

  • Also, ¡though ¡our ¡approach ¡is ¡convergent ¡with ¡any ¡alpha ¡between ¡0 ¡and ¡1, ¡this ¡is ¡fixed ¡for ¡the ¡en2re ¡

image, ¡it ¡might ¡be ¡possible ¡to ¡adapt ¡alpha ¡in ¡different ¡regions ¡of ¡the ¡image ¡to ¡accelerate ¡ convergence

  • Our ¡theory ¡tells ¡you ¡how ¡to ¡reduce ¡the ¡radii ¡if ¡you ¡want ¡an ¡unbiased ¡image ¡in ¡the ¡limit. ¡However, ¡an ¡

interes2ng ¡prac2cal ¡ques2on ¡is, ¡if ¡you ¡know ¡you ¡only ¡have ¡a ¡certain ¡2me ¡budget, ¡would ¡this ¡affect ¡ the ¡op2mal ¡reduc2on ¡factor?

  • Finally, ¡though ¡our ¡transmi6ance ¡es2mator ¡is ¡unbiased, ¡it ¡also ¡increases ¡variance, ¡especially ¡in ¡

dense ¡media. ¡It ¡would ¡be ¡interes2ng ¡to ¡see ¡if ¡an ¡unbiased ¡but ¡smoother ¡es2mator ¡for ¡transmi6ance ¡ is ¡possible.

slide-171
SLIDE 171

96

LimitaFons ¡& ¡Future ¡Work

■ Mul2ple ¡sca6ering ¡(rela2vely) ¡costly ■ Single ¡α ¡not ¡op2mal ¡for ¡en2re ¡image

  • adap2ve ¡α ¡possible?

■ Radius ¡reduc2on ¡for ¡finite ¡2me ¡budget? ■ Unbiased ¡transmi6ance ¡noisier ¡(dense ¡

media)

  • smooth ¡and ¡unbiased ¡transmi6ance?

Thursday, 6 September 12

  • There ¡are ¡of ¡course ¡some ¡limita2ons
  • Firstly, ¡photon ¡beams ¡are ¡fantas2c ¡at ¡reconstruc2ng ¡caus2c ¡light ¡paths, ¡but ¡mul2ple ¡sca6ering ¡

effects ¡can ¡s2ll ¡be ¡quite ¡costly

  • Also, ¡though ¡our ¡approach ¡is ¡convergent ¡with ¡any ¡alpha ¡between ¡0 ¡and ¡1, ¡this ¡is ¡fixed ¡for ¡the ¡en2re ¡

image, ¡it ¡might ¡be ¡possible ¡to ¡adapt ¡alpha ¡in ¡different ¡regions ¡of ¡the ¡image ¡to ¡accelerate ¡ convergence

  • Our ¡theory ¡tells ¡you ¡how ¡to ¡reduce ¡the ¡radii ¡if ¡you ¡want ¡an ¡unbiased ¡image ¡in ¡the ¡limit. ¡However, ¡an ¡

interes2ng ¡prac2cal ¡ques2on ¡is, ¡if ¡you ¡know ¡you ¡only ¡have ¡a ¡certain ¡2me ¡budget, ¡would ¡this ¡affect ¡ the ¡op2mal ¡reduc2on ¡factor?

  • Finally, ¡though ¡our ¡transmi6ance ¡es2mator ¡is ¡unbiased, ¡it ¡also ¡increases ¡variance, ¡especially ¡in ¡

dense ¡media. ¡It ¡would ¡be ¡interes2ng ¡to ¡see ¡if ¡an ¡unbiased ¡but ¡smoother ¡es2mator ¡for ¡transmi6ance ¡ is ¡possible.

slide-172
SLIDE 172

Acknowledgements

■ Anonymous ¡SIGGRAPH ¡reviewers ■ ETH/DRZ ¡internal ¡reviewers ■ Xin ¡Sun ■ Bruce ¡Walter ■ Wenzel ¡Jakob ■ Derek ¡Bradley

97

Thursday, 6 September 12

slide-173
SLIDE 173

Thank ¡You

Thursday, 6 September 12

slide-174
SLIDE 174

99

Thursday, 6 September 12

slide-175
SLIDE 175

PracFcal ¡Improvements: ¡User ¡Parameters

100

■ Goal: ¡single ¡user ¡parameter ¡to ¡

control ¡bias/variance

Thursday, 6 September 12

  • Now, ¡on ¡the ¡more ¡prac2cal ¡side, ¡our ¡goal ¡was ¡to ¡have ¡a ¡single ¡parameter ¡to ¡control ¡the ¡bias/

variance ¡tradeoff ¡(as ¡seen ¡in ¡the ¡previous ¡graphs) ¡[click]

  • However, ¡in ¡prac2ce, ¡the ¡rate ¡of ¡convergence ¡is ¡influenced ¡both ¡by ¡alpha, ¡as ¡well ¡as ¡the ¡number ¡of ¡

photons ¡shot ¡per ¡pass. ¡Let ¡me ¡illustrate ¡this

slide-176
SLIDE 176

PracFcal ¡Improvements: ¡User ¡Parameters

100

■ Goal: ¡single ¡user ¡parameter ¡to ¡

control ¡bias/variance

■ α ¡parameter ¡and ¡M ¡(number ¡of ¡

photons ¡per ¡pass) ¡interdependent!

Thursday, 6 September 12

  • Now, ¡on ¡the ¡more ¡prac2cal ¡side, ¡our ¡goal ¡was ¡to ¡have ¡a ¡single ¡parameter ¡to ¡control ¡the ¡bias/

variance ¡tradeoff ¡(as ¡seen ¡in ¡the ¡previous ¡graphs) ¡[click]

  • However, ¡in ¡prac2ce, ¡the ¡rate ¡of ¡convergence ¡is ¡influenced ¡both ¡by ¡alpha, ¡as ¡well ¡as ¡the ¡number ¡of ¡

photons ¡shot ¡per ¡pass. ¡Let ¡me ¡illustrate ¡this

slide-177
SLIDE 177

User ¡Parameters

101

512 1024 1536 2048 .1 1.0

Total number of stored photons Global scaling factor

M=1

Thursday, 6 September 12

  • If ¡we ¡shoot ¡one ¡photon ¡beam ¡per ¡pass, ¡this ¡graph ¡shows ¡the ¡radius ¡reduc2on ¡rate ¡as ¡a ¡func2on ¡of ¡

the ¡total ¡number ¡of ¡stored ¡photons

  • Now, ¡if ¡we ¡don’t ¡change ¡alpha ¡and ¡we ¡store ¡the ¡same ¡total ¡number ¡of ¡beams, ¡we ¡would ¡hope ¡to ¡
  • btain ¡basically ¡iden2cal ¡results.
  • With ¡the ¡standard ¡approach, ¡used ¡by ¡all ¡previous ¡PPM ¡techniques, ¡this ¡is ¡not ¡the ¡case
slide-178
SLIDE 178

User ¡Parameters

102

512 1024 1536 2048 .1 1.0

Total number of stored photons Global scaling factor

M=1 Standard approach: M=15, M=100

Thursday, 6 September 12

  • Since ¡the ¡radius ¡reduc2on ¡factor ¡is ¡applied ¡at ¡the ¡granularity ¡of ¡the ¡passes, ¡the ¡final ¡image ¡will ¡look ¡

significantly ¡different ¡if ¡we ¡decided ¡to ¡show ¡incremental ¡updates ¡every ¡1 ¡beam, ¡every ¡10 ¡beams, ¡or ¡ every ¡100 ¡beams.

  • We ¡make ¡a ¡very ¡simple ¡modifica2ons ¡which ¡eliminates ¡this ¡problem
slide-179
SLIDE 179

User ¡Parameters

103

512 1024 1536 2048 .1 1.0

Total number of stored photons Global scaling factor

M=1 Our approach: M=15, M=100

Thursday, 6 September 12

  • At ¡the ¡end ¡of ¡each ¡pass, ¡we ¡apply ¡a ¡radius ¡update ¡for ¡every ¡stored ¡beam.
  • This ¡means ¡that ¡regardless ¡of ¡the ¡number ¡of ¡beams ¡per ¡pass, ¡we ¡obtain ¡very ¡similar ¡results, ¡so ¡we ¡

can ¡choose ¡the ¡display ¡frequency ¡without ¡worrying ¡about ¡modifying ¡the ¡other ¡parameters.

  • This ¡makes ¡it ¡much ¡more ¡intui2ve ¡to ¡scale ¡the ¡algorithm ¡to ¡different ¡interac2vity ¡serngs.