Image Super-Resolution for Anime/Fan-Art
Lua HTML Shell
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 512 commits behind nagadomi:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
appendix
assets
cache
data
images
lib
models
.gitignore
LICENSE
NOTICE
README.md
cleanup_model.lua
convert_data.lua
train.lua
train.sh
waifu2x.lua
web.lua

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.