企业级AI检测应用 · 前后端分离架构 · 多用户管理 · YOLO目标检测
第一次使用本项目? 请按顺序阅读:
-
📘 环境配置指南 ⭐ 首先阅读
- 环境要求和安装
- Conda / venv 两种配置方式
- 数据库配置和迁移
- 一键启动脚本
- 常见问题解决
-
📘 项目使用说明 - 详细的功能使用指南
- 系统功能介绍
- 首次使用指南(从注册到检测)
- 各模块使用说明
- 常见操作流程
使用一键启动脚本(推荐):
# 1. 激活环境
conda activate RSD # 或 source backend/venv/bin/activate
# 2. 一键启动所有服务
./start.sh或手动启动各服务:
# 终端1: 后端API
cd backend && source venv/bin/activate
uvicorn app.main:app --reload --port 8000
# 终端2: Celery Worker
cd backend && celery -A app.celery_app worker --loglevel=info
# 终端3: 前端
cd frontend && npm run dev访问地址:
- 前端应用: http://localhost:5173
- API文档: http://localhost:8000/docs
智能目标检测系统是一个功能完善的企业级AI检测应用,提供图片和视频的目标检测服务。系统采用前后端分离架构,支持多用户、角色权限管理、模型管理和检测历史追踪。
✅ 用户认证系统 - JWT Token、角色权限、密码加密 ✅ 管理后台 - 用户管理、模型管理、数据可视化 ✅ AI检测核心 - YOLO模型集成、图片/视频检测、Celery异步任务 ✅ 用户检测界面 - 在线检测、实时进度、历史管理(Stage 1-3完成)
最新版本: v0.5 当前阶段: Phase 4 已完成 ✅ 更新日期: 2025-11-12
✅ Phase 1: 用户认证系统 (已完成 - 2025-11-12)
✅ Phase 2: 管理后台功能 (已完成 - 2025-11-12)
✅ Phase 3: AI检测核心 (已完成 - 2025-11-12)
✅ Phase 4: 用户检测界面 (已完成 - 2025-11-12)
├─ Stage 1: API集成 ✅
├─ Stage 2: 图片检测 ✅
├─ Stage 3: 视频+历史 ✅
├─ Stage 4: UI/UX优化 ✅
└─ Stage 5: 代码质量 ✅
📅 Phase 5: 系统优化与部署 (准备启动)
详细状态:项目当前状态
后端功能:
- ✅ JWT Token 认证机制
- ✅ 用户注册、登录、密码修改
- ✅ 基于角色的访问控制 (user/admin)
- ✅ SQLAlchemy 2.0 异步ORM
- ✅ Alembic 数据库迁移
前端功能:
- ✅ 登录 / 注册页面
- ✅ 用户首页和个人中心
- ✅ 路由守卫和权限验证
- ✅ Pinia 状态管理
后端功能:
- ✅ 用户管理完整 CRUD
- ✅ 用户搜索、筛选、批量操作
- ✅ 模型文件上传 (.pt/.pth)
- ✅ 模型状态管理(激活/停用)
- ✅ 异步文件处理
- ✅ 静态文件服务
前端功能:
- ✅ 管理后台布局(侧边栏导航)
- ✅ Dashboard 仪表盘(统计卡片 + ECharts图表)
- ✅ 用户管理界面(表格、搜索、编辑)
- ✅ 模型管理界面(拖拽上传、状态切换)
API端点: 13个管理接口(用户管理7个 + 模型管理6个)
后端功能:
- ✅ YOLO模型加载服务(单例模式)
- ✅ 图片检测API(同步处理)
- ✅ 视频检测API(Celery异步任务)
- ✅ 检测历史记录管理
- ✅ GPU加速支持(CUDA)
- ✅ Redis消息队列
- ✅ 结果可视化(边界框标注)
API端点: 8个检测接口(图片/视频检测、历史管理、下载)
前端功能:
-
✅ 检测页面(/detection)
- 拖拽式文件上传(支持图片和视频)
- 模型选择和参数配置(含Tooltip说明)
- 图片检测(同步)+ 视频检测(异步)
- 实时进度跟踪和状态反馈
- 结果展示(预览、统计、对象列表)
- 结果下载功能
-
✅ 历史页面(/detection-history)
- 分页列表展示
- 筛选(类型、状态)和批量操作
- 详情查看和下载
-
✅ UI/UX优化
- 响应式设计(移动端/平板/桌面)
- 加载动画和进度条优化
- 图片/视频懒加载
- 工具函数库(helpers.js)
-
✅ 代码质量
- ESLint配置完成
- 代码规范检查通过
- .gitignore配置
新增文件: 7个核心文件(~1,720行代码)
详细报告:
- 框架: FastAPI 0.104+
- 数据库: SQLite (开发) / PostgreSQL (生产)
- ORM: SQLAlchemy 2.0 (异步)
- 认证: JWT + Bcrypt
- 迁移: Alembic
- 验证: Pydantic v2
- 文件: aiofiles
- 框架: Vue 3.3+ (Composition API)
- 构建: Vite 5.0+
- UI库: Element Plus 2.4+
- 状态: Pinia 2.1+
- 路由: Vue Router 4.2+
- HTTP: Axios 1.6+
- 图表: ECharts + vue-echarts
- 模型: YOLO (Ultralytics)
- 深度学习: PyTorch 2.1.1+
- 任务队列: Celery 5.3.4 + Redis
- 图像处理: OpenCV 4.8.1
- 文件处理: aiofiles
查看完整技术栈:技术栈说明
💡 提示: 详细的安装和使用说明请查看 📘 使用说明文档
- Python 3.11+
- Node.js 18+
- Redis 5.0+ (用于Celery任务队列)
- SQLite (开发) / PostgreSQL (生产)
git clone <repository-url>
cd projectcd backend
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt
# 数据库迁移
alembic upgrade head
# 启动服务
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000后端访问地址:
- API 文档: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
- 健康检查: http://localhost:8000/health
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev前端访问地址:
- 应用首页: http://localhost:5173
- 登录页面: http://localhost:5173/login
- 检测页面: http://localhost:5173/detection
- 历史页面: http://localhost:5173/detection-history
- 管理后台: http://localhost:5173/admin/dashboard
# 终端3: 启动Redis
redis-server
# 终端4: 启动Celery Worker
cd backend
source venv/bin/activate
celery -A app.celery_app worker --loglevel=info创建管理员账号:
- 访问 http://localhost:5173/register
- 注册第一个用户(自动成为管理员)
上传YOLO模型:
- 以管理员身份登录
- 进入管理后台 → 模型管理
- 上传YOLO模型文件(.pt或.pth格式)
- 激活模型以供检测使用
详细步骤: 请参考 使用说明 - 首次使用指南
project/
├── backend/ # 后端项目
│ ├── app/
│ │ ├── api/v1/ # API 路由
│ │ ├── core/ # 核心模块(配置、数据库、安全)
│ │ ├── crud/ # 数据库操作
│ │ ├── models/ # 数据库模型
│ │ ├── schemas/ # Pydantic 模式
│ │ ├── utils/ # 工具函数
│ │ └── main.py # 应用入口
│ ├── alembic/ # 数据库迁移
│ ├── uploads/ # 文件上传目录
│ └── requirements.txt
│
├── frontend/ # 前端项目
│ ├── src/
│ │ ├── api/ # API 接口
│ │ ├── layouts/ # 布局组件
│ │ ├── views/ # 页面组件
│ │ ├── stores/ # Pinia 状态
│ │ ├── router/ # 路由配置
│ │ └── utils/ # 工具函数
│ └── package.json
│
├── docs/ # 项目文档
│ ├── 使用说明.md # 项目使用指南 ⭐ 新用户必读
│ ├── 规划文档/ # 原始需求和设计
│ ├── 已完成阶段/ # Phase 完成报告
│ ├── 当前状态/ # 项目现状和下一步
│ └── 技术参考/ # 技术栈和架构
│
├── .gitignore
├── README.md # 本文件
└── CLAUDE.md # 开发指南
完整结构说明:项目结构文档
-
📘 环境配置指南 ⭐ 首先阅读
- 完整的环境配置说明
- Conda / venv 两种方式
- 一键启动脚本
- 常见问题解决
-
📘 项目使用说明 ⭐ 推荐阅读
- 系统功能介绍
- 首次使用指南
- 功能使用说明
- 常见操作流程
- Phase 1: 认证系统
- Phase 2: 管理后台
- Phase 3: AI检测核心
- Phase 4: 用户检测界面 ⭐ 最新
- Phase 5: Stage 2 完成
- PostgreSQL 迁移完成报告
- 项目当前状态 ⭐ 实时更新
- 下一步开发计划 ⭐
- Phase 5 实施计划 - 活跃开发计划
旧版本和历史文档已归档至 docs/归档/ 目录
目标: 生产环境部署和系统优化
主要任务:
- 📦 Docker容器化部署
- 🌐 Nginx反向代理配置
- 🗄️ PostgreSQL数据库迁移
- 🚀 性能优化和压力测试
- 📊 监控和日志系统
- 🔒 安全加固和审计
预计时间: 1-2周
详细计划:下一步计划
cd backend
source venv/bin/activate
pytestcd frontend
npm run test- Git 提交: 9次
- 总代码量: ~22,200行
- 后端: ~6,800行
- 前端:
10,400行 (新增1,700行) - 文档:
5,000行 (新增1,500行)
- API 端点: 26个 (认证5个 + 用户管理7个 + 模型管理6个 + 检测8个)
- 数据库表: 3个 (users, ml_models, detection_history)
- 文件数: ~94个
Phase 4已完成所有基础功能和UI/UX优化,以下是Phase 5的规划:
- 系统部署: Docker容器化、Nginx配置、PostgreSQL迁移
- 性能优化: 大文件分片上传、虚拟滚动、API缓存
- 高级功能: 批量检测、结果对比、导出报告
- 测试覆盖: 单元测试、集成测试、E2E测试
- 监控运维: 日志系统、性能监控、告警机制
详细信息:项目状态 - 待优化项
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
请遵循 CLAUDE.md 中的开发规范。
本项目采用 MIT 许可证 - 详见 LICENSE 文件
如有问题或建议,请:
- 提交 Issue
- 创建 Pull Request
- 查阅 项目文档
项目开发: Claude Code + 用户协作 最后更新: 2025-11-12