## 📋 系统简介 本系统是一个基于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 - 初始版本发布 - 基础检测功能 - 命令行界面 --- **注意**: 本系统仅供学习和研究使用,检测结果仅供参考,实际应用请结合专业判断。