首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >基于YOLO11的扑克牌(Playing Cards)检测系统(Python源码+数据集+Pyside6界面)

基于YOLO11的扑克牌(Playing Cards)检测系统(Python源码+数据集+Pyside6界面)

原创
作者头像
AI小怪兽
发布于 2025-03-18 08:55:55
发布于 2025-03-18 08:55:55
9440
举报
文章被收录于专栏:毕业设计毕业设计YOLO大作战

💡💡💡本文摘要:基于YOLO11的扑克牌(Playing Cards)检测,阐述了整个数据制作和训练可视化过程

博主简介

AI小怪兽,YOLO骨灰级玩家,1)YOLOv5、v7、v8、v9、v10、11优化创新,轻松涨点和模型轻量化;2)目标检测、语义分割、OCR、分类等技术孵化,赋能智能制造,工业项目落地经验丰富;

添加图片注释,不超过 140 字(可选)

​

1.YOLO11介绍

Ultralytics YOLO11是一款尖端的、最先进的模型,它在之前YOLO版本成功的基础上进行了构建,并引入了新功能和改进,以进一步提升性能和灵活性。YOLO11设计快速、准确且易于使用,使其成为各种物体检测和跟踪、实例分割、图像分类以及姿态估计任务的绝佳选择。

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

结构图如下:

添加图片注释,不超过 140 字(可选)

1.1 C3k2

C3k2,结构图如下

添加图片注释,不超过 140 字(可选)

C3k2,继承自类C2f,其中通过c3k设置False或者Ture来决定选择使用C3k还是Bottleneck

添加图片注释,不超过 140 字(可选)

实现代码ultralytics/nn/modules/block.py

1.2 C2PSA介绍

借鉴V10 PSA结构,实现了C2PSA和C2fPSA,最终选择了基于C2的C2PSA(可能涨点更好?)

添加图片注释,不超过 140 字(可选)

实现代码ultralytics/nn/modules/block.py

1.3 11 Detect介绍

分类检测头引入了DWConv(更加轻量级,为后续二次创新提供了改进点),结构图如下(和V8的区别):

添加图片注释,不超过 140 字(可选)

实现代码ultralytics/nn/modules/head.py

2.扑克牌检测系统

扑克牌识别检测技术在多个领域都具有重要意义,以下是详细介绍:

娱乐产业

  • 智能纸牌游戏:在智能纸牌游戏中,扑克牌识别技术能够让游戏设备自动识别玩家手中的牌,从而实现自动计分、判断胜负等功能,提高游戏的趣味性和效率。
  • 线上扑克防作弊:通过扑克牌识别技术,可以对线上扑克游戏中的牌局进行实时监测,检测是否存在作弊行为,如使用特殊标记的牌等,保障游戏的公平性和公正性。

教育领域

  • 教学辅助工具:在数学、概率等课程的教学中,教师可以利用扑克牌识别技术制作教学软件或工具,通过识别扑克牌来演示各种数学概念和概率问题,使抽象的知识更加直观易懂。
  • 儿童早教:对于儿童的早教启蒙,扑克牌识别技术可以应用于开发益智玩具和教育游戏。例如,设计一款扑克牌识别游戏,让孩子通过识别不同的扑克牌来学习数字、颜色、图案等知识,培养他们的观察力和认知能力。

工业生产

  • 扑克牌生产质量检测:在扑克牌的生产过程中,利用扑克牌识别检测技术可以对生产的扑克牌进行自动质量检测,检查是否存在印刷错误、图案模糊、尺寸不符等问题,确保产品质量符合标准。
  • 自动化包装与分拣:在扑克牌的包装和分拣环节,通过识别扑克牌的花色和点数,可以实现自动化的包装和分拣操作,提高生产效率,降低人工成本。

安防监控

  • 特殊场所的安全监控:在一些禁止赌博或对纸牌有特殊管理要求的场所,如监狱、戒毒所等,通过扑克牌技术识别可以对监控视频进行分析,及时发现并预警赌博等违规行为,增强场所的安全管理。
  • 公共场所的秩序维护:在公共场所,如公园、广场等,利用扑克牌识别技术可以辅助监控系统对聚集赌博等不良行为进行识别和监控,维护公共秩序。

医疗康复

  • 辅助视障人士:为视障人士设计的辅助设备可以结合扑克牌识别技术,通过语音提示或震动等方式告知他们手中的扑克牌信息,使他们能够更方便地参与扑克牌游戏,增加生活乐趣和社会互动。
  • 康复训练:在一些康复训练中,如手部精细动作训练等,可以利用扑克牌识别技术来监测患者的训练情况,评估康复进度,为康复治疗提供数据支持。

2.1 扑克牌数据集介绍

数据集大小:训练集14000张,验证集4000张,测试集2000张

类别52类:

nc: 52 names: ['10c', '10d', '10h', '10s', '2c', '2d', '2h', '2s', '3c', '3d', '3h', '3s', '4c', '4d', '4h', '4s', '5c', '5d', '5h', '5s', '6c', '6d', '6h', '6s', '7c', '7d', '7h', '7s', '8c', '8d', '8h', '8s', '9c', '9d', '9h', '9s', 'Ac', 'Ad', 'Ah', 'As', 'Jc', 'Jd', 'Jh', 'Js', 'Kc', 'Kd', 'Kh', 'Ks', 'Qc', 'Qd', 'Qh', 'Qs']

细节图:

添加图片注释,不超过 140 字(可选)

标签可视化分析

添加图片注释,不超过 140 字(可选)

2.2 配置PlayingCards.yaml

ps:建议填写绝对路径

代码语言:javascript
复制
train: D:/YOLOv11/data/Playing Cards/train/images
val: D:/YOLOv11/data/Playing Cards/valid/images

nc: 52
names: ['10c', '10d', '10h', '10s', '2c', '2d', '2h', '2s', '3c', '3d', '3h', '3s', '4c', '4d', '4h', '4s', '5c', '5d', '5h', '5s', '6c', '6d', '6h', '6s', '7c', '7d', '7h', '7s', '8c', '8d', '8h', '8s', '9c', '9d', '9h', '9s', 'Ac', 'Ad', 'Ah', 'As', 'Jc', 'Jd', 'Jh', 'Js', 'Kc', 'Kd', 'Kh', 'Ks', 'Qc', 'Qd', 'Qh', 'Qs']

2.3 如何训练

代码语言:javascript
复制
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO('ultralytics/cfg/models/11/yolo11.yaml')
    model.train(data='data/PlayingCards.yaml',
                cache=False,
                imgsz=640,
                epochs=200,
                batch=8,
                close_mosaic=10,
                device='0',
                optimizer='SGD', # using SGD
                project='runs/train',
                name='exp',
                )

2.4 训练结果可视化结果

代码语言:javascript
复制
YOLO11 summary (fused): 283 layers, 2,627,396 parameters, 0 gradients, 7.1 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 125/125 [01:41<00:00,  1.23it/s]
                   all       4000      15159      0.985      0.992      0.992       0.96
                   10c        180        282      0.998          1      0.995      0.924
                   10d        188        290      0.998          1      0.995      0.916
                   10h        201        322      0.998          1      0.995      0.945
                   10s        165        250      0.998          1      0.995      0.942
                    2c        193        295      0.998          1      0.995       0.97
                    2d        167        259      0.998          1      0.995      0.957
                    2h        187        294      0.998          1      0.995      0.965
                    2s        192        299      0.998          1      0.995      0.964
                    3c        201        308      0.998          1      0.995      0.973
                    3d        167        250      0.998          1      0.995      0.965
                    3h        200        313      0.998          1      0.995      0.969
                    3s        229        358      0.998          1      0.995      0.974
                    4c        178        276      0.995          1      0.995      0.972
                    4d        183        282      0.999          1      0.995      0.954
                    4h        199        312      0.998          1      0.995      0.958
                    4s        198        295          1      0.999      0.995      0.966
                    5c        182        290      0.998          1      0.995      0.974
                    5d        178        283      0.998          1      0.995      0.957
                    5h        168        253      0.998          1      0.995      0.961
                    5s        194        281      0.998          1      0.995       0.97
                    6c        183        284      0.998          1      0.995      0.974
                    6d        185        286      0.998          1      0.995      0.971
                    6h        210        329      0.998          1      0.995      0.973
                    6s        185        289      0.998          1      0.995      0.975
                    7c        196        304      0.998          1      0.995      0.976
                    7d        192        311      0.998          1      0.995      0.973
                    7h        201        303      0.999          1      0.995      0.969
                    7s        195        304      0.998          1      0.995      0.972
                    8c        184        285      0.949      0.968      0.991      0.968
                    8d        170        261      0.877      0.931      0.975      0.951
                    8h        173        255      0.984      0.996      0.995      0.965
                    8s        218        339      0.847        0.9      0.954      0.933
                    9c        199        309      0.998          1      0.995      0.976
                    9d        183        275      0.998          1      0.995      0.971
                    9h        178        272      0.998          1      0.995      0.967
                    9s        176        263      0.998          1      0.995      0.971
                    Ac        185        288      0.962      0.976      0.991      0.951
                    Ad        192        294      0.947      0.966      0.991      0.944
                    Ah        192        283      0.775      0.887       0.92      0.874
                    As        213        322      0.946      0.981      0.993      0.958
                    Jc        178        265      0.998          1      0.995      0.955
                    Jd        181        285      0.998          1      0.995      0.942
                    Jh        183        278      0.998          1      0.995       0.94
                    Js        188        282          1          1      0.995      0.962
                    Kc        196        307      0.998          1      0.995      0.974
                    Kd        186        304      0.998          1      0.995      0.955
                    Kh        192        297      0.998          1      0.995      0.954
                    Ks        166        264      0.998          1      0.995       0.97
                    Qc        202        300      0.999          1      0.995      0.975
                    Qd        202        317      0.998          1      0.995      0.953
                    Qh        189        295          1      0.995      0.995      0.963
                    Qs        205        317      0.996          1      0.995       0.97    

添加图片注释,不超过 140 字(可选)

预测结果:

添加图片注释,不超过 140 字(可选)

3. 扑克牌检测系统设计

3.1 PySide6介绍

受益于人工智能的崛起,Python语言几乎以压倒性优势在众多编程语言中异军突起,成为AI时代的首选语言。在很多情况下,我们想要以图形化方式将我们的人工智能算法打包提供给用户使用,这时候选择以python为主的GUI框架就非常合适了。

PySide是Qt公司的产品,PyQt是第三方公司的产品,二者用法基本相同,不过在使用协议上却有很大差别。PySide可以在LGPL协议下使用,PyQt则在GPL协议下使用。

PySide目前常见的有两个版本:PySide2和PySide6。PySide2由C++版的Qt5开发而来.,而PySide6对应的则是C++版的Qt6。从PySide6开始,PySide的命名也会与Qt的大版本号保持一致,不会再出现类似PySide2对应Qt5这种容易混淆的情况。

3.2 安装PySide6

pip install --upgrade pip pip install pyside6 -i https://mirror.baidu.com/pypi/simple

基于PySide6开发GUI程序包含下面三个基本步骤:

  • 设计GUI,图形化拖拽或手撸;
  • 响应UI的操作(如点击按钮、输入数据、服务器更新),使用信号与Slot连接界面和业务;
  • 打包发布;

3.3 扑克牌检测系统设计

​原文链接:

代码语言:javascript
复制
https://blog.csdn.net/m0_63774211/article/details/146260233

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 1.YOLO11介绍
  • 1.1 C3k2
  • 1.2 C2PSA介绍
  • 1.3 11 Detect介绍
  • 2.扑克牌检测系统
  • 2.1 扑克牌数据集介绍
  • 2.2 配置PlayingCards.yaml
  • 2.3 如何训练
  • 2.4 训练结果可视化结果
  • 3. 扑克牌检测系统设计
  • 3.1 PySide6介绍
  • 3.2 安装PySide6
  • 3.3 扑克牌检测系统设计
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档