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

151 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

# 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*