美國國際象棋大師、第十一屆國際象棋世界冠軍鮑比·菲舍爾曾說過:“棋盤上最重要的是好棋。”
他說起來容易。但是,如果你是新手,或者想變得更好,你怎么知道你正在做的動作實際上是好的呢?如果你能分析你的比賽,一場接一場,那不是很棒嗎?
為了解決這個問題,本月最新的 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 秒不等的延遲時間。精度和速度之間有一些折衷,如下圖所示。
圖 1 :在 NVIDIA Jetson Nano 上測量的檢測棋盤狀態的推理時間和精度。
然后,該團隊設計了一種方法,通過計算方格是否與人工智能之前檢測到的方格對齊,來檢查棋盤上的棋子是否在同一位置。這有助于避免在觀察棋盤的基礎上不斷重新計算,以便更快地確定棋子的坐標。通過檢查棋盤上的棋子是否在上一次推斷(需要 150 毫秒)后移動,團隊發現推斷時間有了巨大的改進。
除了專用的 NVIDIA GPU ,該系統還集成了四核 ARM CPU ,能夠執行檢測棋盤所需的順序計算。十多年來,這種體系結構已成功地廣泛應用于與圖像處理相關的任務中。
其結果是一個框架,可以在不到 1 秒的時間內從圖像中自動數字化國際象棋的位置,對棋子進行分類的準確率為 92% ,對棋盤上的變化進行檢測的準確率為 95% 。
LiveChess2FEN 框架的源代碼在 GitHub 中提供了開源許可證。
關于作者
Jason Black 是 NVIDIA 的自主機器營銷和通信高級經理。作為過去 25 年的作家和編輯,他喜歡在流行語背后尋找故事的核心。看到機器人 MIG 把他帶到哪里,他很興奮。
審核編輯:郭婷
-
cpu
+關注
關注
68文章
10882瀏覽量
212263 -
NVIDIA
+關注
關注
14文章
5026瀏覽量
103287 -
人工智能
+關注
關注
1792文章
47445瀏覽量
239053
發布評論請先 登錄
相關推薦
評論