1. 麻将识别系统概述
麻将作为中国传统文化的瑰宝,拥有超过千年的历史。随着人工智能技术的发展,麻将牌的自动识别技术展现出巨大的应用潜力。我们开发了一套基于YOLO系列算法和SpringBoot的麻将识别检测系统,能够准确识别42种标准麻将牌型,包括万、条、筒的数字牌(1-9)和风牌、箭牌等特殊牌型。
这套系统的核心创新点在于:
- 集成YOLOv8、YOLOv10、YOLOv11和YOLOv12四种先进模型
- 构建包含6731张高质量标注图像的专用麻将数据集
- 采用SpringBoot+Vue.js的前后端分离架构
- 引入DeepSeek大模型提供智能分析功能
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 整体架构
系统采用典型的三层架构:
- 前端:Vue.js框架实现用户界面
- 后端:SpringBoot提供RESTful API
- 算法层:YOLO系列模型实现目标检测
2.2 技术选型考量
选择YOLO系列算法主要基于以下考虑:
- 实时性:YOLO作为单阶段检测器,推理速度快
- 准确性:最新版本在精度上不断提升
- 灵活性:支持多种输入源(图片/视频/摄像头)
SpringBoot的选择则考虑了:
- 快速开发:约定优于配置的理念
- 微服务友好:便于后期扩展
- 生态丰富:与MySQL、Redis等组件集成方便
3. 麻将数据集构建
3.1 数据采集
我们收集了6731张麻将图像,覆盖:
- 不同光照条件(自然光/灯光/混合光)
- 多种拍摄角度(俯视/斜视)
- 复杂背景(绿色桌面/木质桌面)
- 各种摆放状态(整齐/散乱/部分重叠)
3.2 数据标注
使用LabelImg工具进行标注,遵循以下规范:
- 标注边界框需完全包含牌面
- 类别标签采用统一命名规范(如"1wan"、"east")
- 重叠牌面分别标注,保持可见部分
3.3 数据增强策略
为提高模型鲁棒性,采用了:
- 颜色抖动(±20%亮度/对比度)
- 随机旋转(±15度)
- 高斯模糊(σ=0.5-1.5)
- 添加噪声(SNR≥30dB)
4. 模型训练与优化
4.1 YOLO模型配置
我们基于Ultralytics框架进行训练,关键配置如下:
pyt复制
