资讯 人工智能
此为临时链接,仅用于文章预览,将在时失效

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

作者:AI研习社-译站
2018/04/12 12:07

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

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

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

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

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

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

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

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

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

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

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

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

要解决的问题

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

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

终于!Supervise.ly 发布人像分割数据集啦(免费开源)几个来自COCO数据集的人类标注示例

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

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

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

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

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

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

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

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

步骤1:训练神经网络

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

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

Unet_v2架构

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

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

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

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

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

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

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

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

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

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

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

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

步骤4:手动验证和纠错

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

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

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

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

如何校正神经网络预测

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

步骤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)。

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

如何下载结果

结论

看看没有任何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

雷锋网相关推荐 雷锋网

不知道如何开始机器学习?这有份初学者指南!



雷锋字幕组正在招募中

扫描下方二维码

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

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

长按图片保存图片,分享给好友或朋友圈

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

扫码查看文章

正在生成分享图...

取消
相关文章