Stories

Detail Return Return

基於深度學習的石頭剪刀布手勢識別系統演示與介紹(YOLOv12/v11/v8/v5模型+Pyqt5界面+訓練代碼+數據集) - Stories Detail

視頻演示

基於深度學習的石頭剪刀布手勢識別系統演示與介紹_嗶哩嗶哩_bilibili

 1.前言

        隨着人機交互技術的快速發展和智能設備的廣泛應用,自然、直觀的手勢交互已成為提升用户體驗的重要方向。石頭剪刀布作為一種經典的手勢遊戲,其識別任務融合了計算機視覺與模式識別的核心技術,對實時性和準確性提出了雙重挑戰。高效的石頭剪刀布手勢識別系統不僅能為人機交互提供新穎的交互方式,還可應用於娛樂、教育、智能控制等多個領域。因此,開發基於深度學習的高精度、實時手勢識別系統具有重要的研究意義和應用價值。

2.項目演示

2.1 登陸界面

登陸界面

 

        

登陸界面比較有特色,需要輸入用户名和密碼進行登錄,同時還有驗證碼機制,整體界面簡潔美觀,左側還增加了關於石頭剪刀布的logo。

2.2 用户註冊

註冊界面

 

        註冊的時候輸入用户名、密碼,另外還可以設置用户的頭像信息,如果頭像不選擇,則默認使用默認頭像。

2.3 主界面

主界面

 

        主界面大體分為3個區域,左邊側邊欄是功能選擇,中間是識別結果展示,右邊是結果詳細信息展示。

2.4 識別結果界面

識別界面

 


        選擇圖片後結果會顯示到中間的圖像區域中,下邊的列表會列出每一個識別的目標信息,選擇表格的不同行數,會單獨對當前選擇的目標進行展示。如下圖所示:

列表點擊變化

 

2.5 模型選擇

    我們可以選擇其他已經訓練好的權重模型文件,方便用新的模型進行系統的檢測識別。

模型選擇

 

 

2.6 技術棧

        語言:python3.10

        前端界面:pyqt5

        數據庫:sqlite(存放用户信息)

        模型:yolov5、yolov8、yolov11、yolov12

3.YOLO模型對比和識別效果解析

3.1 yolov5、yolov8、yolov11、yolov12模型對比

        如下表格是Ultralytics官方在COCO數據集上進行訓練後得到的結果對比:

模型 尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
參數
(M)
FLOPs
(B)
YOLO12n 640 40.6 - 2.6 6.5
YOLO11n 640 39.5 56.1 ± 0.8 2.6 6.5
YOLOv8n 640 37.3 80.4 3.2 8.7
YOLOv5nu 640 34.3 73.6 2.6 7.7

        1.​精度最高:YOLO12n​
        •在 mAP 指標上達到 ​40.6%​,顯著領先其他模型,尤其比 YOLOv5nu 高出約6.3個百分點,顯示出其更強的目標識別能力。
        2.​速度最優:YOLO11n​
        •在 CPU 上推理速度最快(56.1 ms),比 YOLOv8n 快約42%,適合對實時性要求高的輕量級部署場景。
        3.​參數與計算效率:YOLO12n / YOLO11n / YOLOv8n/YOLOv5nu
        •三者參數量均為 ​2.6M,且 FLOPs 較低(YOLO12n/11n僅為6.5B),表明模型結構緊湊,計算負擔小。
        •YOLOv8n 參數量(3.2M)和計算量(8.7B)最高,但其精度並未顯著優於YOLO12n/11n。
        4.​綜合推薦:​​
        •若追求高精度​:推薦 ​YOLO12n​(mAP最高,且效率不輸同類);
        •若需要高速度與低資源消耗​:推薦 ​YOLO11n​(速度最快,精度與YOLO12n接近);
        •​YOLOv5nu​ 和 ​YOLOv8n​ 在精度和速度上均遜於新一代模型,若無特殊兼容需求,可不作為首選。

3.2 數據集分析

數據集

 

     

        數據集中訓練集和驗證集一共大概7000多張,數據集目標類別主要是三類:石頭、剪刀、布。其中石頭數據集最多,箭頭和布的數據差不多一樣。數據集配置代碼如下:


 
names:
- Paper
- Rock
- Scissors
nc: 3
path: train_data
test: test/images/
train: train/images/
val: valid/images/

 

train_batch0

train_batch1

 

 

3.3 訓練結果

confusion_matrix_normalized

 

 

        石頭、剪刀、布的混淆矩陣顯示中,三種類別識別準確度分別是:94%,91%,94%。

BoxF1_curve

 

        F1指數(F1 Score)是統計學和機器學習中用於評估分類模型性能的核心指標,綜合了模型的精確率(Precision)​和召回率(Recall)​,通過調和平均數平衡兩者的表現。        

        當置信度為0.658時,所有類別的綜合F1值達到了0.94(藍色曲線)

BoxPR_curve

 

        mAP@0.5:是目標檢測任務中常用的評估指標,表示在交併比(IoU)閾值為0.5時計算的平均精度均值(mAP)。其核心含義是:只有當預測框與真實框的重疊面積(IoU)≥50%時,才認為檢測結果正確。

        圖中可以看到綜合mAP@0.5達到了0.961(96.1%),幾乎識別都是準確的。

 

結束語

        以上便是博主開發的基於深度學習的石頭剪刀布手勢識別系統的全部內容,由於博主能力有限,難免有疏漏之處,希望小夥伴能批評指正


        關於本篇文章大家有任何建議或意見,歡迎在評論區留言交流!

Add a new Comments

Some HTML is okay.