Measure the convergence speed back
Board:
Home
Board index
Raytracing
General Development
(L) [2014/03/05] [tby spectral] [Measure the convergence speed] Wayback!Hi,
I'm currently looking for a way to measure the convergence speed.
For now I use the FPS (frames per seconds) or SPS (samples per second), but it gives no information about the "pixel quality" !
I can have less FPS but better convergence !
So, how can I measure the image "error/delta" maybe compared to a reference image.
Thanks
(L) [2014/03/05] [tby Dade] [Measure the convergence speed] Wayback!LuxRender uses Hector Yee's algorithm ([LINK http://pdiff.sourceforge.net/metric.html]) for rendering halt condition (the code is available at [LINK https://bitbucket.org/luxrender/luxrays/src/c2e001201b2bd7751037249f6a20fa773bf3defd/src/slg/utils/convtest/?at=default] and is based on [LINK http://pdiff.sourceforge.net/]). I use this code also in LuxMark to estimate if the benchmark produced a correct image.
However, it is more an on/off condition than an estimation of how far you are from the converged image. I have done some research in the past and I was able to find only another paper on the problem based on Hector Yee's work.
It is quite strange because, given how ubiquitous is path tracing nowadays, it should be a very hot topic: how do you efficiently render an animation without a good halt algorithm ?
(L) [2014/03/05] [tby McAce] [Measure the convergence speed] Wayback!I believe these are 2 different use cases.
For measuring the performance of your rendering algorithm, I'd suggest something like mean squared error (pixel values vs. converged reference image) curves plotted over time. Indeed, as you say, talking about FPS, SPS or MRPS is pointless when comparing fundamentally different algorithms and I've been wondering for some time, why researchers don't report MSE curves more often. Now for this use case, the implementation doesn't need to be particularly efficient - you just need to make sure not to count the time spent calculating the MSE as part of the rendering time. I'd do the calculation in linear color space, i.e. before tone mapping.
Obviously, this ignores "perceived quality", but to me that's a different use case.
(L) [2014/03/06] [tby spectral] [Measure the convergence speed] Wayback!Thanks,
Yes I already see all theses methods... I will surely try to implement both and I'm sure that both will be useful for different purpose.
BTW, there is no way without "reference image", by example, by measuring the pixel color after every pass ?
(L) [2014/03/06] [tby Dade] [Measure the convergence speed] Wayback!>> spectral wrote:BTW, there is no way without "reference image", by example, by measuring the pixel color after every pass ?
Check "A perceptual stopping condition for global illumination computations" paper ([LINK http://www.sic.sp2mi.univ-poitiers.fr/publications/files/publi2753.pdf]) for a study of the problem of evaluating convergence test without a reference image.
P.S. in the context of my previous post that, as explained by McAce, my be different from your.
(L) [2014/03/06] [tby spectral] [Measure the convergence speed] Wayback!Thanks,
Will try that asap [SMILEY ;-)]
(L) [2014/03/06] [tby ingenious] [Measure the convergence speed] Wayback!And this one too:
A Hierarchical Automatic Stopping Condition for Monte Carlo Global Illumination
[LINK http://cg.ibds.kit.edu/publications/pubhanika/2009_stopping.pdf]
(L) [2014/03/06] [tby spectral] [Measure the convergence speed] Wayback!Interesting too !
Thanks
(L) [2014/03/06] [tby ypoissant] [Measure the convergence speed] Wayback!The last paper references this one:
[LINK http://www.cs.berkeley.edu/~ravir/Overbeck2009AWR.pdf]
I think it is a "to read" paper.
(L) [2014/03/06] [tby friedlinguini] [Measure the convergence speed] Wayback!>> ypoissant wrote:The last paper references this one:
[LINK http://www.cs.berkeley.edu/~ravir/Overbeck2009AWR.pdf]
I think it is a "to read" paper.
That one is more about adaptive sampling and noise reduction, and I think the adaptive sampling part is what bridges into the Hierarchical Automatic Stopping one. It's a good read, but I think there have been improvements in the basic approach since it was published.
back