【51CTO.com快译】使用开源数据集训练的计算机视觉模型
计算机视觉(CV)是人工智能(AI)和机器学习(ML)领域中最令人兴奋的子领域之一。它是许多人工智能和机器学习管道的主要组成部分,它正在改变各行业领域,使组织能够彻底改变机器和业务系统的工作方式。
从学术上来说,计算机视觉几十年来一直是计算机科学的一个成熟领域,多年来,许多研究工作已经进入该领域以使其变得更加完善。然而,深度神经网络的使用最近彻底改变了该领域,并为其加速增长提供了新的动力。
计算机视觉有多种应用领域,例如:
- 自动驾驶。
- 医学影像分析和诊断。
- 场景检测和理解。
- 自动生成图像标题。
- 社交媒体上的照片/人脸标签。
- 家庭安全。
- 制造业和质量控制中的缺陷识别。
本文将讨论深度学习领域中使用的一些最流行和最有效的数据集,以训练先进的机器学习系统以执行计算机视觉任务。
如何选择正确的开源数据集
对机器进行图像和视频文件训练是一项非常复杂的数据密集型操作。单一图像文件是一个多维、多兆字节的数字实体,而在整个“智能图像分析”任务的场景中仅包含一小部分“洞察力”。
相比之下,一个大小相似的零售销售数据表可以在计算硬件相同的情况下,对机器学习算法有更多的了解。在谈论现代计算机视觉管道所需的数据和计算规模时,需要记住这一事实。
因此,在几乎所有情况下,数百张甚至数千张图像并不能为计算机视觉任务训练高质量的机器学习模型。几乎所有现代计算机视觉系统都使用复杂的深度学习模型架构,如果没有提供足够数量的精心挑选的训练示例(即标记图像),将出现欠拟合的现象。因此,健壮的、可推广的、高生产质量的深度学习系统通常需要数百万张精心挑选的图像进行训练,这正在成为一种普遍的趋势。
此外,对于视频分析,考虑到从大量视频流中获得的视频文件或帧的动态特性,选择和编译训练数据集的任务可能会更加复杂。
本文列出了一些最流行的图片(由静态图像和视频剪辑组成)。
计算机视觉模型的流行开源数据集
并非所有数据集都同样适用于各种计算机视觉任务。这些常见的任务包括:
- 图像分类。
- 对象检测。
- 对象分割。
- 多对象注释。
- 图像字幕。
- 人体姿势估计。
- 视频帧分析。
以下将介绍流行的开源数据集,其中涵盖了大多数类别。
1.ImageNet(最著名)
ImageNet是一项持续进行的研究工作,旨在为世界各地的研究人员提供易于访问的图像数据库。它可能是全球最著名的图像数据集,并被研究人员和学习者引用为黄金标准。
该项目的灵感来自图像和视觉研究领域不断增长的需求——对更多数据的需求。它是根据WordNet层次结构组织的。WordNet中每个有意义的概念,可能由多个词或短语描述,其名称为“同义词集”。WordNet中有10万个以上同义词集。同样,ImageNet旨在提供平均1000张图像来对每个同义词集进行说明。
ImageNet大规模视觉识别挑战赛(ILSVRC)是一项全球年度竞赛,旨在评估算法(由大学或企业研究小组的团队提交)以进行大规模的对象检测和图像分类。其中一个主要的动机是允许研究人员比较更广泛对象的检测进展——利用相当昂贵的标记工作。另一个动机是衡量计算机视觉在用于检索和注释的大规模图像索引方面的进展。这是机器学习领域最受关注的年度竞赛之一。
2.CIFAR-10(初学者)
这是计算机视觉领域初学者常用于训练机器学习和计算机视觉算法的图像集合。它也是机器学习研究中最受欢迎的数据集之一,用于快速比较算法,因为它可以捕捉特定架构的弱点和优势,而不会给训练和超参数调整过程带来不合理的计算负担。
它包含10个不同类别的6万张32×32像素彩色图像。这些类代表飞机、汽车、鸟类、猫、鹿、狗、青蛙、马、轮船和卡车。
3.MegaFace和LFW(人脸识别)
野外标记人脸(LFW)是一个人脸照片数据库,旨在研究无约束人脸识别问题。它包含5,749位人物的13,233张图像,是从网络上抓取和检测到的。作为额外的挑战,机器学习研究人员可以使用1,680位人物的图片,这些人物在数据集中有两张或更多不同的照片。因此,它是人脸验证的公共基准,也称为配对匹配(至少需要同一个人的两张图像)。
MegaFace是一个大规模开源的人脸识别训练数据集,是商业人脸识别问题最重要的基准之一。它包括672,057名人物的4,753,320张面孔,非常适合大型深度学习架构训练。所有图像均从Flickr(雅虎的数据集)获得并获得共享许可。
4.IMDB-Wiki(性别和年龄识别)
它是规模最大的开源人脸图像数据集之一,带有用于训练的性别和年龄标签。该数据集中共有523,051张人脸图像,其中460,723张人脸图像来自IMDB的20,284位名人和维基百科的62,328位名人。
5.MSCoco(对象检测和分割)
Common Objectsin CONtext(COCO)是大规模对象检测、分割和字幕数据集。该数据集包含91种易于识别的对象类型的照片,在32. 8万张图像中共有250万个标记实例。此外,它还为更复杂的计算机视觉任务提供资源,例如多对象标记、分割掩码注释、图像字幕和关键点检测。它得到了直观的API的良好支持,该API有助于在COCO中加载、解析和可视化注释。API支持多种注释格式。
6.MPII人体姿势(姿势估计)
该数据集用于评估人体关节姿势估计。它包括大约25,000张图像,其中包含超过4万名身体关节带有注释的人物。在这里,每张图像都是从YouTube视频中提取的,并提供前后未注释的帧。总的来说,数据集涵盖了410项人类活动,每个图像都提供了一个活动标签。
7.Flickr-30k(图像字幕)
它是一个图像字幕语料库,由158,915个众包字幕组成,描述了31,783张图像。这是之前的Flickr 8k数据集的扩展。新的图像和字幕侧重于参与日常活动和事件的人物。
8.20BN-SOMETHING-SOMETHING(人类行为的视频剪辑)
该数据集是大量密集标记的视频剪辑,显示人类对日常物品执行预定义的基本操作。它是由大量群组工作者创建的,它允许机器学习模型对物理世界中发生的基本动作进行细粒度的理解。
以下是这一数据集中捕获的常见人类活动的子集:
9.Barkley DeepDrive(用于自动驾驶汽车训练)
加州大学伯克利分校的伯克利DeepDrive数据集包含超过10万个视频序列,其中提供各种注释,包括对象边界框、可驾驶区域、图像级标记、车道标记和全帧实例分割。此外,该数据集在表示各种地理、环境和天气条件方面具有广泛的多样性。
这对于为自动驾驶汽车训练强大的模型非常有用,这样自动驾驶系统就不会对不断变化的道路和驾驶条件感到困惑。
数据集的正确硬件和基准测试
毋庸置疑,只是拥有这些数据集不足以构建高质量的机器学习系统或业务解决方案。需要正确选择数据集、训练硬件以及巧妙的调优和基准测试策略,才能为任何学术或商业问题获得最佳解决方案。
这就是为什么高性能GPU几乎总是与这些数据集配对以提供所需性能的原因。
GPU的开发(主要迎合视频游戏行业)使用数千个微型处理器进行大规模并行计算。它们还具有大内存带宽来处理快速数据流(处理单元缓存到较慢的主内存并返回),当神经网络进行大量训练时,处理数据流需要进行更多的计算。这使它们成为处理计算机视觉任务计算负载的理想硬件。
然而,市场上有很多GPU可供选择,并且市场上已经提供了一些很好的基准策略,以在这方面指导潜在用户。一个良好的基准测试必须考虑多种类型,例如深度神经网络(DNN)架构、GPU和广泛使用的数据集。
例如,一篇优秀文章考虑了以下内容:
- 架构:ResNet-152、ResNet-101、ResNet-50和ResNet-18。
- GPU:EVGA RTX2080ti、技嘉RTX2080ti和NVIDIA TITAN RTX。
- 数据集:ImageNet、CIFAR-100和CIFAR-10。
此外,必须考虑性能的多个维度才能获得良好的基准。
要考虑的GPU性能维度有三个主要指标:
(1)第二批时间:完成第二批训练的时间。这个数字衡量的是GPU运行足够长的时间来加强之前的性能。没有考虑GPU的热节流。
(2)平均批处理时间:ImageNet中1个历元(epoch)或CIFAR中15个历元(epoch)后的平均批处理时间。考虑了GPU的热节流。
(3)同步平均批处理时间:ImageNet中1个epoch或CIFAR中15个epoch后的平均批处理时间,所有GPU同时运行。这测量了所有GPU发出的热量而导致系统中的热节流效应。
哪些开源数据集最适合计算机视觉模型?
本文讨论了获得高质量、无噪声、大规模数据集以训练复杂深度神经网络(DNN)模型的必要性,这些模型在计算机视觉应用中逐渐普及。
还给出了多个开源数据集的示例,这些数据集广泛用于各种类型的计算机视觉任务——图像分类、姿态估计、图像字幕、自动驾驶、对象分割等。
最后,还讨论了将这些数据集与适当的硬件和基准策略配对的必要性,以确保它们在商业和研发领域的最佳使用。
原文标题:Open Source Datasets for Computer Vision,作者:Kevin Vu
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】