文章目录
- 1. 克隆项目
- 2. 数据库初始化
- 3. 启动Flask推理服务
- 4. 启动Spring Boot后端
- 5. 启动Vue前端
- 6. 访问系统
- 浏览器打开 `http://localhost:8080`
🦁 基于YOLO和LLM的野生动物识别系统
接:农业/无人机巡检/工业巡检/桥梁/建筑物等专业图像识别 定制一、系统概述
基于YOLO深度学习模型与大语言模型(DeepSeek)的野生动物智能识别系统。本系统覆盖80种常见野生动物,支持图片、视频、摄像头实时检测三种方式,并能自动调用DeepSeek生成每种动物的详细介绍与生态知识。系统采用前后端分离架构,集成用户管理与个人中心功能,为野生动物保护、生态研究、自然教育、动物园管理等领域提供智能化识别与知识服务平台。
二、核心亮点
• 80种野生动物全覆盖:涵盖哺乳类、鸟类、爬行类、两栖类、昆虫类等,识别种类丰富
• YOLO+LLM双引擎:YOLO精准定位识别动物种类,DeepSeek大模型生成生动有趣的动物百科介绍
• 多模式检测:支持单张图片、视频文件、实时摄像头三种输入方式
• 全流程记录:图片、视频、摄像头的识别结果自动存入数据库,支持历史查询与回溯
• 用户权限管理:管理员可管理用户,普通用户拥有个人中心与识别记录查看权限
• 高精度模型:基于2万+标注数据集,经过6轮迭代训练,识别准确率高
• 开箱即用:提供完整源码、训练代码、数据集、预训练权重,部署即用
三、检测动物列表(共80种)
熊、棕熊、公牛、蝴蝶、骆驼、金丝雀、毛毛虫、牛、蜈蚣、猎豹、鸡、螃蟹、鳄鱼、鹿、鸭、鹰、大象、鱼、狐狸、青蛙、长颈鹿、山羊、金鱼、鹅、仓鼠、斑海豹、刺猬、河马、马、美洲豹、水母、袋鼠、考拉(树袋熊)、瓢虫、豹、狮子、蜥蜴、猞猁、喜鹊、猴子、蛾类与蝶类、老鼠(泛指家鼠)、骡子、鸵鸟、水獭、猫头鹰、熊猫(大熊猫)、鹦鹉、企鹅、猪、北极熊、兔子、浣熊、渡鸦、小熊猫、犀牛、蝎子、海狮、海龟、海马、鲨鱼、羊(绵羊)、虾、蜗牛、蛇、麻雀、蜘蛛、鱿鱼、松鼠、海星、天鹅、蜱虫、老虎、陆龟、火鸡、龟、鲸鱼、啄木鸟、虫(蠕虫)、斑马
四、系统架构
4.1 技术栈
• 前端:Vue.js
• 后端:Spring Boot
• 图像处理:OpenCV
• 数据库:MySQL
• 目标检测:YOLO(训练代码基于PyTorch)
• 识别API服务:Flask(封装YOLO推理)
• 大语言模型:DeepSeek API(用于生成动物介绍)
4.2 系统架构图
┌─────────────────────────────────────────────────────┐
│ 前端展示层 (Vue) │
├─────────────────────────────────────────────────────┤
│ 业务逻辑层 (Spring Boot) │
├─────────────────────────────────────────────────────┤
│ AI服务层 (Flask + YOLO + DeepSeek) │
├─────────────────────────────────────────────────────┤
│ 数据持久层 (MySQL) │
└─────────────────────────────────────────────────────┘
五、功能模块详解
5.1 多模式检测功能
5.1.1 图片识别
• 上传单张图片:支持JPG、PNG、BMP格式
• 自动检测:YOLO模型识别图片中的动物种类及位置
• 结果展示:在图片上绘制边界框,显示动物名称和置信度
• AI介绍:调用DeepSeek生成该动物的详细介绍(习性、分布、保护 status 等)
• 记录保存:识别结果(图片、动物名、时间)自动存入数据库
5.1.2 视频识别
• 上传视频文件:支持MP4、AVI、MOV等格式
• 逐帧分析:自动提取视频帧进行检测,标记每一帧出现的动物
• 结果整合:生成视频中出现的动物种类列表、出现时间点、数量统计
• 记录保存:完整的视频识别过程与结果存入数据库,支持回放
5.1.3 摄像头实时检测
• 连接摄像头:支持USB摄像头、网络摄像头(RTSP流)
• 实时标注:在视频流上实时绘制检测框和动物名称
• 动态记录:检测到的目标信息同步写入数据库(时间、动物名、截图)
• 低延迟:优化推理流程,确保实时性
5.2 智能知识生成(LLM)
• 自动触发:每次识别到动物后,自动调用DeepSeek API
• 生成内容:动物的中文名称、学名、分类、分布区域、生活习性、保护等级、趣味知识等
• 展示方式:在识别结果页面以卡片或弹窗形式呈现
• 可配置:管理员可选择是否启用LLM生成,或自定义提示词
5.3 识别记录管理
• 图片识别记录:存储用户上传的图片、检测结果、AI介绍、时间戳
• 视频识别记录:存储视频文件信息、检测到的动物列表、关键帧截图
• 摄像头识别记录:存储每次检测的快照、动物名称、时间
• 查询与导出:支持按动物名、时间范围检索,支持导出为CSV/Excel
5.4 用户管理
• 管理员:可增删改查所有用户,查看所有用户的识别记录
• 普通用户:注册登录后可使用识别功能,仅能查看自己的记录
• 个人中心:修改个人信息(昵称、头像、密码)
5.5 系统管理(管理员专属)
• 用户管理:用户列表、角色分配、禁用/启用
• 模型管理:查看当前YOLO模型版本,支持上传新权重
• 系统配置:DeepSeek API密钥配置、检测阈值调整、记录保留策略
六、数据集与模型训练
6.1 数据集规模
• 总图片数:20,000+张高质量野生动物图片
• 标注格式:YOLO格式(.txt),包含类别ID和边界框坐标
• 类别数:80种动物
• 数据来源:公开数据集+人工补充拍摄,覆盖不同角度、光照、背景
6.2 训练过程
• 模型:YOLOv8(可根据需要切换v5/v11等)
• 训练轮数:已完成6轮迭代训练
• 优化策略:
◦ 数据增强:Mosaic、随机翻转、HSV调整
◦ 学习率调度:余弦退火
◦ 早停机制:防止过拟合
• 当前精度:mAP@0.5 约 0.85+(可根据需要继续训练提升)
6.3 交付模型
• 权重文件:训练好的YOLO权重(best.pt)
• 训练代码:完整的训练脚本,支持继续训练或重新训练
• 配置文件:数据集路径、类别映射、超参数配置
七、交付内容
- 完整系统源码:
◦ 前端Vue项目(含所有页面组件)
◦ 后端Spring Boot项目(含Controller、Service、Mapper)
◦ Flask推理服务(YOLO模型加载与推理接口)
◦ 训练代码(数据加载、训练、验证、导出脚本)
数据集:2万+张标注图片,YOLO格式,按类别组织
预训练模型权重:6轮迭代训练后的YOLO权重文件
数据库脚本:MySQL建表语句(用户表、识别记录表等)
部署文档:环境配置、依赖安装、服务启动详细步骤
使用说明:系统功能操作指南、API接口文档
八、快速部署
8.1 环境要求
• 操作系统:Windows 10/11, Ubuntu 20.04+
• Python:3.8+
• Java:JDK 11+
• Node.js:16+
• MySQL:5.7+
• GPU:推荐NVIDIA显卡(训练和推理加速)
8.2 部署步骤
1. 克隆项目
git clone
cd wildlife-recognition
2. 数据库初始化
m`ysql-u root-p<database/init.sql`3. 启动Flask推理服务
cd flask_server pip install-r requirements.txt python app.py--port50004. 启动Spring Boot后端
cd springboot_backend mvn clean package java-jar target/wildlife-1.0.0.jar5. 启动Vue前端
cd vue_frontend npm install npm run dev6. 访问系统
浏览器打开http://localhost:8080
九、应用场景
• 自然保护区监测:自动识别红外相机拍摄的野生动物,辅助种群调查
• 动物园智慧管理:游客扫码上传动物照片,系统识别并展示科普知识
• 生态研学教育:学生通过拍照识别动物,激发探索兴趣
• 野生动物救助:快速识别受伤动物种类,指导救助方案
• 个人自然观察:户外爱好者记录遇到的动物,建立个人观察日志
十、定制化服务
本系统支持定制开发,可扩展至:
• 增加识别动物种类(如昆虫、海洋生物 农业 工业 桥梁无人机巡检等等)
• 接入更多大模型(如Qwen、GPT-4)
• 开发移动端APP或小程序
• 与GIS地图集成,展示动物分布热力图
• 增加动物叫声识别功能
免责声明:本系统为辅助识别工具,识别结果仅供参考。野生动物识别受拍摄条件、角度、遮挡等因素影响,可能存在误差。系统不构成专业生物学鉴定依据。