Skip to content

(Siggraph Asia 2023) Code of "IconShop: Text-Guided Vector Icon Synthesis with Autoregressive Transformers"

Notifications You must be signed in to change notification settings

kingnobro/IconShop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IconShop: Text-Guided Vector Icon Synthesis with Autoregressive Transformers

Setup

git clone https://github.com/kingnobro/IconShop.git
cd IconShop

Environment

To set up our environment, please run:

conda env create -f environment.yml
conda activate iconshop

Please refer to cairosvg's documentation for additional requirements of CairoSVG. For example:

  • on Ubuntu: sudo apt-get install libcairo2-dev.
  • on macOS: brew install cairo libffi.

Dataset

We have cleaned up the FIGR-8-SVG by command simplification, removing the black bounding box, and resizing the icons.

Download the labels and SVG files from Google Drive and place them in the ./dataset folder. You need to unzip the FIGR-SVG-svgo.zip.

The resulting file structure should be:

./dataset
├── FIGR-SVG-train.csv
├── FIGR-SVG-valid.csv
├── FIGR-SVG-test.csv
└── FIGR-SVG-svgo
    ├── 100000-200.svg
    ├── 1000003-200.svg
    └── ...

There are some other useful files in the Google Drive link. Please check the Readme.md and download them as needed.

Training

I use 8 RTX 3090 (or 2 A100) to train the model.

Feel free to adjust the batch size, number of epochs, and learning rate. The training will take several days, so I did not spend a lot of time optimizing these parameters.

bash scripts/train.sh

Use the following command to check the loss curve:

bash scripts/log.sh

Sample

bash scripts/sample.sh

Download our pretrained models and unzip it under proj_log/FIGR_SVG. This model is trained with 100 epochs.

Caution

The pretrained model in this repository produces different results from those shown in the paper. This is primarily due to dataset differences:

  • The paper uses a higher-precision dataset with 100x100 bounding boxes
  • This repository uses the FIGR dataset with 200x200 bounding boxes

To reproduce the paper's results:

  1. Original model weights and GUI: Download Link
  2. Training dataset (zoom_svgs.zip): Download Link

The provided GUI significantly simplifies the editing process. Manual implementation without the GUI requires extensive parameter tuning and preprocessing steps.

Miscellaneous

  • Our code is based on SkexGen and DeepSVG (for read and write SVG data).
  • Acknowledgement: We would like to express our sincere gratitude to OPPO for their generous support of our work.

About

(Siggraph Asia 2023) Code of "IconShop: Text-Guided Vector Icon Synthesis with Autoregressive Transformers"

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published