搜索 Unity

Perception 1.0: Expanding the toolbox for synthetic data | Lead image
Perception 1.0: Expanding the toolbox for synthetic data | Lead image
分享

Is this article helpful for you?

Thank you for your feedback!

我们本次发布的开源工具为Unity合成数据加入了合成人类与合成家庭环境。

机器学习(ML)驱动的计算机视觉(CV)系统正在描绘更大的蓝图,而它们的成功依赖于大量标注丰富的数据。由于此类系统的表现与数据紧密相关,搜集更好的数据往往是改善模型表现的最好方法。然而,搜集与标注现实数据要耗费大量时间与金钱,以至于许多项目都无法以数据为中心。为了解决这个问题,上千支团队开始转用Unity来构筑合成数据集。

今天我们为创建合成数据的开源工具:称为Perception 1.0,发布了一次重大更新,它标志着合成数据一大进步。新的Synthetic Humans包能生成多样化、随机化、可定制姿势和用作参考的3D人类。新Synthetic Homes数据集生成器则能生成写实的室内环境,用于理解场景、检测物体。此外,Perception包还更新了深度和法线输出,支持路径追踪及Python可视化与分析工具。

我们希望借助此次工具套扩展,让你能更快地构筑高质量合成数据。

Synthetic Humans,为CV打造的多样化人类生成器

Synthetic humans

我们激动地宣布Unity Synthetic Humans发布,这款完全从零建起的3D人物生成器专为以人为中心的CV合成数据打造。我们花了数千个小时糅合扫描、模拟和3D美术数据制作了这些内容。今天,所有这些内容将以学术用开源许可证免费开放。 

不同于其他数字人只允许在基础模型上完成一小部分修改,Synthetic Humans可带来极大的多样性,组合多个发型库,生成匿名化的面部、人种、身体模型及衣物。每个生成的人类都是无特征且独特的,你不会生成非常具体的人,但需要控制采样点在随机轴上的分布,随机因素包括了种族、身高、体重和年龄。比如,一个数据集可以有20%的少年、45%的青年和35%的中老年人群,这些都能在生成参数中设定。

Synthetic human examples

主要特色:

  • 多样化的年龄、体型和肤色
  • 丰富的标签,包括身体节点和衣物划分
  • 带有完整骨骼绑和身体衣物蒙皮、兼容Unity Animation System
  • 在3D环境中随机摆放、避开碰撞

合成家庭环境,标注丰富的室内数据集

Synthetic home interior

我们也将发布Synthetic Homes,一个大规模的合成家庭室内数据集,以及相关的数据集生成器。家用CV有着数不尽的用处,但从现实世界里搜集各类室内数据是出了名的困难,因为涉及了隐私问题和数据采集限制。Synthetic Homes会提供大量带有精确、丰富标签的各类室内数据集,以及一个可配置的数据集生成器,以加快室内应用的模型训练。 

我们还加入了各类随机化来最大化多样性。这些随机涉及材质、家具类型和配置、太阳角度和温度、日夜转换、室内光照温度、摄像机角度、杂物堆、天空盒、门和特定动画等等。你可以在数据集生成器内控制所有这些元素,调试出自己喜欢的数据。

家中的室内光照通常是复杂且精心设计的,忠实地还原它们因此就非常重要。我们使用了Unity的多次弹射路径追踪来实现符合现实的全局光照和反光。这种精确的光照能弥合所谓的“Sim2Real gap”(模拟到现实的差距),让模型用合成数据训练后能更好地在现实中发挥作用。

Synthetic Homes项目有着一个包含100000图片的数据集,一个可配置的数据集生成器,以及一个数据分析的笔记本。数据集包含了丰富的标签,用于标注区分开的语义和实例、边界框、深度和法线。它同样包括了遮挡百分比和摄像机位置等环境信息。为了方便你改进数据,我们同样提供数据集生成器,让你能调整摄像机摆放、随机化模糊和图片大小等参数。

Perception软件包的重大更新

Depth, Normals, and Path Tracing in Perception 1.0

Perception包能在Unity编辑器内生成合成数据。我们极大地扩展了该软件包,以支持新的CV任务、提高质量并加快数据集开发。新的Perception包括如下特色:

  • 传送带样例展示了用随机生成的物体和物理录制视频数据集。
  • 光线追踪功能用最少的步骤和多次弹射的物理性光照生成了高度逼真的图片。
  • 遮挡标注器可计算一个物体有多少被场景其他物体所遮挡、有多少处于屏幕之外。这个信息可用于筛去几乎全部被遮住的物体及其标注。
  • 深度与法线标注器可抓取执行新任务所需的渲染层,或用更多的模型信息辅助更好的预测。
  • 透明与双面几何体支持能在农业及室外环境中为植物加上像素级的标注。

我们还希望让社区的大家进一步参与到Perception项目中,所以软件包在以后将接受社区贡献。

Python中的pysolotools、数据分析和可视化

Synthetic data analysis

数据探查和分析对合成数据的快速迭代起着关键作用,而我们希望让这些操作尽可能的简单。本次更新推出了一种称为“SOLO”的新数据集格式,这种为大规模图像数据集设计的格式能用新的标注和度量进行拓展。SOLO数据集将逐帧分别存储到磁盘上,让数据集的生成和处理更为分散。

与SOLO格式一同发布的还有pysolotools,这款新的开源python软件包内涵处理SOLO格式的实用程序。pysolotools软件包所带有的迭代界面能让你轻松地逐帧编辑SOLO数据。它还自带一种取回常见统计数据的框架,这些统计数据包括物体计数、规模分布和热力图等常用于解决CV问题的数据。最后,你能用pysolotools轻松编写脚本,将SOLO转换成需要的数据格式。或者再简单一点,用pysolotools自带的转换器把数据转换成COCO等流行格式。

Visual inspection of synthetic datasets

最后,我们知道创造出的数据需要经过真人验证。pysolotools-fiftyone是Voxel Fiftyone查看器的整合功能,能让你直接检查SOLO数据集。

开始使用

你可以在Unity的Computer Vision中心详细了解构建合成数据,上边包含了数个教程、案例研究以及所有内容和示例的链接。 

机器学习的合成数据正在快速成长和进步。欢迎在Computer Vision论坛与社区及我们取得联系,分享您自己的疑问或想法。

Is this article helpful for you?

Thank you for your feedback!

相关文章