(06-09-2016, 05:51 AM)Bighead Wrote: I noticed the noise reduction value isn't applied unless the mode is set to "Noise" or "Noise-Scale", so setting it to "Scale" is the only way of disabling it since it won't allow a value of 0 or it gives an error. Similar situation for "Scale" [...]
Ahh, GUIs for it tend to automate these settings (for example: the official website or this offline GUI). The program probably uses different separate modes for each function (scaling, scaling-noise red., or noise red.). Far as I know, the noise reduction and scaling are done in a single pass together. Each setting uses a "model" which is trained by taking many high quality images and modifying them (shrinking to half size, adding a set amount of noise, or both). The AI learns from the changes how to reverse them. It's main models have been trained with a bunch of anime images, but there is now a model trained for normal photos as well worth trying (you can get it here).
(06-09-2016, 05:51 AM)Bighead Wrote: The scaler setting allows setting values higher than 2, even odd numbers like 5, are you saying processing the image multiple times in increments of 2 gives better results? Obviously this wold only work for 2x, 4x, 8x, 16x, and if it does give better results its probably worth implementing it for these specific integers.
It only scales 2x in its current implementation because that's all it's been trained for. When you select a higher integer it just repeats it's 2x scale and uses a downscaling bilinear filter if needed. For example, the x5 scale means it runs three passes to make the image 8x (aka 2*2*2) then uses simple bilinear scaling to shrink it to 5x the original image's size.
For all intents and purposes scaling at 4x is the same as scaling at 2x twice with a script, though my testing finds that if you use noise reduction for your first 2x scale step, it's best to turn the noise reduction off for all future scaling steps.
Each scaling step has reduced benefit. You're not going to get much more detail after the first two passes unless you add detail at each step. You'd either do it by hand, or maybe fake detail with some filters. Bloom, sharpening, and noise can all make the scaled image look more detailed, though the former two options are difficult to automate since each image tends to require unique settings. A noise filter between each step would be a good idea though, giving a good illusion of texture which helps undo Waifu2x's smoothing effect. In photoshop I add 1.7% noise at the first step and 3.4% noise after the second step.
Here's an example of the difference this can make: http://imgur.com/2IqE4gs
A lot of this was trial and error to learn. It's one of the methods I've used take tiny screenshots like this one and make them look like fancy HD images. You can see more example of my HD conversions here. Now I'm trying to take the things I learned an apply them to HD texturing projects.