Vertex merging paper and SmallVCM

Must read and other references.
ingenious
Posts: 282
Joined: Mon Nov 28, 2011 11:11 pm
Location: London, UK
Contact:

Re: Vertex merging paper and SmallVCM

Post by ingenious » Tue Nov 20, 2012 1:12 pm

Nice images indeed ;)
Dade wrote:1) VM is very easy to implement on top of an existing BiDir as an option. So easy that you may want to implement it even if it isn't strictly required by the kind of images you are going to render. It is just an useful option available for the users.
That's true. If you have a working bidirectional path tracer, which is the most challenging part to get right, then it's easy to add :) The main difference is that you need to trace all light paths first.
Dade wrote:2) Not surprising, it shares with SPPM some of the implementation critical points (time to spent to create the k-NN accelerator with light vertices, lookup time of k-NN vertices, memory usage of the k-NN accelerator, etc.).
It's a bit more demanding than SPPM in that it performs the merging on every eye sub-path vertex. In my implementation, the full VCM can be 2-3x slower per iteration than (S)PPM, depending on the scene, but providing much better quality most often.
Dade wrote:3) It shares with SPPM also some rendering characteristics. For instance, large initial search radius lead to a large initial bias (i.e. blurred caustics), good for previews (i.e. less perceived high frequency noise in the early stage of the rendering), etc.
One interesting thing in VCM is that the radius provides you with a direct control over the relative weights of the vertex connection and vertex merging techniques. Very small radius essentially gives you bidirectional path tracing. In order to get progressive photon mapping, however, often you need to set the radius to something impractically large, since vertex connection is very good for "long" diffuse transport (e.g. the teaser image in the paper).

One visual drawback of VCM is that it exhibits two types of noise/artifacts - mid-frequency splotches from merging and high-frequency noise from vertex connections. This is a visual effect of the correlated/uncorrelated sampling that is not currently taken into account by the weighting, as (to my knowledge) there's no good mathematical model for it. On very difficult scenes, it can be a bit unpleasant. Though you can also get high frequency noise in SPPM on glossy surfaces.
Image Click here. You'll thank me later.

ypoissant
Posts: 97
Joined: Wed Nov 30, 2011 12:44 pm

Re: Vertex merging paper and SmallVCM

Post by ypoissant » Tue Nov 20, 2012 2:48 pm

I can't see the pictures. I get a "you are not authorized to download the resource". Do I need to be a member of the luxrender forum?

Dade
Posts: 206
Joined: Fri Dec 02, 2011 8:00 am

Re: Vertex merging paper and SmallVCM

Post by Dade » Tue Nov 20, 2012 3:07 pm

ypoissant wrote:I can't see the pictures. I get a "you are not authorized to download the resource". Do I need to be a member of the luxrender forum?
Ah, sorry, I edited the post and it should now work for everyone. BTW, this is the rendering with the MIS weights fixed:
psor-cube-vm.png
psor-cube-vm.png (424.72 KiB) Viewed 9234 times

ypoissant
Posts: 97
Joined: Wed Nov 30, 2011 12:44 pm

Re: Vertex merging paper and SmallVCM

Post by ypoissant » Tue Nov 20, 2012 11:18 pm

Impressive.

There are usually some physical explanation to this but the lit parts on the floor are much brighter in the mirror reflection than in front of the mirror and I can't find an explanation to this expecially given that the floor material seems to be Lambertian or almost. Could that be the MIS again? They looked more of the same intensity in your first renders.

Dade
Posts: 206
Joined: Fri Dec 02, 2011 8:00 am

Re: Vertex merging paper and SmallVCM

Post by Dade » Wed Nov 21, 2012 8:09 am

ypoissant wrote:Could that be the MIS again? They looked more of the same intensity in your first renders.
Yes, very likely :oops: Getting all MIS weights right is always a bit challenging :D

kaplanyan
Posts: 11
Joined: Tue Nov 27, 2012 9:38 pm
Location: Karlsruhe, BWL, Germany
Contact:

Re: Vertex merging paper and SmallVCM

Post by kaplanyan » Sun Dec 02, 2012 1:47 pm

Dietger wrote: In practice, we render only for a limited time (probably way too short for the asymptotic properties to have a significant impact). In that finite render time, PPM starts off doing things badly (bias artifacts around small objects) and then hopes to fix it later. The more PPM screws up initially, the longer it will take to fix this later. If PPM would just have started with an appropriately small but fixed radius for each pixel, it could realize a better quality/bias trade off in the same render time. Unfortunately we usually don't know this optimal radius (too big => bias, too small => noise), that's why we are stuck with this reducing radius. The reducing radius should free is from having to guess the optimal radius, at the cost of some extra bias within the same render time. Unfortunately, it turns out that the extra bias/noise of using a too big/small initial radius can still be pretty significant, even when rendering for reasonably long time. This is why the initial radius is still such an important parameter for the PPM algorithm, PPM's theoretical consistency notwithstanding.
Dietger
Maybe my recent paper could be an interesting reading on this topic: http://cg.ibds.kit.edu/APPM.php
--
Anton

tomasdavid
Posts: 22
Joined: Wed Oct 10, 2012 12:41 pm

Re: Vertex merging paper and SmallVCM

Post by tomasdavid » Fri Dec 07, 2012 6:50 am

Anton: Have you looked at combining your stuff with VCM?

Dade
Posts: 206
Joined: Fri Dec 02, 2011 8:00 am

Re: Vertex merging paper and SmallVCM

Post by Dade » Fri Dec 07, 2012 9:24 am

kaplanyan wrote:Maybe my recent paper could be an interesting reading on this topic: http://cg.ibds.kit.edu/APPM.php
Thanks for sharing, very interesting.

dr_eck
Posts: 46
Joined: Mon Dec 05, 2011 7:35 pm

Re: Vertex merging paper and SmallVCM

Post by dr_eck » Fri Dec 07, 2012 5:31 pm

kaplanyan wrote: Maybe my recent paper could be an interesting reading on this topic: http://cg.ibds.kit.edu/APPM.php
Nice application of error estimation to PPM! I appreciate the realistic assessment of the method's limitations and look forward to seeing these limitations removed. The world (or at least this community) needs a good method for choosing alpha and k.

kaplanyan
Posts: 11
Joined: Tue Nov 27, 2012 9:38 pm
Location: Karlsruhe, BWL, Germany
Contact:

Re: Vertex merging paper and SmallVCM

Post by kaplanyan » Sat Dec 08, 2012 1:51 pm

tomasdavid wrote:Anton: Have you looked at combining your stuff with VCM?
Not yet. These two ideas were born in parallel. I think the combination with the PPM part of VCM should be straightforward. However one would still need to think about the application to the BDPT part of VCM.
--
Anton

Post Reply