基于yolo+flask+deepseek打造一个精美的通用目标检测系统带登录界面支持yolov8 yolov10 yolo11 yolov12 yolov13 yolo26系列框架
·
YOLO通用目标检测 Web 系统
一个基于 Flask 和 YOLO的现代化目标检测 Web 应用系统,支持图像、视频和摄像头实时检测,并提供接入deepseek AI 智能分析功能。
设计的登录界面

设计的检测界面

图片预测结果

项目简介
本系统是一个功能完整的目标检测平台,采用最新的 YOLO模型进行实时目标检测,结合现代 Web 技术构建了直观易用的用户界面。系统支持多种检测模式,提供详细的 AI 分析,并具备用户认证功能,确保系统安全性。这是一个通用目标检测系统,只需要安装对应ultralytics模块更换对应框架模型即可,支持yolov8,yolo11,yolov12,yolov13,yolo26以及只要是ultralytics改进型框架。
核心功能
- 用户认证系统:基于 Flask-Login 的登录系统,保障系统安全
- 多模式检测:
- 图像上传检测
- 视频上传检测
- 摄像头实时检测
- 参数配置:可调节置信度阈值、IoU 阈值等检测参数
- AI 智能分析:使用 DeepSeek API 提供详细的检测结果分析和优化建议
- 现代化界面:深色科技主题设计,响应式布局,流畅的用户体验
- 实时推理:视频和摄像头模式下的低延迟实时检测
- 双栏显示:左侧显示原图,右侧显示检测结果,对比清晰直观
技术栈
- 后端:Flask、Python、OpenCV
- 前端:HTML5、CSS3、JavaScript、Canvas API
- AI 模型:YOLO11 (Ultralytics)
- AI 分析:DeepSeek API
- 认证:Flask-Login
- 图像处理:Pillow、NumPy
- 部署:Python 3.8+
快速开始
环境要求
- Python 3.8 或更高版本
- pip 包管理器
- 网络连接(用于下载模型和使用 DeepSeek API)
安装步骤
-
克隆项目
git clone <项目地址> cd <项目目录> -
安装依赖
pip install -r requirements.txt -
配置环境变量
在项目根目录创建
.env文件,添加以下配置:# DeepSeek API 配置 DEEPSEEK_API_KEY=your_deepseek_api_key DEEPSEEK_API_URL=https://api.deepseek.com/v1/chat/completions # Flask 配置 SECRET_KEY=your_secret_key注意:请替换为您自己的 DeepSeek API 密钥和 Flask 密钥
-
启动应用
python app.py应用将在
http://127.0.0.1:5000/上运行
使用说明
登录系统
- 默认登录凭证:
- 用户名:
admin - 密码:
password
- 用户名:
图像检测
- 在主界面选择「图像检测」模式
- 点击「上传图片」按钮选择本地图片
- 系统会自动处理并在右侧显示检测结果
- 查看 AI 分析结果获取详细分析
视频检测
- 在主界面选择「视频检测」模式
- 点击「上传视频」按钮选择本地视频文件
- 系统会自动处理并在右侧显示检测结果
- 视频会自动播放并实时进行目标检测
摄像头检测
- 在主界面选择「摄像头检测」模式
- 点击「开始检测」按钮
- 系统会访问您的摄像头并实时显示检测结果
- 点击「停止检测」按钮结束检测
参数调整
在界面右侧的参数控制面板中,您可以调整:
- 置信度阈值:控制检测结果的可信度(0-1)
- IoU 阈值:控制重叠框的合并策略(0-1)
API 文档
核心 API 端点
1. 登录 API
- URL:
/login - 方法:POST
- 参数:
username、password - 返回:登录状态和重定向
2. 检测 API
- URL:
/detect - 方法:POST
- 参数:
file(图像文件)、confidence、iou - 返回:检测结果、标注图像、AI 分析
3. 实时帧检测 API
- URL:
/detect_frame - 方法:POST
- 参数:
frame(Base64 编码的图像)、confidence、iou - 返回:检测结果、标注帧
4. 分析 API
- URL:
/analyze - 方法:POST
- 参数:
detections(检测结果)、mode(检测模式) - 返回:AI 分析结果
项目结构
.
├── app.py # 主应用文件,包含所有路由和核心逻辑
├── requirements.txt # 依赖包列表
├── templates/
│ ├── index.html # 主界面模板
│ ├── login.html # 登录页面模板
│ └── base.html # 基础模板
├── static/
│ └── css/ # 样式文件
├── models/ # 模型存储目录
└── README.md # 项目文档
核心模块详解
1. 目标检测模块
使用 YOLOv8 模型进行目标检测,支持多种输入类型:
def detect_objects(image, confidence=0.25, iou=0.45):
"""使用 YOLOv8 模型检测目标"""
# 加载模型
model = YOLO('yolov8n.pt')
# 执行检测
results = model(image, conf=confidence, iou=iou)
# 处理结果
return results
2. 实时处理模块
针对视频和摄像头流的实时处理:
@app.route('/detect_frame', methods=['POST'])
def detect_frame():
"""处理实时帧检测"""
# 解码 Base64 帧
# 执行检测
# 生成标注帧
# 返回结果
3. AI 分析模块
使用 DeepSeek API 对检测结果进行智能分析:
def analyze_detections(detections, mode):
"""分析检测结果"""
# 构建分析提示
# 调用 DeepSeek API
# 处理分析结果
return analysis
性能优化
前端优化
- 使用 Canvas 绘制检测结果,减少 DOM 操作
- 优化图像传输,使用适当的压缩比例
- 实现帧跳过机制,平衡检测精度和速度
后端优化
- 模型加载优化,避免重复加载
- 推理参数调优,根据硬件性能调整 batch size
- 异步处理非关键任务,提高响应速度
故障排除
常见问题
-
视频检测不工作
- 检查视频格式是否支持(建议使用 MP4 格式)
- 确认浏览器是否支持视频播放
-
摄像头无法访问
- 检查浏览器权限设置,确保允许访问摄像头
- 确认摄像头设备正常工作
-
检测结果不准确
- 调整置信度和 IoU 阈值
- 对于特定场景,考虑使用更适合的模型
-
系统运行缓慢
- 降低视频分辨率
- 提高置信度阈值,减少检测数量
- 考虑使用更强大的硬件
安全注意事项
- 系统默认使用弱密码,生产环境请修改为强密码
- 建议在生产环境中启用 HTTPS
- 定期更新依赖包,修复安全漏洞
- 限制上传文件大小,防止 DoS 攻击
更多推荐



所有评论(0)