使用Unity感知工具大批量生成、分析合成数据,高效地训练ML模型

您好,欢迎访问我们的网站,我们将竭诚为您服务!

使用Unity感知工具大批量生成、分析合成数据,高效地训练ML模型

时间:2020-11-25 15:02:18 阅读:220
采集合成数据,制作数据集进行训练是非常复杂的,一不小心就会有一些遗漏。因此,开发人员经常不得不编写一些一次性的方案来生成数据,但是这些数据的结果通常并不令人满意。今天,我们引入两个新工具:统一感知包和数据集洞察,它们可以简化复杂性,简化高质量合成数据集的生成和分析。
 
Unity Perception 功能包
 
Unity Perception功能包可以以全新的方式在 Unity内合并生成合成数据集,并支持通用渲染管线(URP)和 HD渲染管线(HDRP)。该功能包提供了一个捕获数据集的工具,包括4个基本功能:添加对象标签,贴标,图像捕获和定制度量衡。当用户在功能包中输入目标标签的相关信息时,功能包就会自动选择信息,并将信息反馈给贴标器。Tapper使用这些信息来生成 GroundTruth真值数据,就像一个3D包围盒或者一个语义分隔罩。处理过的真值将和相关的度量衡一起存储在一个 JSON文件中。
 
未来将增加更多的贴标器,例如实例分隔,以支持其他常见的计算机视觉任务;场景生成工具;能够配置大量 domain randomization参数,并能进行规模扩展。
 
Data Insights数据分析
 
任何ML从业者都明白查看、分析带标注数据的重要性。而在合成数据集中,云端模拟可生成上百万的图像,数据集会变得非常大。Dataset Insights是一款Python功能包,可让大型合成数据集的数据运算、报告生成更为简单高效。功能包可根据不同的度量衡,利用本地设备或云端服务,在每帧上可视化整个数据集运算积累而成的统计数据。
 
接下来,如何使用 Unity Perception Package和 Dataset Insights来生成一组合成的数据?通过训练一个可检测商品,并标记上物品检测模型。这些工具具有通用性,并且同样适用于其它环境和计算机视觉任务。其目的是使更多的 ML从业者能够利用这些合成数据来满足各种需求。
3D资源制作
 
Google Cloud AI最近的一次研究中,谷歌使用了64种常见商品,包括麦片与纸巾,来验证了只用合成数据训练物体检测模型的可行性。受到研究启发,使用了与原产品大小、形状和纹理变化相近的同数量产品来进行训练。
 
我们通过unity编程软件使用数字内容创作工具、扫描标签和摄影扫描来制作了一整个库的商品3D资源。还将现实图像贴在方块、球体和柱状体这类简单形状上,来制作背景和遮挡物资源。所有商品都带有通用渲染管线、Shader Graph制作而成的着色器。
 
场景制作
 
我们在背景货架上放置了3D资源,又加入了形状、纹理上的干扰让场景更为复杂。多样化的训练场景可让训练出的ML模型能应付现实中的大部分场景。
 
在每个渲染的Loop循环中,系统会随机生成前景、背景和遮挡物体的摆放位置,以及灯光、物体颜色、模糊效果和噪声干扰。如下方代码所示,Perception功能包会抓取RGB图像、对象包围盒和其它随即参数来生成数据集中的每个图像。
 
使用Dataset Insights分析数据
 
对于大量的合成数据集来说,人工检查所有的图像是不可能的,而识别中的偏差、缺失、缺陷、错误的放置位置、放置姿势等问题都会使 ML模型的性能无法达到最佳。这种情况下,所产生的对象集合会输入 Dataset Insights,用来计算统计信息,训练 ML模型。该系统可以有效地处理目标检测模型训练的图像数据,并保证数据的有效性。下面列出了部分数据集的汇总数据。
 
试验阶段,我们曾遇到部分对象在一帧中多次出现的异常情况,反映在对象计数可视图中。为此,我们迅速解决了这个问题,确保对象能够在整个数据集中平均分布。尽管我们希望数据集的对象分布能够均匀地分布在每帧图像中,但同时也希望 ML模型能够检测出图像中多个或多个对象。上表显示了数据集每帧显示的标签对象,该对象遵循固定的正态分布模式,每帧包含大约7个对象。
 
可视化图显示不同的光源位置。每一点代表一个影响目标物体的光源。同时,在场景照明的方向和颜色上也进行了变化,以模拟真实世界的光照条件。图中,光源位于不同的位置,使得数据集所捕获的光照和阴影也各不相同。
 
Unity Simulation:大规模模拟合成数据集
 
我们使用 Unity Simulation云服务在云端运行项目,以在仿真中体现尽可能多的排序组合,产生训练计算机视觉模型所需的完整数据集。接下来,我们将进一步讨论如何使用 Unity Simulation生成大规模数据集,以训练机器学习模型,与真实数据进行对比,讨论合成数据所带来的经济利益,以及几个模拟过程中学到的要点。
 
Perception工具完全免费,请在Github上下载工具和对象检测示例。如果想要扩大数据集规模,欢迎注册使用Unity Simulation (Beta)云服务。
郑重声明:文章内容来自互联网,纯属作者个人观点,仅供参考,并不代表本站立场 ,版权归原作者所有!

上一篇:Unity各个版本去哪里可以下载?有什么差别?

下一篇:简述淘宝优惠券领取的几种方法及利弊

相关推荐

返回顶部