196 lines
4.2 KiB
Markdown
196 lines
4.2 KiB
Markdown
|
|
# BEVFusion 推理结果可视化指南
|
|||
|
|
|
|||
|
|
## 📊 概述
|
|||
|
|
|
|||
|
|
本指南介绍如何可视化 BEVFusion 的推理结果,包括生成图像和视频。
|
|||
|
|
|
|||
|
|
## 🚀 快速开始
|
|||
|
|
|
|||
|
|
### 等待推理完成
|
|||
|
|
|
|||
|
|
首先确保推理已完成:
|
|||
|
|
```bash
|
|||
|
|
# 检查推理进度
|
|||
|
|
tail -f eval_epoch19_success.log
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
当看到 `Done` 或 `6019/6019` 时,推理已完成。
|
|||
|
|
|
|||
|
|
### 方式一:交互式可视化(推荐)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
chmod +x visualize.sh
|
|||
|
|
./visualize.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
然后选择:
|
|||
|
|
- **选项1**:快速可视化10个样本(图像)
|
|||
|
|
- **选项2**:生成完整视频(所有6019个样本)
|
|||
|
|
- **选项3**:同时生成图像和视频
|
|||
|
|
|
|||
|
|
### 方式二:命令行直接调用
|
|||
|
|
|
|||
|
|
#### 1. 快速可视化(10个样本图像)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
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. 生成完整视频
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
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. 生成图像 + 视频
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
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 # 完整视频(如果选择)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## ⚙️ 高级选项
|
|||
|
|
|
|||
|
|
### 自定义样本数量
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
python visualize_results_with_video.py \
|
|||
|
|
--mode quick \
|
|||
|
|
--num-samples 50 # 可视化前50个样本
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 自定义视频帧率
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
python visualize_results_with_video.py \
|
|||
|
|
--mode video \
|
|||
|
|
--video-fps 30 # 30 FPS(更流畅但文件更大)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 选择不同相机
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📊 性能指标查看
|
|||
|
|
|
|||
|
|
推理完成后,检查日志中的性能指标:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 查看分割指标
|
|||
|
|
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`:
|
|||
|
|
```bash
|
|||
|
|
ls -lh results_epoch19.pkl
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 如果遇到 CUDA OOM
|
|||
|
|
生成视频时使用CPU即可(不需要GPU)
|
|||
|
|
|
|||
|
|
### 如果可视化质量不佳
|
|||
|
|
- 增加图像分辨率(修改脚本中的 `figsize`)
|
|||
|
|
- 提高视频帧率(`--video-fps 24` 或 `30`)
|
|||
|
|
|
|||
|
|
## 📚 下一步
|
|||
|
|
|
|||
|
|
1. ✅ 等待推理完成(约2分钟)
|
|||
|
|
2. 🎨 快速可视化查看效果
|
|||
|
|
3. 📊 分析性能指标
|
|||
|
|
4. 🎥 生成视频演示
|
|||
|
|
5. 📈 对比不同epoch的结果
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**当前状态**:推理进行中,完成后即可开始可视化!
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|