带标注的扑克牌识别数据集,识别率99.5%,3083张图,支持yolo,coco json,voc xml,文末有模型训练代码

高质量扑克牌识别数据集:99.5%识别率,3083张精准标注图像

本数据集专为扑克牌识别任务设计,包含3083张高质量扑克牌图像,在YOLO系列模型上实现了高达99.5%的识别准确率。数据集支持多种主流标注格式,包括YOLO格式、COCO JSON和PASCAL VOC XML,满足不同深度学习框架的需求。文末提供了完整的模型训练和验证代码,方便研究人员和开发者快速上手。

数据集核心价值与应用场景

  1. 计算机视觉教学与研究:为图像分类、目标检测算法提供标准化的评估基准
  2. 游戏开发与娱乐应用:可用于开发扑克牌识别游戏、自动计分系统等娱乐应用
  3. 智能监控与安防:适用于赌场监控、游戏厅管理等场景的自动识别系统
  4. 算法性能对比:为不同目标检测算法提供公平的性能对比平台
  5. 数据增强研究:包含模糊样本,适合研究数据增强策略对模型性能的影响

模型训练指标参数:

模型训练图:

数据集拆分与预处理

数据集划分

本数据集共包含3083张扑克牌图像,按照机器学习标准划分为训练集、验证集和测试集:

  • 训练集:2697张图像(约87.5%)
  • 验证集:257张图像(约8.3%)
  • 测试集:129张图像(约4.2%)

数据预处理流程

为确保数据质量和模型训练效果,我们对所有图像进行了标准化预处理:

  1. 自动定向校正:应用自动方向校正,确保所有图像方向一致
  2. 尺寸标准化:将所有图像统一调整为640×640像素,保持长宽比
  3. 格式统一:转换为RGB格式,确保色彩空间一致性

数据增强策略

本数据集采用以下数据增强策略提升模型泛化能力:

  • 自然模糊样本:包含真实场景中的模糊图像
  • 多角度拍摄:涵盖不同拍摄角度和光照条件
  • 背景多样性:包含纯色和复杂背景样本

这些增强策略有助于模型学习更本质的特征,而非过度依赖特定场景下的视觉线索。

数据集标签体系

标签命名规范

本数据集采用标准的扑克牌命名规范,包含52个类别,对应一副标准扑克牌的所有牌面。

花色表示
英文花色 词源 中文标准叫法
Trefoils 法语 trèfle 梅花
Spades 英语 黑桃
Diamonds 英语 方块
Hearts 英语 红桃
点数表示
  • A:Ace(尖)
  • 2-10:数字牌
  • J:Jack(勾)
  • Q:Queen(圈)
  • K:King(凯)

完整标签列表

序号 英文牌名 中文名称 序号 英文牌名 中文名称
1 7 Trefoils 梅花7 27 Q Spades 黑桃Q
2 4 Trefoils 梅花4 28 A Hearts 红桃A
3 2 Spades 黑桃2 29 7 Diamonds 方块7
4 4 Spades 黑桃4 30 9 Hearts 红桃9
5 5 Spades 黑桃5 31 Q Trefoils 梅花Q
6 3 Spades 黑桃3 32 7 Hearts 红桃7
7 A Diamonds 方块A 33 6 Trefoils 梅花6
8 J Diamonds 方块J 34 8 Hearts 红桃8
9 Q Hearts 红桃Q 35 6 Hearts 红桃6
10 10 Hearts 红桃10 36 A Trefoils 梅花A
11 A Spades 黑桃A 37 4 Diamonds 方块4
12 9 Diamonds 方块9 38 J Hearts 红桃J
13 3 Hearts 红桃3 39 K Hearts 红桃K
14 5 Hearts 红桃5 40 9 Trefoils 梅花9
15 3 Diamonds 方块3 41 2 Hearts 红桃2
16 10 Trefoils 梅花10 42 4 Hearts 红桃4
17 3 Trefoils 梅花3 43 J Trefoils 梅花J
18 8 Diamonds 方块8 44 6 Diamonds 方块6
19 10 Diamonds 方块10 45 Q Diamonds 方块Q
20 9 Spades 黑桃9 46 5 Diamonds 方块5
21 2 Diamonds 方块2 47 K Trefoils 梅花K
22 7 Spades 黑桃7 48 8 Spades 黑桃8
23 2 Trefoils 梅花2 49 6 Spades 黑桃6
24 8 Trefoils 梅花8 50 J Spades 黑桃J
25 K Spades 黑桃K 51 5 Trefoils 梅花5
26 10 Spades 黑桃10 52 K Diamonds 方块K

标注质量保证

  1. 双重标注机制:每张图像由两名专业标注员独立标注
  2. 一致性校验:定期进行标注一致性评估,确保标注准确率>99%
  3. 错误修正流程:建立标注错误反馈和修正机制,持续优化数据质量

数据集图片和标注信息示例

数据样本特点

数据集包含多样化的扑克牌图像,具有以下特点:

  1. 拍摄角度多样:包含正面、侧面、倾斜等多种拍摄角度
  2. 光照条件丰富:涵盖自然光、室内光、弱光等多种光照环境
  3. 背景复杂度:包含纯色背景、复杂背景等多种场景
  4. 图像质量:包含清晰和模糊样本,模拟真实应用场景

标注信息展示

每张图像都提供完整的标注信息,包括:

  • 边界框坐标:精确标注每张扑克牌的位置
  • 类别标签:对应52种扑克牌类别
  • 置信度评分:标注质量的量化评估
  • 图像质量评估:对图像清晰度、对比度等进行评分

模糊样本说明

数据集中包含部分模糊图片,这是精心设计的数据增强策略,具有以下优势:

  1. 提升模型鲁棒性:现实场景中可能存在运动模糊、对焦不准或光线不足的情况。在训练集中引入模糊样本,可以迫使模型学习更本质的特征,而不是过度依赖清晰的边缘或纹理细节,从而提升模型在复杂、非理想成像条件下的识别能力。

  2. 模拟真实世界噪声:监控摄像头、手机等设备在低光照或快速移动时极易产生模糊。包含此类图片的数据集能让模型提前适应这种噪声,减少在实际部署时因图像质量下降而导致的性能骤降。

  3. 防止模型过拟合:如果训练集全是高清、摆拍的完美图片,模型容易记住这些特定场景下的"干净"特征,而对新的、稍有模糊的图片泛化能力差。模糊图片作为一种有效的正则化手段,可以增加数据分布的多样性,防止模型过拟合到有限的清晰样本上。

总结 :数据集中包含的模糊图片,与"水平翻转"、"剪切形变"、"随机遮挡"等增强操作一样,都是为了构建一个更接近真实世界复杂分布的数据环境,从而训练出更健壮、更泛化、更实用的模型。

示例图像展示

图1:清晰扑克牌样本展示

图2:模糊扑克牌样本展示

图3:模拟模糊场景,加入马赛克效果

图4:多角度拍摄的扑克牌样本

图5:复杂背景下的扑克牌识别

图6:模型在测试集上的推理结果

数据集下载与格式支持

支持的标注格式

本数据集提供三种主流标注格式,满足不同深度学习框架需求:

  1. YOLO格式:支持YOLOv5/v6/v7/v8/v9/v11/v12/v26等全系列版本
  2. COCO JSON:符合COCO数据集标准,便于与现有评估工具集成
  3. PASCAL VOC XML:兼容传统目标检测框架

数据集获取方式

数据集可通过以下渠道获取:

学术研究用途

  • 联系作者获取学术授权
  • 提供研究计划和机构信息

商业应用

  • 需获得商业使用许可
  • 支持定制化数据服务

教育机构

  • 提供教育版数据集供教学使用
  • 配套教学材料和实验指导

使用建议与注意事项

  1. 环境要求:建议在GPU环境下使用,以获得最佳训练效果
  2. 数据预处理:数据已按标准流程进行预处理,可直接用于模型训练
  3. 版本管理:数据集会定期更新,建议关注最新版本
  4. 版权说明:数据集仅供学习和研究使用,商业用途需获得授权

YOLO模型训练

下载数据集之后解压到当前文件夹,然后将 我的仓库 https://gitcode.com/pbymw8iwm/YOLOProject 里的训练模型脚本复制到文件夹下,假设你使用的是yolov8来训练你就用python train_yolov8.py

​​

模型验证测试情况:

验证测试代码:

python 复制代码
#需要安装pip install ultralytics
from ultralytics import YOLO
import cv2

# ===================== 1. 加载YOLO模型 =====================
# 自动下载预训练模型(yolov8n最轻量快速),也可换 yolov8s/m/l/x
model = YOLO("best.pt")
# ===================== 2. 推理配置 =====================
image_path = "326_jpg.rf.8ad64cc0668df32c4e5f59b50e899e9c.jpg"  # 你的图片路径
save_result = True       # 是否保存标注后的图
# ===================== 3. 执行推理 =====================
results = model.predict(
    source=image_path,
    conf=0.01,          # 置信度阈值(低于该值忽略)
    save=False,         # 关闭默认保存,自定义保存
    verbose=False       # 关闭冗余日志
)

# ===================== 4. 解析结果:目标区域 + 标注信息 =====================
print("="*50)
print("YOLO 推理结果(目标区域 + 标注信息)")
print("="*50)

# 获取图片(用于绘制框)
img = cv2.imread(image_path)

# 遍历所有检测目标
for idx, result in enumerate(results):
    boxes = result.boxes  # 所有检测框
    
    for box in boxes:
        # ========== 提取目标区域(坐标) ==========
        # xyxy: 左上角x, 左上角y, 右下角x, 右下角y
        x1, y1, x2, y2 = box.xyxy[0].cpu().numpy()
        # 宽高
        w = x2 - x1
        h = y2 - y1
        
        # ========== 提取标注信息 ==========
        cls_id = int(box.cls[0])          # 类别ID
        cls_name = model.names[cls_id]    # 类别名称
        conf = float(box.conf[0])         # 置信度
        
        # ========== 打印信息 ==========
        print(f"目标 {idx+1}:")
        print(f"  标注类别:{cls_name}")
        print(f"  置信度:{conf:.2f}")
        print(f"  目标区域坐标:")
        print(f"    左上角 ({x1:.1f}, {y1:.1f})")
        print(f"    右下角 ({x2:.1f}, {y2:.1f})")
        print(f"    宽×高:{w:.1f} × {h:.1f}")
        print("-"*30)
        
        # ========== 在图片上绘制检测框 ==========
        cv2.rectangle(img, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)
        cv2.putText(img, f"{cls_name} {conf:.2f}", 
                    (int(x1), int(y1)-10), 
                    cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)

# ===================== 5. 保存/显示结果 =====================
if save_result:
    cv2.imwrite("yolo_result.jpg", img)
    print("✅ 标注图片已保存为:yolo_result.jpg")

# 显示图片(可选)
cv2.imshow("YOLO Result", img)
#cv2.waitKey(0)
#cv2.destroyAllWindows()
相关推荐
前网易架构师-高司机1 小时前
带标注的浮游藻类24种数据集,识别率91.5 %数据集, 23175张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·json·数据集·微观·生物·浮游·藻类
丨白色风车丨2 小时前
CSDN 博客:YOLOv3 超详细原理讲解:网络结构、创新点、优缺点与实战解析
yolo
张人玉3 小时前
基于 Vue 3 + ECharts + Express + SQLite 的可视化大屏与业务管理系统——YOLOv8 高精度车辆行人检测与计数系统
数据库·vue.js·yolo·sqlite·echarts·express
维天说17 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
执明wa17 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
前网易架构师-高司机1 天前
带标注的成熟棉花识别数据集,识别率83.9%数据集,505张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·数据集·成熟·棉花·棉铃·发育·闭合
殷忆枫2 天前
AI笔记三十七:AI边缘端道桥安全监测系统:YOLOv8n推理与Web监控全解析
笔记·yolo
一颗小行星-2 天前
为什么有的JSON可以带注释?
json
探物 AI2 天前
yolo检测核心组件1:SE注意力机制 (Squeeze-and-Excitation)
yolo