人工智能中的 Unity 力量

CAMERON GREENE Anonymous
Jul 24, 2020|9 Min
人工智能中的 Unity 力量
为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

自 2018 年以来,Cross Compass 已将 Unity 集成到其面向制造领域的多项咨询服务的管道中,以便在部署前安全地训练和验证人工智能算法。请继续阅读,了解这家人工智能公司是如何利用游戏技术为如此成熟的行业增值的。

Cross Compass是一家领先的人工智能公司,为制造、机器人、游戏、医疗保健、设计和营销领域的全球行业领导者提供最先进的解决方案。Cross Compass 于 2015 年在东京成立,致力于开发深度学习、机器学习和人工生命领域的尖端技术,以提高安全性、质量和生产力,造福社会。

我们邀请他们用自己的话分享他们为什么接受 Unity,以及 Unity 如何帮助他们实现以下优势:

  • 提供与客户和合作伙伴讨论规格和进展的平台
  • 避免设置数据采集环境所需的许多安全检查
  • 为人工智能培训和测试提供无限量数据
  • 可加快人工智能模拟训练和测试的迭代周期
  • 为最终用户提供性能和质量更高的人工智能解决方案
  • 在人工智能可靠处理重复性任务的同时,提高人工干预的价值

在 Cross Compass 的这篇特邀文章中,人工智能模拟组组长 Romain Angénieux、全球品牌形象设计师 Steven Weigh 和首席技术官 Antoine Pasquali 将介绍更多信息。

在制造环境中引入人工智能的挑战
机器人图像

为制造环境设计和部署尖端的人工智能解决方案是一个复杂的过程。几十年来,制造生产线经过了精心优化和完善。专家们对每一个细节都进行了端到端的设计、调整和迭代,以确保最高的效率、安全性和质量标准,满足严格的行业要求和紧迫的交付时间表。这导致实验、干扰、风险或未经验证的方法的空间为零。

相比之下,人工智能正以光速发展。每隔一天,就会有关于最新方法、更大可能性和新领域的新研究。然而,这些研究大多只存在于实验室中,建立在精心策划的数据基础上,与现实世界中存在的嘈杂、非结构化、无标记,或者经常出现的完全不存在的数据几乎没有任何相似之处。与制造业形成鲜明对比的是,人工智能很少花时间在现实条件下进行自我验证。这两个行业在方法上相差无几。

在实验室里,达到 99% 的准确率是一项值得称赞的成就。在制造环境中,1% 的剩余错误率是无法接受的高故障、高缺陷或高安全风险,可能会造成严重的实际后果。在这种对立的情况下,我们该如何将最新的人工智能解决方案引入如此精确、受限的环境中呢?我们又该如何试验、验证和部署人工智能解决方案,以避免带来风险、成本、停机时间或三者的结合?当我们受命在客户的工厂车间培训和部署人工智能时,我们就在问自己这些问题。

利用模拟开发人工智能解决方案
引自《十字指南针

最明显的解决方案就是将生产环境引入实验室。也就是说,在模拟环境中重现工厂车间,我们可以开发人工智能解决方案,而不必担心停机或损坏最先进的设备。

模拟环境使我们能够完全控制工厂条件,让我们能够改变参数,试验、破坏和验证我们的算法,以研究新的人工智能解决方案。换句话说,模拟可以让我们做所有在现实世界中做不到的事情。

我们如何选择 Unity
引自《十字指南针

2018 年,我们对市场上的解决方案进行了分析,以确定哪种技术最符合我们的模拟需求。

我们的目标是,在将人工智能部署到实体机器人上之前,让设置环境、收集数据和验证人工智能的性能变得更简单、更快捷、更安全。

我们首先研究了机器人专用引擎,这些引擎旨在模拟机器人的行为、关节属性和依赖性以及传感器。这些引擎在物理、行为控制和低级机器人技术方面都非常精确。然而,尽管这些引擎非常注重逼真性,但我们发现它们缺乏再现更复杂场景的灵活性。

用于机器人应用的气象域随机化 (MDR)。我们利用 Unity 的高清渲染管道(HDRP)和着色器图工作流程来创建各种天空条件、灯光、背景和物体纹理。(由 Cross Compass 提供)

就人工智能而言,尽管我们确实需要精确的物理和对机器人行为的完美控制,但我们还需要导入各种不同形状的物体,并配以逼真的纹理和视觉效果,如灯光、阴影、摄像机效果等。

在这里,我们发现游戏引擎能很好地满足这些不同的需求,因为它们能为这些其他限制提供简单的答案。机器人仍可在较高的控制级别上进行操作,这与我们开发硬件无关解决方案的战略相吻合。

值得注意的是,Unity 允许我们只专注于创建训练机器人人工智能所需的功能,而将其他功能留给引擎。为了节省开发时间,我们可以直接利用其现有的文件导入器、渲染系统、物理引擎、脚本生命周期、调度程序和部署选项。

此外,Unity 还提供定期更新以及合作者的贡献,使引擎适合更高级的应用,例如我们自己的应用。Unity 生态系统的积极支持将确保任何潜在问题都能得到妥善解决。

分析结束后,Unity 凭借其多功能性和可发展性成为我们的最佳选择。

我们如何利用 Unity 将人工智能引入制造自动化
引自《十字指南针

如今,Unity 的开发已完全融入我们的生产自动化流程。在研究方面,我们创建了从采摘到 Navigation 再到基于传感器反馈的自适应控制等多种多样的场景,以测试我们的 AI 算法在突发状况下的稳健性,并将我们的技术进一步推向未知领域。

每个研究项目都源于客户的需求,然后向更普遍的解决方案扩展,以解决类似的案例。我们将这些解决方案作为打包资产逐一集成到我们的主仿真环境中,以保持持续的开发工作流程、长期的兼容性和简洁的代码。

自开始使用 Unity 以来,我们主要开发了导入对象和机器人部件、创建逼真场景以及应用域随机化技术等功能。与此同时,我们还建立了与人工智能和第三方机器人软件的通信协议,以及不同的模拟配置,用于实时生成所有场景的数据、人工智能训练、测试和验证。

Unity 为此类专家开发提供了所需的灵活性,例如独立于模拟速度的物理计算,可以生成比肉眼所见快百倍的精确数据。来自 Unity 合作伙伴的资产商店和工具也会为我们提供不定期的调整和功能,以加快进度。

Unity 使我们能够大大减少为客户和合作伙伴培训、测试和部署人工智能解决方案所需的时间和成本。其结果是提高了安全水平,增加了工厂车间人工干预的价值,并为最终用户提供了更高质量的产品。Unity 的物理引擎和功能使我们能够控制模拟工厂车间的方方面面,从而实现比以往任何时候都更加精确和强大的人工智能解决方案。

以下是在我们的项目中使用 Unity 的常见工作流程:

人工智能解决方案模型

在咨询项目中,我们会在主 Unity 环境中创建分支,在那里我们可以自由工作,以满足客户的特定需求,之后再将添加的功能合并回主分支。通常情况下,我们首先会选择一个预先配置好的场景,并用相关资产对其进行定制,从而制作出解决方案的模型。向客户展示模拟演示有助于明确项目的规格以及在工厂部署的最终目标。

人工智能培训和测试

然后,我们为训练准备环境和人工智能。模拟为我们提供了奢侈的数据生成方式,与现实世界的 Collections 相比,我们能以更快、更安全、更灵活的方式生成数据。只有人工智能专家才能从模拟中获得相关信息;不过,数据标签是免费获得的。这就意味着,我们可以向人工智能提供任何数据,而且是最精确的数据,而在现实世界中,同样的数据可能很难甚至不可能收集到。此外,生成的数据量没有限制。

应用于人工智能视觉输入的领域随机化。MDR 技术应用于模拟,以确保人工智能在真实世界条件下有效运行。(由 Cross Compass 提供)

此时,我们会对模型进行测试,并在客户指定的误差范围内对其准确性进行微调,以确保最终解决方案的稳健性。为此,我们需要对人工智能进行训练,使其能够在真实世界中,在摄像头和其他传感器接收到的光线和噪音发生意外变化时发挥有效作用。我们的领域随机化打包资产就是专门为弥补这一差距而设计的。然后,我们在实时模拟中验证我们的人工智能。这也用于向客户演示人工智能解决方案。

部署

最后,我们部署到工厂。我们的机器人工程师在系统集成商的协助下,根据部署项目的数量,直接在客户现场准备测试台或最终系统。人工智能工程师负责首批测试,通常我们的模拟团队成员也会前往测试,以验证与用于培训的模拟场景是否一致。这样就可以在必要时进行快速调整,然后再将在更大数据集上训练过的最终人工智能运出,最后再指导工厂技术人员如何使用新获得的人工智能算法。

未来计划

我们的分拣解决方案在 1.0 到 3.0 版本之间的演变。第 1 版复制了从桶中拾取物体时的真实物理条件。第 2 版的重点是模拟机器人和抓手。然后在第 3 版中开发并应用了 MDR。人工智能技术也在每个版本中不断完善,这一点可以从相机小部件中看出。(Cross Compass 提供) Unity 和我们自身的开发一样,都是一项不断进步的工作,我们的代码库和流程也在随着每一个新项目不断改进。我们还没有遇到过无法利用 Unity 和我们的专业知识来应对的挑战。

---

使用 Unity 开始机器人仿真