All Projects → mosessoh → iconcolor

mosessoh / iconcolor

Licence: other
Automatic icon colorization using deep convolutional neural networks. "Towards Icon Design Using Machine Learning." In Stanford CS229, Fall 2017.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to iconcolor

svelte-simple-icons
📦 This package provides the Simple Icons packaged as a set of Svelte components.
Stars: ✭ 27 (-22.86%)
Mutual labels:  icons
fabric
Urban change model designed to identify changes across 2 timestamps
Stars: ✭ 53 (+51.43%)
Mutual labels:  unet
mdn-dinocons
A scalable set of icons for use across Mozilla Developer websites
Stars: ✭ 21 (-40%)
Mutual labels:  icons
SketchSVG
Have icons in a Sketch file but don't want to manually extract and compress them as SVGs? Let our SketchSVG tool do it!
Stars: ✭ 23 (-34.29%)
Mutual labels:  icons
stix2-graphics
Graphics, icons, and diagrams to support STIX 2
Stars: ✭ 32 (-8.57%)
Mutual labels:  icons
dicefont
Scalable vector graphics for dice in icon font format
Stars: ✭ 20 (-42.86%)
Mutual labels:  icons
visioStencils
My 2,700 visio 🎨 shapes, stencils, symbols, and icons collection to visually represent IT infrastructure
Stars: ✭ 43 (+22.86%)
Mutual labels:  icons
vector-icons
Free Vector icons for Website and Mobile App
Stars: ✭ 28 (-20%)
Mutual labels:  icons
adapticon
The app icon is one of the most important assets of an app and therefore it is key to make it look perfect on any device. Adaptive Icons make that possible and also allow you to add a nice little extra touch to your app.
Stars: ✭ 20 (-42.86%)
Mutual labels:  icons
GoogleMD-Icons
Google Material Design Icons Library
Stars: ✭ 14 (-60%)
Mutual labels:  icons
icon-pipeline
🚚 SVG icon pipeline - Optimize icons & build SVG sprites
Stars: ✭ 43 (+22.86%)
Mutual labels:  icons
ngx-bootstrap-icons
This Angular module allows you to use the Bootstrap Icons in your angular application without additional dependencies.
Stars: ✭ 26 (-25.71%)
Mutual labels:  icons
vscode-icon
🌀 Round OSX icon for VSCode 🚀
Stars: ✭ 16 (-54.29%)
Mutual labels:  icons
awesome print.cr
It dreams about becoming ruby's awesome_print for crystal-lang, under light development.
Stars: ✭ 13 (-62.86%)
Mutual labels:  colorization
gimp-hidpi
A theme for HiDPI displays
Stars: ✭ 72 (+105.71%)
Mutual labels:  icons
vs-material-icons-generator
This plugin will help you to set material design icons to your Xamarin projects In Visual Studio.
Stars: ✭ 50 (+42.86%)
Mutual labels:  icons
WP-SVG-Icons-WordPress-Plugin
WPIcons Plugin (Formally WP SVG Icons) - Quickly and easily install font icons and custom SVG icons on any WordPress site.
Stars: ✭ 18 (-48.57%)
Mutual labels:  icons
phosphor-figma
A flexible icon family for Figma
Stars: ✭ 17 (-51.43%)
Mutual labels:  icons
tasarimcilar-ve-yazilimcilar-icin-kaynak-arsivim
Tasarım ve yazılım ile ilgili 2017 yılından günümüze kadar geçen zamanda toplamış olduğum arşivimi sizle ile paylaşıyorum. Ne mi var her şey...
Stars: ✭ 276 (+688.57%)
Mutual labels:  icons
MetalColor
Automatic Real Time Colorization with CNN on iOS
Stars: ✭ 69 (+97.14%)
Mutual labels:  colorization

Towards Icon Design Using Machine Learning

icon conversion

[video] [medium post] [poster]

Introduction

I created a model that learns how to turn outlines into stylish and colorful icons. Icon and logo design is difficult — expert human designers choose from line weights, colors, textures and shapes to create beautiful icons such as these (I'm a big fan). But there seems to be a pattern to how each designer make their choices. So, I decided it would be interesting to try to train a model that learns a designer's style, and then takes any freely available icon outlines (e.g. from the Noun Project), and color and style them exactly as how a designer would have completely automatically.

The icon generator is a convolutional neural network called a U-Net that was trained on an icon set from Smashicons. I optimized the generator against the L1 loss and an adversarial loss under a Conditional Generative Adversarial Network (cGAN) setup. A quick view of our results:

before and after

Overview of approach

poster

The poster above summarizes the technical approach of tis project. The image below showcases the performance of our best model on test set images from the Smashicon dataset.

test

How to use

Clone the repo

git clone https://github.com/mosessoh/iconcolor

Download pre-trained models

cd iconcolor
cd models
python fetch_models.py

Inference

python color_icon.py assets/demo.png

The color_icon.py file contains a script to load the pre-trained generator contained in model/outline2yellow_generator_gan.pth and use it to colorize an input icon. This is the generator trained against L1 and adversarial loss. If you're getting funky colorizations (the adversarial loss encourages the use of more vibrant colors), the weights for the L1-optimized generator are at model/outline2yellow_generator.pth. Note that the model expects a 1 x 1 x 128 x 128 input, and saves the output at assets/output.png. If your setup is correct, you should get the icon at the start of our "Introduction" (the outline icon is from IconBros and the colored icon is produced by our model).

Training

The train_model.py file contains the training script used to train the discriminator using BCEWithLogitsLoss and the generator against L1 and adversarial loss. The model/outline2yellow_discriminator.pth and model/outline2yellow_generator_gan.pth files contain a useful checkpoints so your discriminator and generator do not need to start from scratch.

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