让 Vision app 成为玩“石头、剪刀、布”的 AI 对手

机器人玩“石头、剪刀、布”- 第2部分

让 Vision app 成为模拟计算机对手

如何让机器人玩“石头、剪刀、布”?机器人爱好者和博主Sebastian Trella 现在向解决这个难题又迈出了决定性的一步。在选择相机时,他使用了 IDS NXT,这是一个运用智能相机的完整系统。系统涵盖了从捕捉和标记训练图像到训练网络、创建用于评估的应用以及实际运行应用的整个工作流程。在我们后续故事的第 1 部分中,他成功运用 AI 图像处理实现了手势识别,同时也训练了神经网络。可以通过专门创建的vision app对识别出的手势进行进一步处理。

进一步处理已分析的图像数据

这款应用成为项目第二阶段的基础,这一阶段的目标是让玩家能够与模拟计算机对手玩游戏。它依托经过训练的 AI,并利用 AI 所获得的结果。在这个过程中,它设置了 AI 对手,这位对手会随机“输出”三个定义好的手部动作中的一个,并将这一动作与玩家的手部动作进行比较。然后决定谁是获胜者或者是否出现了平局。因此,Vision app 是电脑显示器上玩家的界面,而相机是捕捉玩家手势的界面。

这一应用是在基于云的AI Vision Studio IDS lighthouse 中创建的,神经网络的训练也在这里完成。模块化代码编辑器类似于 Scratch 这样的免费图形编程环境,这让 Sebastian Trella 用起来很轻松:“我熟悉 LEGO® MINDSTORMS® 和其他各种机器人产品的 Scratch/Blockly Vision app 编程,这样,我很快就找到了解决办法。编程界面基本没有区别,所运用的思维方式对我来说驾轻就熟。因为无论我是在 IDS NXT 相机上开发 AI 支持的 Vision app,还是为机器人开发动作序列,编程的方式都完全相同。"

直接在相机上进行“微调”

然而,Trella 对如何在图像上显示文本并不熟悉:“到目前为止,我编程的机器人只通过控制台输出内容。将 Vision app 的输出直接集成到相机图像中对我来说是一种新方法。” Trella 对能够在云中和相机上编辑 Vision app 感到惊讶,在设备上开发如此便利,且相机硬件性能那么强大,这些优势更让 Trella 欣喜不已:“可以直接在相机上测试对程序代码的小幅修改,无需重新编译云中的所有内容。编程环境运行非常稳定顺畅。" 然而,调试嵌入式设备上的错误让他感到仍有改进空间,尤其是在对相机进行调整后,嵌入式设备和云系统同步不够理想。

Trella 在相机的网站界面上发现了一个突出优点,他表示“棒极了”。在这里您可以找到 Swagger UI,这是一组用于记录和测试集成 REST 接口的开源工具,包括各种示例。这大大方便了他的工作。他还在此基础上为 IDS NXT 系统的未来发展提出了一些建议:“如果能提供可切换的模块与第三方机器人系统进行通信,这样用户就可以直接从 Vision app 编程环境中为机器人手臂进行“联合编程”,如果能够实现这一点就太好了。这样就无需在机器人和相机之间布线,从而可以节省成本,简化开发工作。除此之外,我也非常喜欢直接通过编程环境导入图像文件的功能,一直以来,这一目标只能通过FTP实现。例如,在我的应用中,我会为获胜者展示一张奖杯的图片。"

接下来还有哪些精彩?

Sebastian Trella 表示:“构建 Vision app 非常有趣,我非常高兴得到这样一个绝佳机会来“玩”这样有趣的硬件,十分感谢。”下一步是仔细研究并尝试 Vision app 和机械臂之间的通信选项。虚拟计算机对手应该不局限于在屏幕上(也就是在相机图像中)展示手势,还应该在现实生活中通过机械臂展示自己的手势。这一步也是完成“石头、剪刀、布”游戏的最后一步:机器人走进生活。

让我们继续关注...

有关安装的信息可以在我们的手册中找到(仅限注册用户)。