Vinodgm2106/SmartRoad-AI
GitHub: Vinodgm2106/SmartRoad-AI
基于 YOLOv8 的路面缺陷智能检测与严重程度分级系统,帮助市政部门自动完成道路损坏识别、优先级排序和检测报告生成。
Stars: 0 | Forks: 0
# 🛣️ SmartRoad-AI:路面缺陷检测与严重程度分析
SmartRoad-AI 是一个高性能的计算机视觉与市政报告仪表板,旨在通过检测图像和视频检测、追踪、分级并报告结构性道路损坏(坑洼、纵向裂缝、横向裂缝和龟裂疲劳开裂)。
它基于 **Streamlit**、**YOLOv8**、**OpenCV** 和 **SQLite** 构建,提供了一套完整的市政勘测解决方案,包含优先行动计划和自动生成的 PDF 检测报告。
## ✨ 核心功能
1. **AI 驱动的批量扫描门户**:同时上传多个道路图像和视频文件。通过动态置信度滑块(`0.00` 到 `1.00`)在优化的 pipeline 中处理帧。
2. **路面严重程度分级算法**:根据缺陷威胁参数计算出一个介于 `0` 到 `100` 之间的数学 **道路损坏评分 (RDS)**,将路段分类为*低*、*中*或*紧急*优先级。
3. **紧急干预执行仪表板**:显示排名的 KPI 指标、严重程度分布图,以及前 5 个包含精确 GPS 卫星地图快速链接的紧急维修派发位置。
4. **深度趋势分析**:渲染高分辨率趋势时间线(对于单日扫描,会自动缩放以按时间顺序排列检测时间戳)、堆叠风险分布,以及带有颜色编码的交互式 Google 卫星地图标记。
5. **市政报告下载中心**:
* **CSV / Excel 导出**:一键下载当前已筛选的勘测日志。
* **自动 PDF 生成器**:打印包含缺陷总数、优先维修指令和整洁表格日志的官方市政检测报告。
6. **支持 SQL 的 AI 聊天机器人助手**:一个离线的自然语言聊天机器人,可将用户的查询转化为直接的数据库计算,用于计算路网健康统计数据或提供维修建议。
## 📊 路面严重程度分级公式 (RDS)
**道路损坏评分 (RDS)** 基于标准工程缺陷权重,满分为 100 分进行计算:
* **龟裂疲劳裂缝**(表明基层结构失效):每处 `20 分`
* **坑洼**(高危安全隐患):每处 `15 分`
* **纵向与横向裂缝**:每处 `5 分`
$$\text{RDS} = \min(100, \, (15 \times \text{Potholes}) + (20 \times \text{Alligator}) + (5 \times \text{Longitudinal}) + (5 \times \text{Lateral}))$$
### 优先级分类:
* 🚨 **紧急优先级 (51–100 RDS)**:需要立即派发进行紧急维修。
* ⚠️ **中等优先级 (21–50 RDS)**:需要安排计划干预。
* 🟢 **低优先级 (0–20 RDS)**:执行常规例行维护。
## 📂 项目目录结构
```
SmartRoad-AI/
├── .streamlit/ # Streamlit app layout configuration
├── dashboard/ # Front-End Web Application
│ ├── app.py # Home / Navigation Hub
│ ├── pages/ # Dashboard page modules (1-6)
│ └── styles/ # Custom CSS stylesheets
├── database/ # Inspection SQLite database file
├── data/ # Sample videos and image assets for testing
├── models/ # Pre-trained YOLOv8 weights (.pt files)
├── src/ # Back-End Logic & AI training modules
│ ├── app/ # Navigation, database, detector, and ranking modules
│ └── training/ # Custom YOLOv8 training/fine-tuning scripts
├── .gitignore # Tells Git which files to ignore
├── requirements.txt # Python libraries list
└── README.md # Project documentation (this file)
```
## 🚀 安装与设置
### 前置条件
请确保您已安装 **Python 3.8+**。
### 1. 克隆仓库
```
git clone https://github.com/Vinodgm2106/SmartRoad-AI.git
cd SmartRoad-AI
```
### 2. 设置虚拟环境
* **Linux/macOS**:
python -m venv venv
source venv/bin/activate
* **Windows**:
python -m venv venv
venv\Scripts\activate
### 3. 安装依赖项
```
pip install -r requirements.txt
```
### 4. 运行 Streamlit 仪表板
```
streamlit run dashboard/app.py
```
## 🛠️ 模型训练 (Google Colab)
如果您希望在自定义数据集上 fine-tune 模型权重,请查阅 [COLLAB_GUIDE.md](COLLAB_GUIDE.md) 并使用 [zip_project.py](zip_project.py) 实用工具为云端 GPU 处理准备好您的文件。
标签:Kubernetes, 逆向工具