$320
pledged of $15,000pledged of $15,000 goal
8
backers
Funding Unsuccessful
The project's funding goal was not reached on Tue, April 23 2019 3:59 AM UTC +00:00
Val KriganBy Val Krigan
First created
Val KriganBy Val Krigan
First created
$320
pledged of $15,000pledged of $15,000 goal
8
backers
Funding Unsuccessful
The project's funding goal was not reached on Tue, April 23 2019 3:59 AM UTC +00:00

About

This project is about pictures improvement. Most of us have pictures taken by cell phones, consumer cameras, small action cameras. They cannot be staged and shot again. It’s our memory, it’s important. I personally have thousands of images. Places I’ve visited, people I’ve met. The problem is they were great back then, but are small and have technically low quality by modern standards. Both size and quality can be improved today, after all it’s a golden age of AI, isn’t it?  Product will be also interesting to professionals who deal with pictures every day. High quality upscale and artifacts removal are the things most image editors do not offer.


The plan

 Build AI models for image quality improvement. Make them cheap, affordable,  and easy to use.

First candidates:

  • Upscaling. The model can do 4x upscale, and minor artifacts removal at the same time. Output can be downscaled to the desired size, most image editors are very good at this.  Model is being trained right now. See below, early results are already impressive.
  • Compression artifacts removal.  Well, this is what happens when picture is compressed with low quality. Visible rectangles, ‘mosquitoes’ along contrast borders, misaligned elements, and so on. To some degree this can be corrected. The model has been trained for about two weeks already. The results are good, see below.
  • Un-blurring. This is intended to correct slight out of focus in otherwise good quality picture. Common problem with entry level DSLR cameras. Warning: it may sharpen things you rather not, ruin your artistic blur.
  • Re-processing, this is the hardest one. The problem is very common for big-megapixels, small-sensors cameras. Which includes most cell phones and consumers cameras. At 100% resolution hair doesn't look like hair, lines aren't exactly lines, noise all over the picture. Sounds familiar? Small sensors produce images with high noise. To make them look better most cameras use primitive noise canceling algorithms, then colors correction. After that JPEG compression. The result is, hmm... not even close to pro cameras. This mix of low quality input, custom algorithms, and compression is hard to fix. However, with the right model, data, and training it's possible to make images look better, more photo-realistic.

Important to notice, this product is intended for more photo-realistic images, it's not another beauty app. It may change the colors and shapes locally, but not at scale.


What do we have so far

So far I have two half-trained models, 4x upscaling  and artifacts correction. Both produce very impressive results already. Take a look.

Upscale, from this: 

the input
the input

Model produces this: 

the output
the output

Note, model even corrected minor compression artifacts. Here is the original image upscaled using popular bicubic algorithm: 

bicubic upscale
bicubic upscale

Artifacts removal example

This is significantly more complex problem. However we have good results here. The original image with really bad compression: 

low quality JPEG
low quality JPEG

Model's output: 

the result
the result

Close look: 

input, ouput side by side
input, ouput side by side

Not many products can to this, probably none, not this good. This model still responds to training and improves.

Humans 4x upscale, this is were other products do not perform well, to put it mildly. 

From this:

input
input

Model, at the very early stage of training, produces this:

output
output

Notice those dark lines in the middle-right, they will go away with further training.


Not impressed yet?? Try this in your favorite editor

input
input
model's ouput
model's ouput
4X upscale with bicubic interpolation
4X upscale with bicubic interpolation

Notice: All images used here are stock images from Pixabay. They are not part of the training set, models were not pre-trained on them.


Details and system requirements

The product will be implemented in Python using PyTorch and distributed as open source. User interface will be fully functional but quite basic. It is not intended as a replacement for full scale image editor. You can customize the code, integrate with your systems as you wish. In this product models are the items of value. 

Models can be run on CPU or GPU. For example, NVidia 1050 Ti with 4GB memory can process 4k frames in less then 0.1 second. On CPU it may take minutes, depending on how fast it is. Thus NVidia graphics card with at least 3GB is highly recommended. Sorry AMD users, but porting PyTorch is well beyond the scopes of this project. However, if everything goes well, I may release torch-free version later. After all neural networks are mostly matrices operations.

To make it clear:

  • NVidia GPU with at least 3GB memory is highly recommended.
  • Computer must have at least 8GB RAM. 
  • Operating system: whatever PyTorch can run on. This includes macOS 10.10 (Yosemite) or above, Windows 7 and up, most popular Linux distributions. Check here if you can install PyTorch on your system:      https://pytorch.org/get-started/locally/

What you get

  • A set of models as promised.
  • GUI program with necessary functionality like load, save, apply, etc.
  • Commercial users get console applications for scripting and batch processing.
  • Commercial users get priority support and early access.
  • Free support after main release till version 2.0. This includes bugs fixing, new functionality, models updates.

When

Estimated delivery date is end of July 2019. GUI and a couple of models may be released early for compatibility testing.


What's next

If the project goes well, I'll be releasing models and software updates for free till version 2.0.  This will include better versions of old and a few new models. I have many ideas, we'll see how in goes.


That's actually it for now. Thanks for your attention. I really appreciate it.

Risks and challenges

Current two models perform very well. There is very little risk they will stop suddenly. The model for out of focus fix shouldn't be a problem. It has a lot in common with upscaling. The last one is more generic and will definitely require at least more training. Most likely new, bigger, design. If needed I can offload training to Amazon or Microsoft. It's faster, but more expensive. For now I plan to get 2x 2080Ti with SLI. Three months should be enough. With two computers I can develop and train models at the same time.

Learn about accountability on Kickstarter

Questions about this project? Check out the FAQ

Support

  1. Select this reward

    Pledge $1 or more About $1.00

    First supporter

    You get everything from the early package, just for $1

    Less
    Estimated delivery
    Limited 4 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Select this reward

    Pledge $5 or more About $5

    Basic

    Basic version licensed for personal use on a single computer. You get a set of models and Graphical User Interface program. This will let you select, preview, save files, apply models.

    You will get the same results as commercial versions. Models are the same across all packages, there will be no sub-standard models.

    Less
    Estimated delivery
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge $15 or more About $15

    Early supporter

    You get everything from the basic package. In addition you get free upgrade to version 2.0, when it becomes available. Also access to alpha versions of models some time before the major release.

    Less
    Estimated delivery
    1 backer
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge $30 or more About $30

    Commercial

    You get everything from the basic package plus commercial license for use on a single computer. In addition to GUI application you get console applications for scripting and batch processing. Also you get early access to models, before major release.

    Less
    Estimated delivery
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge $200 or more About $200

    Server version

    You get everything from the commercial package, including a single computer license, plus commercial license for use on a server. You get early access as well.
    With this package you can install the product on your personal computer and on network server. Server can be used remotely for batch processing for example

    Less
    Estimated delivery
    1 backer
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (31 days)