bev-project/project/docs/BEVFusion完整项目路线图.md

14 KiB
Raw Blame History

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