- 最后登录
- 2017-9-18
- 注册时间
- 2011-1-12
- 阅读权限
- 90
- 积分
- 12276
- 纳金币
- 5568
- 精华
- 0
|
1 Introduction
Computation times of Monte-Carlo-based rendering methods can
be lowered by correctly focusing processing power on the parts
of the image where convergence is harder to reach. This can be
done efficiently by estimating each pixel’s error, or better, using a
measure of quality of the pixel (such as entropy-based methods).
However, since these last methods do not uniformize the error over
the pixels, they are not very well suited for progressive or timeconstrained
computations.
As each pixel value is an estimation, a natural error measure is variance.
A problem is that tonemapping can make bright and dim
regions look similarly bright in the final image. Absolute variance
cannot be used directly and relative error measures should be used
instead. During Monte-Carlo rendering, error measures are often
computed from the previous xi radiance samples. Therefore, pixel
sampling depends on the error estimate, which itself depends on
pixel sampling, leading to a poor estimate of the actual error for
pixels whose initial error estimate is low.
In this work, we define a robust error estimator to obtain accurate
error estimates, additionally alternating between uniform and adaptive
sampling to consistently reduce the error estimate variance for
all pixels. We show in Figure 1 and its caption that our algorithm
is robust, and performs similarly to state-of-the-art entropy-based
methods [Xu et al. 2007], while leading naturally to uniform error
over the pixels.
2 Robust Error-Based Adaptive Sampling
Robust error estimate: A theoretical relative error measure of the
current estimate is er(Ip) = Var(Ip)=E[X]2 = Var(xi)=(Np
E[X]2), where Var(xi) is the experimental variance of the Np xi
radiance values and E[X] is the expected value of the radiance random
variable X. As the variance decreases linearly with the number
of samples, sampling according to er(Ip) tends to uniformize
the error over the pixels. E[X] being unknown, we need to estimate
it. Ip itself is the standard estimator for E[X], giving an error
fpajot,barthe,pauling@irit.fr
estimate ea(Ip) = Var(xi)=(Np I2
p ). However, when few samples
are much larger than the actual estimate – because of imperfect
importance sampling –, ea(Ip) largely under-estimates er(Ip).
Instead, we compute, for each pixel, an approximate medianMx of
the samples xi which are in a neighborhood of width h, and use it
to compute a robust error measure em(Ip) = Var(xi)=(NpM2
x).
h should be set to the width of the reconstruction filter, to naturally
handle visual edges, being caused by geometry, textures, shadows,
caustics, etc.. We compute Mx as the average of the medians computed
on small chunks of Nc elements of the sequence xi. We use
Nc = 10 to have a good estimate and a low memory overhead.
When Mx is 0, we resort to the standard ea(Ip) error measure.
Figure 1(a) shows that when increasing the number of outliers No
or their value during sampling, the ratio of errors ea(Ip)=er(Ip)
rapidly drops to zero, while our estimate remains a good approximation
of er(Ip) even for large outlier values.
Alternating between uniform and adaptive sampling: Instead of
using adaptive sampling and recomputing the probabilities every
Na samples, we alternate between adaptive sampling for Na samples,
and uniform pixel selection for Nu samples, with Nu larger
than the number of pixels in the image. The error estimates are then
updated once the Na + Nu samples have been computed. This ensures
that all error estimates receive samples, while still focusing
on pixels with larger errors. Note that alternation can be used with
any existing adaptive sampling algorithm to make it more robust.
Complete adaptive sampling algorithm: (1) a fixed number of
samples (for instance two) are shot per pixel. As we use a neighborhood
of pixels to evaluate the error at each pixel, only a few samples
are required to begin using adaptive sampling. (2) Compute error
estimates. Compute a maximum error such that 95% of the computed
errors are below. This avoids focusing processing power on
few pixels with very inaccurate and over-estimated errors. Set the
pixel probabilities accordingly to the clamped errors. (3) Compute
Na + Nu samples, using adaptive and uniform sampling. For each
sample, update the data required for the computation of the error
estimates. Loop back to step (2).
References
XU, Q., SBERT, M., XING, L., AND ZHANG, J. 2007. A novel
adaptive sampling by tsallis entropy. In CGIV ’07, 5–10. |
|