14 KiB
BEVFusion完整项目路线图
项目目标: 从nuScenes数据集训练到实车部署的端到端自动驾驶感知系统
更新时间: 2025-10-25
当前状态: Phase 3进行中 (Epoch 10/23)
📊 项目全局概览
项目阶段分布:
├─ Phase 1: 基础训练 (已完成) ✅
├─ Phase 2: 性能优化 (已完成) ✅
├─ Phase 3: 增强训练 (进行中 99.5%) 🔥
├─ Phase 4: 模型压缩 (待开始)
├─ Phase 5: 实车数据准备 (并行进行中) 🔄
├─ Phase 6: 实车微调 (待开始)
└─ Phase 7: 部署优化 (待开始)
当前进度: 43% (3/7 完成)
预计完成: 2025年12月底
Phase 1: 基础训练 ✅ (已完成)
时间: 2025-09-01 ~ 2025-10-10
状态: ✅ 已完成
目标
- 在nuScenes数据集上训练基础BEVFusion模型
- 验证多任务学习框架
- 建立评估基准
成果
✅ 完成Epoch 1-19训练
✅ 基线性能:
- NDS: 0.68
- mAP: 0.63
- mIoU: 0.38
✅ 保存checkpoint: runs/run-326653dc-74184412/epoch_19.pth
Phase 2: 性能优化 ✅ (已完成)
时间: 2025-10-11 ~ 2025-10-21
状态: ✅ 已完成
任务
- 增强BEV分割头 (EnhancedBEVSegmentationHead)
- 优化损失函数 (Focal Loss + Dice Loss)
- 配置高分辨率训练
- 调整训练策略
成果
✅ 模型架构改进
✅ 配置文件: multitask_enhanced_phase1_HIGHRES.yaml
✅ 训练脚本优化
Phase 3: 增强训练 🔥 (进行中)
时间: 2025-10-21 ~ 2025-10-29 (预计)
状态: 🔥 Epoch 10/23 (99.5%)
任务
- 从Epoch 19继续训练
- 使用增强配置
- 6 GPU分布式训练
- 完成Epoch 20-30
- 最终评估
当前进度
🔥 实时状态:
Epoch: 10/23
Iteration: 10250/10299
Loss: 0.6428
学习率: 3.339e-05
📊 最新性能 (Epoch 9):
NDS: 0.6968 ⭐⭐⭐
mAP: 0.6499
mIoU: 0.3968
🖥️ GPU利用率: 5/6 GPU @ 100%
⏱️ 预计完成: 2025-10-29 14:00
📁 Checkpoints:
- epoch_8.pth (516MB)
- epoch_9.pth (516MB)
- epoch_10.pth (516MB) ← 最新
下一步
□ 等待Epoch 10评估完成 (今天内)
□ 继续训练Epoch 11-23
□ 每个Epoch评估并保存
□ 选择最佳checkpoint
Phase 4: 模型压缩 (待开始)
时间: 2025-10-30 ~ 2025-11-10
状态: ⏸️ 等待Phase 3完成
任务清单
-
环境准备
- 创建PyTorch 2.x新环境
- 安装torch-pruning
- 安装ONNX/TensorRT工具
-
模型剪枝
- 分析模型参数分布 (已完成预研究: 45.72M参数)
- 设计剪枝策略 (目标: 45M → 25-30M)
- 结构化剪枝实验
- 微调恢复精度
-
量化训练
- QAT (Quantization-Aware Training)
- INT8量化
- 精度验证
-
导出优化
- ONNX导出
- TensorRT优化
- 推理速度测试
性能目标
压缩前: 45.72M参数, ~150ms推理
压缩后: 25-30M参数, <80ms推理 (Orin)
精度保持:
- NDS下降 < 3%
- mAP下降 < 2%
准备工作 (已完成)
✅ MapTR代码研究 (20个核心文件)
✅ 模型参数分析工具
✅ 剪枝方案设计
Phase 5: 实车数据准备 🔄 (并行进行中)
时间: 2025-10-25 ~ 2025-11-30
状态: 🔄 数据采集 + 标注
5.1 传感器配置
实车配置 (与nuScenes差异):
相机:
数量: 4相机 (vs nuScenes 6相机)
位置: 前、左、右、后
分辨率: 1920x1080 (vs 1600x900)
帧率: 10Hz (vs 12Hz)
LiDAR:
型号: Velodyne VLP-32C
线数: 32线 (vs 32线)
范围: 0.3-200m
帧率: 10Hz
5.2 数据采集计划
时间表: 2025-10-25 ~ 2025-11-15 (3周)
周1-2: 环境搭建 + 初期采集
□ 传感器安装与标定
□ 相机内参标定 (4个相机)
□ LiDAR-相机外参标定
□ 时间戳同步验证 (<50ms)
□ 标定精度验证 (重投影误差<1px)
□ 数据采集系统部署
□ ROS节点配置
□ 录制脚本测试
□ 存储容量规划 (每小时~50GB)
□ 初期采集 (1000帧)
□ 城市道路: 500帧
□ 高速公路: 300帧
□ 停车场: 200帧
周3-4: 大规模采集
□ 场景覆盖采集 (总计10000帧)
城市道路 (4000帧):
□ 白天晴天: 1500帧
□ 白天阴天: 1000帧
□ 黄昏: 500帧
□ 夜间: 1000帧
高速公路 (2000帧):
□ 白天: 1200帧
□ 夜间: 800帧
停车场 (1500帧):
□ 地面停车场: 800帧
□ 地下停车场: 700帧
乡村道路 (1000帧):
□ 白天: 700帧
□ 夜间: 300帧
恶劣天气 (1500帧):
□ 小雨: 600帧
□ 大雨: 400帧
□ 雾天: 500帧
□ 质量检查
□ 数据完整性验证
□ 时间同步检查
□ 传感器标定验证
采集要求:
✓ 关键帧间隔: 0.5秒 (2Hz)
✓ 场景多样性: 覆盖6类场景
✓ 天气条件: 3种天气
✓ 光照条件: 4种光照
✓ 速度范围: 0-120km/h
5.3 数据标注计划
时间表: 2025-11-01 ~ 2025-11-30 (4周)
周1: 标注环境搭建
□ 工具部署
□ CVAT服务器部署 (Docker)
□ 标注团队培训 (2天)
□ 标注规范制定
□ 质量检查流程
□ 数据预处理
□ 转换为nuScenes格式
□ 导入到CVAT
□ 预标注 (自动检测辅助)
周2-4: 大规模标注
标注团队配置:
角色分工:
├─ 标注员 × 8人
│ ├─ 初标组 × 6人 (负责初始标注)
│ └─ 审核组 × 2人 (负责质量检查)
├─ 技术支持 × 1人
└─ 项目经理 × 1人
标注流程:
1. 预标注 (自动) → 节省80%时间
2. 初标 (标注员A) → 人工精修
3. 自动检查 → 标记异常
4. 交叉审核 (标注员B) → 随机抽查10%
5. 专家审核 → 复杂场景
6. 最终确认 → 导出
标注进度计划:
Week 1: 2500帧
□ 简单场景优先 (城市白天)
□ 建立标注基准
Week 2: 3000帧
□ 中等难度场景
□ 质量审核优化
Week 3: 2500帧
□ 复杂场景 (夜间、雨天)
□ 遮挡、截断处理
Week 4: 2000帧
□ 补充标注
□ 质量全面检查
□ 最终验收
总计: 10000帧
标注类别:
3D目标检测 (10类):
✓ car, truck, bus
✓ construction_vehicle, trailer
✓ motorcycle, bicycle
✓ pedestrian
✓ traffic_cone, barrier
BEV语义分割 (6类):
✓ drivable_area
✓ ped_crossing
✓ walkway
✓ stop_line
✓ carpark_area
✓ divider
质量标准:
3D Box标注:
- IoU > 0.7
- 中心误差 < 10cm
- 角度误差 < 3°
- 召回率 > 95%
BEV分割:
- 边界精度 < 2像素
- 类别准确率 > 90%
标注成本估算:
时间成本:
- 简单场景: 5分钟/帧
- 复杂场景: 15分钟/帧
- 平均: 10分钟/帧
- 10000帧 = 1667小时
人力成本:
- 8人 × 4周 × 40小时/周 = 1280小时
- 预标注加速: 实际~1000小时
- 可按时完成
资源需求:
- CVAT服务器: 32GB RAM, 8核CPU
- 存储: 2TB (原始数据 + 标注)
- 网络: 稳定的内网环境
5.4 数据转换 & 验证
时间: 2025-12-01 ~ 2025-12-05
□ 格式转换
□ CVAT导出 → nuScenes格式
□ 生成训练用PKL文件
□ 验证数据完整性
□ 数据集划分
□ 训练集: 8000帧 (80%)
□ 验证集: 1000帧 (10%)
□ 测试集: 1000帧 (10%)
□ 质量验证
□ 可视化检查 (随机100帧)
□ 统计分析 (类别分布)
□ 标注一致性检查
5.5 文档与工具
已完成:
✅ nuScenes数据格式与实车标注指南.md
- nuScenes GT格式详解
- BEVFusion输入输出格式
- 实车配置适配方案
- 数据采集要求
- 工具代码示例
✅ 3D标注详细指南.md
- 3D Box标注原理
- CVAT工具使用
- 5步标注流程
- 质量控制标准
- 自动化辅助工具
- 实战案例分析
✅ 转换工具:
- custom_to_nuscenes.py
- verify_calibration.py
- annotate_bev_segmentation.py
Phase 6: 实车微调 (待开始)
时间: 2025-12-06 ~ 2025-12-20
状态: ⏸️ 等待Phase 5完成
任务
-
配置调整
- 修改相机数量 (6→4)
- 调整图像分辨率
- 更新数据路径
-
迁移学习
- 加载Phase 3最佳checkpoint
- 冻结部分层
- 降低学习率
-
微调训练
- 训练20 epochs
- 监控性能变化
- 选择最佳模型
-
评估验证
- 在实车验证集评估
- 分场景性能分析
- 识别弱点场景
性能目标
目标性能 (实车数据):
- NDS > 0.65
- mAP > 0.60
- mIoU > 0.35
- 推理速度 < 100ms (V100)
Phase 7: 部署优化 (待开始)
时间: 2025-12-21 ~ 2025-12-31
状态: ⏸️ 等待Phase 6完成
任务
-
Orin部署
- TensorRT引擎构建
- 量化模型部署
- 推理速度优化
-
实车集成
- ROS节点封装
- 实时推理测试
- 延迟优化 (<100ms)
-
实车测试
- 封闭场地测试
- 开放道路测试
- 长时间运行测试
-
性能调优
- 识别瓶颈
- 针对性优化
- 稳定性测试
性能目标
Orin平台 (AGX Orin 64GB):
- 推理速度: < 80ms
- GPU利用率: < 80%
- 功耗: < 60W
- 精度保持: NDS下降 < 5%
📅 甘特图
2025年 9月 10月 11月 12月
|---------|---------|---------|
Phase1 ████████ ✅
Phase2 ██████ ✅
Phase3 ████████ 🔥 99.5%
Phase4 ████
Phase5 (采集) ███████
Phase5 (标注) ██████
Phase6 ████
Phase7 ██
图例:
████ 已完成 🔥 进行中 ░░░░ 计划中
🎯 关键里程碑
| 里程碑 | 时间 | 状态 |
|---|---|---|
| M1: 基础训练完成 | 2025-10-10 | ✅ |
| M2: 增强训练启动 | 2025-10-21 | ✅ |
| M3: 增强训练完成 | 2025-10-29 | 🔥 进行中 |
| M4: 实车数据采集完成 | 2025-11-15 | ⏳ 计划中 |
| M5: 数据标注完成 | 2025-11-30 | ⏳ 计划中 |
| M6: 模型压缩完成 | 2025-11-10 | ⏳ 等待M3 |
| M7: 实车微调完成 | 2025-12-20 | ⏳ 等待M5 |
| M8: 部署上车 | 2025-12-31 | ⏳ 最终目标 |
📊 资源需求
计算资源
训练 (Phase 3-6):
- 6x Tesla V100 32GB
- 训练时长: 15-20天
- 存储: 2TB SSD
压缩 & 优化 (Phase 4):
- 1x A100 80GB (可选)
- 训练时长: 5-7天
部署 (Phase 7):
- NVIDIA Orin AGX 64GB
- 测试车辆 × 1
人力资源
研发团队:
- 算法工程师 × 1 (全程)
- 系统工程师 × 1 (Phase 5-7)
标注团队 (Phase 5):
- 标注员 × 8
- 审核员 × 2
- 技术支持 × 1
- 项目经理 × 1
- 时长: 4周
数据存储
nuScenes数据集: 500GB
实车采集数据: 500GB (10000帧)
训练checkpoints: 200GB
标注数据: 50GB
────────────────────────
总计: ~1.3TB
🚨 风险与对策
风险1: 训练时间延误
风险: Phase 3训练可能延期
影响: 后续阶段推迟
对策:
✓ 增加GPU数量
✓ 减少训练轮次 (23→20)
✓ 调整验证频率
风险2: 标注质量问题
风险: 标注精度不达标
影响: 实车性能下降
对策:
✓ 预标注辅助 (节省80%时间)
✓ 多轮审核机制
✓ 自动化质量检查
✓ 专家审核复杂场景
风险3: 实车配置差异
风险: 传感器配置与nuScenes差异大
影响: 迁移效果差
对策:
✓ 渐进式微调
✓ 域适应技术
✓ 数据增强策略
风险4: 部署性能不达标
风险: Orin推理速度不满足要求
影响: 无法实时运行
对策:
✓ 激进的模型压缩
✓ TensorRT深度优化
✓ 降低输入分辨率
✓ 多线程并行
📈 成功指标
技术指标
nuScenes验证集:
✅ NDS > 0.70 (当前0.6968)
✅ mAP > 0.65 (当前0.6499)
□ mIoU > 0.40 (当前0.3968)
实车验证集:
□ NDS > 0.65
□ mAP > 0.60
□ mIoU > 0.35
部署性能:
□ 推理延迟 < 80ms (Orin)
□ GPU利用率 < 80%
□ 功耗 < 60W
项目指标
□ 按时完成 (2025-12-31前)
□ 预算可控
□ 质量达标
□ 实车可用
🔄 每周例会检查点
Phase 5期间重点关注:
Week 1 (10月25日-11月1日):
□ 传感器标定完成度
□ 采集系统稳定性
□ 初期1000帧采集进度
□ Phase 3训练完成情况
Week 2-3 (11月2日-15日):
□ 采集进度 (目标10000帧)
□ 场景覆盖度检查
□ 数据质量抽检
□ 标注环境就绪
Week 4-7 (11月16日-30日):
□ 标注进度 (目标10000帧)
□ 质量审核通过率
□ 困难样本处理
□ Phase 4准备工作
📝 总结
当前焦点 (未来2周)
1. 🔥 完成Phase 3训练 (优先级最高)
- 监控Epoch 10-23
- 每日检查损失和性能
- 预计10月29日完成
2. 🔄 启动Phase 5数据采集
- 本周完成传感器标定
- 下周开始大规模采集
- 11月15日完成采集
3. 📋 准备Phase 5标注
- 部署CVAT服务器
- 培训标注团队
- 测试预标注流程
长期目标 (3个月)
✓ 2025年10月底: Phase 3完成
✓ 2025年11月中: 实车数据采集完成
✓ 2025年11月底: 数据标注完成
✓ 2025年12月中: 实车微调完成
✓ 2025年12月底: 部署上车 🎯
项目负责人: [您的名字]
技术栈: BEVFusion + nuScenes + CVAT + PyTorch + TensorRT
目标平台: NVIDIA Orin AGX 64GB