Skip to content

CyberAgentAILab/derendering-text

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
shimoda-uec
Feb 14, 2023
5661702 · Feb 14, 2023

History

70 Commits
Oct 14, 2021
Oct 21, 2021
Oct 21, 2021
Oct 12, 2021
Feb 14, 2023
Dec 1, 2021
Aug 28, 2022
Oct 12, 2021
Apr 14, 2022
Oct 14, 2021
Oct 5, 2021
Oct 22, 2021
Oct 22, 2021
Jan 5, 2022

Repository files navigation

Paper: De-rendering Stylized Texts

Wataru Shimoda1, Daichi Haraguchi2, Seiichi Uchida2, Kota Yamaguchi1
1CyberAgent.Inc, 2 Kyushu University
Accepted to ICCV2021. [Publication] [Arxiv] [project-page]

Introduction

This repository contains the codes for "De-rendering stylized texts".

Concept

We propose to parse rendering parameters of stylized texts utilizing a neural net.

Demo

The proposed model parses rendering parameters based on famous 2d graphic engine[Skia.org|python implementation], which has compatibility with CSS in the Web. We can export the estimated rendering parameters and edit texts by an off-the-shelf rendering engine.

Installation

Requirements

  • Python >= 3.7
  • Pytorch >= 1.8.1
  • torchvision >= 0.9.1
pip install -r requirements.txt

Font data

  • The proposed model is trained with google fonts.
  • Download google fonts and locate in data/fonts/ as gfonts.
    • Note: the organization of font files in the google fonts is updated from our environment.
  • Download font files from this link(ofl) and locate in data/fonts/gfonts/.
- cd data/fonts
- git clone https://github.com/google/fonts.git gfonts
+ mkdir data/fonts/gfonts; cd data/fonts/gfonts
+ tar xvzf ofl.tar.gz

Pre-rendered alpha maps

  • The proposed model parses rendering parameters and refines them through the differentiable rendering model, which uses pre-rendered alpha maps.
  • Generate pre-rendered alpha maps.
python -m util_lib.gen_pams

Pre-rendered alpha maps would be generated in data/fonts/prerendered_alpha.

Usage

Test

  • Download the pre-trained weight from this link (weight).
  • Locate the weight file in weights/font100_unified.pth.

Example usage.

python test.py --imgfile=example/sample.jpg

Note

  • imgfile option: path of an input image
  • results would be generated in res/

Text image editing

The proposed model generates a reconstructed image and a pickle file for the parsed rendering parameters.
Here, we prepare a notebook file:text_edit.ipynb for the guide of the processings to edit text images using the parsed rendering parameters.

Some examples from text_edit.ipynb:

Background editing

Text editing

Border effect editing

Shadow effect editing

Text offsets editing

Font editing

Data generation

Quick start.

python gen.py --bgtype=load --bg_dir=src/modules/generator/example/bg --mask_dir=src/modules/generator/example/mask

The generated text images would be located in gen_data/.

For the detail, see generator.

Train text parser model

Quick start. Generate training data using simple background dataset.

python gen.py --bgtype=color

Train text parser model with the generated simple background data.

python train.py

For the detail, see trainer.

Attribute details

Todo

  • Testing codes
  • Codes for the text image generator
  • Notebook for text editing
  • Training codes for text paraser model
  • Training codes for inpainting model
  • Demo app

Reference

@InProceedings{Shimoda_2021_ICCV,
    author    = {Shimoda, Wataru and Haraguchi, Daichi and Uchida, Seiichi and Yamaguchi, Kota},
    title     = {De-Rendering Stylized Texts},
    booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
    month     = {October},
    year      = {2021},
    pages     = {1076-1085}
}

Contact

This repository is maintained by Wataru shimoda(wataru_shimoda[at]cyberagent.co.jp).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published