构建高质量的合成数据集是一门艺术也是一门科学(组图)


构建高质量的合成数据集是一门艺术也是一门科学(组图)

使用 Unity 合成数据集增强计算机视觉模型

在 AI 训练中,你是否经常遇到数据集的限制,无法更好地训练计算机视觉模型?

关于这个问题,Unity 计算机视觉感知包现在将为您提供帮助。Unity 将根据用户的需求为他们量身定制数据集,从而帮助用户进一步开发其计算机视觉模型的潜力。目前,Unity计算机视觉数据集已经开始服务于全球用户。

unity加载场景进度条_unity加载当前场景_unity加载场景慢

构建高质量的合成数据集是一门艺术,也是一门科学。在上一篇文章中,我们向您展示了合成数据的概念。在本文中,我们将更详细地向您展示为什么使用合成数据进行训练可以大大提高计算机视觉模型的性能并有效减少总模型训练时间。并降低培训成本。

Unity 的计算机视觉专家团队不断扩展合成数据策略的组合,以解决来自行业的各种计算机视觉问题。

通过与用户的协作游戏开发素材,Unity 计算机视觉团队能够快速了解​​用户手中模型的性能指标,并根据这些性能指标,为用户定制一个特定的数据集,以满足用户的需求。

标记各种项目

unity加载当前场景_unity加载场景慢_unity加载场景进度条

合成数据有无数的优势,但很难上手,生成合成数据即使对于一些机器学习专家来说也是一个全新的概念。此外,为项目需要识别的项目开发一组具有代表性的 3D 资产是复杂、耗时的,并且会阻碍整体进展。

并非所有 3D 资产都是平等创建的,因此 Unity 在为用户创建数据集时,会确保导入 Unity 的所有 3D 资产都满足用户训练模型的需求。Unity 与用户现有的 3D 资产和 CAD 模型兼容。如果用户没有 3D 虚拟资产,Unity 还可以通过用户拍摄的真实物体的照片来捕捉物体。此外,用户还可以通过与 Unity 团队的专业 3D 艺术家合作,创建真实物体的 3D 数字孪生数据。

图像标注的可视化示例

unity加载场景慢_unity加载场景进度条_unity加载当前场景

一旦用户拥有这些 3D 资产unity加载场景进度条,就可以逐帧标记和运行它们。

域随机化是一种以编程方式更改数据集中参数以构建稳健模型的技术。在每一帧中,特定的物体、定位、遮挡等都可以发生变化,甚至一小部分物体也可以得到完全不同的图像。可以使用简单的 2D 或 3D 边界框或更复杂的标记形式(例如分割)来标记对象。如果用户的项目需要自定义标注方式,Unity专业人员也可以为他们定制标注方式。

动态环境中的随机化

unity加载场景进度条_unity加载当前场景_unity加载场景慢

应用于环境的随机化

在 Unity 计算机视觉数据集项目中,关于环境的一切都可以随机化。照明、纹理、相机位置、镜头属性、信号噪声等都可以随机化,以确保数据集涵盖足够广泛的用例。

对于合成数据,为计算机视觉提供上下文的环境不一定是类似于真实世界的环境。一些计算机视觉任务的数据集可能只需要高度随机的背景,而其他一些任务可能需要更多的结构,例如建筑物或室内家庭环境。

unity加载当前场景_unity加载场景慢_unity加载场景进度条

非结构化和结构化合成环境

Unity 团队现在已经开发出方法来为一系列计算机视觉任务生成非结构化和结构化的合成环境。Unity的专业人员会根据用户的计算机视觉问题,选择最适合用户需求的合成场景,并据此确定数据集的范围。

未来方向

由于用户需求的多样性,数据集的需求差异很大。训练所需的图像数量取决于场景的复杂性、使用的对象的种类以及解决方案的准确性。

未来,Unity 计划提供一个简单的自助服务接口unity加载场景进度条数据报告,让用户可以通过自助服务接口生成自己需要的数据,而不必依赖 Unity 团队,这进一步增强了合成数据集的灵活性。