终于!Supervise.ly 发布人像分割数据集啦(免费开源)

2018 年 4 月 10 日 AI研习社 雷锋字幕组

本文为雷锋字幕组编译的技术博客,原标题Releasing “Supervisely Person” dataset for teaching machines to segment humans,作者为Supervise.ly。

翻译 | 郭乃峤  汪宁  张虎    整理 |  凡江  吴璇

我们非常自豪地在这里宣布,Supervisely人像数据集(https://supervise.ly/)正式发布。它是公开的并且免费,仅出于学术的目的。

要让AI全民共享, 我们不仅需要开源,还要一场强有力的“开放数据”运动。——吴恩达

我们当然同意他的看法,并让我们扩展一下这个想法。对于语义分割的人物,有很多深层神经网络的研究。但是,大多数情况下,收集数据要比开发和应用算法去运行数据更困难和昂贵。

这就是为什么我们需要专门设计的平台,这个平台可以覆盖全部的机器学习的工作流,从开发训练数据集到训练和部署神经网络。

几个例子来自"Supervisely人像数据集"

我们认为,我们的工作将会帮助开发者、研究者和商人们。为了更快地创建大型训练数据集,我们的工作不仅可以看作一个公开的数据集,而且可以被视为一套创新的方法和工具。

接下来,我们将介绍关于如何从头建立这个数据集,让我来展示一些有趣的事实:

  • 数据集由5711张图片组成,有6884个高质量的标注的人体实例。

  • 下面的所有步骤在Supervisely内部完成的,没有任何编码。

  • 更重要的是,这些步骤是被我内部的注释器执行的,没有任何机器学习专业知识。数据科学家仅仅只是控制和管理这过程。

  • 注释组由两名成员组成并且这整个过程只花了4天。

Supervisely 是包含数据科学的智慧机器学习平台。它允许数据科学家专注于真正的创新,并将日常工作留给其他人(是的,训练众所周知的神经网络架构也是一项常规工作)。

  要解决的问题

在许多真实世界的应用中,人像检测是分析人类图像中的关键任务,在动作识别、自动驾驶汽车、视频监控、移动应用等方面均有使用。

我们在DeepSystems公司进行了内部研究,这让我们意识到人体检测任务缺乏数据。你会问我们:那COCO、Pascal、Mapillary 等公共数据集呢?为了回答这个问题,我会更好地向你展示几个例子:

几个来自COCO数据集的人类标注示例

大多数公共数据集中人体检测数据的质量不符合我们的要求,我们必须创建自己的数据集,并提供高质量的注释,我会告诉你我们是如何做到的。

  步骤 0:将公共数据集上传和准备,作为初始点来训练初始神经网络

将公共数据集上传到系统:PascalVoc,Mapillary。我们的“导入”模块支持大多数公共数据集,并将它们转换为统一的基于json-based的格式,称为Supervisely格式 :)

我们执行DTL(“数据转换语言”)查询以执行一些操作:合并数据集 - >跳过没有人物的图像 - >从图像裁剪每个人 - >按宽度和高度过滤它们 - >分割为训练/测试集。

合并,裁剪和过滤公共数据集后的原始数据

似乎有很多公开可用的数据,但我们在前面提到过,存在一些隐藏的问题:注释质量低,分辨率低等等。

因此,我们构建了第一个训练数据集。

  步骤 1:训练神经网络

我们将对 UNet-like 架构进行稍微定制

Unet_v2架构

损失= 二进制损失熵+(1 -随机数)。

该网络训练速度快,它非常准确,易于实施和定制。它允许我们进行大量的实验。Supervisely可以分布在集群中的多个节点上。

因此我们可以同时训练几个神经网络。同样所有的神经网络都支持我们平台上的多GPU训练。每个训练试验的输入分辨率为256 * 256,且都不超过15分钟。

  步骤2:准备数据进行注释

我们没有收集未标记的图像,所以我们决定从网上下载它。我们在github(https://github.com/DeepSystems/pexels_downloader)上实现了这个项目,从而可以从优秀的照片库中下载数据 ,由 Pexels 完成(感谢他,这真的很酷的工作)。

因此,我们下载了大约 15k 的图片,其中包含与我们的任务相关的标签,并将其上传到 Supervisely 并通过 DTL 查询执行调整大小操作,因为它们具有超高分辨率。

  步骤 3:将神经网络应用于未标记的图像

过去的架构不支持实例分段。 因此我们没有使用 Mask-RCNN,因为靠近物体边缘的分割质量很低。

这就是为什么我们决定做两步计划:应用 Faster-RCNN(基于 NasNet)来检测图像上的所有人,然后为每个人定界框应用分割网络来分割支配对象。 这种方法保证我们既模拟实例分割又准确地分割对象边缘。

应用模型和手动修正检测的3分钟视频

我们尝试了不同的分辨率:我们传递给 NN 的分辨率越高,它产生的结果就越好。 我们并不关心总推理时间,因为 Supervisely 支持分布在多台机器上的推理。 对于自动预标注任务来说,这已经足够了。

  步骤 4:手动验证和纠错

所有推断结果都会实时显示在仪表板中。 我们的操作员预览所有结果并使用几个标签标记图像:不良预测、预测纠正、良好预测。 这个过程是快速的,因为他们需要很少的键盘快捷键“下一个图像”和“分配标签图像”。

我们如何标记图像:左 - 不良预测,中 - 预测需要轻度手动校正,右 - 好预测。

标记为“不良预测”的图像被跳过。 进一步的工作继续是处理我们需要纠正的图像。

如何校正神经网络预测

手动校正所需的时间比从头开始的注释少得多。

  步骤 5:将结果添加到训练数据集并转到第 1 步

完成!

一些提示:

  1. 当我们应用仅对公共数据进行训练的 NN 时,“合适”图像(标记为“良好预测”和“预测正确”)的百分比约为 20%。

  2. 经过树型快速迭代后,这个数字增加到 70%。我们总共完成了 6 次迭代,最终的 NN 变得相当准确:-)

  3. 在训练之前,我们在物体边缘添加了小波段以平滑锯齿状边缘并执行多种增强:翻转,随机裁剪,随机角度旋转和颜色转换。正如您所看到的,即使您需要在图像上注释多个对象类,这种方法也适用于许多计算机视觉任务。

  奖励

这个数据集帮助我们改进 AI 支持的注释工具 - 定制化的用它来检测人类。 在我们的最新版本中,我们添加了在系统内部训练 NN 的能力。 以下是基于类别的工具与其定制版本的比较。 它是可用的,你可以试试你的数据。

  如何访问数据集

注册 Supervisely,进入 “Import” tab -> “Datasets library”。 点击 “Supervisely Person” 数据集,为新项目编写名称。然后点击 “three dots”按钮 -> “下载为 json 格式” - > “Start”按钮。 就这样, 总下载时间可能需要 15 分钟(~ 7 GB)。

如何下载结果

  结论

看看没有任何 ML 背景的人如何完成所有这些步骤是非常有趣的。我们作为深度学习专家节省了大量时间,我们的注释团队在注释速度和质量方面变得更加高效。

我们希望,Supervisely 平台将帮助每个深度学习团队更快更轻松地制作 AI 产品。

让我列出我们在这项工作中使用的最有价值的 Supervisely 功能:

1. “Import”模块可以上传所有公共数据集

2. “Data Transformation Language”来操作,合并和增强数据集

3.“ NN”模块使用 Faster-RCNN 和 UnetV2

3. “Statistics”模块自动从我们拥有的数据中获得有用的见解

4. “Annotation”就像 Photoshop 一样用于训练数据“协作”功能,允许将工作人员与注释团队相结合,为他们分配任务并控制整个过程。

博客原址 https://hackernoon.com/releasing-supervisely-person-dataset-for-teaching-machines-to-segment-humans-1f1fc1f28469

雷锋字幕组正在招募中

扫描下方二维码

备注“雷锋字幕组+姓名”加入我们吧

4 月 AI 求职季

8 大明星企业

10 场分享盛宴

20 小时独门秘籍

4.10-4.19,我们准时相约!



新人福利



关注 AI 研习社(okweiwu),回复  1  领取

【超过 1000G 神经网络 / AI / 大数据资料】



AWS 上可用的公用数据集,任何人都可以免费访问

登录查看更多
11

相关内容

数据集,又称为资料集、数据集合或资料集合,是一种由数据所组成的集合。
Data set(或dataset)是一个数据的集合,通常以表格形式出现。每一列代表一个特定变量。每一行都对应于某一成员的数据集的问题。它列出的价值观为每一个变量,如身高和体重的一个物体或价值的随机数。每个数值被称为数据资料。对应于行数,该数据集的数据可能包括一个或多个成员。
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
125+阅读 · 2020年5月22日
 【SIGGRAPH 2020】人像阴影处理,Portrait Shadow Manipulation
专知会员服务
28+阅读 · 2020年5月19日
【CVPR2020-谷歌】多目标(车辆)跟踪与检测框架 RetinaTrack
专知会员服务
44+阅读 · 2020年4月10日
【ACL2020-Allen AI】预训练语言模型中的无监督域聚类
专知会员服务
23+阅读 · 2020年4月7日
【Google AI】开源NoisyStudent:自监督图像分类
专知会员服务
54+阅读 · 2020年2月18日
机器学习数据集哪里找:优秀数据集来源盘点
云栖社区
10+阅读 · 2019年1月30日
资源 | 开源数据集
AI研习社
8+阅读 · 2018年9月25日
资源 | 25个深度学习开源数据集
人工智能头条
4+阅读 · 2018年4月22日
资源 | 25个深度学习开源数据集,have fun !
数据分析
4+阅读 · 2018年4月12日
程明明:面向弱监督的图像理解
深度学习大讲堂
6+阅读 · 2018年1月2日
一文带你入门视频目标分割(附数据集)
THU数据派
19+阅读 · 2017年10月10日
Deep Co-Training for Semi-Supervised Image Segmentation
Arxiv
3+阅读 · 2019年9月5日
Revisiting CycleGAN for semi-supervised segmentation
Arxiv
3+阅读 · 2019年8月30日
VIP会员
相关资讯
机器学习数据集哪里找:优秀数据集来源盘点
云栖社区
10+阅读 · 2019年1月30日
资源 | 开源数据集
AI研习社
8+阅读 · 2018年9月25日
资源 | 25个深度学习开源数据集
人工智能头条
4+阅读 · 2018年4月22日
资源 | 25个深度学习开源数据集,have fun !
数据分析
4+阅读 · 2018年4月12日
程明明:面向弱监督的图像理解
深度学习大讲堂
6+阅读 · 2018年1月2日
一文带你入门视频目标分割(附数据集)
THU数据派
19+阅读 · 2017年10月10日
Top
微信扫码咨询专知VIP会员