bev-project/BEV分割类别说明_Divider.md

151 lines
4.0 KiB
Markdown
Raw Permalink 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.

# BEV分割类别说明 - Divider (分隔线)
## Divider 类别定义
根据nuScenes数据集和BEVFusion代码**Divider**(分隔线)类别包含以下两种道路标线:
### 1. Road Divider道路分隔线
- **定义**: 分隔对向车流的道路中央分隔线
- **典型特征**:
- 通常是双黄线或单黄线
- 位于道路中央
- 分隔相反方向的车道
- 一般禁止跨越
### 2. Lane Divider车道分隔线
- **定义**: 分隔同向车道的车道分界线
- **典型特征**:
- 通常是白色虚线或实线
- 位于同向车道之间
- 用于引导车辆保持在车道内
- 虚线可以变道,实线不能跨越
---
## 代码映射关系
`mmdet3d/datasets/pipelines/loading.py` 中的定义:
```python
elif name == "divider":
mappings[name] = ["road_divider", "lane_divider"]
```
这意味着训练时nuScenes地图中的 `road_divider``lane_divider` 两个图层会被**合并**为一个 `divider` 类别进行学习。
---
## 为什么 Divider 难度最高?
### 训练困难的原因
1. **细长结构难以捕捉**
- 分隔线通常只有10-20cm宽
- 在BEV图像中只占极少数像素
- 容易被背景淹没
2. **类别不平衡严重**
```
场景中像素分布(典型值):
- Drivable Area: ~40% (背景大,易学习)
- Divider: ~1-2% (极少,难学习) 🔴
```
3. **视觉特征不明显**
- 从多视角相机俯视投影时容易丢失细节
- LiDAR点云在道路标线上反射较弱
- 需要精确的空间对齐
4. **合并了两种不同的线**
- Road Divider双黄线和 Lane Divider白虚线
- 外观、宽度、间隔都不同
- 增加了类内差异性
---
## 当前训练表现
### Phase 4A Stage 1 - Epoch 1 (73.8%)
| 类别 | Dice Loss | 难度 | 状态 |
|------|-----------|------|------|
| Drivable Area | 0.12 | 简单 | ✅ 优秀 |
| Ped Crossing | 0.27 | 中等 | ✅ 良好 |
| Walkway | 0.25 | 中等 | ✅ 良好 |
| Stop Line | 0.39 | 困难 | ⚠️ 改善中 |
| Carpark Area | 0.23 | 中等 | ✅ 优秀 |
| **Divider** | **0.59** | **极难** | 🔴 **最困难** |
**Divider** 的 Dice Loss 是所有类别中最高的0.59),说明模型在学习这个类别时确实遇到了较大困难。
---
## 改进效果
尽管困难,但通过**600×600高分辨率 + 4层Decoder + Deep Supervision**的Phase 4A配置Divider已经有了显著改善
### 改善趋势
```
训练起始 (Iter 50): Dice Loss = 0.96
当前状态 (Iter 11400): Dice Loss = 0.59
下降幅度: ↓38.5% ⭐
```
### 性能预测
```
Baseline (Epoch 23, 400×400): IoU = 0.19
Epoch 1预估 (600×600): IoU = 0.23 (+21%) ⭐
Epoch 10预估 (600×600): IoU = 0.29 (+52%) ⭐⭐
```
虽然绝对值仍然较低,但相对改进幅度是**所有类别中最大的**
---
## 实际应用影响
### Divider 检测的重要性
1. **车道保持辅助**: 识别车道分界线,防止偏离
2. **变道决策**: 判断虚线/实线,决定是否可以变道
3. **对向车流判断**: 识别道路中央分隔线,避免驶入对向车道
4. **高精地图构建**: 准确的车道级地图需要精确的分隔线
### 性能要求
```
实际应用场景推荐值:
- 辅助驾驶 (L2): IoU ≥ 0.35
- 自动驾驶 (L4): IoU ≥ 0.50
- 高精地图: IoU ≥ 0.60
当前状态:
- Epoch 1预估: IoU = 0.23 (仍需提升)
- Epoch 10预估: IoU = 0.29 (接近L2要求)
```
---
## 可视化示例
在可视化代码中Divider 被标记为:
- **颜色**: 黄色/褐色
- **RGB**: [160, 82, 45] 或 [255, 255, 0]
---
## 总结
**Divider分隔线** = **Road Divider道路分隔线** + **Lane Divider车道分隔线**
- ✅ 包含了道路中央的对向分隔线和同向车道分界线
- 🔴 是6个BEV分割类别中**最难学习**的类别
- ⭐ 但通过Phase 4A的改进预计能获得**52%的性能提升**
- 🎯 目标是将IoU从0.19提升到0.29+,逐步接近实用水平
---
*更新时间: 2025-11-01 21:40 UTC*