基于YOLO系列与SpringBoot的犬种识别系统(含DeepSeek智能分析与Web界面)
系统简介
本系统结合了先进的YOLO目标检测模型与SpringBoot后端框架,构建了一个具备智能分析能力的犬种识别平台。支持YOLOv8、YOLOv10、YOLOv11和YOLOv12多种模型切换,满足不同场景下对检测精度和速度的需求。
系统采用前后端分离架构,前端提供直观易用的Web操作界面,后端使用SpringBoot开发,数据存储基于MySQL数据库。除了常规的图片、视频和摄像头实时检测功能外,系统还接入了DeepSeek大语言模型,可针对识别结果生成详细的犬种信息和饲养建议,提升实用性。
核心功能
- 多模型支持:支持YOLOv8/v10/v11/v12模型切换,适应不同性能要求。
- 多种输入方式:支持静态图像、视频文件及摄像头实时画面检测。
- 智能分析:通过DeepSeek API提供犬种相关信息和建议。
- 用户管理系统:包含注册、登录、权限控制及个人信息维护。
- 检测记录管理:分类管理图像、视频和摄像头检测记录。
- 数据可视化:提供统计图表和检测结果展示。
数据集与模型训练
系统训练集包含六类常见犬种:比格犬、斗牛犬、柯基犬、金毛寻回犬、哈士奇、博美犬。共使用1257张标注图像,按比例划分为训练集(880张)、验证集(251张)和测试集(126张)。
以下是模型训练脚本示例:
# -*- coding: utf-8 -*-
from ultralytics import YOLO
def start_training():
model_file = 'pt/yolo12s.pt'
dataset_config = 'data.yaml'
detector = YOLO(model_file)
training_results = detector.train(
data=dataset_config,
epochs=500,
batch_size=64,
device='0',
workers=0,
output_dir='runs',
experiment_name='exp'
)
return training_results
if __name__ == '__main__':
start_training()
系统架构
- 前端:Vue.js + Element UI,响应式布局,支持多终端适配。
- 后端:SpringBoot框架,RESTful API接口设计。
- 数据库:MySQL,用于存储用户信息、检测记录及相关元数据。
- 模型引擎:YOLO系列目标检测模型,Python环境运行。
- AI分析:调用DeepSeek API获取犬种相关文本描述。
前端界面示例
前端页面主要包括模型选择、文件上传、结果显示和AI建议等模块。以下为图片检测界面的部分Vue模板代码:
<template>
<div class="detection-page">
<!-- 模型配置 -->
<el-select v-model="selectedModel" placeholder="选择模型">
<el-option
v-for="option in modelOptions"
:key="option.value"
:label="option.label"
:value="option.value">
</el-option>
</el-select>
<!-- 文件上传 -->
<el-upload
action="/api/upload"
:on-success="onUploadSuccess">
<el-button type="primary">上传图片</el-button>
</el-upload>
<!-- 检测结果 -->
<div v-if="result">
<p>识别结果: {{ result.label }}</p>
<p>置信度: {{ result.confidence }}</p>
</div>
<!-- AI建议 -->
<div v-if="aiSuggestion" v-html="aiSuggestion"></div>
</div>
</template>
数据库设计
主要数据表包括:
users:用户基本信息img_records:图像检测记录video_records:视频检测记录camera_records:摄像头检测记录
YOLO模型对比
| 版本 | 特点 |
|---|---|
| YOLOv8 | 高性能基础模型,适合通用场景 |
| YOLOv10 | 优化推理效率,去除NMS后处理 |
| YOLOv11 | 参数更少,精度更高,适合边缘部署 |
| YOLOv12 | 引入注意力机制,精度领先但资源消耗较大 |
部署与运行
- 安装Python依赖:
pip install ultralytics - 启动SpringBoot后端服务
- 运行Vue前端项目:
npm run serve - 准备训练数据并执行模型训练脚本
- 配置DeepSeek API密钥以启用智能分析功能