All Projects → bobbens → Sketch_simplification

bobbens / Sketch_simplification

Licence: other
Models and code related to sketch simplification of rough sketches.

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to Sketch simplification

Machine Learning Curriculum
💻 Make machines learn so that you don't have to struggle to program them; The ultimate list
Stars: ✭ 761 (+43.31%)
Mutual labels:  convolutional-neural-networks, torch
Artificial Intelligence Deep Learning Machine Learning Tutorials
A comprehensive list of Deep Learning / Artificial Intelligence and Machine Learning tutorials - rapidly expanding into areas of AI/Deep Learning / Machine Vision / NLP and industry specific areas such as Climate / Energy, Automotives, Retail, Pharma, Medicine, Healthcare, Policy, Ethics and more.
Stars: ✭ 2,966 (+458.57%)
Mutual labels:  convolutional-neural-networks, torch
Pytorch Learners Tutorial
PyTorch tutorial for learners
Stars: ✭ 97 (-81.73%)
Mutual labels:  convolutional-neural-networks, torch
Trashnet
Dataset of images of trash; Torch-based CNN for garbage image classification
Stars: ✭ 368 (-30.7%)
Mutual labels:  convolutional-neural-networks, torch
Ti Pooling
TI-pooling: transformation-invariant pooling for feature learning in Convolutional Neural Networks
Stars: ✭ 119 (-77.59%)
Mutual labels:  convolutional-neural-networks, torch
Activity Recognition With Cnn And Rnn
Temporal Segments LSTM and Temporal-Inception for Activity Recognition
Stars: ✭ 415 (-21.85%)
Mutual labels:  convolutional-neural-networks, torch
Cnn lstm ctc ocr
Tensorflow-based CNN+LSTM trained with CTC-loss for OCR
Stars: ✭ 464 (-12.62%)
Mutual labels:  convolutional-neural-networks
Sketch Sf Ui Font Fixer
A Sketch plugin that adjusts the character spacing on text layers using iOS 9's SF UI Text/SF UI Display fonts to what it would be when used in an iOS app.
Stars: ✭ 492 (-7.34%)
Mutual labels:  sketch
Pba
Efficient Learning of Augmentation Policy Schedules
Stars: ✭ 461 (-13.18%)
Mutual labels:  convolutional-neural-networks
Colorization Pytorch
PyTorch reimplementation of Interactive Deep Colorization
Stars: ✭ 449 (-15.44%)
Mutual labels:  convolutional-neural-networks
Music recommender
Music recommender using deep learning with Keras and TensorFlow
Stars: ✭ 528 (-0.56%)
Mutual labels:  convolutional-neural-networks
Tracking With Darkflow
Real-time people Multitracker using YOLO v2 and deep_sort with tensorflow
Stars: ✭ 515 (-3.01%)
Mutual labels:  convolutional-neural-networks
Neural Vqa
❔ Visual Question Answering in Torch
Stars: ✭ 487 (-8.29%)
Mutual labels:  torch
Dropblock
Implementation of DropBlock: A regularization method for convolutional networks in PyTorch.
Stars: ✭ 466 (-12.24%)
Mutual labels:  convolutional-neural-networks
My Sketch Colors
Project no longer maintained.
Stars: ✭ 502 (-5.46%)
Mutual labels:  sketch
Robustness
Corruption and Perturbation Robustness (ICLR 2019)
Stars: ✭ 463 (-12.81%)
Mutual labels:  convolutional-neural-networks
Convnet Drawer
Python script for illustrating Convolutional Neural Networks (CNN) using Keras-like model definitions
Stars: ✭ 516 (-2.82%)
Mutual labels:  convolutional-neural-networks
Food Recipe Cnn
food image to recipe with deep convolutional neural networks.
Stars: ✭ 448 (-15.63%)
Mutual labels:  convolutional-neural-networks
Tensorflow Book
Accompanying source code for Machine Learning with TensorFlow. Refer to the book for step-by-step explanations.
Stars: ✭ 4,448 (+737.66%)
Mutual labels:  convolutional-neural-networks
Sketch Mate
These plugins will make you best friends with Sketch.
Stars: ✭ 508 (-4.33%)
Mutual labels:  sketch

Sketch Simplification

Example result Example result of a sketch simplification. Image copyrighted by Eisaku Kubonouchi (@EISAKUSAKU) and only non-commercial research usage is allowed.

Overview

This code provides pre-trained models used in the research papers:

   "Learning to Simplify: Fully Convolutional Networks for Rough Sketch Cleanup"
   Edgar Simo-Serra*, Satoshi Iizuka*, Kazuma Sasaki, Hiroshi Ishikawa (* equal contribution)
   ACM Transactions on Graphics (SIGGRAPH), 2016

and

   "Mastering Sketching: Adversarial Augmentation for Structured Prediction"
   Edgar Simo-Serra*, Satoshi Iizuka*, Hiroshi Ishikawa (* equal contribution)
   ACM Transactions on Graphics (TOG), 2018

See our project page for more detailed information.

Dependencies

All packages should be part of a standard PyTorch install. For information on how to install PyTorch please refer to the torch website.

Usage

Before the first usage, the models have to be downloaded with:

bash download_models.sh

Next test the models with:

python simplify.py

You should see a file called out.png created with the output of the model.

Application options can be seen with:

python simplify.py --help

Pencil Drawing Generation

Using the same interface it is possible to perform pencil drawing generation. In this case, the input should be a clean line drawing and not a rough sketch, and the line drawings can be generated by:

python simplify.py --img test_line.png --out out_rough.png --model model_pencil2.t7

This will generate a rough version of test_line.png as out_rough.png. By changing the model it is possible to change the type of rough sketch being generated.

Models

  • model_mse.t7: Model trained using only MSE loss (SIGGRAPH 2016 model).
  • model_gan.t7: Model trained with MSE and GAN loss using both supervised and unsupervised training data (TOG 2018 model).
  • model_pencil1.t7: Model for pencil drawing generation based on artist 1 (dirty and faded pencil lines).
  • model_pencil2.t7: Model for pencil drawing generation based on artist 2 (clearer overlaid pencil lines).

Reproducing Paper Figures

For replicability we include code to replicate the figures in the paper. After downloading the models you can run it with:

./figs.sh

This will convert the input images in figs/ and save the output in out/. We note that there are small differences with the results in the paper due to hardware differences and small differences in the torch/pytorch implementations. Furthermore, results are shown without the post-processing mentioned in the notes at the bottom of this document.

Please note that we do not have the copyright for all these images and in general only non-commercial research usage is permitted. In particular, fig16_eisaku.png, fig06_eisaku_robo.png, fig06_eisaku_joshi.png, and fig01_eisaku.png are copyright by Eisaku Kubonoichi (@EISAKUSAKU) and only non-commercial research usage is allowed. The imagesfig14_pepper.png and fig06_pepper.png are licensed by David Revoy (www.davidrevoy.com) under CC-by 4.0.

Training

Please see the training readme.

Notes

  • Models are in Torch7 format and loaded using the PyTorch legacy code.
  • This was developed and tested on various machines from late 2015 to end of 2016.
  • Provided models are under a non-commercial creative commons license.
  • Post-processing is not performed. You can perform it manually with convert out.png bmp:- | mkbitmap - -t 0.3 -o - | potrace --svg --group -t 15 -o - > out.svg.

Citing

If you use these models please cite:

@Article{SimoSerraSIGGRAPH2016,
   author    = {Edgar Simo-Serra and Satoshi Iizuka and Kazuma Sasaki and Hiroshi Ishikawa},
   title     = {{Learning to Simplify: Fully Convolutional Networks for Rough Sketch Cleanup}},
   journal   = "ACM Transactions on Graphics (SIGGRAPH)",
   year      = 2016,
   volume    = 35,
   number    = 4,
}

and

@Article{SimoSerraTOG2018,
   author    = {Edgar Simo-Serra and Satoshi Iizuka and Hiroshi Ishikawa},
   title     = {{Mastering Sketching: Adversarial Augmentation for Structured Prediction}},
   journal   = "ACM Transactions on Graphics (TOG)",
   year      = 2018,
   volume    = 37,
   number    = 1,
}

Acknowledgements

This work was partially supported by JST CREST Grant Number JPMJCR14D1 and JST ACT-I Grant Numbers JPMJPR16UD and JPMJPR16U3.

License

This sketch simplification code is freely available for free non-commercial use, and may be redistributed under these conditions. Please, see the license for further details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].