Image Super-Resolution for Anime-Style Art
fork from : https://github.com/nagadomi/waifu2x.git

nagadomi a073c9eee4 Merge branch 'master' of github.com:nagadomi/waifu2x před 10 roky
appendix 43614f46af add cron script; fix run-web.sh před 10 roky
assets 5727877ee4 add slide link před 10 roky
cache 1273b3609e first commit před 10 roky
data 243e9044cd add slide and appendix před 10 roky
images 243e9044cd add slide and appendix před 10 roky
lib ffd52fdb2b super typo fix před 10 roky
models 83548d7494 update noise1_model před 10 roky
.gitignore 2231423056 update training script před 10 roky
LICENSE f2f5c882eb add LICENSE and NOTICE před 10 roky
NOTICE f2f5c882eb add LICENSE and NOTICE před 10 roky
README.md 72a1adb171 Update README.md před 10 roky
cleanup_model.lua 1273b3609e first commit před 10 roky
convert_data.lua 2231423056 update training script před 10 roky
train.lua ffd52fdb2b super typo fix před 10 roky
train.sh 2231423056 update training script před 10 roky
waifu2x.lua ffd52fdb2b super typo fix před 10 roky
web.lua ffd52fdb2b super typo fix před 10 roky

README.md

waifu2x

Image Super-Resolution for anime/fan-art using Deep Convolutional Neural Networks.

Demo-Application can be found at http://waifu2x.udp.jp/ .

Summary

Click to see the slide show.

slide

References

waifu2x is inspired by SRCNN [1]. 2D character picture (HatsuneMiku) is licensed under CC BY-NC by piapro [2].

Public AMI

AMI name: waifu2x server
AMI ID: ami-75f01931
Region: N. California
Instance: g2.2xlarge (require a GPU)
OS: Ubuntu 14.04
User: ubuntu

Dependencies

Platform

Packages (luarocks)

NOTE: Turbo 1.1.3 has bug in file uploading. Please install from the master branch on github.

Web Application

Please edit the first line in web.lua.

local ROOT = '/path/to/waifu2x/dir'

Run.

th web.lua

View at: http://localhost:8812/

Command line tools

Noise Reduction

th waifu2x.lua -m noise -noise_level 1 -i input_image.png -o output_image.png
th waifu2x.lua -m noise -noise_level 2 -i input_image.png -o output_image.png

2x Upscaling

th waifu2x.lua -m scale -i input_image.png -o output_image.png

Noise Reduction + 2x Upscaling

th waifu2x.lua -m noise_scale -noise_level 1 -i input_image.png -o output_image.png
th waifu2x.lua -m noise_scale -noise_level 2 -i input_image.png -o output_image.png

See also images/gen.sh.

Training Your Own Model

Data Preparation

Genrating a file list.

find /path/to/image/dir -name "*.png" > data/image_list.txt

(You should use PNG! In my case, waifu2x is trained by 3000 PNG images.)

Converting training data.

th convert_data.lua

Training a Noise Reduction(level1) model

th train.lua -method noise -noise_level 1 -test images/miku_noise.png
th cleanup_model.lua -model models/noise1_model.t7 -oformat ascii

You can check the performance of model with models/noise1_best.png.

Training a Noise Reduction(level2) model

th train.lua -method noise -noise_level 2 -test images/miku_noise.png
th cleanup_model.lua -model models/noise2_model.t7 -oformat ascii

You can check the performance of model with models/noise2_best.png.

Training a 2x UPscaling model

th train.lua -method scale -scale 2 -test images/miku_small.png
th cleanup_model.lua -model models/scale2.0x_model.t7 -oformat ascii

You can check the performance of model with models/scale2.0x_best.png.