Computer Graphics Group
Audio Communication Group
(acoustic) scene parameter: \(\pi\)
\[\text{Loss}\]
\[[\]
\[]\]
differentiable rendering
inverse rendering
image: \(I\)
gradient step
objective function
differentiable simulation
spectrogram: \(S\)
inverse simulation
gradient step
\[\text{Loss}\]
\[\frac{\partial}{\partial \pi}\text{Loss}(S)\]
\[[\]
\[]\]
wavelength
time
energy
wavelength
energy
time
energy
per ray
independent
independent
✔ spatial (2D) ✘
✘ time (1D) ✔
✔ wavelength (1D) ✔
pixels
no pixels
\(E_{\out}\)
\(E_{\inp}\frag{40}{ = E_{\out}^{\text{next}}}\)
\(f\)
\(E_{\emit}\)
\[\htmlId{leq}{\fragclass{1}{custom gray}{\fragclass{65}{bluebox box custom}{E_{\out}} = } \fragclass{3}{custom gray}{\fragclass{60}{redbox box custom}{E_{\emit}} +} \fragclass{7}{custom gray}{\int_{S}}\fragclass{6}{custom gray}{\fragclass{61}{redbox box custom}{f}}\,\, \fragclass{5}{custom gray}{\fragclass{65}{bluebox box custom}{E_{\del{45}{\inp}\add{45}{\out}}^{\add{45}{\text{next}}}}} \, \fragclass{7}{custom gray}{d\solid'^\bot}}\]
light rendering equation
\(E_{\out}\)
\(E_{\out}^{\text{next}}\)
\(f\)
\(E_{\emit}\)
time
time
\(E_{\inp}\frag{40}{\neq E_{\out}^{\text{next}}}\)
\[\flip{15}{leq}{\fragclass{65}{bluebox box custom}{E_{\out}\add{20}{(t)}}\, = \fragclass{60}{redbox box custom}{E_{\emit}\add{20}{(t)}} +\int_{S}\fragclass{61}{redbox box custom}{f}\,\, \fragclass{65}{bluebox box custom}{E_{\del{45}{\inp}\add{45}{\out}}^{\add{45}{\text{next}}}\add{20}{(t\del{45}{)}\add{45}{\,-\tau)}}} \, d\solid'^\bot}\]
acoustic rendering equation
local
recursive
recursive
time between
two points
(R,G,B)
\[\in\]
\[\R^n\]
\[\fragclass{35}{fade-out}{\mathcal{F}}\]
\[\in\]
\[\htmlId{histt}{\text{Histogram}(t)}=\int_S E_{\out}(t) \add{3}{\approx}\add{3}{\sum E_{\out}(t)}\]
AD(\(\text{Loss}(\text{Histogram}(t))\))\(\rightarrow\) \(\htmlData{fragment-index=4,class=custom added delayed}{\frac{\partial}{\partial\pi}\text{Loss}(}\flip{4}{histt}{\text{Histogram}(t)}\htmlData{fragment-index=4,class=custom added delayed}{)}\)
\[\htmlId{PRBEout}{\fragclass{60}{bluebox box custom}{E_{\out}}} \htmlId{PRBEouteqsign}{=} \htmlId{PRBEemit}{\fragclass{40}{redbox box custom}{E_{\emit}}} \htmlId{PRBplusint}{+ \int_S} \htmlId{PRBf}{\fragclass{50}{redbox box custom}{f}}\, \htmlId{PRBEoutnext}{\fragclass{60}{bluebox box custom}{E_{\out}^{\text{next}}}} \,\htmlId{PRBdsolid}{\text{d}\solid'}\]
\[\bluebox{110}{\add{230}{\deltaH}E_{\out}(t)} = \redbox{110}{\add{230}{\deltaH}E_{\emit}(t)} + \int_S \redbox{110}{f(t)}\, \bluebox{110}{\add{230}{\deltaH}E_{\out}^{\text{next}}(t-\tau)} \,\text{d}\solid'\]
\[\greenbox{140}{\add{230}{\deltaH}\frac{\partial}{\partial t}E_{\out}(t)} = \redbox{140}{\add{230}{\deltaH}\frac{\partial}{\partial t}E_{\emit}(t)} + \int_S \redbox{140}{f(t)}\, \greenbox{140}{\add{230}{\deltaH}\frac{\partial}{\partial t}E_{\out}^{\text{next}}(t-\tau)} \,\text{d}\solid'\]
\[\begin{alignat*}{6}\fragclass{60}{orangebox box custom}{\add{30}{\frac{\partial}{\partial \pi}} \flip{20}{PRBEout}{E_{\out}}} \flip{20}{PRBEouteqsign}{=} \fragclass{40}{redbox box custom}{\add{30}{\frac{\partial}{\partial \pi}}\flip{20}{PRBEemit}{E_{\emit}}} \flip{20}{PRBplusint}{+ \int_S}&&\flip{20}{PRBf}{\fragclass{50}{redbox box custom}{\htmlId{PRBf2}{f}}}\, &&\fragclass{60}{orangebox box custom}{\add{30}{\frac{\partial}{\partial \pi}}\flip{20}{PRBEoutnext}{\htmlId{PRBEoutnext2}{E_{\out}^{\text{next}}}}}&\add{30}{+}\,\fragclass{30}{fade-out instant}{\flip{20}{PRBdsolid}{\htmlId{PRBdsolid2}{\text{d}\solid'}}}\\&&\fragclass{70}{redbox box custom}{\add{30}{\frac{\partial}{\partial \pi}\flip{30}{PRBf2}{f}}}\, &&\flip{30}{PRBEoutnext2}{\fragclass{80}{bluebox box custom}{E_{\out}^{\text{next}}}}&\,\flip{30}{PRBdsolid2}{\text{d}\solid'}\end{alignat*}\]
\[\begin{alignat*}{6}\orangebox{110}{\frac{\partial}{\partial \pi} E_{\out}(t)} = \redbox{110}{\frac{\partial}{\partial \pi}E_{\emit}(t)} + \int_S&&\redbox{110}{f(t)}\, &&\orangebox{110}{\frac{\partial}{\partial \pi}E_{\out}^{\text{next}}(t-\tau)}&+\\&&\redbox{110}{\frac{\partial}{\partial \pi}f(t)}\, &&\bluebox{110}{E_{\out}^{\text{next}}(t-\tau)}&-\\&&\redbox{135}{f(t)}\, &&\greenbox{137}{\frac{\partial}{\partial t}E_{\out}^{\text{next}}(t-\tau)}& \redbox{135}{\frac{\partial}{\partial \pi}\tau}\,\text{d}\solid'\end{alignat*}\]
\[\R^n\]
\[\in\]
\[\R^{\del{235}{n}}\]
\[\in\]
\[\R^{\del{235}{n}}\]
\[\in\]
\[\frac{\partial}{\partial \pi}\text{Loss}(\text{H}(t))\add{225}{= [\deltaH\text{Loss}]\frac{\partial}{\partial \pi}\text{H}(t)}\]
scalar
| AD | Temporal PRB | |||
|---|---|---|---|---|
| depth | time | memory | time | memory |
| 4 | 0.730s | 13.5MiB | 0.213s | 6.75MiB |
| 8 | 1.873s | 27MiB | 0.343s | 6.75MiB |
| 16 | 7.111s | 54MiB | 0.616s | 6.75MiB |
| 32 | 17.178s | 108MiB | 1.246s | 6.75MiB |
| 64 | DNF | DNF | 2.699s | 6.75MiB |
Mitsuba 3 [Jakob et al. 2022]
(if geometry moves)
Radiative Backpropagation with Non-Static Geometry [Worchel et al. 2025]
1. First Differentiable Geometric Acoustics Path Tracer
2. Temporal extension to Path Replay Backpropagation
Differentiable Time-Gated Rendering [Wu et al. 2021]
Differentiable Transient Rendering [Yi et al. 2021]