• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 自主機器

    Jetson 月度最佳項目: LiveChess2FEN 提供實時游戲分析

    ?

    美國國際象棋大師、第十一屆國際象棋世界冠軍鮑比·菲舍爾曾說過:“棋盤上最重要的是好棋。”

    他說起來容易。但是,如果你是新手,或者想變得更好,你怎么知道你正在做的動作實際上是好的呢?如果你能分析你的比賽,一場接一場,那不是很棒嗎?

    為了解決這個問題,本月最新的 Jetson 項目 winners 開發了 LiveChess2FEN ——一個在 NVIDIA Jetson Nano 上實時優化的自動數字化棋盤配置的框架。

    LiveChess2FEN 創建者 大衛·馬拉森·金塔納阿爾貝托 A .德爾巴里奧Manuel Prieto-Matiaspaper 狀態下表示:“這是第一次嘗試將國際象棋數字化框架部署到嵌入式平臺上,獲得與其他方法類似甚至更好的執行時間,這些方法至少使用了一臺中端筆記本電腦。”。

    LiveChess2FEN 使用 福賽斯 – 愛德華茲符號( FEN ) 對國際象棋游戲進行數字化,這是一種標準的表示法,使用代表國際象棋游戲中特定棋盤位置的字母和數字。該項目是為業余玩家或比賽而創建的,其中一個網絡攝像頭會持續監視棋盤,并檢查棋盤上任何棋子的位置是否發生了變化。視頻通過學習模型進行流式傳輸,并以新字符串形式返回任何變化的板位置。

    在 NVIDIA 開發者論壇上, 開發者表示 ,“之前的工作已經顯示出了有希望的結果,但最先進技術的識別準確性和延遲仍需要進一步的增強,以實現實用且經濟的部署。”

    此外,目前的硬件解決方案,如專用電路板或機械臂,可能成本高昂,而且難以部署。使用 Jetson 納米 ,團隊找到了解決這些缺點的方法。

    問題可分為 兩個主要部分 。首先是識別棋盤及其方位,然后識別棋子及其精確位置。

    為了應對這一挑戰,該團隊使用了多種軟件,包括 TensorFlow 上的 Keras API ,來定義和訓練卷積神經網絡( CNN )來進行試件分類。為了訓練他們的模型,他們使用了兩組有標簽的棋子數據集,其中包括近 55000 張圖像。

    他們還使用了 ONNX 運行時、 TensorRTONNX-TensorRT 和幾個 Python 庫。為了幫助監控 Jetson Nano 上的計算資源使用情況,他們使用了系統監控實用程序 jtop

    使用 Jetson Nano 并使用 ONNX Runtime 和 TensorRT 優化 CNN ,他們將推理延遲從 16.38 秒減少到了 3.84 秒。

    將特定領域的知識添加到模型的推理中,在準確性方面提供了優勢。通過在 TensorRT 上測試不同的 CNN ,該團隊獲得了從 6 秒到 0.46 秒不等的延遲時間。精度和速度之間有一些折衷,如下圖所示。

    The graph shows accuracy vs time of different CNNs ranging from unders 1 second to 6 seconds all with over 90% accuracy.
    圖 1 :在 NVIDIA Jetson Nano 上測量的檢測棋盤狀態的推理時間和精度。

    然后,該團隊設計了一種方法,通過計算方格是否與人工智能之前檢測到的方格對齊,來檢查棋盤上的棋子是否在同一位置。這有助于避免在觀察棋盤的基礎上不斷重新計算,以便更快地確定棋子的坐標。通過檢查棋盤上的棋子是否在上一次推斷(需要 150 毫秒)后移動,團隊發現推斷時間有了巨大的改進。

    除了專用的 NVIDIA GPU ,該系統還集成了四核 ARM CPU ,能夠執行檢測棋盤所需的順序計算。十多年來,這種體系結構已成功地廣泛應用于與圖像處理相關的任務中。

    其結果是一個框架,可以在不到 1 秒的時間內從圖像中自動數字化國際象棋的位置,對棋子進行分類的準確率為 92% ,對棋盤上的變化進行檢測的準確率為 95% 。

    LiveChess2FEN 框架的源代碼在 GitHub 中提供了開源許可證。

    ?

    0

    標簽

    人人超碰97caoporen国产