CARLA教程-07-rviz2可视化与调优
07 rviz2 可视化与调优
7.1 rviz2 显示检测结果
启动 rviz2(宿主机或 docker 均可),添加 Image 显示:
- Add -> By topic ->
/carla/hero/rgb/detection_image-> Image。 - 可选再加:
/carla/hero/rgb/image(原图)、/carla/hero/lidar/point_cloud(点云)。
即可看到带框 + ID + 轨迹的画面。
7.2 修改相机分辨率
相机分辨率在 PythonAPI/examples/ros2/stack.json 的 rgb 相机 attributes 里:
1 | "image_size_x": 1920, |
改完重跑 ros2_native.py 才生效(它重新生成相机)。检测节点不用重启(自适应分辨率,框按原图尺寸缩放)。
7.3 ⚠️ rviz2 卡顿优化
CARLA(UE4) 和 rviz2 都吃 GPU,且大图像/点云走 DDS 开销大。卡顿按以下顺序优化:
1. 降低 LiDAR 数据量(最大收益)
stack.json 里 lidar 的 points_per_second 默认 600000(每秒 60 万点,9.6MB/s),降到 1020 万:
1 | "points_per_second": 150000, |
2. rviz2 PointCloud2 设置
- Decay Time 设 0(不累积历史点,只显示当前帧)。
- Style 用
Points,Size 调小。
3. 给 rviz2 让 GPU
UE4 编辑器 Settings -> Engine Scalability Settings -> Low/Medium,降低 CARLA 渲染质量。
4. 大图像传输
- 1080p RGB 单帧 ~6MB,DDS 传输压力大。rviz2 在 docker 里只能走 UDP(不能 SHM),更吃力。
- 必要时相机降到 720p (1280×720),或检测节点把发布的 detection_image 缩小后再发。
7.4 检测/跟踪性能
- rf-DETR TRT 推理每帧几 ms(固定缩到 576×576 推理,与输入分辨率无关)。
- 预处理 resize 是主要可变开销,1080p 比 600×400 略慢。
- 若跟不上相机帧率,节点会丢帧(best-effort QoS),不影响已发的结果。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 TeachCraft Blog!
评论