
# Dataset Card for Crello

## Table of Contents
- [Dataset Card for Crello](#dataset-card-for-crello)
  - [Table of Contents](#table-of-contents)
  - [Dataset Description](#dataset-description)
    - [Dataset Summary](#dataset-summary)
    - [Supported Tasks and Leaderboards](#supported-tasks-and-leaderboards)
    - [Languages](#languages)
  - [Dataset Structure](#dataset-structure)
    - [Data Instances](#data-instances)
    - [Data Fields](#data-fields)
    - [Data Splits](#data-splits)
  - [Dataset Creation](#dataset-creation)
    - [Curation Rationale](#curation-rationale)
    - [Source Data](#source-data)
      - [Initial Data Collection and Normalization](#initial-data-collection-and-normalization)
      - [Who are the source language producers?](#who-are-the-source-language-producers)
    - [Personal and Sensitive Information](#personal-and-sensitive-information)
  - [Considerations for Using the Data](#considerations-for-using-the-data)
    - [Social Impact of Dataset](#social-impact-of-dataset)
    - [Discussion of Biases](#discussion-of-biases)
    - [Other Known Limitations](#other-known-limitations)
  - [Additional Information](#additional-information)
    - [Dataset Curators](#dataset-curators)
    - [Licensing Information](#licensing-information)
    - [Citation Information](#citation-information)
    - [Contributions](#contributions)

## Dataset Description

- **Homepage:** [CanvasVAE github](https://github.com/CyberAgentAILab/canvas-vae)
- **Repository:**
- **Paper:** [CanvasVAE: Learning to Generate Vector Graphic Documents](https://arxiv.org/abs/2108.01249)
- **Leaderboard:**
- **Point of Contact:** [Kota Yamaguchi](https://github.com/kyamagu)

### Dataset Summary

The Crello dataset is compiled for the study of vector graphic documents. The dataset 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](https://crello.com) (now [create.vista.com](https://create.vista.com/)) and converted to a low-resolution format suitable for machine learning analysis.

### Usage

```python
import datasets

dataset = datasets.load_dataset("cyberagent/crello")
```

Old revision is available via `revision` option.

```python
import datasets

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

### Supported Tasks and Leaderboards

[CanvasVAE](https://arxiv.org/abs/2108.01249) studies unsupervised document generation.

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

```
{'id': '592d6c2c95a7a863ddcda140',
 'length': 8,
 'group': 4,
 'format': 20,
 'canvas_width': 3,
 'canvas_height': 1,
 'category': 0,
 'title': 'Beauty Blog Ad Woman with Unusual Hairstyle',
 'type': [1, 3, 3, 3, 3, 4, 4, 4],
 'left': [0.0,
  -0.0009259259095415473,
  0.24444444477558136,
  0.5712962746620178,
  0.2657407522201538,
  0.369228333234787,
  0.2739444375038147,
  0.44776931405067444],
 'top': [0.0,
  -0.0009259259095415473,
  0.37037035822868347,
  0.41296297311782837,
  0.41296297311782837,
  0.8946287035942078,
  0.4549448788166046,
  0.40591198205947876],
 'width': [1.0,
  1.0018517971038818,
  0.510185182094574,
  0.16296295821666718,
  0.16296295821666718,
  0.30000001192092896,
  0.4990740716457367,
  0.11388888955116272],
 'height': [1.0,
  1.0018517971038818,
  0.25833332538604736,
  0.004629629664123058,
  0.004629629664123058,
  0.016611294820904732,
  0.12458471953868866,
  0.02657807245850563],
 'opacity': [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
 'text': ['', '', '', '', '', 'STAY WITH US', 'FOLLOW', 'PRESS'],
 'font': [0, 0, 0, 0, 0, 152, 172, 152],
 'font_size': [0.0, 0.0, 0.0, 0.0, 0.0, 18.0, 135.0, 30.0],
 'text_align': [0, 0, 0, 0, 0, 2, 2, 2],
 'angle': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
 'capitalize': [0, 0, 0, 0, 0, 0, 0, 0],
 'line_height': [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
 'letter_spacing': [0.0, 0.0, 0.0, 0.0, 0.0, 14.0, 12.55813980102539, 3.0],
 'suitability': [0],
 'keywords': ['beautiful',
  'beauty',
  'blog',
  'blogging',
  'caucasian',
  'cute',
  'elegance',
  'elegant',
  'fashion',
  'fashionable',
  'femininity',
  'glamour',
  'hairstyle',
  'luxury',
  'model',
  'stylish',
  'vogue',
  'website',
  'woman',
  'post',
  'instagram',
  'ig',
  'insta',
  'fashion',
  'purple'],
 'industries': [1, 8, 13],
 'color': [[153.0, 118.0, 96.0],
  [34.0, 23.0, 61.0],
  [34.0, 23.0, 61.0],
  [255.0, 255.0, 255.0],
  [255.0, 255.0, 255.0],
  [255.0, 255.0, 255.0],
  [255.0, 255.0, 255.0],
  [255.0, 255.0, 255.0]],
 'image': [<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=256x256>,
  <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=256x256>,
  <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=256x256>,
  <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=256x256>,
  <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=256x256>,
  <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=256x256>,
  <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=256x256>,
  <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=256x256>]}
```

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

```python
key = "font"
example = dataset[0]

dataset.features[key].int2str(example[key])
```

### 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 crello.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  | categorical | ()      | Canvas pixel width                                                |
| canvas_height | categorical | ()      | 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; only for debugging |
| 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 normalized to [0, 1] range w.r.t. canvas_width |
| top            | float32     | (None,)   | Element top position normalized to [0, 1] range w.r.t. canvas_height |
| width          | float32     | (None,)   | Element width normalized to [0, 1] range w.r.t. canvas_width         |
| height         | float32     | (None,)   | Element height normalized to [0, 1] range w.r.t. canvas_height       |
| color          | int64       | (None, 3) | Extracted main RGB color of the element                              |
| opacity        | float32     | (None,)   | Opacity in [0, 1] range                                              |
| image          | image       | (None,)   | Pre-rendered 256x256 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 (radian) w.r.t. the center of the element     |
| capitalize     | categorical | (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              |

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>
```

`left` and `top` can be negative because elements can be bigger than the canvas size.

### Data Splits

The Crello dataset has 3 splits: train, validation, and test. The current split is generated based on appearance-based clustering.

| Split     | Count |
| --------- | ----- |
| train     | 19095 |
| validaton | 1951  |
| test      | 2375  |


### Visualization

Each example can be visualized in the following approach using [`skia-python`](https://kyamagu.github.io/skia-python/). Note the following does not guarantee a similar appearance to the original template. Currently, the quality of text rendering is far from perfect.

```python
import io
from typing import Any, Dict

import numpy as np
import skia


def render(features: datasets.Features, example: Dict[str, Any], max_size: float=512.) -> bytes:
    """Render parsed sequence example onto an image and return as PNG bytes."""
    canvas_width = int(features["canvas_width"].int2str(example["canvas_width"]))
    canvas_height = int(features["canvas_height"].int2str(example["canvas_height"]))

    scale = min(1.0, max_size / canvas_width, max_size / canvas_height)

    surface = skia.Surface(int(scale * canvas_width), int(scale * canvas_height))
    with surface as canvas:
        canvas.scale(scale, scale)
        for index in range(example["length"]):
            pil_image = example["image"][index]
            image = skia.Image.frombytes(
                pil_image.convert('RGBA').tobytes(),
                pil_image.size,
                skia.kRGBA_8888_ColorType)
            left = example["left"][index] * canvas_width
            top = example["top"][index] * canvas_height
            width = example["width"][index] * canvas_width
            height = example["height"][index] * canvas_height
            rect = skia.Rect.MakeXYWH(left, top, width, height)
            paint = skia.Paint(Alphaf=example["opacity"][index], AntiAlias=True)

            angle = example["angle"][index]
            with skia.AutoCanvasRestore(canvas):
                if angle != 0:
                    degree = 180. * angle / np.pi
                    canvas.rotate(degree, left + width / 2., top + height / 2.)
                canvas.drawImageRect(image, rect, paint=paint)

    image = surface.makeImageSnapshot()
    with io.BytesIO() as f:
        image.save(f, skia.kPNG)
        return f.getvalue()
```


## 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](https://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](https://github.com/kyamagu).

### Licensing Information

The origin of the dataset is [create.vista.com](https://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](https://create.vista.com/faq/legal/licensing/license_agreements/).

The dataset is distributed under [CDLA-Permissive-2.0 license](https://cdla.dev/permissive-2-0/).

**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}
    }

### Releases

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](https://github.com/kyamagu) for adding this dataset.
task_categories:unconditional-image-generation annotations_creators:no-annotation language_creators:found multilinguality:monolingual size_categories:10K<n<100K source_datasets:original language:en license:cdla-permissive-2.0 graphic design design templates arxiv:2108.01249 region:us
{"annotations_creators": ["no-annotation"], "language_creators": ["found"], "language": ["en"], "license": "cdla-permissive-2.0", "multilinguality": ["monolingual"], "size_categories": ["10K<n<100K"], "source_datasets": ["original"], "task_categories": ["unconditional-image-generation"], "task_ids": [], "pretty_name": "crello", "tags": ["graphic design", "design templates"], "dataset_info": {"features": [{"name": "id", "dtype": "string"}, {"name": "length", "dtype": "int64"}, {"name": "group", "dtype": {"class_label": {"names": {"0": "SM", "1": "HC", "2": "MM", "3": "SMA", "4": "EO", "5": "BG"}}}}, {"name": "format", "dtype": {"class_label": {"names": {"0": "Instagram Story", "1": "Instagram", "2": "Facebook", "3": "Facebook cover", "4": "Twitter", "5": "Facebook AD", "6": "Poster", "7": "Instagram AD", "8": "Tumblr", "9": "Image", "10": "Pinterest", "11": "Flayer", "12": "FB event cover", "13": "Postcard", "14": "Invitation", "15": "Youtube", "16": "Email header", "17": "Medium Rectangle", "18": "Poster US", "19": "Graphic", "20": "Large Rectangle", "21": "Card", "22": "Logo", "23": "Title", "24": "Skyscraper", "25": "Leaderboard", "26": "Presentation", "27": "Gift Certificate", "28": "VK Universal Post", "29": "Youtube Thumbnail", "30": "Business card", "31": "Book Cover", "32": "Presentation Wide", "33": "VK Community Cover", "34": "Certificate", "35": "Zoom Background", "36": "VK Post with Button", "37": "T-Shirt", "38": "Instagram Highlight Cover", "39": "Coupon", "40": "Letterhead", "41": "IGTV Cover", "42": "Schedule Planner", "43": "Album Cover", "44": "LinkedIn Cover", "45": "Storyboard", "46": "Recipe Card", "47": "Invoice", "48": "Resume", "49": "Menu", "50": "Mood Board", "51": "Mind Map", "52": "Label", "53": "Newsletter", "54": "Brochure", "55": "Ticket", "56": "Proposal", "57": "Snapchat Geofilter", "58": "Snapchat Moment Filter", "59": "Twitch Offline Banner", "60": "Twitch Profile Banner", "61": "Infographic", "62": "Mobile Presentation", "63": "Photo Book", "64": "Web Banner", "65": "Gallery Image", "66": "Calendar"}}}}, {"name": "canvas_width", "dtype": {"class_label": {"names": {"0": "1080", "1": "1200", "2": "940", "3": "851", "4": "360", "5": "1190", "6": "1920", "7": "419", "8": "1024", "9": "600", "10": "1600", "11": "735", "12": "595", "13": "3000", "14": "2560", "15": "1500", "16": "300", "17": "540", "18": "1296", "19": "336", "20": "500", "21": "432", "22": "560", "23": "160", "24": "1280", "25": "728", "26": "1000", "27": "241", "28": "1590", "29": "792", "30": "576", "31": "537", "32": "1008", "33": "420", "34": "1128", "35": "396", "36": "841", "37": "800", "38": "635", "39": "240", "40": "842"}}}}, {"name": "canvas_height", "dtype": {"class_label": {"names": {"0": "1080", "1": "1920", "2": "315", "3": "788", "4": "628", "5": "600", "6": "504", "7": "1683", "8": "298", "9": "500", "10": "512", "11": "1102", "12": "1440", "13": "200", "14": "400", "15": "250", "16": "810", "17": "1728", "18": "1200", "19": "280", "20": "841", "21": "288", "22": "90", "23": "1055", "24": "720", "25": "768", "26": "700", "27": "142", "28": "612", "29": "2560", "30": "2000", "31": "240", "32": "216", "33": "842", "34": "1296", "35": "2340", "36": "654", "37": "191", "38": "1600", "39": "297", "40": "595", "41": "480", "42": "576", "43": "320", "44": "380", "45": "141"}}}}, {"name": "category", "dtype": {"class_label": {"names": {"0": "holidaysCelebration", "1": "foodDrinks", "2": "fashionStyle", "3": "businessFinance", "4": "homeStuff", "5": "handcraftArt", "6": "beauty", "7": "leisureEntertainment", "8": "natureWildlife", "9": "educationScience", "10": "technology", "11": "medical", "12": "socialActivityCharity", "13": "realEstateBuilding", "14": "sportExtreme", "15": "travelsVacations", "16": "pets", "17": "religions", "18": "citiesPlaces", "19": "industry", "20": "transportation", "21": "kidsParents", "22": "all"}}}}, {"name": "title", "dtype": "string"}, {"name": "type", "sequence": {"class_label": {"names": {"0": "svgElement", "1": "textElement", "2": "imageElement", "3": "coloredBackground", "4": "maskElement"}}}}, {"name": "left", "sequence": "float32"}, {"name": "top", "sequence": "float32"}, {"name": "width", "sequence": "float32"}, {"name": "height", "sequence": "float32"}, {"name": "opacity", "sequence": "float32"}, {"name": "color", "sequence": {"sequence": "float32", "length": 3}}, {"name": "image", "sequence": "image"}, {"name": "text", "sequence": "string"}, {"name": "font", "sequence": {"class_label": {"names": {"0": "", "1": "Montserrat", "2": "Bebas Neue", "3": "Raleway", "4": "Josefin Sans", "5": "Cantarell", "6": "Playfair Display", "7": "Oswald", "8": "Blogger", "9": "Abril Fatface", "10": "Prompt", "11": "Comfortaa", "12": "Rubik", "13": "Open Sans", "14": "Roboto", "15": "Libre Baskerville", "16": "Quicksand", "17": "Dosis", "18": "Podkova", "19": "Lato", "20": "Cormorant Infant", "21": "Amatic Sc", "22": "Fjalla One", "23": "Playlist Script", "24": "Arapey", "25": "Baloo Tamma", "26": "Graduate", "27": "Titillium Web", "28": "Kreon", "29": "Nunito", "30": "Rammetto One", "31": "Anton", "32": "Poiret One", "33": "Alfa Slab One", "34": "Righteous", "35": "Play", "36": "Space Mono", "37": "Frank Ruhl Libre", "38": "Yanone Kaffeesatz", "39": "Pacifico", "40": "Bangers", "41": "Yellowtail", "42": "Droid Serif", "43": "Racing Sans One", "44": "Merriweather", "45": "Miriam Libre", "46": "Crete Round", "47": "Rubik One", "48": "Bungee", "49": "Sansita One", "50": "Patua One", "51": "Economica", "52": "Caveat", "53": "Philosopher", "54": "Limelight", "55": "Breathe", "56": "Rokkitt", "57": "Russo One", "58": "Noticia Text", "59": "Tinos", "60": "Oleo Script", "61": "Josefin Slab", "62": "Arima Madurai", "63": "Brusher Free Font", "64": "Old Standard Tt", "65": "Kalam", "66": "Patrick Hand", "67": "Playball", "68": "Six Caps", "69": "Bad Script", "70": "Orbitron", "71": "Contrail One", "72": "Selima Script", "73": "Gravitas One", "74": "El Messiri", "75": "Bubbler One", "76": "Italiana", "77": "Pompiere", "78": "Lemon Tuesday", "79": "Vast Shadow", "80": "Sunday", "81": "Cookie", "82": "Exo 2", "83": "Barrio", "84": "Radley", "85": "Mrs Sheppards", "86": "Grand Hotel", "87": "Great Vibes", "88": "Maven Pro", "89": "Knewave", "90": "Damion", "91": "Tulpen One", "92": "Parisienne", "93": "Superclarendon Regular", "94": "Oxygen", "95": "Nixie One", "96": "Permanent Marker", "97": "Medula One", "98": "Cabin Sketch", "99": "Vollkorn", "100": "Yeseva One", "101": "Montserrat Alternates", "102": "Satisfy", "103": "Sacramento", "104": "Carter One", "105": "Glass Antiqua", "106": "Mr Dafoe", "107": "Lauren", "108": "Oranienbaum", "109": "Scope One", "110": "Mr De Haviland", "111": "Pirou", "112": "Rise", "113": "Sensei", "114": "Yesteryear", "115": "Delius", "116": "Sue Ellen Francisco", "117": "Copse", "118": "Kaushan Script", "119": "Monda", "120": "Pattaya", "121": "Dancing Script", "122": "Reem Kufi", "123": "Playlist Caps", "124": "Beacon", "125": "Reenie Beanie", "126": "Overlock", "127": "Mrs Saint Delafield", "128": "Open Sans Condensed", "129": "Covered By Your Grace", "130": "Varela Round", "131": "Allura", "132": "Buda", "133": "Mikodacs", "134": "Arkana Script", "135": "Nothing You Could Do", "136": "Rochester", "137": "Fredericka The Great", "138": "Port Lligat Slab", "139": "Heebo", "140": "Arimo", "141": "Dawning Of A New Day", "142": "Aldrich", "143": "Neucha", "144": "Source Serif Pro", "145": "Shadows Into Light Two", "146": "Armata", "147": "Cutive Mono", "148": "Merienda One", "149": "Rissa Typeface", "150": "Stalemate", "151": "Assistant", "152": "Pathway Gothic One", "153": "Breathe Press", "154": "Suez One", "155": "Berkshire Swash", "156": "Rakkas", "157": "Pinyon Script", "158": "Pt Sans", "159": "Delius Swash Caps", "160": "Kurale", "161": "Offside", "162": "Clicker Script", "163": "Mate", "164": "Bentham", "165": "Rye", "166": "Lalezar", "167": "Julius Sans One", "168": "Quattrocento", "169": "V T323", "170": "Finger Paint", "171": "La Belle Aurore", "172": "Inconsolata", "173": "Press Start 2P", "174": "Junge", "175": "Iceberg", "176": "Kelly Slab", "177": "Handlee", "178": "Rosario", "179": "Gaegu", "180": "Homemade Apple", "181": "Londrina Shadow", "182": "Meddon", "183": "Elsie Swash Caps", "184": "Share Tech Mono", "185": "Black Ops One", "186": "Fauna One", "187": "Alice", "188": "Arizonia", "189": "Text Me One", "190": "Nova Square", "191": "Bungee Shade", "192": "Just Me Again Down Here", "193": "Jacques Francois Shadow", "194": "Cousine", "195": "Forum", "196": "Architects Daughter", "197": "Cedarville Cursive", "198": "Elsie", "199": "Sirin Stencil", "200": "Vampiro One", "201": "Dorsa", "202": "Marcellus Sc", "203": "Kumar One", "204": "Allerta Stencil", "205": "Courgette", "206": "Rationale", "207": "Gluk Znikomitno25", "208": "Happy Monkey", "209": "Stint Ultra Expanded", "210": "Rock Salt", "211": "Im Fell Dw Pica Sc", "212": "Faster One", "213": "Bellefair", "214": "Wire One", "215": "Geo", "216": "Farsan", "217": "League Script", "218": "Chathura", "219": "Euphoria Script", "220": "Zeyada", "221": "Jura", "222": "Loved By The King", "223": "Give You Glory", "224": "Znikomitno24", "225": "Gluk Glametrix", "226": "Alegreya Sans", "227": "Kristi", "228": "Knewave Outline", "229": "Pangolin", "230": "Okolaks", "231": "Seymour One", "232": "Didact Gothic", "233": "Kavivanar", "234": "Underdog", "235": "Alef", "236": "Italianno", "237": "Londrina Sketch", "238": "Secular One", "239": "Katibeh", "240": "Caesar Dressing", "241": "Lovers Quarrel", "242": "Iceland", "243": "Im Fell", "244": "Waiting For The Sunrise", "245": "David Libre", "246": "Marck Script", "247": "Kumar One Outline", "248": "Znikomit", "249": "Monsieur La Doulaise", "250": "Gruppo", "251": "Monofett", "252": "Gfs Didot", "253": "Petit Formal Script", "254": "Dukomdesign Constantine", "255": "Brusher", "256": "Eb Garamond", "257": "Ewert", "258": "Bilbo", "259": "Raleway Dots", "260": "Gabriela", "261": "Ruslan Display"}}}}, {"name": "font_size", "sequence": "float32"}, {"name": "text_align", "sequence": {"class_label": {"names": {"0": "", "1": "left", "2": "center", "3": "right"}}}}, {"name": "angle", "sequence": "float32"}, {"name": "capitalize", "sequence": {"class_label": {"names": {"0": "false", "1": "true"}}}}, {"name": "line_height", "sequence": "float32"}, {"name": "letter_spacing", "sequence": "float32"}, {"name": "suitability", "sequence": {"class_label": {"names": {"0": "mobile"}}}}, {"name": "keywords", "sequence": "string"}, {"name": "industries", "sequence": {"class_label": {"names": {"0": "marketingAds", "1": "entertainmentLeisure", "2": "services", "3": "retail", "4": "businessFinance", "5": "educationTraining", "6": "foodBeverages", "7": "artCrafts", "8": "fashionStyle", "9": "healthWellness", "10": "ecologyNature", "11": "nonProfitCharity", "12": "techGadgets", "13": "beautyCosmetics", "14": "homeLiving", "15": "familyKids", "16": "travelTourism", "17": "sportFitness", "18": "corporate", "19": "petsAnimals", "20": "realEstateConstruction", "21": "transportDelivery", "22": "religionFaith", "23": "hrRecruitment"}}}}, {"name": "preview", "dtype": "image"}, {"name": "cluster_index", "dtype": "int64"}], "splits": [{"name": "train", "num_bytes": 5058614277.34, "num_examples": 19095}, {"name": "validation", "num_bytes": 538185754.149, "num_examples": 1951}, {"name": "test", "num_bytes": 649876234.375, "num_examples": 2375}], "download_size": 6188050025, "dataset_size": 6246676265.864}, "configs": [{"config_name": "default", "data_files": [{"split": "train", "path": "data/train-*"}, {"split": "validation", "path": "data/validation-*"}, {"split": "test", "path": "data/test-*"}]}]}
TAGS
#task_categories-unconditional-image-generation #annotations_creators-no-annotation #language_creators-found #multilinguality-monolingual #size_categories-10K<n<100K #source_datasets-original #language-English #license-cdla-permissive-2.0 #graphic design #design templates #arxiv-2108.01249 #region-us 

Dataset Card for Crello
=======================


Table of Contents
-----------------


* Dataset Card for Crello
	+ Table of Contents
	+ Dataset Description
		- Dataset Summary
		- Supported Tasks and Leaderboards
		- Languages
	+ Dataset Structure
		- Data Instances
		- Data Fields
		- Data Splits
	+ Dataset Creation
		- Curation Rationale
		- Source Data
			* Initial Data Collection and Normalization
			* Who are the source language producers?
		- Personal and Sensitive Information
	+ Considerations for Using the Data
		- Social Impact of Dataset
		- Discussion of Biases
		- Other Known Limitations
	+ Additional Information
		- Dataset Curators
		- Licensing Information
		- Citation Information
		- Contributions


Dataset Description
-------------------


* Homepage: CanvasVAE github
* Repository:
* Paper: CanvasVAE: Learning to Generate Vector Graphic Documents
* Leaderboard:
* Point of Contact: Kota Yamaguchi


### Dataset Summary


The Crello dataset is compiled for the study of vector graphic documents. The dataset contains document meta-data such as canvas size and pre-rendered elements such as images or text boxes. The original templates were collected from URL (now URL) and converted to a low-resolution format suitable for machine learning analysis.


### Usage


Old revision is available via 'revision' option.


### Supported Tasks and Leaderboards


CanvasVAE studies unsupervised document generation.


### 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 Fields


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


Canvas attributes



Element attributes



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.


'left' and 'top' can be negative because elements can be bigger than the canvas size.


### Data Splits


The Crello dataset has 3 splits: train, validation, and test. The current split is generated based on appearance-based clustering.



### Visualization


Each example can be visualized in the following approach using 'skia-python'. Note the following 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 'URL' and pre-processed to the above format.


#### Who are the source language producers?


While URL 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.



```
URL

```

Additional Information
----------------------


### Dataset Curators


The Crello dataset was developed by Kota Yamaguchi.


### Licensing Information


The origin of the dataset is URL (formally, 'URL').
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.



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

```

### Releases


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.



### Dataset Summary


The Crello dataset is compiled for the study of vector graphic documents. The dataset contains document meta-data such as canvas size and pre-rendered elements such as images or text boxes. The original templates were collected from URL (now URL) and converted to a low-resolution format suitable for machine learning analysis. ### Usage


Old revision is available via 'revision' option. ### Supported Tasks and Leaderboards


CanvasVAE studies unsupervised document generation. ### 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 Fields


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


Canvas attributes



Element attributes



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.


'left' and 'top' can be negative because elements can be bigger than the canvas size. ### Data Splits


The Crello dataset has 3 splits: train, validation, and test. The current split is generated based on appearance-based clustering. ### Visualization


Each example can be visualized in the following approach using 'skia-python'. Note the following 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 'URL' and pre-processed to the above format. #### Who are the source language producers?


While URL 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.



```
URL

```

Additional Information
---------------------- ### Dataset Curators


The Crello dataset was developed by Kota Yamaguchi. ### Licensing Information


The origin of the dataset is URL (formally, 'URL').
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.



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

``` ### Releases


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.
TAGS
#task_categories-unconditional-image-generation #annotations_creators-no-annotation #language_creators-found #multilinguality-monolingual #size_categories-10K<n<100K #source_datasets-original #language-English #license-cdla-permissive-2.0 #graphic design #design templates #arxiv-2108.01249 #region-us 
 ### Dataset Summary


The Crello dataset is compiled for the study of vector graphic documents. The dataset contains document meta-data such as canvas size and pre-rendered elements such as images or text boxes. The original templates were collected from URL (now URL) and converted to a low-resolution format suitable for machine learning analysis. ### Usage


Old revision is available via 'revision' option. ### Supported Tasks and Leaderboards


CanvasVAE studies unsupervised document generation. ### 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 Fields


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


Canvas attributes



Element attributes



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.


'left' and 'top' can be negative because elements can be bigger than the canvas size. ### Data Splits


The Crello dataset has 3 splits: train, validation, and test. The current split is generated based on appearance-based clustering. ### Visualization


Each example can be visualized in the following approach using 'skia-python'. Note the following 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 'URL' and pre-processed to the above format. #### Who are the source language producers?


While URL 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.



```
URL

```

Additional Information
---------------------- ### Dataset Curators


The Crello dataset was developed by Kota Yamaguchi. ### Licensing Information


The origin of the dataset is URL (formally, 'URL').
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.



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

``` ### Releases


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.