摘要本项目设计并实现了一个高效、交互性强、具备深度智能分析功能的“石头剪刀布”手势实时检测与识别系统。系统核心采用当前先进的YOLOYou Only Look Once系列目标检测算法集成了YOLOv8、YOLOv10、YOLOv11及YOLOv12四种模型通过对比实验为用户提供了性能与精度可选的检测方案。系统后端基于SpringBoot框架构建采用前后端分离的架构模式确保了系统的可维护性、高并发能力和可扩展性。前端提供友好的Web交互界面用户可便捷地进行图像、视频文件及摄像头实时流的检测。项目采用大规模、高质量的定制手势数据集进行模型训练与验证数据集共包含7335张标注图像其中训练集6455张验证集576张测试集304张涵盖‘Paper’布、‘Rock’石头、‘Scissors’剪刀三个类别确保了模型的鲁棒性与泛化能力。系统深度融合了DeepSeek大语言模型的智能分析能力可对检测结果进行语义化解释和策略性分析超越了单纯的类别识别。所有用户信息、检测记录、分析日志等均持久化存储于MySQL数据库中并配有完善的管理功能包括用户登录注册、个人中心、管理员对用户及识别记录的管理等。系统还实现了丰富的数据可视化功能直观展示模型性能与用户行为数据。本系统不仅是一个技术集成与应用的典型案例展示了从深度学习模型训练到全栈Web应用部署的完整流程也为手势人机交互、游戏裁判自动化、行为分析等场景提供了可落地的解决方案。关键词YOLO目标检测SpringBoot前后端分离手势识别DeepSeek智能分析数据可视化Web应用详细功能展示视频基于深度学习和千问|DeepSeek的石头剪刀布检测系统web界面YOLOv8/YOLOv10/YOLOv11/YOLOv12前后端分离python_哔哩哔哩_bilibili基于深度学习和千问|DeepSeek的石头剪刀布检测系统web界面YOLOv8/YOLOv10/YOLOv11/YOLOv12前后端分离python_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1mpcszqEdU/?vd_source549d0b4e2b8999929a61a037fcce3b0fhttps://www.bilibili.com/video/BV1mpcszqEdU/目录摘要引言1. 研究背景与意义2. 项目核心内容概述3. 项目创新点二、 系统核心特性概述功能模块登录注册模块可视化模块图像检测模块视频检测模块实时检测模块图片识别记录管理视频识别记录管理摄像头识别记录管理用户管理模块数据管理模块MySQL表设计模型训练结果YOLO概述YOLOv8YOLOv10YOLOv11YOLOv12前端代码展示后端代码展示项目源码数据集链接项目安装教程引言1. 研究背景与意义随着计算机视觉和深度学习技术的飞速发展基于视觉的人机交互HCI已成为人工智能领域的重要研究方向。手势识别作为其中一项基础而关键的技术在智能监控、虚拟现实、体感游戏、辅助驾驶等诸多领域展现出巨大的应用潜力。“石头剪刀布”作为一种全球普及的简单决策游戏其自动识别系统是研究实时手势检测与分类的理想切入点对探索更复杂的人体姿态与行为理解具有基础性意义。传统的图像识别方法在处理实时性、复杂背景和光照变化时面临挑战。以YOLO系列为代表的单阶段目标检测算法因其卓越的检测速度与精度平衡已成为工业界和学术界的事实标准。与此同时现代Web应用开发对系统的模块化、可维护性和用户体验提出了更高要求前后端分离架构与微服务理念已成为主流。如何将前沿的深度学习模型无缝集成到稳定、易用的企业级Web应用中并赋予其更深层次的智能分析能力是当前AI工程化落地的一个关键课题。2. 项目核心内容概述本项目旨在构建一个集“算法研究、应用开发、智能分析、数据管理”于一体的综合性“石头剪刀布”手势检测平台。其主要内容包括多模型集成检测引擎系统核心集成了YOLOv8至YOLOv12四代先进检测模型。用户可根据实际场景如对速度或精度的偏好在Web界面自由切换模型系统后台自动加载对应权重进行推理为研究和应用提供了灵活的对比与选择平台。全栈Web应用系统采用SpringBoot作为后端服务框架结合MyBatis-Plus等组件高效处理业务逻辑与数据持久化通过RESTful API与Vue.js构建的前端进行通信实现了前后端的彻底解耦。多维媒体检测支持系统提供全面的输入源支持包括图片上传检测、视频文件逐帧分析以及摄像头实时流媒体检测。所有检测结果均结构化保存至MySQL数据库便于追溯、分析与可视化。DeepSeek深度智能分析创新性地引入DeepSeek大语言模型作为后处理与分析模块。在完成基础手势检测后系统可将识别结果如连续手势序列发送至DeepSeek API获取诸如“玩家出拳趋势分析”、“胜败策略解读”或“趣味性评述”等高级语义信息极大增强了系统的交互智能性与趣味性。完善的数据管理与可视化系统建立了完整的用户体系支持安全的注册登录与个人资料管理。管理员拥有高级权限可管理用户账户和查看所有检测记录。高质量数据集构建与模型训练项目自建了超过7000张图像的“石头剪刀布”手势专用数据集并进行了精细化的数据清洗与标注names: [Paper, Rock, Scissors]按照科学比例划分为训练集、验证集和测试集为模型的高性能提供了数据保障。3. 项目创新点模型可插拔架构实现了多版本YOLO模型的动态加载与切换系统具备良好的扩展性可轻松适配未来更新的YOLO版本或其他检测模型。AI增强分析流程将传统目标检测任务与大语言模型的因果推理与自然语言生成能力结合从“感知”升级到“感知认知”提升了应用层的价值。端到端的工程化实现覆盖了从数据集准备、模型训练与评估、后端服务开发、前端界面设计到最终部署的全流程是一个完整的AI项目工程范例。全面的数据流管理构建了从原始输入到检测结果再到深度分析文本的完整数据流水线并将所有环节信息结构化存储为后续的数据挖掘和系统优化奠定了基础。二、 系统核心特性概述功能模块✅ 用户登录注册支持密码检测保存到MySQL数据库。✅ 支持四种YOLO模型切换YOLOv8、YOLOv10、YOLOv11、YOLOv12。✅ 信息可视化数据可视化。✅ 图片检测支持AI分析功能deepseek✅ 支持图像检测、视频检测和摄像头实时检测检测结果保存到MySQL数据库。✅ 图片识别记录管理、视频识别记录管理和摄像头识别记录管理。✅ 用户管理模块管理员可以对用户进行增删改查。✅ 个人中心可以修改自己的信息密码姓名头像等等。登录注册模块可视化模块图像检测模块YOLO模型集成(v8/v10/v11/v12)DeepSeek多模态分析支持格式JPG/PNG/MP4/RTSP视频检测模块实时检测模块图片识别记录管理视频识别记录管理摄像头识别记录管理用户管理模块数据管理模块MySQL表设计users- 用户信息表imgrecords- 图片检测记录表videorecords- 视频检测记录表camerarecords- 摄像头检测记录表模型训练结果#coding:utf-8 #根据实际情况更换模型 # yolon.yaml (nano)轻量化模型适合嵌入式设备速度快但精度略低。 # yolos.yaml (small)小模型适合实时任务。 # yolom.yaml (medium)中等大小模型兼顾速度和精度。 # yolob.yaml (base)基本版模型适合大部分应用场景。 # yolol.yaml (large)大型模型适合对精度要求高的任务。 from ultralytics import YOLO model_path pt/yolo12s.pt data_path data.yaml if __name__ __main__: model YOLO(model_path) results model.train(datadata_path, epochs500, batch64, device0, workers0, projectruns, nameexp, )YOLO概述YOLOv8YOLOv8 由 Ultralytics 于 2023 年 1 月 10 日发布在准确性和速度方面提供了尖端性能。基于先前 YOLO 版本的进步YOLOv8 引入了新功能和优化使其成为各种应用中目标检测任务的理想选择。YOLOv8 的主要特性高级骨干和颈部架构YOLOv8 采用最先进的骨干和颈部架构从而改进了特征提取和目标检测性能。无锚点分离式 Ultralytics HeadYOLOv8 采用无锚点分离式 Ultralytics head与基于锚点的方法相比这有助于提高准确性并提高检测效率。优化的准确性-速度权衡YOLOv8 专注于在准确性和速度之间保持最佳平衡适用于各种应用领域中的实时对象检测任务。丰富的预训练模型:YOLOv8提供了一系列预训练模型以满足各种任务和性能要求使您更容易为特定用例找到合适的模型。YOLOv10YOLOv10 由 清华大学研究人员基于 Ultralytics Python构建引入了一种新的实时目标检测方法解决了先前 YOLO 版本中存在的后处理和模型架构缺陷。通过消除非极大值抑制 (NMS) 并优化各种模型组件YOLOv10 以显著降低的计算开销实现了最先进的性能。大量实验表明它在多个模型尺度上都具有卓越的精度-延迟权衡。概述实时目标检测旨在以低延迟准确预测图像中的对象类别和位置。YOLO 系列因其在性能和效率之间的平衡而一直处于这项研究的前沿。然而对 NMS 的依赖和架构效率低下阻碍了最佳性能。YOLOv10 通过引入用于无 NMS 训练的一致双重分配和整体效率-准确性驱动的模型设计策略来解决这些问题。架构YOLOv10 的架构建立在之前 YOLO 模型优势的基础上同时引入了几项关键创新。该模型架构由以下组件组成骨干网络负责特征提取YOLOv10 中的骨干网络使用增强版的 CSPNet (Cross Stage Partial Network)以改善梯度流并减少计算冗余。NeckNeck 的设计目的是聚合来自不同尺度的特征并将它们传递到 Head。它包括 PAN路径聚合网络层用于有效的多尺度特征融合。One-to-Many Head在训练期间为每个对象生成多个预测以提供丰富的监督信号并提高学习准确性。一对一头部在推理时为每个对象生成一个最佳预测以消除对NMS的需求从而降低延迟并提高效率。主要功能免NMS训练利用一致的双重分配来消除对NMS的需求从而降低推理延迟。整体模型设计从效率和准确性的角度对各种组件进行全面优化包括轻量级分类 Head、空间通道解耦下采样和秩引导块设计。增强的模型功能: 结合了大内核卷积和部分自注意力模块以提高性能而无需显着的计算成本。YOLOv11YOLO11 是 Ultralytics YOLO 系列实时目标检测器的最新迭代版本它以前沿的精度、速度和效率重新定义了可能性。YOLO11 在之前 YOLO 版本的显著进步基础上在架构和训练方法上进行了重大改进使其成为各种计算机视觉任务的多功能选择。主要功能增强的特征提取:YOLO11 采用改进的 backbone 和 neck 架构从而增强了特征提取能力以实现更精确的目标检测和复杂的任务性能。优化效率和速度YOLO11 引入了改进的架构设计和优化的训练流程从而提供更快的处理速度并在精度和性能之间保持最佳平衡。更高精度更少参数随着模型设计的进步YOLO11m 在 COCO 数据集上实现了更高的 平均精度均值(mAP)同时比 YOLOv8m 少用 22% 的参数在不牺牲精度的情况下提高了计算效率。跨环境的适应性YOLO11 可以无缝部署在各种环境中包括边缘设备、云平台和支持 NVIDIA GPU 的系统从而确保最大的灵活性。广泛支持的任务范围无论是目标检测、实例分割、图像分类、姿势估计还是旋转框检测 (OBB)YOLO11 都旨在满足各种计算机视觉挑战。Ultralytics YOLO11 在其前代产品的基础上进行了多项重大改进。主要改进包括增强的特征提取YOLO11 采用了改进的骨干网络和颈部架构增强了特征提取能力从而实现更精确的目标检测。优化的效率和速度改进的架构设计和优化的训练流程提供了更快的处理速度同时保持了准确性和性能之间的平衡。更高精度更少参数YOLO11m 在 COCO 数据集上实现了更高的平均 精度均值 (mAP)同时比 YOLOv8m 少用 22% 的参数在不牺牲精度的情况下提高了计算效率。跨环境的适应性YOLO11 可以部署在各种环境中包括边缘设备、云平台和支持 NVIDIA GPU 的系统。广泛支持的任务范围YOLO11 支持各种计算机视觉任务例如目标检测、实例分割、图像分类、姿势估计和旋转框检测 (OBB)。YOLOv12YOLO12引入了一种以注意力为中心的架构它不同于之前YOLO模型中使用的传统基于CNN的方法但仍保持了许多应用所需的实时推理速度。该模型通过在注意力机制和整体网络架构方面的新颖方法创新实现了最先进的目标检测精度同时保持了实时性能。尽管有这些优势YOLO12仍然是一个社区驱动的版本由于其沉重的注意力模块可能表现出训练不稳定、内存消耗增加和CPU吞吐量较慢的问题因此Ultralytics仍然建议将YOLO11用于大多数生产工作负载。主要功能区域注意力机制: 一种新的自注意力方法可以有效地处理大型感受野。它将 特征图 分成l个大小相等的区域默认为 4 个水平或垂直避免复杂的运算并保持较大的有效感受野。与标准自注意力相比这大大降低了计算成本。残差高效层聚合网络R-ELAN一种基于 ELAN 的改进的特征聚合模块旨在解决优化挑战尤其是在更大规模的以注意力为中心的模型中。R-ELAN 引入具有缩放的块级残差连接类似于层缩放。一种重新设计的特征聚合方法创建了一个类似瓶颈的结构。优化的注意力机制架构YOLO12 精简了标准注意力机制以提高效率并与 YOLO 框架兼容。这包括使用 FlashAttention 来最大限度地减少内存访问开销。移除位置编码以获得更简洁、更快速的模型。调整 MLP 比率从典型的 4 调整到 1.2 或 2以更好地平衡注意力和前馈层之间的计算。减少堆叠块的深度以改进优化。利用卷积运算在适当的情况下以提高其计算效率。在注意力机制中添加一个7x7可分离卷积“位置感知器”以隐式地编码位置信息。全面的任务支持: YOLO12 支持一系列核心计算机视觉任务目标检测、实例分割、图像分类、姿势估计和旋转框检测 (OBB)。增强的效率: 与许多先前的模型相比以更少的参数实现了更高的准确率从而证明了速度和准确率之间更好的平衡。灵活部署: 专为跨各种平台部署而设计从边缘设备到云基础设施。主要改进增强的 特征提取:区域注意力: 有效处理大型感受野降低计算成本。优化平衡改进了注意力和前馈网络计算之间的平衡。R-ELAN使用 R-ELAN 架构增强特征聚合。优化创新残差连接引入具有缩放的残差连接以稳定训练尤其是在较大的模型中。改进的特征集成在 R-ELAN 中实现了一种改进的特征集成方法。FlashAttention: 整合 FlashAttention 以减少内存访问开销。架构效率:减少参数与之前的许多模型相比在保持或提高准确性的同时实现了更低的参数计数。简化的注意力机制使用简化的注意力实现避免了位置编码。优化的 MLP 比率调整 MLP 比率以更有效地分配计算资源。前端代码展示首页界面一小部分代码template div classhome-container layout-pd el-row :gutter15 classhome-card-two mb15 el-col :xs24 :sm14 :md14 :lg16 :xl16 div classhome-card-item div styleheight: 100% refhomeLineRef/div /div /el-col el-col :xs24 :sm10 :md10 :lg8 :xl8 classhome-media div classhome-card-item div styleheight: 100% refhomePieRef/div /div /el-col /el-row el-row :gutter15 classhome-card-three el-col :xs24 :sm14 :md14 :lg8 :xl8 classhome-media div classhome-card-item div styleheight: 100% refhomeradarRef/div /div /el-col el-col :xs24 :sm10 :md10 :lg16 :xl16 div classhome-card-item div classhome-card-item-title实时检测记录/div div classhome-monitor div classflex-warp el-table :datastate.paginatedData stylewidth: 100% height360 v-loadingstate.loading el-table-column propusername label操作员 aligncenter width120 / el-table-column proplabel label手势类型 aligncenter width120 template #defaultscope el-tag :typegetResultType(scope.row.label) effectlight {{ formatLabel(scope.row.label) }} /el-tag /template /el-table-column el-table-column propconfidence label置信度 aligncenter width120 template #defaultscope {{ formatConfidence(scope.row.confidence) }} /template /el-table-column el-table-column propweight label模型版本 aligncenter width120 / el-table-column propconf label检测阈值 aligncenter width120 / el-table-column propstartTime label检测时间 aligncenter width180 / el-table-column label操作 aligncenter width100 template #defaultscope el-button link typeprimary sizesmall clickhandleViewDetail(scope.row) 详情 /el-button /template /el-table-column /el-table div classpagination-container el-pagination v-model:current-pagestate.currentPage v-model:page-sizestate.pageSize :page-sizes[10, 20, 50, 100] :smalltrue :layoutlayout :totalstate.total size-changehandleSizeChange current-changehandleCurrentChange / /div /div /div /div /el-col /el-row !-- 详情弹窗 -- el-dialog v-modelstate.detailDialogVisible :title手势识别详情 - ${state.selectedRecord?.username || } width80% :close-on-click-modalfalse :close-on-press-escapefalse center div classdetail-container v-loadingstate.detailLoading el-row :gutter20 !-- 检测图片 -- el-col :xs24 :sm12 :md12 :lg12 :xl12 div classdetail-section h3 classdetail-title原始图像/h3 div classimage-container div classimg-wrapper clickpreviewImage(getImageUrl(state.selectedRecord?.inputImg), 原始图像) img :srcgetImageUrl(state.selectedRecord?.inputImg) alt原始图像 classdetection-image v-ifstate.selectedRecord?.inputImg / div classimg-overlay v-ifstate.selectedRecord?.inputImg el-iconView //el-icon /div div v-else classimage-placeholder el-iconPicture //el-icon span暂无原始图像/span /div /div /div /div /el-col !-- 检测信息 -- el-col :xs24 :sm12 :md12 :lg12 :xl12 div classdetail-section h3 classdetail-title检测信息/h3 el-descriptions :column1 border el-descriptions-item label操作员 {{ state.selectedRecord?.username || 未知 }} /el-descriptions-item el-descriptions-item label手势类型 el-tag :typegetResultType(state.selectedRecord?.label || ) effectlight {{ formatLabel(state.selectedRecord?.label || ) }} /el-tag /el-descriptions-item el-descriptions-item label置信度 {{ formatConfidence(state.selectedRecord?.confidence || ) }} /el-descriptions-item el-descriptions-item label模型版本 {{ state.selectedRecord?.weight || 未知 }} /el-descriptions-item el-descriptions-item label检测阈值 {{ state.selectedRecord?.conf || 未知 }} /el-descriptions-item el-descriptions-item label检测时间 {{ state.selectedRecord?.startTime || 未知 }} /el-descriptions-item el-descriptions-item label识别详情 v-ifhasDetectionDetails div classdetection-details div v-for(item, index) in getDetectionDetails() :keyindex classdetail-item span classdetail-label{{ item.label }}:/span span classdetail-value{{ item.confidence }}/span /div /div /el-descriptions-item /el-descriptions /div /el-col /el-row !-- 原图与检测结果对比 -- el-row :gutter20 v-ifstate.selectedRecord?.inputImg || state.selectedRecord?.outImg el-col :xs24 :sm12 :md12 :lg12 :xl12 div classdetail-section h3 classdetail-title原始图像/h3 div classimage-container div classimg-wrapper clickpreviewImage(getImageUrl(state.selectedRecord.inputImg), 原始图像) img :srcgetImageUrl(state.selectedRecord.inputImg) alt原始图像 classdetection-image v-ifstate.selectedRecord?.inputImg / div classimg-overlay v-ifstate.selectedRecord?.inputImg el-iconView //el-icon /div div v-else classimage-placeholder el-iconPicture //el-icon span暂无原始图像/span /div /div /div /div /el-col el-col :xs24 :sm12 :md12 :lg12 :xl12 div classdetail-section h3 classdetail-title识别标注图像/h3 div classimage-container div classimg-wrapper clickpreviewImage(getImageUrl(state.selectedRecord.outImg), 识别标注图像) img :srcgetImageUrl(state.selectedRecord.outImg) alt识别标注图像 classdetection-image v-ifstate.selectedRecord?.outImg / div classimg-overlay v-ifstate.selectedRecord?.outImg el-iconView //el-icon /div div v-else classimage-placeholder el-iconPicture //el-icon span暂无识别标注图像/span /div /div /div /div /el-col /el-row /div template #footer span classdialog-footer el-button clickstate.detailDialogVisible false关闭/el-button el-button typeprimary clickhandleDownloadImage :disabled!state.selectedRecord?.inputImg el-iconDownload //el-icon 下载检测图像 /el-button /span /template /el-dialog !-- 图片预览弹窗 -- el-dialog v-modelstate.previewDialog.visible :titlestate.previewDialog.title width60% align-center classimage-preview-dialog div classpreview-content img :srcstate.previewDialog.imageUrl :altstate.previewDialog.title classpreview-image / /div /el-dialog /div /template后端代码展示详细功能展示视频基于深度学习和千问|DeepSeek的石头剪刀布检测系统web界面YOLOv8/YOLOv10/YOLOv11/YOLOv12前后端分离python_哔哩哔哩_bilibili基于深度学习和千问|DeepSeek的石头剪刀布检测系统web界面YOLOv8/YOLOv10/YOLOv11/YOLOv12前后端分离python_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1mpcszqEdU/?vd_source549d0b4e2b8999929a61a037fcce3b0fhttps://www.bilibili.com/video/BV1mpcszqEdU/