基于YOLOv8/YOLOv10/YOLOv11/YOLOv12与SpringBoot的白细胞类型检测系统(DeepSeek智能分析+web交互界面+前后端分离+YOLO数据)
摘要
随着人工智能技术,特别是深度学习在医学影像分析领域的飞速发展,自动化、高精度的细胞形态学检测成为临床辅助诊断的重要研究方向。本文设计并实现了一个基于SpringBoot架构与YOLO系列最新模型的白细胞类型检测与智能分析系统。该系统旨在解决传统人工镜检效率低、主观性强的问题,实现外周血涂片中五种主要白细胞(嗜碱性粒细胞、嗜酸性粒细胞、淋巴细胞、单核细胞、中性粒细胞)的快速、精准识别与分类。
本系统采用 “前后端分离” 的现代Web开发模式,后端以SpringBoot为核心,集成MySQL数据库,构建了稳定高效的数据服务与业务逻辑层;前端提供友好的交互界面。核心检测模型融合了YOLOv8、YOLOv10、YOLOv11及YOLOv12四种前沿目标检测算法,用户可根据需求灵活切换,对比性能。系统不仅支持图片、视频及摄像头实时流的在线检测,还将所有识别记录(包括图像、检测结果、时间戳)进行结构化存储与管理。
此外,本系统创新性地整合了DeepSeek大型语言模型的智能分析模块,能够对YOLO模型的检测结果进行二次解读与知识扩充,生成更贴近临床需求的描述性报告,增强了系统的辅助诊断价值。系统还具备完整的用户认证、权限管理(管理员/普通用户)、数据可视化看板以及个人中心等功能模块,确保了系统的实用性与安全性。
实验基于一个包含9900张标注图像(训练集6930张,验证集2970张)的自建白细胞数据集进行。结果表明,该系统能够有效识别五类白细胞,为准临床环境下的血细胞分析提供了一个功能完备、技术栈先进、可扩展性强的软件解决方案。
关键词: 白细胞检测;YOLO系列模型;SpringBoot;DeepSeek智能分析;前后端分离;医学图像处理;Web系统
详细功能展示视频
基于YOLO和千问的白细胞类型检测系统(web界面+YOLOv8/YOLOv10/YOLOv11/YOLOv12+前后端分离+python+DeepSeek)_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1tAcxzgEZi/
目录
第一章 引言
1.1 研究背景与意义
血液细胞分析是临床诊断中最基础、最频繁的检查项目之一。白细胞作为人体免疫系统的核心组成部分,其各类别的计数与形态分析对于感染性疾病、血液病、过敏反应及多种炎症状态的诊断、疗效监测具有不可替代的价值。传统的分析主要依赖于检验人员在显微镜下对血涂片进行人工观察与分类计数,此过程不仅耗时耗力(通常需数十分钟),且其结果易受人员经验、疲劳程度等主观因素影响,存在可重复性差、标准化困难等瓶颈。
近年来,以卷积神经网络(CNN)为代表的深度学习技术,尤其是以YOLO(You Only Look Once)系列为代表的一阶段目标检测算法,在自然图像和医学图像的快速、多目标识别任务中取得了突破性进展。从YOLOv8到最新的YOLOv12,每一代都在模型效率、精度与部署友好性上进行了显著优化,为开发实时、自动化的细胞检测系统提供了坚实的技术基础。
与此同时,大型语言模型(LLMs)在知识整合与自然语言生成方面的强大能力,为医学人工智能系统赋予了新的可能。将精准的视觉检测结果与LLMs的领域知识库和解释能力相结合,能够超越单纯的“识别与计数”,提供更具洞察力的“分析与建议”,从而构建更智能、更人性化的辅助诊断工具。
因此,开发一个集成了最新视觉检测模型与大语言模型分析能力,并具备良好用户交互界面和数据管理功能的综合性白细胞检测系统,对于推动检验医学的自动化、智能化进程,减轻医务人员负担,提升诊断的一致性与效率,具有重要的理论研究意义和实际应用价值。
1.2 国内外研究现状
国内外在基于深度学习的血细胞检测方面已有大量研究。早期工作多采用两阶段检测器(如Faster R-CNN)或复杂的多阶段分割分类流程,虽取得了较高精度,但模型复杂、推理速度慢,难以满足实时需求。YOLO系列因其卓越的“速度-精度”平衡而被广泛应用。许多研究基于YOLOv3、YOLOv5等较早期版本在公开细胞数据集(如BCCD、PBC)上进行了验证。
然而,现有研究大多存在以下局限性:(1) 模型单一:通常只使用一种YOLO变体,缺少对最新版本(v10, v11, v12)的横向对比与应用;(2) 功能局限:多为离线脚本或简单演示,缺乏一个完整的、具备用户管理、数据持久化和多模态(图/视/实时)输入的软件系统;(3) 交互性弱:结果呈现方式单一,缺少与用户的深度交互和结果的智能化解读;(4) 系统封闭:未能结合新兴的大语言模型能力来提升系统的认知水平。
1.3 本文主要工作与贡献
针对上述现状,本研究设计并实现了一个全栈式、智能化的白细胞类型检测系统。本文的主要工作与贡献体现在以下几个方面:
-
多模型集成与可切换架构:系统核心集成了YOLOv8、YOLOv10、YOLOv11、YOLOv12四种先进检测模型,并设计了灵活的模型加载与切换机制。这使得系统不仅能提供高性能的检测服务,方便用户和研究者评估不同YOLO版本在特定细胞数据集上的表现。
-
“深度学习+LLM”的双引擎智能分析:创新性地引入DeepSeek大语言模型作为第二分析引擎。在YOLO完成视觉检测后,系统将结构化结果(细胞类型、数量、位置)送入DeepSeek模型,请求其结合医学知识生成更丰富的分析报告。
-
企业级、高可用的Web系统实现:采用成熟的SpringBoot作为后端框架,结合MySQL数据库,实现了包括用户登录注册、角色权限管理(管理员/普通用户)、完整的CRUD操作(对识别记录、用户信息)、个人中心(头像、信息修改)等全套Web服务功能。前后端分离的架构确保了系统的可维护性和可扩展性。
-
全方位的检测模式与数据管理:系统全面支持图片上传检测、视频文件分析、摄像头实时检测三种输入模式,覆盖了主要的应用场景。所有检测任务的结果(包括原始文件路径、时间、所用模型)均被持久化存储至数据库,并提供了分门别类的记录管理界面(图片记录、视频记录、实时记录),便于历史查询、回溯与分析。
-
直观的数据可视化与交互界面:系统配备了丰富的图表看板,对用户活动、检测任务统计、细胞类型分布等信息进行可视化展示,帮助管理员和用户宏观掌握系统运行状况。整个前端界面设计注重用户体验,操作流程清晰直观。
项目核心内容概述
本项目是一个深度融合了前沿人工智能技术与现代软件工程实践的综合性应用。以下是对其核心模块的进一步阐述:
-
深度学习检测引擎:
-
模型库:集成了YOLO家族四个最新版本,形成了一个“模型超市”。每个模型均在本项目提供的五类白细胞专用数据集(训练集6930张,验证集2970张)上进行了充分的训练与微调,确保了针对性的高识别率。
-
动态切换:用户或管理员可以在Web界面上自由选择当前用于检测的模型,系统后端会动态加载相应的权重文件,无需重启服务,体现了良好的设计灵活性。
-
-
DeepSeek智能分析增强:
-
此功能是本系统的“智慧大脑”。当一张图片被检测后,除了获得标准的检测框和标签外,用户可以点击“AI分析”按钮。系统会将YOLO的检测结果,调用DeepSeek API,请求其从一个“虚拟检验医师”的角度,对这些结果进行简要的临床意义解读或知识科普。
-
-
健壮的业务与数据管理后台:
-
用户体系:完整的注册、登录。用户信息安全存储于MySQL。
-
权限控制:实现基于角色的访问控制。普通用户可管理自己的检测记录和个人信息;管理员拥有高级权限,可管理平台所有用户和所有检测记录。
-
数据全景管理:系统将图片、视频、摄像头每一帧的检测记录都关联到相应用户,并存储详细信息。这构建了一个可追溯的检测数据库,为后续的大数据分析或模型迭代优化提供了可能。
-
-
现代化的系统架构:
-
后端(SpringBoot):提供RESTful API,处理所有业务逻辑,包括模型推理、数据库操作、用户认证、文件处理等。
-
前端(如Vue.js/React):负责渲染用户界面,通过Axios等工具与后端API交互,提供流畅的单页面应用体验。
-
数据库(MySQL):存储结构化数据。
-
AI服务(Python):YOLO模型推理和DeepSeek API调用可能封装在一个独立的Python服务中,实现技术栈的解耦。
-
二、 系统核心特性概述
功能模块
✅ 用户登录注册:支持密码检测,保存到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(data=data_path,
epochs=500,
batch=64,
device='0',
workers=0,
project='runs',
name='exp',
)









YOLO概述

YOLOv8
YOLOv8 由 Ultralytics 于 2023 年 1 月 10 日发布,在准确性和速度方面提供了尖端性能。基于先前 YOLO 版本的进步,YOLOv8 引入了新功能和优化,使其成为各种应用中目标检测任务的理想选择。

YOLOv8 的主要特性
- 高级骨干和颈部架构: YOLOv8 采用最先进的骨干和颈部架构,从而改进了特征提取和目标检测性能。
- 无锚点分离式 Ultralytics Head: YOLOv8 采用无锚点分离式 Ultralytics head,与基于锚点的方法相比,这有助于提高准确性并提高检测效率。
- 优化的准确性-速度权衡: YOLOv8 专注于在准确性和速度之间保持最佳平衡,适用于各种应用领域中的实时对象检测任务。
- 丰富的预训练模型: YOLOv8提供了一系列预训练模型,以满足各种任务和性能要求,使您更容易为特定用例找到合适的模型。
YOLOv10
YOLOv10 由 清华大学研究人员基于 Ultralytics Python构建,引入了一种新的实时目标检测方法,解决了先前 YOLO 版本中存在的后处理和模型架构缺陷。通过消除非极大值抑制 (NMS) 并优化各种模型组件,YOLOv10 以显著降低的计算开销实现了最先进的性能。大量实验表明,它在多个模型尺度上都具有卓越的精度-延迟权衡。

概述
实时目标检测旨在以低延迟准确预测图像中的对象类别和位置。YOLO 系列因其在性能和效率之间的平衡而一直处于这项研究的前沿。然而,对 NMS 的依赖和架构效率低下阻碍了最佳性能。YOLOv10 通过引入用于无 NMS 训练的一致双重分配和整体效率-准确性驱动的模型设计策略来解决这些问题。
架构
YOLOv10 的架构建立在之前 YOLO 模型优势的基础上,同时引入了几项关键创新。该模型架构由以下组件组成:
- 骨干网络:负责特征提取,YOLOv10 中的骨干网络使用增强版的 CSPNet (Cross Stage Partial Network),以改善梯度流并减少计算冗余。
- Neck:Neck 的设计目的是聚合来自不同尺度的特征,并将它们传递到 Head。它包括 PAN(路径聚合网络)层,用于有效的多尺度特征融合。
- One-to-Many Head:在训练期间为每个对象生成多个预测,以提供丰富的监督信号并提高学习准确性。
- 一对一头部:在推理时为每个对象生成一个最佳预测,以消除对NMS的需求,从而降低延迟并提高效率。
主要功能
- 免NMS训练:利用一致的双重分配来消除对NMS的需求,从而降低推理延迟。
- 整体模型设计:从效率和准确性的角度对各种组件进行全面优化,包括轻量级分类 Head、空间通道解耦下采样和秩引导块设计。
- 增强的模型功能: 结合了大内核卷积和部分自注意力模块,以提高性能,而无需显着的计算成本。
YOLOv11
YOLO11 是 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)。
YOLOv12
YOLO12引入了一种以注意力为中心的架构,它不同于之前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 class="navbar-container">
<!-- 医学背景 - 与登录页面保持一致 -->
<div class="medical-background">
<!-- 细胞流动 -->
<div class="cell-flow">
<div class="cell" v-for="n in 10" :key="`cell-${n}`" :style="getCellStyle(n)"></div>
</div>
<!-- 显微网格 -->
<div class="microscope-grid"></div>
<!-- 白细胞动态 -->
<div class="leukocyte-dynamic">
<div class="leukocyte" v-for="n in 8" :key="`leukocyte-${n}`" :style="getLeukocyteStyle(n)"></div>
</div>
<!-- 扫描光 -->
<div class="scan-light"></div>
</div>
<div class="navbar-content">
<!-- 左侧Logo和系统名称 -->
<div class="navbar-left">
<div class="logo-container">
<div class="brand-icon">
<div class="medical-icon">
<div class="cell-structure">
<div class="cell-core"></div>
<div class="cell-nucleus"></div>
<div class="cell-inner"></div>
</div>
<div class="medical-aura"></div>
</div>
<div class="icon-glow"></div>
</div>
<div class="system-name">
<h2 class="system-title">
<span class="yolo-text">YOLO</span>
<span class="cell-text">白细胞检测</span>
</h2>
<p class="system-subtitle">医学影像智能分析系统</p>
</div>
</div>
<!-- 主要功能菜单 -->
<div class="main-menu">
<el-menu
:default-active="activeMenu"
mode="horizontal"
background-color="transparent"
text-color="rgba(255, 255, 255, 0.8)"
active-text-color="#50E3C2"
@select="handleMenuSelect"
class="medical-menu"
>
<el-menu-item index="/home">
<el-icon><HomeFilled /></el-icon>
<span class="menu-text">控制中心</span>
<div class="menu-glow"></div>
<div class="menu-pulse"></div>
</el-menu-item>
<el-menu-item index="/imgPredict">
<el-icon><Picture /></el-icon>
<span class="menu-text">图像分析</span>
<div class="menu-glow"></div>
<div class="menu-pulse"></div>
</el-menu-item>
<el-menu-item index="/videoPredict">
<el-icon><VideoPlay /></el-icon>
<span class="menu-text">视频检测</span>
<div class="menu-glow"></div>
<div class="menu-pulse"></div>
</el-menu-item>
<el-menu-item index="/cameraPredict">
<el-icon><Camera /></el-icon>
<span class="menu-text">实时监控</span>
<div class="menu-glow"></div>
<div class="menu-pulse"></div>
</el-menu-item>
<el-sub-menu index="records">
<template #title>
<el-icon><Document /></el-icon>
<span class="menu-text">数据档案</span>
<div class="menu-glow"></div>
<div class="menu-pulse"></div>
</template>
<el-menu-item index="/imgRecord">
<el-icon><Picture /></el-icon>
<span class="submenu-text">图像记录</span>
<div class="submenu-glow"></div>
</el-menu-item>
<el-menu-item index="/videoRecord">
<el-icon><VideoPlay /></el-icon>
<span class="submenu-text">视频记录</span>
<div class="submenu-glow"></div>
</el-menu-item>
<el-menu-item index="/cameraRecord">
<el-icon><Camera /></el-icon>
<span class="submenu-text">监控记录</span>
<div class="submenu-glow"></div>
</el-menu-item>
</el-sub-menu>
<el-menu-item v-if="userInfo.role === 'admin'" index="/usermanage">
<el-icon><User /></el-icon>
<span class="menu-text">权限管理</span>
<div class="menu-glow"></div>
<div class="menu-pulse"></div>
</el-menu-item>
</el-menu>
</div>
</div>
<!-- 右侧用户信息和功能 -->
<div class="navbar-right">
<!-- 系统状态指示器 -->
<div class="system-status">
<div class="status-indicator">
<div class="status-dot active"></div>
<span class="status-text">检测系统就绪</span>
</div>
<div class="status-info">
<span>v4.2.0 • YOLO神经网络模式</span>
</div>
</div>
<!-- 用户信息下拉菜单 -->
<el-dropdown @command="handleCommand" class="medical-dropdown">
<div class="user-info">
<div class="user-avatar" v-if="userInfo.avatar">
<img :src="userInfo.avatar" alt="用户头像" />
<div class="avatar-scan"></div>
<div class="avatar-glow"></div>
</div>
<div class="avatar-placeholder" v-else>
<div class="user-icon-small"></div>
<div class="avatar-scan"></div>
<div class="avatar-glow"></div>
</div>
<div class="user-details">
<span class="user-name">{{ userInfo.name || userInfo.username }}</span>
<span class="user-role">{{ getRoleText(userInfo.role) }}</span>
</div>
<el-icon class="dropdown-arrow"><ArrowDown /></el-icon>
<div class="user-glow"></div>
</div>
<template #dropdown>
<el-dropdown-menu class="medical-dropdown-menu">
<el-dropdown-item command="personal">
<div class="dropdown-item-content">
<div class="item-icon">
<el-icon><User /></el-icon>
</div>
<span class="item-text">个人中心</span>
<div class="item-trail"></div>
</div>
</el-dropdown-item>
<el-dropdown-item divided command="logout">
<div class="dropdown-item-content">
<div class="item-icon">
<el-icon><SwitchButton /></el-icon>
</div>
<span class="item-text">退出系统</span>
<div class="item-trail"></div>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</div>
</div>
</div>
</template>
后端代码展示

详细功能展示视频
基于YOLO和千问的白细胞类型检测系统(web界面+YOLOv8/YOLOv10/YOLOv11/YOLOv12+前后端分离+python+DeepSeek)_哔哩哔哩_bilibili
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)