# deep-vision **Repository Path**: aizuda/deep-vision ## Basic Information - **Project Name**: deep-vision - **Description**: 🔥🔥🔥 从数据标注、模型训练到实时推理监控的全流程AI视觉系统 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 3 - **Created**: 2025-09-12 - **Last Updated**: 2025-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # YOLO Detection System 一个完整的YOLO目标检测系统,包含模型训练、推理、数据集管理和Web界面。 ## 📸 系统预览
### 🎯 功能展示
系统主界面

🏠 系统主界面

功能导航与系统概览

数据标注界面

📝 数据标注

可视化图像标注工具

模型训练界面

🚀 数据集管理

管理属于自己的专属数据集

推理检测界面

🎯 模型训练

训练属于自己的模型

实时监控界面

🎯 智能推理

批量检测与结果分析

九宫格监控界面

📊实时监控分析

--- ### ✨ 核心特性一览

🔥 完整的YOLO目标检测解决方案

从数据标注、模型训练到实时推理监控的全流程AI视觉系统

## 🚀 功能特性 ### 后端功能 - ✅ **模型训练**: 支持YOLOv8模型训练 - ✅ **模型推理**: 单张图片和批量推理 - ✅ **实时监控**: WebSocket实时推理监控 - ✅ **数据集管理**: 上传、管理、删除数据集 - ✅ **任务监控**: 实时训练进度监控 - ✅ **模型导出**: 支持ONNX等格式导出 - ✅ **建议参数**: 多种预设训练参数配置 ### 前端功能 - ✅ **数据标注**: 可视化图像标注工具 - ✅ **数据集管理**: 上传、查看、删除数据集 - ✅ **模型训练**: 可视化训练配置和监控 - ✅ **模型推理**: 图像上传和检测结果展示 - ✅ **实时监控**: 摄像头实时推理监控 - ✅ **参数优化**: 建议参数选择功能 ## 📁 项目结构 ``` yolo_detection_system/ ├── backend/ # 后端API服务 │ ├── yolo_api.py # 主API服务 │ ├── yolo_trainer.py # YOLO训练器 │ ├── start_api.py # API启动脚本 │ ├── requirements.txt # Python依赖 │ ├── Dockerfile # 后端Docker配置 │ └── .dockerignore # Docker忽略文件 ├── frontend/ # 前端Vue.js应用 │ ├── src/ # 源代码 │ ├── package.json # 前端依赖 │ ├── vite.config.js # 构建配置 │ ├── Dockerfile # 前端Docker配置 │ ├── nginx.conf # Nginx配置 │ └── .dockerignore # Docker忽略文件 ├── scripts/ # 启动脚本 │ ├── start_all.sh # 一键启动脚本 │ ├── start_backend.sh # 后端启动脚本 │ ├── start_frontend.sh # 前端启动脚本 │ ├── docker_start.sh # Docker一键部署 │ └── docker_stop.sh # Docker停止服务 ├── data/ # 数据持久化目录(Docker创建) │ ├── datasets/ # 数据集存储 │ ├── runs/ # 训练结果 │ ├── exports/ # 模型导出 │ └── static/ # 静态文件 ├── docker-compose.yml # Docker Compose配置 ├── .dockerignore # Docker忽略文件 ├── DOCKER.md # Docker部署指南 ├── DEPLOYMENT.md # 本地部署指南 └── README.md # 项目说明 ``` ## 🛠️ 安装和运行 ### 环境要求 - Python 3.8+ - Node.js 16+ - npm 或 yarn ### 后端安装 ```bash cd backend pip install -r requirements.txt ``` ### 前端安装 ```bash cd frontend npm install ``` ### 启动服务 #### 方式一:Docker部署(推荐) ```bash # 一键Docker部署 ./scripts/docker_start.sh # 停止Docker服务 ./scripts/docker_stop.sh ``` #### 方式二:本地开发 ```bash # 一键启动 ./scripts/start_all.sh # 或分别启动 cd backend && python start_api.py cd frontend && npm run dev ``` #### 方式三:手动启动 ```bash # 启动后端API cd backend python start_api.py # 启动前端(新终端) cd frontend npm run dev ``` ### 访问地址 - **前端界面**: http://localhost:3000 - **后端API**: http://localhost:8000 - **API文档**: http://localhost:8000/docs ## 🎯 使用指南 ### 1. 数据标注 1. 访问"数据标注"页面 2. 上传图片并进行标注 3. 导出YOLO格式数据集 ### 2. 模型训练 1. 访问"模型训练"页面 2. 选择数据集 3. 选择建议参数配置: - **二维码优化**: 适合二维码/条码识别 - **小数据集**: 适合少量训练数据 - **通用检测**: 标准目标检测 - **微调模式**: 在预训练模型基础上微调 4. 开始训练并监控进度 ### 3. 模型推理 访问"模型推理"页面,支持批量推理和实时监控两种模式: #### 批量推理模式 1. 选择训练好的模型 2. 调整置信度和IoU阈值 3. 上传单张或批量图片 4. 查看检测结果和统计信息 #### 实时监控模式 🆕 1. 切换到"实时监控"模式 2. 选择视频源: - **摄像头**: 本地摄像头实时监控 - **监控探头**: RTSP/HTTP网络摄像头 - **视频文件**: 上传的本地视频文件 3. 点击"开始监控"启动实时检测 4. 实时查看检测结果和性能统计 5. 通过配置面板调整检测参数 6. 监控FPS、推理时间等性能指标 #### 九宫格监控模式 🔥 1. 切换到"九宫格监控"模式 2. 点击"配置九宫格"设置网格: - **网格大小**: 2×2、3×3、2×3可选 - **共享参数**: 统一的模型和检测参数 - **视频源配置**: 为每个格子选择不同的视频源 3. 点击"启动监控"开始多路并发推理 4. 同时查看多个视频源的检测结果 5. 监控全局和单格的性能统计 6. 支持响应式布局,适配不同屏幕尺寸 详细使用说明请参考: - [实时推理监控功能文档](REALTIME_INFERENCE.md) - [九宫格监控功能文档](GRID_INFERENCE.md) #### 功能测试 可以使用测试脚本验证实时推理功能: ```bash python test_realtime.py ``` #### 故障排除 如果遇到实时推理问题,请参考:[实时推理修复说明](REALTIME_FIX.md) ### 4. 数据集管理 1. 访问"数据集管理"页面 2. 上传、查看、删除数据集 3. 支持批量操作 ## 🎯 建议参数配置 ### 二维码优化 (推荐用于二维码识别) - **学习率**: 0.0005 - **批次大小**: 2 - **训练轮数**: 50 - **适用场景**: 二维码、条码、小目标检测 ### 小数据集 - **学习率**: 0.001 - **批次大小**: 4 - **训练轮数**: 80 - **适用场景**: 少于50张图片的训练 ### 通用检测 - **学习率**: 0.01 - **批次大小**: 16 - **训练轮数**: 100 - **适用场景**: 标准目标检测任务 ### 微调模式 - **学习率**: 0.0001 - **批次大小**: 8 - **训练轮数**: 30 - **适用场景**: 在预训练模型基础上微调 ## 🔧 开发说明 ### 技术栈 - **后端**: FastAPI + Ultralytics YOLO + Python - **前端**: Vue.js 3 + Element Plus + Vite - **数据处理**: OpenCV + PIL + NumPy - **模型**: YOLOv8 系列模型 ### API接口 - `POST /train` - 开始训练 - `GET /tasks` - 获取任务列表 - `POST /predict` - 单张图片推理 - `POST /predict/batch` - 批量推理 - `GET /models` - 获取模型列表 - `GET /datasets` - 获取数据集列表 - `POST /upload/dataset` - 上传数据集 - `DELETE /datasets/{id}` - 删除数据集 ## 📊 性能优化 ### 二维码识别优化 基于实际测试验证,二维码识别的最佳配置: - **训练参数**: lr=0.0005, batch=2, epochs=50 - **推理参数**: conf=0.015, iou=0.1 - **预期效果**: mAP50>0.95, 正确识别单个二维码 ## 🎉 版本信息 - **版本**: 1.0.0 - **创建日期**: 2025-09-11 - **最后更新**: 2025-09-11 ## 📞 支持 如有问题或建议,请提交issues。