数据集:

conceptual_12m

任务:

图生文

语言:

en

计算机处理:

monolingual

大小:

10M<n<100M

语言创建人:

found

批注创建人:

found

源数据集:

original

预印本库:

arxiv:2102.08981

许可:

other
英文

概念12M数据集的数据卡

数据集概述

概念12M(CC12M)是一个包含1200万个图像-文本对的数据集,专门用于视觉和语言的预训练。其数据收集流程是Conceptual Captions 3M(CC3M)中使用的流程的放松版本。

数据集预处理

默认情况下,此数据集不会将图像下载到本地。而是提供了图像的URL。使用以下代码获取图像:

from concurrent.futures import ThreadPoolExecutor
from functools import partial
import io
import urllib

import PIL.Image

from datasets import load_dataset
from datasets.utils.file_utils import get_datasets_user_agent


USER_AGENT = get_datasets_user_agent()


def fetch_single_image(image_url, timeout=None, retries=0):
    for _ in range(retries + 1):
        try:
            request = urllib.request.Request(
                image_url,
                data=None,
                headers={"user-agent": USER_AGENT},
            )
            with urllib.request.urlopen(request, timeout=timeout) as req:
                image = PIL.Image.open(io.BytesIO(req.read()))
            break
        except Exception:
            image = None
    return image


def fetch_images(batch, num_threads, timeout=None, retries=0):
    fetch_single_image_with_args = partial(fetch_single_image, timeout=timeout, retries=retries)
    with ThreadPoolExecutor(max_workers=num_threads) as executor:
        batch["image"] = list(executor.map(fetch_single_image_with_args, batch["image_url"]))
    return batch


num_threads = 20
dset = load_dataset("conceptual_12m")
dset = dset.map(fetch_images, batched=True, batch_size=100, fn_kwargs={"num_threads": num_threads})

支持的任务和排行榜

  • 图像字幕生成:该数据集可用于训练图像字幕生成模型。

语言

所有标题都为英文。

数据集结构

数据实例

每个实例代表一张图像和一个标题:

{
  'image_url': 'http://lh6.ggpht.com/-IvRtNLNcG8o/TpFyrudaT6I/AAAAAAAAM6o/_11MuAAKalQ/IMG_3422.JPG?imgmax=800',
  'caption': 'a very typical bus station'
}

数据字段

  • 图像网址:与帖子相关联的静态图像下载网址。
  • 标题:图像的文本描述。

数据集划分

只有训练数据,共计12423374行。

数据集创建

策划理由

概念12M共享与概念描述(CC3M)相同的流程,但放松了一些处理步骤。

来源数据

初始数据收集和规范化

来自论文:

为了得到CC12M,我们保持图像文本筛选不变,只放松了单模态筛选。首先,在基于图像的筛选中,我们将较大尺寸与较小尺寸的最大比率设置为2.5,而不是2。我们仍只保留大小大于400像素的JPEG图像,并仍然排除触发色情检测器的图像。其次,在基于文本的筛选中,我们允许3到256字之间的文本进行筛选。我们仍然舍弃没有名词或没有限定词的候选项,但允许没有介词的候选项。我们放弃了有关高独立词比率的启发式方法,该方法涵盖了各种POS标签和词的大写。我们将允许的词重复的最大比例设定为0.2。鉴于上述放松带来的更大文本池,我们将将词类型计为稀有词的阈值从5增加到20。

CC3M执行文本转换的主要动机是大部分候选标题包含细粒度实体(如专有名词(人名,场地,位置等)),因此极难作为图像字幕生成任务的一部分进行学习。相比之下,我们在图像字幕生成的最终任务上没有限制。我们的直觉是相对更困难的预训练数据会导致更好的可迁移性。因此,我们不执行上位化或数字替换。[...]唯一例外的是“尽可能保持原始的alt-text”规则是执行人名替换,我们认为这对保护这些图像中个人的隐私是必要的。为此,我们使用Google Cloud Natural Language API检测所有人名实体,并用一个特殊令牌替换它们。CC12M中大约25%的alt-text使用此方法进行了转换。

谁是源语言生成者?

未指定。

注释

注释过程

注释与图像一起使用自动流程提取。

注释者是谁?

未指定。

个人和敏感信息

来自论文:

唯一例外的是“尽可能保持原始的alt-text”规则是执行人名替换,我们认为这对保护这些图像中个人的隐私是必要的。为此,我们使用Google Cloud Natural Language API检测所有人名实体,并用一个特殊令牌替换它们。CC12M中大约25%的alt-text使用此方法进行了转换。

使用数据的注意事项

数据的社会影响

[需要更多信息]

偏见讨论

[需要更多信息]

其他已知限制

[需要更多信息]

附加信息

数据集策划者

Soravit Changpinyo,Piyush Sharma,Nan Ding和Radu Soricut。

许可信息

该数据集可自由用于任何目的,但如果能够标明数据源为Google LLC("Google")将不胜感激。该数据集按原样提供,没有任何明示或暗示的保证。Google不对使用数据集导致的任何直接或间接损害承担任何责任。

引用信息

@inproceedings{changpinyo2021cc12m,
  title = {{Conceptual 12M}: Pushing Web-Scale Image-Text Pre-Training To Recognize Long-Tail Visual Concepts},
  author = {Changpinyo, Soravit and Sharma, Piyush and Ding, Nan and Soricut, Radu},
  booktitle = {CVPR},
  year = {2021},
}

贡献

感谢 @thomasw21 添加了这个数据集。