Buckets:

18.3 GB
42 files
Updated 5 days ago
Name
Size
data
resources
.gitattributes2.27 kB
xet
LICENSE2.35 kB
xet
README.md26.9 kB
xet
README.md

Dataset Card for Crello

Table of Contents

Dataset Description

The Crello dataset is a collection of raster graphic designs originally compiled for the study of vector graphic documents. It contains document meta-data such as canvas size and pre-rendered elements such as images or text boxes. The original templates were collected from crello.com (now create.vista.com) and converted to a low-resolution format suitable for machine learning analysis. More recently, it has been used for research into decomposing raster graphic designs into layers, as presented in the LayerD paper.

Associated Projects and Papers

LayerD: Decomposing Raster Graphic Designs into Layers

CanvasVAE: Learning to Generate Vector Graphic Documents (Original Context)

Usage (Loading the dataset)

import datasets

dataset = datasets.load_dataset("cyberagent/crello", revision="5.1.0")

Sample Usage (LayerD Data Preparation)

The LayerD project, which uses this dataset for training its top-layer matting module, provides a script to prepare the Crello dataset. You can convert the Crello dataset for this purpose using the following command from the LayerD repository:

uv run python ./tools/generate_crello_matting.py --output-dir </path/to/dataset> --inpainting --save-layers

This script downloads the Crello dataset (<20GB) from Hugging Face. Please ensure you have a stable internet connection and sufficient disk space for the first run.

Supported Tasks and Leaderboards

The Crello dataset supports unsupervised document generation (as studied by CanvasVAE) and layer decomposition / image segmentation (as studied by LayerD).

Languages

Almost all design templates use English.

Dataset Structure

Data Instances

Each instance has scalar attributes (canvas) and sequence attributes (elements). Categorical values are stored as integer values. Check ClassLabel features of the dataset for the list of categorical labels.

To get a label for categorical values, use the int2str method:

data = dataset['train'] # obtain the train set
key = "font"
example = data[0] # obtain the first sample in train set

data.features[key].feature.int2str(example[key]) # obtain the text equivalent of the encoded values

Data Fields

In the following, categorical fields are shown as categorical type, but the actual storage is int64.

Canvas attributes

Field Type Shape Description
id string () Template ID from create.vista.com
group categorical () Broad design groups, such as social media posts or blog headers
format categorical () Detailed design formats, such as Instagram post or postcard
category categorical () Topic category of the design, such as holiday celebration
canvas_width int64 () Canvas pixel width
canvas_height int64 () Canvas pixel height
length int64 () Length of elements
suitability categorical (None,) List of display tags, only mobile tag exists
keywords string (None,) List of keywords associated to this template
industries categorical (None,) List of industry tags like marketingAds
preview image () Preview image of the template for convenience
cluster_index int64 () Cluster index used to split the dataset; only for debugging

Element attributes

Field Type Shape Description
type categorical (None,) Element type, such as vector shape, image, or text
left float32 (None,) Element left position
top float32 (None,) Element top position
width float32 (None,) Element width
height float32 (None,) Element height
color string (None, None) RGB color palette of the vector graphic element
opacity float32 (None,) Opacity in [0, 1] range
image image (None,) Pre-rendered preview of the element encoded in PNG format
text string (None,) Text content in UTF-8 encoding for text element
font categorical (None,) Font family name for text element
font_size float32 (None,) Font size (height) in pixels
text_align categorical (None,) Horizontal text alignment, left, center, right for text element
angle float32 (None,) Element rotation angle (degree) w.r.t. the center of the element
font_bold boolean (None, None) Character-wise flag to indicate bold font
font_italic boolean (None, None) Character-wise flag to indicate italic font
text_color string (None, None) Character-wise rgba color
text_line int64 (None, None) Character-wise index of line number
capitalize boolean (None,) Binary flag to capitalize letters
line_height float32 (None,) Scaling parameter to line height, default is 1.0
letter_spacing float32 (None,) Adjustment parameter for letter spacing, default is 0.0

left and top can be negative because elements can be bigger than the canvas size. text_line indicates the index of the text line. For example, the following indicates that Be is in the first line and the rest in the next line. The newline character if present is ignored in rendering.

{
  "text": "Be
ambitious!",
  "text_line": [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1],
}

Note that the color and pre-rendered images do not necessarily accurately reproduce the original design templates. The original template is accessible at the following URL if still available.

https://create.vista.com/artboard/?template=<template_id>

Data Splits

The Crello dataset has 3 splits: train, validation, and test. The current split is generated based on appearance-based clustering. Be careful, the split is not compatible between dataset revisions.

Visualization

Each example can be visualized in the following approach using cr-renderer.

https://github.com/CyberAgentAILab/cr-renderer

Note the renderer does not guarantee a similar appearance to the original template. Currently, the quality of text rendering is far from perfect.

Dataset Creation

Curation Rationale

The Crello dataset is compiled for the general study of vector graphic documents, with the goal of producing a dataset that offers complete vector graphic information suitable for neural methodologies.

Source Data

Initial Data Collection and Normalization

The dataset is initially scraped from the former crello.com and pre-processed to the above format.

Who are the source language producers?

While create.vista.com owns those templates, the templates seem to be originally created by a specific group of design studios.

Personal and Sensitive Information

The dataset does not contain any personal information about the creator but may contain a picture of people in the design template.

Considerations for Using the Data

Social Impact of Dataset

This dataset was developed for advancing the general study of vector graphic documents, especially for generative systems of graphic design. Successful utilization might enable the automation of creative workflow that human designers get involved in.

Discussion of Biases

The templates contained in the dataset reflect the biases appearing in the source data, which could present gender biases in specific design categories.

Other Known Limitations

Due to the unknown data specification of the source data, the color and pre-rendered images do not necessarily accurately reproduce the original design templates. The original template is accessible at the following URL if still available.

https://create.vista.com/artboard/?template=<template_id>

Additional Information

Dataset Curators

The Crello dataset was developed by Kota Yamaguchi.

Licensing Information

The origin of the dataset is create.vista.com (formally, crello.com). The distributor ("We") do not own the copyrights of the original design templates. By using the Crello dataset, the user of this dataset ("You") must agree to the VistaCreate License Agreements.

The dataset is distributed under CDLA-Permissive-2.0 license.

Note

We do not re-distribute the original files as we are not allowed by terms.

Citation Information

@article{yamaguchi2021canvasvae,
  title={CanvasVAE: Learning to Generate Vector Graphic Documents},
  author={Yamaguchi, Kota},
  journal={ICCV},
  year={2021}
}

If you use the Crello dataset in work related to layer decomposition or the LayerD project, please also cite:

@inproceedings{suzuki2025layerd,
  title={LayerD: Decomposing Raster Graphic Designs into Layers},
  author={Suzuki, Tomoyuki and Liu, Kang-Jun and Inoue, Naoto and Yamaguchi, Kota},
  booktitle={ICCV},
  year={2025}
}

Releases

5.1.0: v5.1 release (Oct 31, 2024)

  • Pre-rendered layer images are now resized to fit the longer side in 1024px

5.0.0: v5 release (Sep 18, 2024)

  • Element positions and sizes are not normalized by canvas size
  • Angle is in degrees instead of radians.
  • New rich-text attributes (font_bold, font_italic, font_color, text_line) that specify character-level styling
  • Pre-rendered layer images are now resized to fit the longer side in 512px
  • Significantly improved pre-rendering quality for each layer
  • Color attribute now only contains palette when the original data has
  • There are now five element types
  • Dataset split is updated, no compatibility with v4.

4.0.0: v4 release (Dec 5, 2023)

  • Change the dataset split based on the template appearance to avoid near-duplicates: no compatibility with v3.
  • Class labels have been reordered: no compabilitity with v3.
  • Small improvement to font rendering.

3.1: bugfix release (Feb 16, 2023)

  • Fix a bug that ignores newline characters in some of the texts.

3.0: v3 release (Feb 13, 2023)

  • Migrate to Hugging Face Hub.
  • Fix various text rendering bugs.
  • Change split generation criteria for avoiding near-duplicates: no compatibility with v2 splits.
  • Incorporate a motion picture thumbnail in templates.
  • Add title, keywords, suitability, and industries canvas attributes.
  • Add capitalize, line_height, and letter_spacing element attributes.

2.0: v2 release (May 26, 2022)

  • Add text, font, font_size, text_align, and angle element attributes.
  • Include rendered text element in image_bytes.

1.0: v1 release (Aug 24, 2021)

Contributions

Thanks to @kyamagu for adding this dataset.

Total size
18.3 GB
Files
42
Last updated
Sep 23
Pre-warmed CDN
US EU US EU

Contributors