image-regression
image-regression copied to clipboard
A DNN that takes in x, y and outputs colors at that point to approximately "paint" an image. A toy problem.
Image regression
A toy application that learns a mapping from (x, y) coordinates to color. Uses pytorch and pytorch-lightning.
Setup
Set up your python environment with conda like this:
conda env create
Usage
Train on a single greyscale image
python train.py -i keyboard.png --num-epochs 150
Train on a single color image (RGBA)
TODO
Train on multiple images
python train.py -i boxy_stripes2.png boxy_stripes2_30.png boxy_stripes2_60.png boxy_stripes2_90.png
Train on multiple color images (RGBA)
TODO
Interpolate between the images:
python interpolate_between_many.py --width 64 --height 64 --num-images 4 --model boxy_stripes2_boxy_stripes2_30_boxy_stripes2_60_bo_2f59b848.onnx --use-cuda 0
Examples
Name | Original | Learned image |
---|---|---|
Keyboard | ![]() |
![]() |
8x8 Checkerboard | ![]() |
![]() |
The following animation visualizes the output of a neural network that was trained on 12 different images (different rotations of boxy stripes). The input vectors are constructed to interpolate between the 12 images, so we get a kind of morphing effect.