LiveChess2FEN实时优化自动数字化棋盘配置框架

描述

美国国际象棋大师、第十一届国际象棋世界冠军鲍比·菲舍尔曾说过:“棋盘上最重要的是好棋。”

他说起来容易。但是,如果你是新手,或者想变得更好,你怎么知道你正在做的动作实际上是好的呢?如果你能分析你的比赛,一场接一场,那不是很棒吗?

为了解决这个问题,本月最新的 Jetson 项目 winners 开发了 LiveChess2FEN ——一个在 NVIDIA Jetson Nano 上实时优化的自动数字化棋盘配置的框架。

LiveChess2FEN 创建者 大卫·马拉森·金塔纳 、 阿尔贝托 A 。德尔巴里奥 和 Manuel Prieto-Matias 在 paper 状态下表示:“这是第一次尝试将国际象棋数字化框架部署到嵌入式平台上,获得与其他方法类似甚至更好的执行时间,这些方法至少使用了一台中端笔记本电脑。”。

LiveChess2FEN 使用 福赛斯 – 爱德华兹符号( FEN ) 对国际象棋游戏进行数字化,这是一种标准的表示法,使用代表国际象棋游戏中特定棋盘位置的字母和数字。该项目是为业余玩家或比赛而创建的,其中一个网络摄像头会持续监视棋盘,并检查棋盘上任何棋子的位置是否发生了变化。视频通过学习模型进行流式传输,并以新字符串形式返回任何变化的板位置。

在 NVIDIA 开发者论坛上, 开发者表示 ,“之前的工作已经显示出了有希望的结果,但最先进技术的识别准确性和延迟仍需要进一步的增强,以实现实用且经济的部署。”

此外,目前的硬件解决方案,如专用电路板或机械臂,可能成本高昂,而且难以部署。使用 Jetson 纳米 ,团队找到了解决这些缺点的方法。

问题可分为 两个主要部分 。首先是识别棋盘及其方位,然后识别棋子及其精确位置。

为了应对这一挑战,该团队使用了多种软件,包括 TensorFlow 上的 Keras API ,来定义和训练卷积神经网络( CNN )来进行试件分类。为了训练他们的模型,他们使用了两组有标签的棋子数据集,其中包括近 55000 张图像。

他们还使用了 ONNX 运行时、 TensorRT 、 ONNX-TensorRT 和几个 Python 库。为了帮助监控 Jetson Nano 上的计算资源使用情况,他们使用了系统监控实用程序 jtop 。

使用 Jetson Nano 并使用 ONNX Runtime 和 TensorRT 优化 CNN ,他们将推理延迟从 16.38 秒减少到了 3.84 秒。

将特定领域的知识添加到模型的推理中,在准确性方面提供了优势。通过在 TensorRT 上测试不同的 CNN ,该团队获得了从 6 秒到 0.46 秒不等的延迟时间。精度和速度之间有一些折衷,如下图所示。

cpu

图 1 :在 NVIDIA Jetson Nano 上测量的检测棋盘状态的推理时间和精度。

然后,该团队设计了一种方法,通过计算方格是否与人工智能之前检测到的方格对齐,来检查棋盘上的棋子是否在同一位置。这有助于避免在观察棋盘的基础上不断重新计算,以便更快地确定棋子的坐标。通过检查棋盘上的棋子是否在上一次推断(需要 150 毫秒)后移动,团队发现推断时间有了巨大的改进。

除了专用的 NVIDIA GPU ,该系统还集成了四核 ARM CPU ,能够执行检测棋盘所需的顺序计算。十多年来,这种体系结构已成功地广泛应用于与图像处理相关的任务中。

其结果是一个框架,可以在不到 1 秒的时间内从图像中自动数字化国际象棋的位置,对棋子进行分类的准确率为 92% ,对棋盘上的变化进行检测的准确率为 95% 。

LiveChess2FEN 框架的源代码在 GitHub 中提供了开源许可证。

关于作者

Jason Black 是 NVIDIA 的自主机器营销和通信高级经理。作为过去 25 年的作家和编辑,他喜欢在流行语背后寻找故事的核心。看到机器人 MIG 把他带到哪里,他很兴奋。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分