wrz-yolo/README.md
2025-06-27 10:47:10 +08:00

287 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 📋 系统简介
本系统是一个基于YOLO深度学习模型的道路损伤检测系统支持对视频文件进行智能分析自动识别和标注道路损伤区域。系统提供了命令行和Web界面两种使用方式适合不同用户需求。
### 主要功能
- 📹 支持多种视频格式批量处理
- 🌐 友好的Web界面操作
- 📊 详细的检测报告和统计分析
- 🔧 灵活的模型管理和参数配置
- 💾 完整的检测结果保存和导出
## 🚀 快速开始
### 第一步:环境准备
1. **安装Python环境**
- 下载并安装 Python 3.8 或更高版本
- 下载地址https://www.python.org/downloads/
- 安装时勾选 "Add Python to PATH"
2. **安装系统依赖**
```bash
# 方法一:使用安装脚本(推荐)
双击运行 install.bat
# 方法二:手动安装
pip install -r requirements.txt
```
### 第二步:准备文件
1. **准备视频文件**
- 将需要检测的视频文件放入 `input_videos` 文件夹
- 支持格式:`.mp4`, `.avi`, `.mov`, `.mkv`, `.wmv`, `.flv`, `.webm`
- 可以创建子文件夹组织视频文件
2. **准备检测模型**
- 系统已预置 `best.pt``yolov8x.pt` 模型
- 可通过Web界面上传自定义模型.pt格式
### 第三步:开始检测
#### 方式一Web界面推荐
```bash
# 启动Web应用
双击运行 start_web_app.bat
# 或者
python app.py
```
然后在浏览器中访问http://localhost:5000
#### 方式二:命令行批量检测
```bash
# 使用启动脚本
双击运行 start_detection.bat
# 或者
python run_detection.py
```
## 🌐 Web界面使用指南
### 界面布局
- **左侧面板**:检测结果列表,显示历史检测记录
- **右侧面板**:文件处理和配置功能
### 功能详解
#### 1. 模型管理
- **上传新模型**:点击上传区域选择.pt格式的YOLO模型文件
- **查看模型列表**:显示所有可用模型及其信息
- **删除模型**:移除不需要的模型文件
#### 2. 视频文件管理
- **添加视频**:直接将视频文件放入 `input_videos` 文件夹
- **查看文件列表**:显示当前待检测的视频文件
- **删除文件**:移除单个视频文件
- **清空文件夹**:一键清空所有视频文件
#### 3. 检测配置
- **选择模型**:从下拉列表中选择检测模型
- **置信度阈值**调整检测敏感度0.1-0.9
- 低值:检测更多目标,可能包含误检
- 高值:只检测高置信度目标,可能遗漏部分目标
#### 4. 开始检测
- 点击"开始检测"按钮启动检测过程
- 实时显示检测进度和状态
- 显示当前处理的视频和帧数信息
#### 5. 结果查看
- **检测报告**:查看详细的检测统计和分析
- **视频结果**:浏览每个视频的检测结果
- **导出功能**:下载检测报告和结果数据
## 💻 命令行使用指南
### 基本命令
```bash
# 批量检测所有视频
python batch_detector.py
# 交互式检测
python run_detection.py
# 单个视频检测
python detector.py --input video.mp4 --model best.pt
```
### 参数说明
- `--input`: 输入视频文件路径
- `--model`: 检测模型路径
- `--conf`: 置信度阈值默认0.5
- `--output`: 输出目录路径
## 📁 文件结构说明
```
检测系统/
├── app.py # Web应用主程序
├── batch_detector.py # 批量检测器
├── config.py # 配置文件
├── detector.py # 核心检测器
├── run_detection.py # 交互式检测脚本
├── requirements.txt # Python依赖包列表
├── install.bat # 环境安装脚本
├── start_web_app.bat # Web应用启动脚本
├── start_detection.bat # 批量检测启动脚本
├── input_videos/ # 输入视频文件夹
├── models/ # 检测模型文件夹
│ ├── best.pt # 预训练模型
│ ├── best_info.json # 模型信息
│ ├── yolov8x.pt # YOLO模型
│ └── yolov8x_info.json # 模型信息
├── output_frames/ # 检测结果输出文件夹
├── logs/ # 系统日志文件夹
├── static/ # Web界面静态资源
│ └── css/
│ └── style.css # 界面样式文件
└── templates/ # Web界面模板
├── index.html # 主页面
├── layout.html # 布局模板
├── report.html # 报告页面
└── video_results.html # 视频结果页面
```
## 🔧 配置说明
### 系统配置config.py
- `INPUT_FOLDER`: 输入视频文件夹路径
- `OUTPUT_FOLDER`: 输出结果文件夹路径
- `MODELS_FOLDER`: 模型文件夹路径
- `CONFIDENCE_THRESHOLD`: 默认置信度阈值
- `SUPPORTED_FORMATS`: 支持的视频格式
### 检测参数调优
1. **置信度阈值**
- 道路损伤检测推荐0.3-0.6
- 精确检测推荐0.6-0.8
- 宽松检测推荐0.2-0.4
2. **模型选择**
- `best.pt`: 专门训练的道路损伤检测模型
- `yolov8x.pt`: 通用目标检测模型
## 📊 检测结果说明
### 输出文件结构
```
output_frames/
└── [检测时间戳]/
├── report.html # 检测报告
├── summary.json # 检测摘要
└── [视频名称]/
├── original/ # 原始帧
├── annotated/ # 标注帧
└── detections.json # 检测数据
```
### 检测数据格式
```json
{
"frame_number": 123,
"timestamp": "00:02:05",
"detections": [
{
"class": "pothole",
"confidence": 0.85,
"bbox": [x, y, width, height]
}
]
}
```
## 🚨 故障排除
### 常见问题
1. **Web界面无法访问**
- 检查防火墙设置
- 确认端口5000未被占用
- 重启Web应用
2. **检测速度慢**
- 检查是否有GPU可用
- 降低视频分辨率
- 调整检测参数
3. **内存不足**
- 减少批量处理的视频数量
- 降低视频分辨率
- 关闭其他应用程序
4. **模型加载失败**
- 检查模型文件完整性
- 确认模型格式正确(.pt
- 重新下载模型文件
### 日志查看
```bash
# 查看系统日志
type logs\app.log
# 查看检测日志
type logs\detection.log
```
## 🔄 系统更新
### 更新依赖包
```bash
pip install -r requirements.txt --upgrade
```
### 更新模型
1. 下载新的模型文件
2. 放入 `models` 文件夹
3. 通过Web界面上传或直接复制
## 📞 技术支持
### 系统要求
- **操作系统**: Windows 10/11, macOS 10.14+, Ubuntu 18.04+
- **Python版本**: 3.8 或更高
- **内存**: 建议8GB以上
- **存储**: 建议10GB可用空间
- **GPU**: 可选NVIDIA GPU可加速检测
### 性能优化建议
1. **硬件优化**
- 使用SSD存储提高I/O性能
- 配置NVIDIA GPU加速
- 增加系统内存
2. **软件优化**
- 定期清理输出文件夹
- 优化视频文件大小
- 调整检测参数
## 📝 更新日志
### v2.0.0
- 新增Web界面
- 优化检测算法
- 改进用户体验
- 增加批量处理功能
### v1.0.0
- 初始版本发布
- 基础检测功能
- 命令行界面
---
**注意**: 本系统仅供学习和研究使用,检测结果仅供参考,实际应用请结合专业判断。