(论文)[2020-SIG] Continuous Multiple Importance Sampling

CMIS

TLDR

  • 能够处理无穷多种采样方式的 MIS,处理方式就是先采样 n 种采样技术,采样每个技术分配 1 个样本(NEE 可以理解为一种 n=2 的情况)
  • 给了 3 个应用的例子
    • Path Reuse
    • Spectral Rendering
    • Volume Single Scattering

Introduction

  • MIS 能结合多种采样技术
  • 如何结合 uncountably infinite number (i.e., a continuum) of techniques?
    • 传统的 MIS 理论需要拓展
  • 我们将 MIS 泛化到 continuous MIS (CMIS),并给出最优结果(provably optimal balance heuristic)
  • 因为最优不容易达到,给出另外一个近似:stochastic MIS (SMIS) estimator
    • 无偏的
  • 有效性验证(应用):path space filtering、spectral rendering、volume rendering with photon planes

Background and Related Work

  • 积分问题,n 样本 MC 估计

I=Xf(x) dx,In=1ni=1nf(xi)p(xi),(1)

  • p(x)f(x) 则方差小
  • discrete MIS (DMIS):T 种采样技术
  • 把积分拆分为 T 个部分

I=Xt=1Twt(x)=1f(x) dx=t=1TXwt(x)f(x) dx=It=t=1TIt.(2)

  • one-sample DMIS estimator
    • Pt 的概率选中积分 It

IDMIS=It1Pt=wt(x)f(x)Ptpt(x).(3)

  • multi-sample DMIS estimator(n 样本)
    • It 使用 nt=Ptn 个样本估计

IMDMIS=t=1TItnt=t=1T1nti=1ntwt(xt,i)f(xt,i)pt(xt,i).(4)

  • wt(x) 任意选择,只需要满足
    • t=1Twt(x)=1,f(x)0
    • wt(x)=0,pt(x)=0
  • 平衡启发式(balance heuristic):单样本最优

w^t(x)=Ptpt(x)t=1TPtpt(x).(5)

  • 现有研究
    • 研究如何分配样本
    • 提高 weighting heuristics
    • 利用 domain-specific auxiliary information
    • 考虑方差:balance heuristic with variance estimates,
    • optimize the sampling densities for balance-heuristic combination
    • 多样本的 Optimal MIS(允许权重为负的前提下找到最优 weight function)
    • stochastic technique selection

CMIS

  • Continuous Multiple Importance Sampling
  • DMIS 的扩展

CMIS formulation

  • T:technique space,任意 tT 都是一种采样策略
  • CMIS 的形式如下,其中 Tw(t,x) dt=1,xXf(x)0

I=XTw(t,x) dt=1f(x) dx=TXw(t,x)f(x) dx dt.(6)

  • 此时 one-sample MC 估计如下
    • p(t,x):联合分布

ICMIS=w(t,x)f(x)p(t,x)=w(t,x)f(x)p(t)p(xt).(7)

  • 对于 w 的要求:C1C2

(C1)Tw(t,x)dt=1,whenever f(x)0.(8a)(C2)w(t,x)=0,whenever p(t,x)=0.(8b)

  • 对于 f(x)0 的地方,至少存在一个 t 使得 p(t,x)=p(t)p(xt)>0
  • 最简单的 CMIS 函数:uniform

wu(t,x)=1T dt

  • CMIS 版本的平衡启发式(balance heuristic),最优性证明见副录 A
    • p(x)p(t)p 不是一个含义,只是都表示概率
    • 是 one-sample 最优的平衡启发式的泛化形式

w¯(t,x)=p(t)p(x|t)Tp(t)p(x|t)dt=p(t,x)Tp(t,x)dt=p(t,x)p(x).(9)

  • 类似的,这也相当于用 p(x)整体进行采样(和 DMIS 相同)

ICMIS=w¯(t,x)f(x)p(t,x)=p(t,x)f(x)p(x)p(t,x)=f(x)p(x).(10)

讨论

  • 前人的工作:无穷但是可数 0,本文允许任意维度 1,
    • 【2019-SIG】Photon surfaces for robust, unbiased volumetric density estimation.
  • 将不可数转化为可数
    • T 离散化,只选取其中若干技术
    • p(t,x) 分段常数
    • multi-samples:直接操作不现实(不可数无穷样本),对每个技术 t 自身平均(/n(t)

SMIS formulation

  • stochastic MIS (SMIS) estimator
  • 式子 10 的分母部分可能并没有闭式解(大部分情况下)
    • 策略:需要构建 1/p(x) 的无偏估计(倒数的无偏估计)
      • 这段话啥意思???
      • However, this method requires special care when p(x)>1, which is generally the case as p(x) is a probability density
  • 论文给出更简单的估计:初始有偏 -> 转变成无偏
  • 采样 n 个样本对 (ti,xi) 用于估计 p(x),使用式子 9 的平衡启发式
    • 此时,估计是有偏的(p(x) 的无偏估计并不是 1/p(x) 的无偏估计)

1ni=1np(ti,xi)Tp(t,xi)dtf(xi)p(ti,xi)n-sampleCMIS1ni=1np(ti,xi)1nj=1np(tj,xi)p(tj)f(xi)p(ti,xi)n-sampleSMIS approximation(11)

  • 条件概率展开:p(ti,xi)=p(ti)p(xiti)

ISMIS=i=1nw˙(ti,xi)f(xi)p(xi|ti)=i=1nf(xi)j=1np(xi|tj),(12)

w˙(ti,x)=p(x|ti)j=1np(x|tj)

  • ISMISICMIS 的有偏估计,但是 ISMISI 的无偏估计
    • 核心关键:计算 MIS 的时候只使用了采样得到的 n 种采样技术,没有管剩余的其他技术
    • Proxy Tracing 文章中,考虑了所有的剩余技术
    • 整个采样逻辑变成了:先采样 n 种技术,然后每种技术采样一个样本
    • 无偏性证明
  • 和 DMIS 的区别,使用的技术是先从 T 中采样得到的,而不是固定的
    • 可以理解为 random DMIS-discretization
  • SMIS 的方式有了近似,不再是原始的 balance heuristic,因此不再有方差最小的性质
  • n2 次 pdf 计算过于复杂,解析解近似(应用 3
  • SMIS 同时兼容了有限、可数情况种采样技术

方差分析

  • 没有理论分析,而是进行了实验验证
  • 限定:一共采样 N 个样本
  • 含义
    • SMISn 表示使用 n 种技术的 SMIS,N/n 次实现
    • CMISb:balance heuristic 的 CMIS
    • CMISu:均匀采样的 CMIS,wu(t,x)=1/Tdt
  • 实验:第一行为分布,下面两行为不同的 f(x) 对应的方差
    • p(x),p(t) 都是边缘分布

  • 图 (b)
    • p(t)=const
    • 结果都一样
  • 图 (c)
    • p(x) 相同、p(xt)=F(x):与 t 无关
    • 除了 CMISu 最差,其他都一样(处理 p(t) 的方式相同)
  • 图 (d)
    • p(t) 正弦,p(x) 均匀到线性(程度不同)
    • CMISu 最差,CMISb 最好,SMISbb 越大越好
      • CMISu<SMISb<CMISb
  • 图 (e)
    • 边缘分布是均匀的,但是 p(xx) 不是均匀的
    • CMISu=SMIS1<SMISb<CMISb
  • 结果:上面 图的结果

  • 在这里,我们是可以计算 CMISb式子 9)分母中的积分部分的,因此可以实现 CMISb
  • 最高效率的 SMIS,总采样数(如下)与方差的 trade-off
    • SMISnnn×n2=n2
    • SMISn/2nn/2×(n2)2=n22

应用1:Path Reuse

  • reusing (sub)paths across multiple pixel estimations
  • 之前的工作
    • Path and (ir)radiance filtering methods:灵活但是引入了 bias

problem statement

  • 像素积分
    • eye subpath 贡献 fe,prefix subpaths y
    • light subpath 贡献 fl, suffix subpaths z
    • 路径 x=x1x2P=M (路径空间)
    • x=yz,我们认为 P×P=M(因为路径长度有限)

I=Pf(x)dx=Pfe(y)Pfl(y,z)dzI(y)dy=Pfe(y)I(y)dy,(13)

  • 需要求 I(y) 的一个无偏估计

I=fe(y)p(y)I(y)n=fe(y)p(y)i=1nw(y,zi)fl(y,zi)p(zi),(14)

  • splitting:p(zi)=p(ziy),w=1n
    • 效率低:zi 关于 y 是特异化的(不同的 y 不同)
  • 直接连接其他的未分裂路径(下图所示),后缀路径的开销被摊销了,如何计算?
    • 现有策略:所有像素得到的后作 DMIS;直接核函数收集末端附近的后缀路径(biased)

CMIS formulation

  • y 作为 technique, zi 作为样本

I(y)=PTw(y,z)dy=1f1(y,z)dz=TPw(y,z)f1(y,z)dzdy,(15)

  • 和之前的 CMIS 部分类似,我们可以构建 CMIS、SMIS 估计子

算法

  • Practical path-space filtering algorithm
  • SMISn 需要 n2 次可见性测试, 中有 n×w 求解需要 n
  • 加速:限制 T 的范围在原始前缀路径末端顶点附近
  • biased 近似:认为一直可见,认为光子路末端顶点的 BSDF 不变
    • 近似原因:都在原始前缀末端顶点的附近
    • 不用可见性测试,同时不需要重新计算 BSDF 函数

实现

  • two-stage algorithm
  • 1:1spp 路径,然后将他们的顶点保存在 hashed spatial grid
  • 2:对于每一个 y,我们搜集其末端顶点周围的顶点构成技术 T,构建 SMIS 估计
    • 采样 yiT,然后将将 yzi 连接,进行估计计算
  • 搜索半径:6spp in screen space(换算)
    • 随着时间进行减小
  • 评估:SMAPE(symmetric mean absolute percentage error)
    • reference and estimated value

E=1Pi=1P|riei||ri|+|ei|

  • 对比:同时间、同样本都有
    • Path Space Filtering(Keller 2014)
  • 相关性问题

应用2:Spectral Rendering

I=PΛf(x,λ) dλdx=Sf(s) ds,

  • Wilkie 2014:Hero Wavelength Spectral Sampling
    • 每条路径携带多个波长,每次选择一个波长作为 λh(hero wavelength),生成散射光线
      • 多个波长是等间隔分布(如图 7
    • 为什么可以这么做:大多数路径都和波长无关
      • 遇到 spectral power distributions(SPDs)时,能量集中在特定波长位置,效果不好,例如荧光灯

IHeroMIS=i=1nf(x,λi)j=1np(λj)p(x|λj).(19)

CMIS formulation

I=STw(ξ,s)dξ=1f(s)ds,

  • 采样的时候,要求路径重用:si={x,λi},和 Hero 的区别在于我们在波长选择上更自由
    • 这不就是一个重要性采样吗

实现

  • 图片:RGB -> sRGB -> spectral
    • CIE 1931 standard observer chromatic response curves
    • 2019 Jakob
  • 实现

p(s|ξ)=p(x,λ)=p(λ)p(x|λ)

  • p(λ):正比于如下两个量的乘积,然后使用分层的模式进行采样
    • the observer response
    • a mixture of the scenes’ light-source SPDs
  • 分层:We use a stratified sample pattern that is warped according to that PDF
    • 好像没仔细说?
  • 对比算法:除了 uniform 都使用 p(λ),不说明都采样 4 个波长
    • SMIS(论文)、SMISi(不分层)、brute-force(CMIS,直接对 512 个波长进行计算)
    • HeroMIS(p(λ) 采样主波长)
    • 只采样一个波长:Uniform(均匀采样波长)、SpectralIS
  • 感觉提升就是:重要性采样好于普通采样

应用3:Volume Single Scattering没看懂

  • volumetric light transport simulation

Problem statement

  • Deng 2019 提出了 photon planes,用于求解矩形光源、单次散射的的体渲染
  • phone plane:给定光源上的线段 e,采样出射方向 ωl

  • A primary ray shot from the camera gathers contribution from a given photon plane if it intersects it.
  • 线段:e=(u,α)R×[0,π]
  • 采样技术:T 就是采样 e
    • 问题:ray 和 photon plane 平行?此时需要 MIS 考虑所有可能性

Ie=f(x)p(x|e).(22)

CMIS Formulation

I=Pf(x)dx=TPw(e,x)f(x) dxde,(23)

  • CMIS

ICMIS=w¯(e,x)f(x)p(e,x),withw¯(e,x)=p(e,x)Tp(e,x)de.(24)

  • 这里往后就都不是太懂了?主要不太懂流程?得看看 Deng2019 的论文
  • 式子转换:式子 25
    • p(e)=C ,是常数,均匀采样?

p(e,x)=p(e)p(x|e)=Cp(x)|(e×ω1)ωe|J(e,x)

  • 假设:the photon plane width does not change with orientation
    • e 相同,u,v 对光源边长归一化

  • SMIS:不近似 J,而是先采样若干技术

副录

平衡启发式最优

  • 证明和离散类似
  • 首先推导方差形式如下

V[ICMIS]=E[ICMIS2]E[ICMIS]2(28a)=XTw2(t,x)f2(x)p(t,x) dt dxI2.(28b)

  • 找到 w 最小化方差,就是最小化如下式子
    • 第一个等号:外层与 w 无关
    • 第二个等号:积分与 f(x) 无关

w¯=argminw[Tw2(t,x)f2(x)p(t,x)dt]=argminw[Tw2(t,x)p(t,x)dt],(29)

证明

  • 带约束的优化问题(chatgpt)

argminw[Tw2(t)p(t)dt]

  • 约束条件

Tw(t)dt=1

引入拉格朗日乘子法

  • 首先定义拉格朗日函数如下,其中 λ 是拉格朗日乘子

L[w,λ]=Tw2(t)p(t)dt+λ(Tw(t)dt1)

计算拉格朗日函数的变分

  • 引入扰动函数 (t),并考虑 w(t) 的变分

w(t)w(t)+ϵη(t)

  • 拉格朗日函数的变分为

L[w+ϵη,λ]=T(w(t)+ϵη(t))2p(t)dt+λ(T(w(t)+ϵη(t))dt1)

  • 展开并计算一阶条件

L[w+ϵη,λ]=T(w2(t)p(t)+2ϵw(t)η(t)p(t)+ϵ2η2(t)p(t))dt+λ(Tw(t)dt1)+ϵλTη(t)dt

  • 忽略二阶小量 ϵ2 项,得到

L[w+ϵη,λ]Tw2(t)p(t)dt+ϵT2w(t)η(t)p(t)dt+λ(Tw(t)dt1)+ϵλTη(t)dt

  • 要求该函数在 ϵ=0 处的一阶导数为零

ddϵL[w+ϵη,λ]|ϵ=0=T2w(t)η(t)p(t)dt+λTη(t)dt=0

消去扰动函数

  • 由于 η(t) 是任意函数,这意味着系数必须为零

2w(t)p(t)+λ=0

  • 因此,我们得到

w(t)=λp(t)2

确定拉格朗日乘子

  • 利用约束条件 Tw(t)dt=1,我们可以求解 λ

Tλp(t)2dt=1λ=2Tp(t)dt

得到最优解

w(t)=p(t)Tp(t)dt

SMIS 无偏性

  • 整个采样逻辑变成了:先采样 n 种技术,然后每种技术采样一个样本
    • NEE 类似,确定两种(n=2)技术,然后各分配一个样本
  • 更像是:p(ti)1np(xiti)

E[ISMIS]=E[ISMIS](t1,x1),...,(tn,xn)(33a)=E[E[ISMIS]x1,...,xn]t1,...,tn(33b)=E[E[i=1nw˙(xi,ti)f(xi)p(xi|ti)]x1,...,xn]t1,...,tn(33c)=E[i=1nXw˙(x,ti)f(x)p(x|ti)p(x|ti) dx=i=1nIti=I]t1,...,tn=I(33d)