From 7a670ddc1aac746dca57d7b87b70716345334a1c Mon Sep 17 00:00:00 2001 From: Wang_Run_Ze Date: Fri, 27 Jun 2025 17:22:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 400 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 400 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..76fe630 --- /dev/null +++ b/README.md @@ -0,0 +1,400 @@ +# 道路损伤检测系统 - 完整使用指南 + +## 📋 系统简介 + +本系统是一个基于YOLO深度学习模型的道路损伤检测系统,支持对视频文件进行智能分析,自动识别和标注道路损伤区域。系统提供了Web界面操作方式,适合不同技术水平的用户使用。 + +### 🎯 核心特色功能 + +#### 🔍 智能检测技术 +- **动态模型识别**: 自动识别模型类型并优化检测参数 +- **自适应置信度**: 根据检测场景自动调整置信度阈值 +- **多尺度检测**: 支持不同尺寸目标的精确检测 +- **检测质量过滤**: 自动过滤低质量检测结果 + +#### 📊 智能标注显示 +- **纯中文标注**: 标注框只显示中文类别名称,更符合中文用户习惯 +- **智能类别映射**: 自动将英文类别名称映射为中文,支持部分匹配和组合词 +- **动态颜色分配**: 根据类别自动分配识别颜色 +- **置信度可视化**: 标注框粗细反映检测置信度 + +#### 🗂️ 智能文件管理 +- **智能文件夹生成**: 只为检测到目标的类别创建文件夹,避免生成空文件夹 +- **按类别分组**: 检测结果按损伤类型自动分类存储 +- **完整检测记录**: 详细的检测日志和统计信息 + +### 📹 主要功能 +- 📹 支持多种视频格式批量处理 +- 🌐 友好的Web界面操作 +- 📊 详细的检测报告和统计分析 +- 🔧 灵活的模型管理和参数配置 +- 💾 完整的检测结果保存和导出 + +## 🚀 快速开始 + +### 第一步:环境准备 + +#### 系统要求 +- **操作系统**: Windows 10/11 +- **Python版本**: 3.8 或更高版本 +- **内存**: 建议8GB以上 +- **存储**: 建议10GB可用空间 +- **GPU**: 可选,NVIDIA GPU可加速检测 + +#### 安装步骤 + +1. **安装Python环境** + - 下载并安装 Python 3.8 或更高版本 + - 下载地址:https://www.python.org/downloads/ + - 安装时勾选 "Add Python to PATH" + +2. **安装系统依赖** + ```bash + # 方法一:使用安装脚本(推荐) + 双击运行 install.bat + + # 方法二:手动安装 + pip install -r requirements.txt + ``` + +### 第二步:准备文件 + +#### 文件结构说明 +``` +检测系统/ +├── app.py # Web应用主程序 +├── batch_detector.py # 批量检测器 +├── config.py # 配置文件 +├── detector.py # 核心检测器 +├── requirements.txt # Python依赖包列表 +├── install.bat # 环境安装脚本 +├── start_web_app.bat # Web应用启动脚本 +├── input_videos/ # 输入视频文件夹 +│ ├── video1.mp4 # 您的视频文件 +│ └── video2.avi # 支持多种格式 +├── models/ # 检测模型文件夹 +│ ├── best.pt # 预训练模型 +│ └── best_info.json # 模型信息 +├── output_frames/ # 检测结果输出文件夹 +├── logs/ # 系统日志文件夹 +├── static/ # Web界面静态资源 +│ └── css/ +│ └── style.css # 界面样式文件 +└── templates/ # Web界面模板 + ├── index.html # 主页面 + ├── layout.html # 布局模板 + ├── report.html # 报告页面 + └── video_results.html # 视频结果页面 +``` + +#### 准备检测文件 + +1. **准备视频文件** + - 将需要检测的视频文件放入 `input_videos` 文件夹 + - 支持格式:`.mp4`, `.avi`, `.mov`, `.mkv`, `.wmv`, `.flv`, `.webm` + - 可以创建子文件夹组织视频文件 + +2. **准备检测模型** + - 系统已预置 `best.pt` 模型 + - 可通过Web界面上传自定义模型(.pt格式) + +### 第三步:启动系统 + +#### Web界面启动(推荐) +```bash +# 启动Web应用 +双击运行 start_web_app.bat +# 或者 +python app.py +``` +然后在浏览器中访问:http://localhost:5000 + +## 🌐 Web界面使用指南 + +### 界面布局 +- **左侧面板**:检测历史记录和结果列表 +- **右侧面板**:文件管理和检测配置 +- **顶部导航**:功能切换和系统状态 + +### 核心功能操作 + +#### 1. 视频文件管理 + +**添加视频文件:** +- 方法一:直接将视频文件拖拽到 `input_videos` 文件夹 +- 方法二:通过Web界面的文件管理功能上传 + +**文件管理功能:** +- **查看文件列表**:显示当前待检测的视频文件 +- **删除文件**:移除单个视频文件 +- **清空文件夹**:一键清空所有视频文件 + +#### 2. 模型管理 +- **上传新模型**:点击上传区域选择.pt格式的YOLO模型文件 +- **查看模型列表**:显示所有可用模型及其信息 +- **删除模型**:移除不需要的模型文件 +- **模型自动识别**:系统会自动分析模型类型并优化参数 + +#### 3. 检测配置 + +**选择检测模型:** +- `best.pt`:专门训练的道路损伤检测模型(推荐) +- 其他自定义模型:可通过界面上传 + +**调整置信度阈值:** +- **0.3-0.4**:宽松检测,检测更多目标(可能有误检) +- **0.5-0.6**:平衡检测(推荐) +- **0.7-0.8**:严格检测,只检测高置信度目标 + +**系统会根据模型类型自动优化:** +- **道路损伤检测**: 0.25-0.4 (系统会自动优化) +- **通用目标检测**: 0.4-0.6 +- **高精度检测**: 0.6-0.8 + +#### 4. 开始检测 + +**检测流程:** +1. 确认视频文件已添加 +2. 选择合适的检测模型 +3. 设置置信度阈值 +4. 点击「开始检测」按钮 +5. 等待检测完成 + +**检测过程:** +- 实时显示检测进度和状态 +- 显示当前处理的视频和帧数信息 +- 自适应检测算法自动优化检测效果 + +#### 5. 查看结果 + +**检测报告:** +- 点击左侧检测记录查看详细报告 +- 包含检测统计、时间分析、类别分布等 +- 详细的检测日志和自适应检测统计 + +**视频结果:** +- 查看原始视频帧和标注结果 +- 按类别浏览检测到的损伤 +- 导出检测数据和报告 + +## 📊 检测结果说明 + +### 支持的损伤类型 + +系统可以检测以下18种道路损伤和交通事故类型: + +**道路损伤:** +- 坑洞 +- 横向裂缝 +- 纵向裂缝 +- 网状裂缝 +- 白线模糊 + +**交通事故:** +- 追尾碰撞 +- 正面碰撞 +- 侧面碰撞 +- 翻车事故 +- 多车连环相撞 + +**交通违规:** +- 违规变道 +- 闯红灯 +- 超速行驶 + +**其他:** +- 交通拥堵 +- 公交车 +- 行人 +- 自行车 +- 摩托车 + +### 输出文件结构 + +``` +output_frames/ +└── [检测时间戳]/ + ├── report.html # 检测报告 + ├── summary.json # 检测摘要 + └── [视频名称]/ + ├── [类别名称]/ # 按类别分组的检测结果 + │ ├── original/ # 原始帧 + │ └── annotated/ # 标注帧 + ├── detection_log.json # 详细检测日志 + ├── statistics.json # 统计信息 + └── [视频名称]_detections.json # 详细检测数据 +``` + +### 检测数据格式 + +```json +{ + "frame_number": 123, + "timestamp": "00:02:05", + "detections": [ + { + "class": "坑洞", + "confidence": 0.85, + "bbox": [x, y, width, height] + } + ], + "adaptive_detection": true, + "detection_quality": 0.78 +} +``` + +## 🔧 系统配置 + +### 配置文件说明(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`: 专门训练的道路损伤检测模型 + - 系统会自动识别模型类型并优化参数 + +## 🚨 故障排除 + +### 安装问题 + +**Q: install.bat 运行失败** +- 确保已安装Python 3.8+ +- 以管理员身份运行install.bat +- 检查网络连接是否正常 + +**Q: 缺少依赖包** +```bash +pip install -r requirements.txt +``` + +### 使用问题 + +**Q: Web界面无法访问** +- 检查防火墙设置 +- 确认端口5000未被占用 +- 重新运行start_web_app.bat + +**Q: 检测速度慢** +- 检查是否有GPU可用 +- 降低视频分辨率 +- 调整检测参数 + +**Q: 内存不足** +- 减少批量处理的视频数量 +- 降低视频分辨率 +- 关闭其他应用程序 + +**Q: 模型加载失败** +- 检查模型文件完整性 +- 确认模型格式正确(.pt) +- 重新下载模型文件 + +### 日志查看 + +```bash +# 查看系统日志 +type logs\app.log + +# 查看检测日志 +type logs\detection.log +``` + +## 🔄 系统更新与维护 + +### 更新依赖包 + +```bash +pip install -r requirements.txt --upgrade +``` + +### 更新模型 + +1. 下载新的模型文件 +2. 放入 `models` 文件夹 +3. 通过Web界面上传或直接复制 +4. 系统会自动识别新模型类型 + +### 性能优化建议 + +1. **硬件优化** + - 使用SSD存储提高I/O性能 + - 配置NVIDIA GPU加速 + - 增加系统内存 + +2. **软件优化** + - 定期清理输出文件夹 + - 优化视频文件大小 + - 调整检测参数 + +## 🎯 使用技巧 + +### 提高检测效果 + +1. **视频质量** + - 使用高清视频获得更好的检测效果 + - 确保视频光线充足,画面清晰 + - 避免过度压缩的视频文件 + +2. **参数调整** + - 根据检测目标调整置信度阈值 + - 利用系统的自适应检测功能 + - 观察检测报告中的统计信息进行优化 + +3. **结果分析** + - 查看检测报告了解检测效果 + - 分析类别分布和置信度统计 + - 根据检测质量调整参数 + +## 📝 更新日志 + +### v2.2.0 - 最新版本 +- ✨ 新增纯中文标注系统 +- 🗂️ 智能文件夹管理,只生成有检测结果的类别文件夹 +- 🔍 改进的自适应检测算法 +- 📊 增强的检测统计和报告功能 +- 🎨 优化的Web界面和用户体验 + +### v2.0.0 +- 新增Web界面 +- 优化检测算法 +- 改进用户体验 +- 增加批量处理功能 + +### v1.0.0 +- 初始版本发布 +- 基础检测功能 +- 命令行界面 + +## 📞 技术支持 + +### 联系方式 + +如果您在使用过程中遇到问题,可以通过以下方式获取帮助: + +1. **查看日志文件**: 检查 `logs` 文件夹中的日志信息 +2. **检查配置**: 确认 `config.py` 中的配置是否正确 +3. **重新安装**: 运行 `install.bat` 重新安装依赖 + +### 常见解决方案 + +1. **环境问题**: 确保Python版本和依赖包正确安装 +2. **权限问题**: 以管理员身份运行相关脚本 +3. **网络问题**: 检查网络连接和防火墙设置 +4. **硬件问题**: 确保系统资源充足 + +--- + +**注意**: 本系统仅供学习和研究使用,检测结果仅供参考,实际应用请结合专业判断。 + +**版权声明**: 本系统基于开源技术开发,遵循相关开源协议。 \ No newline at end of file