bev-project/project/docs/VISUALIZATION_GUIDE.md

4.2 KiB
Raw Blame History

BEVFusion 推理结果可视化指南

📊 概述

本指南介绍如何可视化 BEVFusion 的推理结果,包括生成图像和视频。

🚀 快速开始

等待推理完成

首先确保推理已完成:

# 检查推理进度
tail -f eval_epoch19_success.log

当看到 Done6019/6019 时,推理已完成。

方式一:交互式可视化(推荐)

chmod +x visualize.sh
./visualize.sh

然后选择:

  • 选项1快速可视化10个样本图像
  • 选项2生成完整视频所有6019个样本
  • 选项3:同时生成图像和视频

方式二:命令行直接调用

1. 快速可视化10个样本图像

python visualize_results_with_video.py \
    --result-file results_epoch19.pkl \
    --nusc-root data/nuscenes \
    --mode quick \
    --num-samples 10 \
    --output-dir visualizations

输出

  • visualizations/sample_0000_bev.png - BEV视角分割+检测)
  • visualizations/sample_0000_camera.png - 相机视角(分割叠加)
  • ... 共10组图像

2. 生成完整视频

python visualize_results_with_video.py \
    --result-file results_epoch19.pkl \
    --nusc-root data/nuscenes \
    --mode video \
    --video-fps 10 \
    --output-dir visualizations

输出

  • visualizations/bevfusion_results.mp4 - 完整视频6019帧

预计耗时

  • 视频生成:约 10-15分钟6019个样本
  • 帧率10 FPS
  • 视频时长:约 10分钟

3. 生成图像 + 视频

python visualize_results_with_video.py \
    --result-file results_epoch19.pkl \
    --nusc-root data/nuscenes \
    --mode all \
    --num-samples 20 \
    --video-fps 10 \
    --output-dir visualizations

🎨 可视化内容

BEV视图Birds-Eye View

  • 分割结果:不同颜色表示不同类别
    • 可行驶区域
    • 人行横道
    • 车辆
    • 行人
    • 等...
  • 检测框3D边界框投影到BEV

相机视图

  • 原始相机图像
  • 叠加分割掩码(半透明)
  • 3D检测框投影

📈 可视化示例

推理完成后,你将得到:

visualizations/
├── sample_0000_bev.png          # BEV视角
├── sample_0000_camera.png       # 前视相机
├── sample_0001_bev.png
├── sample_0001_camera.png
├── ...
└── bevfusion_results.mp4        # 完整视频(如果选择)

⚙️ 高级选项

自定义样本数量

python visualize_results_with_video.py \
    --mode quick \
    --num-samples 50  # 可视化前50个样本

自定义视频帧率

python visualize_results_with_video.py \
    --mode video \
    --video-fps 30  # 30 FPS更流畅但文件更大

选择不同相机

python visualize_results_with_video.py \
    --camera CAM_FRONT_LEFT  # 前左相机
    # 可选: CAM_FRONT, CAM_FRONT_LEFT, CAM_FRONT_RIGHT, 
    #       CAM_BACK, CAM_BACK_LEFT, CAM_BACK_RIGHT

📊 性能指标查看

推理完成后,检查日志中的性能指标:

# 查看分割指标
grep "mIoU" eval_epoch19_success.log

# 查看检测指标
grep -E "mAP|NDS" eval_epoch19_success.log

🎯 当前训练状态

  • 模型epoch_19.pth原始配置
  • 推理进度2991/6019 (约50%)
  • 预计完成时间约2分钟后
  • 总样本数6019

💡 提示

  1. 快速预览:先用 --mode quick --num-samples 5 快速查看几个样本
  2. 磁盘空间:确保有足够空间
    • 图像:每张约 1-2MB
    • 视频:约 500MB-1GB
  3. 内存使用:视频生成时需要约 4-8GB 内存

🐛 问题排查

如果遇到 "File not found"

确保推理已完成并生成了 results_epoch19.pkl

ls -lh results_epoch19.pkl

如果遇到 CUDA OOM

生成视频时使用CPU即可不需要GPU

如果可视化质量不佳

  • 增加图像分辨率(修改脚本中的 figsize
  • 提高视频帧率(--video-fps 2430

📚 下一步

  1. 等待推理完成约2分钟
  2. 🎨 快速可视化查看效果
  3. 📊 分析性能指标
  4. 🎥 生成视频演示
  5. 📈 对比不同epoch的结果

当前状态:推理进行中,完成后即可开始可视化!