数据集:
conceptual_captions
任务:
图生文子任务:
image-captioning语言:
en计算机处理:
monolingual大小:
1M<n<10M语言创建人:
found批注创建人:
found源数据集:
original许可:
otherConceptual Captions 数据集包含约3.3M张图像,并附带标题注释。与其他图像标题注释的精心策划风格不同,Conceptual Caption 图像及其原始描述是从网络中收集的,因此代表了更多样的风格。更具体地说,原始描述是从与网络图像相关联的 Alt-text HTML 属性中收集的。为了得到当前版本的标题,我们开发了一个自动流水线,从候选图像/标题对中提取、过滤和转换,以实现得到清晰、信息量大、流利和易学习的标题的平衡。
默认情况下,此数据集不会将图像下载到本地。而是提供图像的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_captions") 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' }带标签
此配置中的每个实例代表一张带标题的图像,还附带机器生成的图像标签和置信度得分:
{ 'image_url': 'https://thumb1.shutterstock.com/display_pic_with_logo/261388/223876810/stock-vector-christmas-tree-on-a-black-background-vector-223876810.jpg', 'caption': 'christmas tree on a black background .', 'labels': ['christmas tree', 'christmas decoration', 'font', 'text', 'graphic design', 'illustration','interior design', 'tree', 'christmas eve', 'ornament', 'fir', 'plant', 'pine', 'pine family', 'graphics'], 'MIDs': ['/m/025nd', '/m/05fc9mj', '/m/03gq5hm', '/m/07s6nbt', '/m/03c31', '/m/01kr8f', '/m/0h8nzzj', '/m/07j7r', '/m/014r1s', '/m/05ykl4', '/m/016x4z', '/m/05s2s', '/m/09t57', '/m/01tfm0', '/m/021sdg'], 'confidence_scores': [0.9818305373191833, 0.952756941318512, 0.9227379560470581, 0.8524878621101379, 0.7597672343254089, 0.7493422031402588, 0.7332468628883362, 0.6869218349456787, 0.6552258133888245, 0.6357356309890747, 0.5992692708969116, 0.585474967956543, 0.5222904086112976, 0.5113164782524109, 0.5036579966545105] }
基本版本的数据集被拆分为训练集和验证集。训练集包含3,318,333个图像URL/标题对,验证集包含15,840个图像URL/标题对。
带标签带标签的数据集版本仅有一个。整个数据包含在训练集中,该训练集是 无标签 配置的训练集中的2,007,090个图像URL/标题对的子集。
来自论文:
在本论文中,我们对数据和建模两个方面进行了贡献。首先,我们提出了一个新的标题注释数据集Conceptual Captions(图1),其图像数量比COCO数据集多一个数量级。Conceptual Captions 包含约3.3M个图像和描述对。与COCO图像的策划风格相比,Conceptual Captions 图像及其原始描述是从网络上收集的,因此代表了更多样的风格。
来自主页:
对于 Conceptual Captions,我们开发了一个完全自动化的流水线,用于提取、过滤和转换候选的图像/标题对,以实现得到标题的清晰、信息量大、流利且易学习的平衡。由于没有人类注释员参与,Conceptual Captions 数据集生成过程具有高度的可扩展性。
为了生成此数据集,我们使用一个 Flume 流水线处理数十亿个互联网网页,提取、过滤和处理候选的图像和标题对,并保留通过多个过滤器的候选对。
我们首先筛选出一些属性,如大小、长宽比、成人内容分数。这些过滤器舍弃了超过65%的候选对。接下来,我们使用 Alt-Text 进行基于文本的过滤,删除非描述性文本的标题(例如 SEO 标签或标签),我们还舍弃情感极性或成人内容分数较高的文本,结果是只有3%的候选对通过了这些过滤器。
在下一步中,我们筛选出那些没有文本标记与图像内容相对应的候选对。我们使用图像分类器(例如 Google Cloud Vision API)将图像分配给类标签,并将这些标签与候选文本进行匹配(允许形态学转化),舍弃了达到此阶段的候选对中的约60%。
通过上述过滤器的候选对往往是好的 Alt-Text 图像描述。然而,这些描述中大部分使用专有名词(如人物、场所、地点等)、品牌、日期、引语等。这造成了两个问题。首先,其中一些描述无法仅依靠图像像素本身来推断。这是有问题的,因为除非图像具有必要的视觉信息,否则对于训练来说是没有用的。其次,即使能从图像推断出专有名词,模型也极其难以同时学习细粒度的分类和自然语言描述。我们认为,如果需要自动确定名称、位置、品牌等,则应将其作为单独的任务完成,可以利用图像元信息(例如 GPS 信息)或其他辅助技术,如 OCR。
我们通过以下洞察力来解决上述问题:专有名词应该被表示相同一般概念的词替换,即用其概念代替。例如,我们删除了地点(“在洛杉矶的音乐会上的人群”变为“音乐会上的人群”),名字(例如,“前世界小姐Priyanka Chopra 在红毯上”变为“演员在红毯上”),专有名词修饰语(例如,“意大利美食”仅变为“美食”)和名词短语(例如,“男演员和女演员”变为“演员”)。在此转换过程中,约有20%的样本被丢弃,因为可能导致句子过短或不一致。
最后,我们执行另一轮过滤,以识别低计数的概念。我们对所有已解决的实体(例如“演员”、“狗”、“社区”等)进行聚类,并仅保留具有100个以上提及次数的候选类型。这样保留了约16K个实体概念,例如:“人”,“演员”,“艺术家”,“选手”和“插图”。我们删除了那些较不频繁的实体概念,如“法棍面包”,“缰绳”,“截止日期”,“部”和“漏斗”。
用作数据源的语言生产者是谁?未指明。
注释是使用自动化流水线与图像一起提取的。
注释者是谁?未指明。
【需要更多信息】
【需要更多信息】
【需要更多信息】
【需要更多信息】
Piyush Sharma,Nan Ding,Sebastian Goodman 和 Radu Soricut。
可以自由使用该数据集,但如果能够识别Google LLC(“Google”)作为数据源则表示感谢。数据集按原样提供,不附带任何明示或暗示的保证。谷歌对使用数据集所产生的任何直接或间接损害不承担任何责任。
@inproceedings{sharma2018conceptual, title = {Conceptual Captions: A Cleaned, Hypernymed, Image Alt-text Dataset For Automatic Image Captioning}, author = {Sharma, Piyush and Ding, Nan and Goodman, Sebastian and Soricut, Radu}, booktitle = {Proceedings of ACL}, year = {2018}, }
感谢 @abhishekkrthakur 和 @mariosasko 添加了此数据集。