Last modified: 2024-04-08 22:20:06
< 2024-03-25 2024-04-10 >Following on from https://incoherency.co.uk/blog/stories/lenna-neural-net.html
What if instead of (x,y) => (r,g,b) we mapped (x,y,z) => (r,g,b), where z=0
for some base image,
and z=1
for another, and then we can animate varying the value of z
to get a cool transition between
the first base image and the second? We won't train on values of z
other than 0 and 1, but we can
still sample it as a continuous function. What would the intermediate positions look like?
And we can also generate images/animations where the value of z
is not constant across the entire frame.
For example you could start with every pixel having z=0
, but sweep a wave across from left to right
where it changes to z=1
gradually. What would that look like?
This easily generalises to more than 2 images. For example, train on a third image at z=0.5
.
I've got it running with a picture of me at z=0
and Richard Feynman at z=1
, saving out frames for z=0,0.25,0.5,0.75,1
after each round of training. I'll let this run for a while and if it looks interesting I'll try to make a
higher-resolution video of transitioning between 2 other pictures.
It's not obvious to me whether the results would be most interesting when the 2 endpoints are very similar, or when they're very dissimilar.
Also, what happens if you extend beyond the bounds of [0,1]
? Not only in z
, but also x
and y
for that matter!