Randomize, Mutate buttons #201
Replies: 4 comments 1 reply
-
this is actually a very interesting idea, i hope she adds this too |
Beta Was this translation helpful? Give feedback.
-
You can write a script (R, python) by reading the json config, add max/min values, and draw samples from a special type of random distribution (norm, t, beta, ...) and therefor create a lot of config sets. Just random values can be achieved by this as well but may not hit the point due to the sheer amount of variance by using complete randomness. It depends on what you need. IF e.g. you want to prepare images for some AI/ML fine-tuning, you need variance but not too much. So it makes sense to put the mass of the prob distribution on a certain value (taken e.g. from a profile like SVHS/betacam/VHS/...) and add a +/- tolerance (multiplier of the sd of the distribution), and draw accordingly. If you use a skewed distribution this differs as well (then maybe use a beta distribution). You can set a seed for exact reproduction. With the cli version of ntsc-rs you can do this as a batch mode even without any embedding into the software ie. it can be fully scripted. Using ffmpeg you can apply this even on single frames/ images with a certain overhead as the cli version cannot do single frames output at the moment, it gives out mp4/mkv. |
Beta Was this translation helpful? Give feedback.
-
Yes understandable. Almost finished it as a script (test runs were just fine). However, doing some tests with complete randomness this makes only partially sense (and can be achieved rather easily - you just create the possible sample space for each parameter and draw from it)). I "struggle" more with using a profile as a base and slightly change it. For each parameter one needs another - at best manually and visually "confirmed-adjusted" - config. Biggest challenge is to have a good guess about the underlying model one should use. For the linear parameters e.g. a truncated model seems to work, for the log() parameters at the moment a beta dist is used and estimated via MLE (via R package) from certain "expert's assumptions", etc. Those values enter as probs the sampling procedure. If you use a profile it does not make sense to randomize every parameter, esp. the logical T/F ones. All in all a sheet is used as a base and then the script works with that. The script is written in a way that one can easily add another prob model if the ones suit not. For me the script works very well because the cli version is much more important due to a lot of images to slightly tweak. |
Beta Was this translation helpful? Give feedback.
-
Some notes now from direct experience with randomization:
In sum, proof of concept - works and does the job quite well. @valadaptive -> Thanks for the cli version of ntsc-rs - it's a real gem! |
Beta Was this translation helpful? Give feedback.
-
Two buttons that randomize and mutates the values of every single function in the program (example: Composite Noise intensity, Head Switching height, Tracking Noise height, Sharpen intensity, Edge wave speed, etc...).
Take this examples below:
I don't know if someone understood my point, but I wish in some future we get these buttons, thanks.
Beta Was this translation helpful? Give feedback.
All reactions