数据集:
cyberagent/crello
任务:
无条件图像生成语言:
en计算机处理:
monolingual大小:
10K<n<100K语言创建人:
found批注创建人:
no-annotation源数据集:
original预印本库:
arxiv:2108.01249许可:
otherCrello数据集是编制用于研究矢量图形文档的。该数据集包含文档元数据,如画布大小和预渲染的元素,如图像或文本框。原始模板是从 crello.com (现在 create.vista.com ) 收集的,并转换为适合机器学习分析的低分辨率格式。
CanvasVAE 研究无监督的文档生成。
几乎所有的设计模板都使用英语。
每个实例都有标量属性(画布)和序列属性(元素)。分类值存储为整数值。请查看数据集的 ClassLabel 特征以获取分类值的标签列表。
{'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>]}
要获取分类值的标签,请使用 int2str 方法:
key = "font" example = dataset[0] dataset.features[key].int2str(example[key])
在下面,分类字段显示为 categorical 类型,但实际存储为 int64 。
画布属性
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 |
元素属性
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 |
请注意,颜色和预渲染的图像不一定能准确地再现原始设计模板。如果原始模板仍然可用,请在以下URL中访问原始模板。
https://create.vista.com/artboard/?template=<template_id>
左侧和顶部可以是负值,因为元素可能比画布尺寸大。
Crello数据集有3个拆分:训练集、验证集和测试集。当前拆分是根据原始模板的相同标题仅出现在一个拆分中生成的。
Split | Count |
---|---|
train | 18659 |
validaton | 2391 |
test | 2371 |
可以使用 skia-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()
Crello数据集是为一般矢量图形文档研究而编制的,目标是提供适用于神经方法的完整矢量图形信息的数据集。
数据集最初是从之前的 crello.com 网站上抓取并预处理成上述格式。
资源语言生产者是谁?虽然 create.vista.com 拥有这些模板,但这些模板似乎是由特定的设计工作室创建的。
数据集不包含有关创建者的个人信息,但可能包含设计模板中的人物图片。
该数据集被开发用于推动矢量图形文档的一般研究,特别是用于图形设计的生成系统。成功利用可能使得创意工作流程自动化,减少人力设计师参与。
数据集中包含的模板反映了源数据中出现的偏见,这可能在特定的设计类别中呈现性别偏见。
由于源数据的未知数据规格,颜色和预渲染的图像不一定能准确地再现原始设计模板。如果原始模板仍然可用,请在以下URL中访问原始模板。
https://create.vista.com/artboard/?template=<template_id>
Crello数据集由 Kota Yamaguchi 开发。
该数据集的来源是 create.vista.com (正式上为 crello.com )。分发商("我们")不拥有原始设计模板的版权。通过使用Crello数据集,数据集的用户("您")必须同意 VistaCreate License Agreements 。
该数据集的分发遵循 CDLA-Permissive-2.0 license 。
注意
我们不会重新分发原始文件,因为根据条款,我们没有被允许这样做。
@article{yamaguchi2021canvasvae, title={CanvasVAE: Learning to Generate Vector Graphic Documents}, author={Yamaguchi, Kota}, journal={ICCV}, year={2021} }
3.1:修复错误版本(2023年2月16日)
3.0:v3版本(2023年2月13日)
2.0:v2版本(2022年5月26日)
1.0:v1版本(2021年8月24日)
感谢 @kyamagu 添加此数据集。