bev-project/project/docs/PROJECT_MASTER_PLAN.md

24 KiB
Raw Blame History

BEVFusion 项目总体计划

更新时间2025-11-12 09:30 UTC北京时间 11月12日 17:30
项目状态Phase 4A Task-GCA训练进行中 + RMT-PPAD融合策略制定完成
目标:完整的自动驾驶感知系统部署 + RMT-PPAD技术融合

最新进展: Phase 5完成🔄 Phase 4A Epoch 10训练中(64%) RMT-PPAD融合策略制定完成


📊 项目总览

最终目标

部署在NVIDIA Orin 270T上的实时BEVFusion系统实现

  • 3D目标检测mAP > 63%
  • BEV语义分割mIoU > 55%
  • 矢量地图预测mAP > 50%)可选
  • 实时推理(>15 FPS<60ms延迟
  • 低功耗(<60W
  • 🆕 RMT-PPAD技术融合集成Transformer分割解码器和轻量级GCA

项目周期

总计8-10周 (因RMT-PPAD融合增加2周)
当前进度Week 4 (60%)
预计完成2025年12月中旬


🎯 项目阶段规划

┌─────────────────────────────────────────────────────────────┐
│  Phase 1-4: 基础训练 ✅ 已完成                                 │
│  - Epoch 1-19 原始配置训练                                    │
│  - 检测性能: NDS 70.24%, mAP 66.26%                         │
│  - 分割性能: mIoU 36.44%                                     │
│  - 完成时间: 2025-10-21                                      │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│  Phase 5: Enhanced训练 ✅ 已完成                               │
│  - Epoch 20-23 (从19继续)                                    │
│  - 配置: EnhancedBEVSegmentationHead                        │
│  - 完成时间: 2025-10-29                                      │
│  - 成果: epoch_23.pth, 预期mIoU 55-60%                      │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│  Phase 4A: Task-GCA训练 🔄 进行中                             │
│  - 当前: Epoch 10, Iteration 9900/15448 (64%)               │
│  - 配置: Task-specific GCA (检测/分割独立通道注意力)          │
│  - 预计完成: 2025-11-13 (1天后)                              │
│  - 目标: mIoU 61%, Divider IoU 42%                         │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│  Phase 4B: RMT-PPAD分割融合 🔄 待开始                         │
│  - 集成RMT-PPAD Transformer分割解码器                         │
│  - 自适应多尺度融合 + 任务特定权重学习                        │
│  - 预计时间: 1周                                             │
│  - 目标: Divider Dice Loss 0.42→0.35 (17%提升)             │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│  Phase 4C: GCA模块优化 🔄 待开始                              │
│  - 用TaskAdapterLite替换当前GCA                             │
│  - 降低计算复杂度,提升特征选择效率                          │
│  - 预计时间: 1周                                             │
│  - 目标: 参数量-50%, 性能保持>98%                           │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│  Phase 3: MapTR集成可选⏳ 待开始                           │
│  - 三任务训练(检测+分割+矢量地图)                             │
│  - 预计时间: 2周                                             │
│  - 目标: 矢量地图AP 50-55%                                   │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│  Phase 4: 模型优化 ⏳ 待开始                                   │
│  - 剪枝: 110M → 60M (-45%)                                  │
│  - 量化: FP32 → INT8                                        │
│  - 预计时间: 1周                                             │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│  Phase 5: TensorRT优化 ⏳ 待开始                              │
│  - ONNX导出                                                 │
│  - TensorRT Engine构建                                      │
│  - 预计时间: 4-5天                                           │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│  Phase 6: Orin部署 ⏳ 待开始                                  │
│  - 部署到Orin 270T                                          │
│  - 性能调优多流、DLA                                      │
│  - 预计时间: 1周                                             │
└─────────────────────────────────────────────────────────────┘

📅 详细时间表

Week 1-2: 基础训练(已完成/进行中)

日期 任务 状态 成果
10-15 ~ 10-19 Epoch 1-19训练 完成 epoch_19.pth
10-19 Epoch 19评估 完成 mAP 66.26%, mIoU 36.44%
10-20 增强版设计 完成 EnhancedBEVSegmentationHead
10-21 20:21 增强版训练启动 🔄 进行中 6 GPU, workers=0
10-21 21:09 训练稳定运行 确认 1000 iters, loss 0.79

当前状态

  • 训练正常运行49分钟
  • Loss从1.44降至0.79⬇️45%
  • 分割Loss降低87%
  • GPU利用率97-100%

🔄 Week 4: Task-GCA训练完成进行中

日期(预计) 任务 预期成果
11-13 Epoch 20训练完成 epoch_11.pth
11-13 性能评估 mIoU 61%, Divider Dice Loss 0.42
11-13 Task-GCA效果分析 检测+分割性能提升报告

关键指标目标

  • 检测mAP: >68%Task-GCA优化
  • 分割mIoU: 61%(目标)
  • Divider Dice Loss: <0.42(目标)

🆕 Week 5: RMT-PPAD分割融合

日期(预计) 任务 时间 预期成果
11-14 ~ 11-15 RMT-PPAD代码分析 2天 理解Transformer分割解码器架构
11-16 分割解码器移植 1天 TransformerSegmentationDecoder集成
11-17 自适应多尺度融合实现 1天 任务特定权重学习机制
11-18 边界增强模块集成 1天 DividerBoundaryEnhancer
11-19 ~ 11-20 融合模型训练 2天 5 epochs训练性能评估

关键技术目标

  • 集成RMT-PPAD的Transformer分割解码器
  • 实现自适应多尺度融合
  • 应用任务特定权重学习
  • 优化Divider分割性能

预期性能提升

  • Divider Dice Loss: 0.42→0.35 (17%提升)
  • Overall mIoU: 61%→63%
  • 保持检测性能>68%

🆕 Week 6: GCA模块优化

日期(预计) 任务 时间 预期成果
11-21 ~ 11-22 TaskAdapterLite移植 2天 轻量级GCA替换当前GCA
11-23 GCA性能对比测试 1天 参数量-50%, 性能保持>98%
11-24 完整模型微调 1天 3 epochs微调训练
11-25 融合效果评估 1天 综合性能评估报告

关键技术目标

  • 用TaskAdapterLite替换当前GCA
  • 降低计算复杂度参数量减少50%
  • 提升特征选择效率
  • 保持性能不低于98%

预期性能提升

  • 参数量: 110M → 55M (-50%)
  • 计算效率: +20% FPS
  • 性能保持: >98% baseline

Week 7: MapTR集成可选调整

日期(预计) 任务 时间
11-26 ~ 11-27 研究MapTR代码 2天
11-28 提取矢量地图数据 1天
11-29 ~ 11-30 实现MapTRHead 2天
12-01 集成测试 1天
12-02 ~ 12-04 三任务训练 3天

交付物

  • 三任务模型(检测+分割+矢量地图)
  • 矢量地图mAP: 50-55%

注意:融合完成后可选,直接进入优化阶段


Week 8: 模型优化

日期(预计) 任务 目标
12-05 ~ 12-06 模型分析和剪枝 110M → 60M
12-07 ~ 12-09 剪枝模型微调 精度恢复>98%
12-10 ~ 12-11 QAT量化训练 FP32 → INT8

性能目标

  • 参数量110M → 60M → 15MINT8
  • 推理速度2-3倍提升
  • 精度损失:<2%

Week 9: TensorRT优化

日期(预计) 任务 目标
12-12 ~ 12-13 ONNX导出 bevfusion_int8.onnx
12-14 ~ 12-15 TensorRT Engine构建 INT8 + FP16混合
12-16 A100性能测试 推理时间<40ms
12-17 DLA优化配置 针对Orin优化

性能目标

  • A100推理时间90ms → 35ms
  • 吞吐量15 FPS → 28 FPS

Week 10-11: Orin部署

日期(预计) 任务 目标
12-18 Orin环境搭建 JetPack 5.1+
12-19 ~ 12-20 部署和测试 初步结果
12-21 ~ 12-22 性能和功耗测试 推理<70ms, <55W
12-23 ~ 12-24 精度验证 nuScenes val评估
12-25 ~ 12-26 多流和DLA优化 推理<60ms
12-27 最终验证和文档 部署包完成

最终目标

  • 推理时间50-60ms
  • 吞吐量16-20 FPS
  • 功耗40-50W
  • 精度损失:<3%

🎯 各阶段成果

Phase 1: 基础训练

成果:
├── epoch_19.pth (515 MB)
├── 检测性能NDS 70.24%, mAP 66.26%
├── 分割性能mIoU 36.44%
└── 推理结果results_epoch19.pkl (15 GB)

Phase 2: 增强版训练 🔄

预期成果:
├── epoch_23.pth (~520 MB)
├── 检测性能NDS >70%, mAP >65%
├── 分割性能mIoU 60-65%(目标)
└── 性能提升:+24% mIoU

Phase 3: MapTR集成可选

预期成果:
├── three_tasks_epoch_24.pth (~600 MB)
├── 检测mAP 65-68%
├── 分割mIoU 55-58%
└── 矢量地图mAP 50-55%

Phase 4: 模型优化

预期成果:
├── bevfusion_pruned.pth (240 MB, 60M参数)
├── bevfusion_int8.pth (60 MB, 15M参数)
├── 精度损失:<2%
└── 推理速度2-3倍提升

Phase 5: TensorRT优化

预期成果:
├── bevfusion_int8.engine
├── A100推理35ms
├── 吞吐量28 FPS
└── TensorRT优化报告

Phase 6: Orin部署

预期成果:
├── bevfusion_orin_deploy/(完整部署包)
├── Orin推理50-60ms
├── 吞吐量16-20 FPS
├── 功耗40-50W
└── 部署文档和用户手册

📋 后续计划(优先级排序)

🔥 P0 - 立即进行

  1. 监控Task-GCA训练进度

    # 每天检查训练进度
    tail -30 /data/runs/phase4a_stage1_task_gca/train_20251111_140122.log | grep "Epoch"
    
    # 查看GPU状态
    nvidia-smi
    
    • 责任:每日检查
    • 时间持续到11月13日
    • 风险:训练可能中断
  2. 等待Epoch 20完成

    • 预计时间约18小时11月13日
    • 检查点Divider Dice Loss是否达到0.42
    • 行动确认checkpoint保存成功

🟡 P1 - 短期1周

  1. 完成Task-GCA训练11-13

    # 目标
    - 完成Epoch 20
    - 分割mIoU达到61%
    - Divider Dice Loss <0.42
    - 检测mAP保持>68%
    
  2. Task-GCA效果评估11-13

    # 评估Task-GCA效果
    torchpack dist-run -np 8 python tools/test.py \
      configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/multitask_BEV2X_phase4a_stage1_task_gca.yaml \
      runs/phase4a_stage1_task_gca/epoch_11.pth \
      --eval bbox map
    
    # 对比分析
    - Task-GCA vs Shared GCA
    - 检测和分割各自提升
    - 各类别IoU改进
    
  3. RMT-PPAD代码分析准备11-13 ~ 11-14

    • 分析RMT-PPAD/ultralytics/nn/modules/transformer.py
    • 理解TransformerSegmentationDecoder架构
    • 识别可移植组件

🟢 P2 - 中期2-3周RMT-PPAD融合阶段

  1. Phase 4B: 分割解码器升级11-14 ~ 11-20

    # 目标集成RMT-PPAD Transformer分割解码器
    # 步骤:
    # 1. 创建新的分割解码器类
    # 2. 实现自适应多尺度融合
    # 3. 集成Divider边界增强
    # 4. 训练5 epochs验证效果
    
    # 创建配置文件
    cp multitask_BEV2X_phase4a_stage1_task_gca.yaml \
       multitask_BEV2X_phase4b_rmtppad_segmentation.yaml
    
    # 修改分割头配置
    # 使用 TransformerSegmentationDecoder
    
  2. Phase 4C: GCA模块优化11-21 ~ 11-25

    # 目标用TaskAdapterLite替换当前GCA
    # 步骤:
    # 1. 移植TaskAdapterLite
    # 2. 替换检测和分割GCA
    # 3. 性能对比测试
    # 4. 微调3 epochs
    
    # 预期结果:
    # - 参数量110M → 55M (-50%)
    # - 性能保持:>98%
    # - 计算效率:+20% FPS
    
  3. 融合效果综合评估11-25

    # 全面评估融合效果
    torchpack dist-run -np 8 python tools/test.py \
      multitask_BEV2X_phase4c_fusion_complete.yaml \
      --eval bbox map
    
    # 对比分析:
    # - Baseline vs Task-GCA vs RMT-PPAD融合
    # - 性能提升量化
    # - 效率改善评估
    
  4. 决策点是否集成MapTR11-26

    方案A跳过MapTR直接优化部署 推荐

    • 优势:更快完成,专注核心任务
    • 时间节省2周
    • 风险更低

    方案B集成MapTR三任务

    • 优势:完整感知能力
    • 增加时间2周
    • 技术挑战更大

🔵 P3 - 长期5-8周部署优化阶段

  1. 模型剪枝和量化12-05 ~ 12-11

    # 基于融合后的模型进行优化
    # 1. 剪枝110M → 60M (-45%)
    # 2. 量化FP32 → INT8
    # 3. 微调恢复精度
    
  2. TensorRT优化12-12 ~ 12-17

    • ONNX导出
    • TensorRT Engine构建
    • DLA优化配置
    • A100性能测试
  3. Orin部署12-18 ~ 12-27

    • 环境搭建
    • 模型部署
    • 性能测试
    • 多流优化
    • 最终验证
  4. 文档和交付12-27

    • 部署文档
    • API文档
    • 用户手册
    • RMT-PPAD融合技术报告
    • 性能测试报告

📊 关键决策点

Decision Point 1: RMT-PPAD融合深度11-14

需要考虑

  • 是否只集成分割解码器,还是完整融合
  • TaskAdapterLite替换GCA的风险评估
  • 对现有性能的影响程度

建议

  • 推荐方案分阶段融合先分割解码器后GCA优化
  • ⚠️ 保守方案仅分割解码器避免GCA大幅变化
  • 🚫 激进方案:一步到位,可能影响稳定性

Decision Point 2: MapTR集成11-26

需要考虑

  • 项目时间是否充裕RMT-PPAD融合已增加2周
  • 是否真正需要矢量地图
  • 团队技术能力

建议

  • 强烈推荐跳过MapTR:时间紧迫,专注核心任务
  • ⚠️ 如果有充足余裕可以尝试但需评估ROI

Decision Point 3: 融合效果验证11-25

根据融合后性能决定

  • 如果Divider Dice Loss <0.35:融合成功,继续部署
  • 如果性能下降>2%:回退部分融合
  • 如果参数量减少<30%重新设计GCA

Decision Point 4: Orin目标12-20

根据初步测试调整

  • 如果推理>80ms进一步优化
  • 如果功耗>60W调整功耗模式
  • 如果精度损失>3%:回退优化

🎯 成功标准

最低要求(必须达到)

  • Task-GCA训练完成20 epochs
  • 检测mAP>65%
  • 分割mIoU>58%
  • RMT-PPAD融合至少分割解码器升级
  • Divider Dice Loss<0.45
  • Orin推理<80ms
  • Orin功耗<60W

理想目标(期望达到)

  • 🌟 检测mAP>68%
  • 🌟 分割mIoU>62%
  • 🌟 Divider Dice Loss<0.35 (RMT-PPAD融合效果)
  • 🌟 参数量:<60M (GCA优化效果)
  • 🌟 Orin推理<60ms
  • 🌟 Orin功耗<50W
  • 🌟 吞吐量:>18 FPS

⚠️ 风险和应对

Risk 1: Task-GCA训练可能中断

应对

  • 每个epoch保存checkpoint
  • 定期备份重要文件
  • 监控GPU和系统状态

Risk 2: RMT-PPAD融合失败

应对

  • 分阶段实施,先分割解码器
  • 保留baseline模型作为回退
  • 详细记录每步变化
  • 准备回滚计划

Risk 3: 融合后性能下降

应对

  • 渐进式融合,先验证分割效果
  • GCA替换前进行充分测试
  • 设置性能阈值,超过则回退

Risk 4: 项目时间延期

应对

  • 优先完成核心任务(检测+分割)
  • MapTR作为可选阶段
  • 如有延期,调整优化深度

Risk 5: Orin性能不足

应对

  • 更激进的剪枝60M → 40M
  • 降低输入分辨率
  • 简化某些任务

📈 进度追踪

当前进度2025-11-12

总体进度55%
├── Phase 1-4: ████████████████████ 100%
├── Phase 5: ████████████████████ 100%
├── Phase 4A: ████████████░░░░░░░░  64% (Epoch 10/20)
├── Phase 4B: ░░░░░░░░░░░░░░░░░░░░   0% (RMT-PPAD分割融合)
├── Phase 4C: ░░░░░░░░░░░░░░░░░░░░   0% (GCA优化)
├── Phase 3: ░░░░░░░░░░░░░░░░░░░░   0% (MapTR可选)
├── Phase 4: ░░░░░░░░░░░░░░░░░░░░   0% (模型优化)
├── Phase 5: ░░░░░░░░░░░░░░░░░░░░   0% (TensorRT)
└── Phase 6: ░░░░░░░░░░░░░░░░░░░░   0% (Orin部署)

下一里程碑

  • Task-GCA训练完成11月13日
  • RMT-PPAD分割融合开始11月14日
  • 分割解码器升级完成11月20日
  • GCA优化完成11月25日
  • 融合效果评估11月25日
  • 决策MapTR11月26日

🚀 立即行动清单

今天11-12

  • 制定RMT-PPAD融合策略
  • 更新项目总体计划
  • 监控Task-GCA训练进度
  • 准备RMT-PPAD代码分析

明天11-13

  • 监控Task-GCA训练完成
  • 验证epoch_11.pth保存
  • 分析Task-GCA训练效果
  • 准备分割解码器移植工作

本周11-13 ~ 11-19

  • 完成Task-GCA训练监控
  • 分析Task-GCA性能提升效果
  • RMT-PPAD代码架构分析
  • 制定分割解码器移植计划
  • 准备Phase 4B实施文档

💡 优化建议

Task-GCA优化

  1. 监控训练稳定(当前进行中)

    • 观察loss曲线是否平滑下降
    • 检查grad_norm是否正常(<20)
    • 验证检测和分割loss平衡
  2. 性能预期验证

    • Divider Dice Loss目标: <0.42
    • Overall mIoU目标: >61%
    • 检测mAP保持: >68%

RMT-PPAD融合优化

  1. 渐进式融合策略

    • 先分割解码器后GCA模块
    • 每步融合后进行性能验证
    • 保留baseline便于回退
  2. 技术风险控制

    • 分割解码器:低风险,高收益
    • GCA替换中等风险中等收益
    • 完整融合:高风险,高收益

工程优化

  1. 定期备份

    # 每周备份重要checkpoint
    rsync -av runs/phase4a_stage1_task_gca/ backup/
    
  2. 监控脚本

    # 创建监控脚本
    watch -n 300 'tail -30 /data/runs/phase4a_stage1_task_gca/train_20251111_140122.log | grep "Epoch"'
    

📚 相关文档

已生成文档

  • BEVFUSION_TRAINING_STATUS_REPORT.md - 训练状态报告
  • TRAINING_PROGRESS_UPDATE_20251021.md - 最新进展
  • PROJECT_TIMELINE.md - 项目时间表
  • PROGRESSIVE_ENHANCEMENT_PLAN.md - 渐进增强计划
  • MAPTR_INTEGRATION_PLAN.md - MapTR集成方案
  • ORIN_DEPLOYMENT_PLAN.md - Orin部署方案
  • GCA_ARCHITECTURE_FINAL_ANALYSIS.md - Task-GCA架构分析
  • TASK_GCA_FINAL_SUMMARY.md - Task-GCA实施总结
  • BEVFusion + RMT-PPAD对比分析报告 - 技术对比分析

待创建文档

  • RMT-PPAD分割解码器移植指南
  • TaskAdapterLite集成文档
  • 融合效果评估报告
  • 剪枝实施指南
  • 量化训练指南
  • TensorRT优化指南
  • Orin部署手册
  • RMT-PPAD融合技术报告

🎓 技术要点总结

成功的关键因素

  1. Task-GCA架构:任务特定特征选择
  2. 渐进式优化从Shared到Task-GCA
  3. RMT-PPAD融合:分割解码器技术集成 🆕
  4. 训练稳定Loss正常下降
  5. 资源充足GPU利用率高

RMT-PPAD融合要点

  1. 分阶段实施:分割解码器 → GCA优化 → 完整融合
  2. 风险控制保留baseline渐进验证
  3. 技术互补BEVFusion空间感知 + RMT-PPAD实时优化
  4. 性能目标Divider Dice Loss 0.42→0.35,参数量-50%

经验教训

  1. Task-GCA优于Shared GCA任务特定特征选择更有效
  2. RMT-PPAD技术可移植Transformer分割解码器适配BEV空间
  3. 渐进式融合更安全:分阶段实施降低风险
  4. 多模态+单任务融合BEVFusion的正确发展方向

项目负责人AI Assistant 最后更新2025-11-12 17:30 UTC 下次更新2025-11-13Task-GCA训练完成后

项目状态🟢 正常进行中 + RMT-PPAD融合策略制定完成 风险等级🟡 中等(技术融合增加复杂度) 信心指数 很有信心达成目标!

RMT-PPAD融合信心 技术路径清晰,渐进式实施降低风险