Coder Social home page Coder Social logo

dxsim / text2colors Goto Github PK

View Code? Open in Web Editor NEW

This project forked from awesome-davian/text2colors

0.0 1.0 0.0 6.04 MB

Code for "Coloring with Words: Guiding Image Colorization through Text-based Palette Generation" - ECCV 2018

License: MIT License

Shell 0.78% Python 99.22%

text2colors's Introduction


This repository provides a PyTorch implementation of Text2Colors. Text2Colors is capable of producing plausible colors (or color palette) given variable length of text input, and colorize a grayscale image based on the generated color palettes.

 

Paper

Coloring with Words: Guiding Image Colorization through Text-based Palette Generation
Hyojin Bahng*1, Seungjoo Yoo*1, Wonwoong Cho*1, David Keetae Park1, Ziming Wu2, Xiaojuan Ma2, and Jaegul Choo1
1Korea University    2Hong Kong University of Science and Technology
ECCV, 2018. (* equal contributions)

   

Model Description

Text-to-Palette Generation Networks (TPN) and Palette-Based Colorization Networks (PCN)

Overview of our Text2Colors architecture. During training, generator G0 learns to produce a color palette (y hat) given a set of conditional variables (c hat) processed from input text x = {x1, ···, xT}. Generator G1 learns to predict a colorized output of a grayscale image (L) given a palette (p) extracted from the ground truth image. At test time, the trained generators G0 and G1 are used to produce a color palette from given text, and then colorize a grayscale image reflecting the generated palette.

The model architecture of a generator G0 that produces the t-th color in the palette given an input text x = {x1, ···, xT}. Note that randomness is added to each hidden state vector h in the sequence before it is passed to the generator

   

Palette-and-Text (PAT) dataset

We open our manually curated dataset named Palette-and-Text(PAT). PAT contains 10,183 text and five-color palette pairs, where the set of five colors in a palette is associated with its corresponding text description as shown in Figs. 2(b)-(d). The text description is made up of 4,312 unique words. The words vary with respect to their relationships with colors; some words are direct color words (e.g. pink, blue, etc.) while others evoke a particular set of colors (e.g. autumn or vibrant).

Statistics and samples of PAT dataset: (a) the number of data items with respect to their text lengths. On the right are examples that show diverse textpalette pairs in PAT. Those text descriptions matching with their palettes include (b) direct color names, (c) texts with a relatively low level of semantic relations to colors, (d) those with a high-level semantic context.

For the use of PAT dataset for your research, please cite our paper.

 

Results

Prerequisites

 

Usage

1. Clone the repository

$ git clone https://github.com/awesome-davian/Text2Colors.git
$ cd Text2Colors/

2. Dataset & Libraries install

$ bash install_pre.sh

3. Train

(i) Training Text-to-Palette Generation Networks (TPN) with PAT data
$ python main.py --mode train_TPN
(ii) Training Palette-Based Colorization Networks (PCN) with CUB-200-2011* data
$ python main.py --mode train_PCN

*Wah, Catherine, et al. "The caltech-ucsd birds-200-2011 dataset." (2011).

4. Test

(i) Testing TPN
$ python main.py --mode test_TPN
(ii) Testing Text2Colors
$ python main.py --mode test_text2colors

Citation

If this work is useful for your research, please cite our paper.

 

text2colors's People

Contributors

awesome-davian avatar hjbahng avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.