Open bsavery opened 7 years ago
Oh! Thanks!
The fitness function is both. Although not necessarily noise levels. It returns the total difference of pixels between the "master" or "final render" image and the newly rendered test image [the chromosomes result]. And then you can select what is the minimum level of difference you will allow. So far it seems that you need to have around 98% difference or you start to lose quality. The second step of the fitness function is render speed [including build time]. So faster renders will be favored over slower ones.
This is true. However with cropped frames you could be obscuring certain materials which would effect the result. I intend on maybe having it render downsized frames at some point.
Probably right. I haven't delved enough into the specifics of each one to know what to separate though. And I also thought that there could be some unknown[ at least to me ] complex relationship between the different settings that could increase or decrease render time. Like maybe certain settings are faster on CPU than with GPU par exemple. Which is part of the rational for a genetic algorithm.
I'm rendering a test with it and will add my results to github in the next few days. Feel free to give the script a try yourself and see what kind of results you get.
Regarding 1 I'd really look at pdiff (perceptual diff) rather than simple pixel diffs. Like I said with a path traced render you can get slight noise differences that don't actually change the image but might add up (which is probably what explains the 98%)
With 2 I'm proposing randomly sampling frames and cropping them, with enough samples (of frames and crop windows) you should approach the same result.
Ah okay, I understand. After this test I'll see if I can swap out my difference function for pdiff and see if that improves it.
Posted this on the thread on blenderartists. Wanted to make sure you saw it:
Especially with path traced renders you will get changing noise levels. Which might trick your comparison metric.
You might be able to get away with testing random frames/crop windows of frames rather than full renders.
Some of the settings you have there affect only render time, where some might affect final image quality as well. Might be good to separate those.