All Projects → richliao → Sketchtoface

richliao / Sketchtoface

Pix2Pix Image translation using conditional generative adversarial network - sketch to face

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Sketchtoface

Anime Face Gan Keras
A DCGAN to generate anime faces using custom mined dataset
Stars: ✭ 161 (+143.94%)
Mutual labels:  generative-adversarial-network, face
Isketchnfill
Software that can autocomplete sketches as the user starts drawing.
Stars: ✭ 151 (+128.79%)
Mutual labels:  generative-adversarial-network, sketch
Faceaging By Cyclegan
Stars: ✭ 105 (+59.09%)
Mutual labels:  generative-adversarial-network, face
Anime2Sketch
A sketch extractor for anime/illustration.
Stars: ✭ 1,623 (+2359.09%)
Mutual labels:  sketch, generative-adversarial-network
Chartjs Plugin Rough
Chart.js plugin to create charts with a hand-drawn, sketchy, appearance
Stars: ✭ 59 (-10.61%)
Mutual labels:  sketch
Facifier
An emotion and gender detector based on facial features, built with Python and OpenCV
Stars: ✭ 52 (-21.21%)
Mutual labels:  face
Creature unity
2D Skeletal Animation Unity Runtimes for Creature
Stars: ✭ 50 (-24.24%)
Mutual labels:  sketch
Sketch Textbox Fit Content
Set the height of a selected text layer or all text layers in a selected group to it's content's height.
Stars: ✭ 49 (-25.76%)
Mutual labels:  sketch
Dna Gan
DNA-GAN: Learning Disentangled Representations from Multi-Attribute Images
Stars: ✭ 65 (-1.52%)
Mutual labels:  generative-adversarial-network
Sketch Better Android Export
Stars: ✭ 61 (-7.58%)
Mutual labels:  sketch
Hypergan
Composable GAN framework with api and user interface
Stars: ✭ 1,104 (+1572.73%)
Mutual labels:  generative-adversarial-network
Wz Wireframe Kit
📏 A kit to draw wireframes and note interaction details.
Stars: ✭ 54 (-18.18%)
Mutual labels:  sketch
Quickcolor
Quickly apply fills from the global or document color palettes to selected elements - 🎨
Stars: ✭ 59 (-10.61%)
Mutual labels:  sketch
Truncat
A Sketch plugin to truncate text.
Stars: ✭ 52 (-21.21%)
Mutual labels:  sketch
Html Sketchapp Example
Convert any website into an asketch.json file
Stars: ✭ 62 (-6.06%)
Mutual labels:  sketch
Sketch Name Organizer
🖌 Rename and sort artboards based on their x and y position; Rename layers based on their Style and Symbol.
Stars: ✭ 50 (-24.24%)
Mutual labels:  sketch
Animegan
A simple PyTorch Implementation of Generative Adversarial Networks, focusing on anime face drawing.
Stars: ✭ 1,095 (+1559.09%)
Mutual labels:  generative-adversarial-network
Ali Pytorch
PyTorch implementation of Adversarially Learned Inference (BiGAN).
Stars: ✭ 61 (-7.58%)
Mutual labels:  generative-adversarial-network
Cyclegan Tensorflow
An implementation of CycleGan using TensorFlow
Stars: ✭ 1,096 (+1560.61%)
Mutual labels:  generative-adversarial-network
Acgan Pytorch
Pytorch implementation of Conditional Image Synthesis with Auxiliary Classifier GANs
Stars: ✭ 57 (-13.64%)
Mutual labels:  generative-adversarial-network

SketchToFace

The original code for the project comes from Christopher Hesse's pix2pix tensorflow implementation, which translates Phillip Isola's Torch code into tensorflow. Chris has a very detailed explanation of the network in his blog. I have learned a quite deal reading it.

For this excercise I have only made very little changes, primarily changed the Generative and Discriminator network to take in 64X64 images by removing two layers, so that the size of parameters and time to train the model can be reduced. The dataset I used comes from CUHK Face Sketch database. The original resolution of each image is 200X250. I have reduced each to 64X64 and further convert gray image to RBG by using openCV.

The dataset contains 188 faces and sketches combined. I have trained the model based on 185 data points, leaving following 3 for testing. As you can see results are quite impressive. The model has learned a very good mapping between sketches and faces.

name input output target
f005
f006
f007

The following two additional test results are quite interesting. The test data comes from XM2GTS data set. I have manually downloaded two pairs of faces and sketches from the front page of CUHK face database. Since the model has only trained on data set based on CUHK students who are mainly Asian, the outputs also look asian, which are quite differen than the target images. However, if you look carefully, the generated images do resemble sketch faces very well.

name input output target
Test1
Test2

For those interested in playing with the data, I have uploaded clean data in the sketches folder. You can follow the exact commands as written in the original author's blog.

#Conclusion and ideas It will make sense to add another one hot label as input, such as Male vs. Female, ethnicity etc so that it can maximize the benefit of conditional adversarial network.

Also, the network only works when the input and target images are very well aligned. I initally were going after other data sources but that project failed miserably. The results of this dataset showed me what the capacity and limitation of the network are. After this, I plan to study further and see if I can come up with better discriminator network. If I have further work done, I'll update this page or you can go to my blog for further information.

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].