ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Carla仿真系列:7_BEV + 语义分割融合,一张鸟瞰图看懂整个场景

Carla仿真系列:7_BEV + 语义分割融合,一张鸟瞰图看懂整个场景

第6期做了语义分割,第5期做了BEV拼接,这期把它们融合起来——把语义分割结果投影到BEV鸟瞰图上,让整张图既能看到"哪里是什么",又能看到"在哪里"。

1 为什么要把两者融合

单独使用融合后
BEV:知道位置,不知道是什么位置 + 语义,全都有
分割:知道是什么,是单视角360度鸟瞰 + 像素级语义
信息割裂,要来回切换一张图看懂整个场景

融合后的BEV语义图,直接能看到:路面在哪、车道线在哪、哪些区域可通行、障碍物是什么——这是自动驾驶场景理解的核心能力。

2 整体流程

启动环境(前几期一样) ↓ 发布四路相机图像(TCP桥接) ↓ 语义分割(SegFormer / YOLOPv2) ↓ 分割结果投影到BEV ↓ 融合成360度鸟瞰语义图

第一步到第四步:准备阶段

环境启动、ROS Bridge、TCP图像传输,跟之前一样:

# 终端1-3:启动环境 + Carla + ROS Bridge# 终端4:发布相机图像cd/opt/carla_ws python tcp_bridge/tcp_bridge_server_multi_camera_py2.py# 四路环视

第五步:启动语义BEV

方案一:SegFormer + BEV
cd/opt/carla_ws/sim_workspace/image_seg python image_seg_segformer_bev_online.py

SegFormer 做语义分割,结果投影到 BEV 鸟瞰图。

方案二:YOLOPv2 + BEV
cd/opt/carla_ws/sim_workspace/image_seg python image_seg_yolopv2_bev_online.py

YOLOPv2 是三合一模型(检测+车道线+可行驶区域),投影到BEV后效果更好。

3 实现原理

四路相机图像 ↓ 语义分割模型 每路的分割图(每个像素:路面/车道线/车/人/建筑) ↓ 单应矩阵投影(第5期标定的) 四路分割图 → BEV鸟瞰视角 ↓ 拼接融合 360度BEV语义图

关键:复用第5期标定好的 H 矩阵,把分割结果(不是原始图像)投影到 BEV,融合成一张完整的鸟瞰语义图。

4 实测效果

两个模型都能跑通,整体效果都不是很好,不过只是测试一个通路思路的demo,如果要实现好的效果,可以这样:直接在BEV的图像上进行标注训练模型,这样的效果是最好的。

7_BEV+语义分割的融合

5 下一期

下一期将讲相机和激光点云的融合,如何将激光点云投影到图像上进行显示。

往期回顾

  • Carla仿真系列:6_实时图像语义分割,SegFormer 和 YOLOPv2 实测对比
  • Carla仿真系列:5_Carla 四路相机标定与BEV环视拼接
  • Carla仿真系列:4_在 Carla 的 Tesla 上装 4 路摄像头,并创建网格为环视拼接做准备
  • Carla仿真系列:3_Carla 仿真中跑通 YOLOv8 实时目标检测
  • Carla仿真系列:2_Carla 仿真中批量添加 NPC,让场景动起来
  • Carla仿真系列:1_Carla + ROS 仿真环境从零搭建,跑通完整数据流

如果本文对你有帮助,欢迎点赞、关注、收藏
遇到问题可以评论区留言交流,也欢迎转发给需要的朋友。

返回列表