当前位置: 首页 > news >正文

Carla仿真系列:10_Carla 双目障碍物测距,视差图还原真实距离

第9期做了单目测距——只有一路相机,靠"推断"距离。这期升级到双目相机——用两个相机模拟人眼的视差,通过三角测量直接算出距离,精度比单目高一个量级。

1 为什么双目能测距

人眼为什么能判断远近?因为两只眼睛看到的角度不同。

左眼看到的角度 ╲ ╲ 物体 右眼看到的角度 ╱ 两眼的角度差 = 视差 物体越近 → 视差越大 物体越远 → 视差越小

双目相机模仿这个原理:两个相机相隔一定距离(基线),同时拍下左右两幅图,通过匹配对应点、计算视差,就能算出距离。

2 双目相机配置

在 Carla 的 Tesla 上添加左右两个相机,通过修改ros_bridge_ws/src/carla-ros-bridge/carla_spawn_objects/config/objects.json文件添加相机模拟真实双目系统:

{"type":"sensor.camera.rgb","id":"rgb_stereo_left","spawn_point":{"x":2.4,"y":0.2,"z":1.0,"roll":0.0,"pitch":0.0,"yaw":0.0},"image_size_x":640,"image_size_y":480,"fov":90.0},{"type":"sensor.camera.rgb","id":"rgb_stereo_right","spawn_point":{"x":2.4,"y":-0.2,"z":1.0,"roll":0.0,"pitch":0.0,"yaw":0.0},"image_size_x":640,"image_size_y":480,"fov":90.0}

关键参数:

参数说明
基线0.4m左右相机X方向距离(y相差0.4)
FOV90°保证共同视野
高度1.0m前挡风玻璃位置

3 双目测距原理

3.1 三角测量公式

距离 Z = (f × B) / d f = 相机焦距(内参) B = 双目基线(0.4m) d = 视差(左右图像对应点的水平差)

物体越近 → 视差d越大 → 距离Z越小(反向关系)

3.2 完整流程

左右相机同时拍摄 ↓ 立体矫正:两幅图像对齐(极线约束) ↓ 立体匹配:找左右图像中的对应点 ↓ 计算视差 d → 视差图 ↓ 深度公式:Z = f·B/d → 深度图 ↓ 反投影 → 3D 点云

3.3 输出结果

输出说明
矫正后的左右图对齐后的立体图像对
视差图每个像素的视差值(颜色越亮=越近)
深度图每个像素的真实距离
3D点云从深度图反投影出三维坐标

4 启动流程

# 终端1-2:启动环境 + Carla UE4# 终端3:启动 ROS Bridge(此时会自动加载双目相机配置)cdcarla_simbashros_bridge.sh# 终端4:双目测距cd/opt/carla_ws/sim_workspace/stereo_distance python stereo_distance_py2.py

运行后可以看到视差图、深度图、矫正后的左右图,以及双目生成的点云。

生成的点云:

5 双目 vs 单目 vs 激光雷达

方案精度成本优点缺点
单目便宜靠推断,误差大
双目中高主动测距,精度不错需要标定、弱纹理匹配差
激光雷达最准

双目的定位:成本适中、精度够用,是"纯视觉方案"里的主流测距方式——很多视觉方案的自动驾驶车都用双目。

10_实现双目障碍物测距

6 下一期

下期主要介绍怎么在carla仿真环境中搭建一个上帝视角可视化监控,整个地图的所有NPC和自车的运动情况实时查看。

7 往期回顾

  • Carla仿真系列:9_Carla 单目障碍物测距,四种方法原理与实测
  • Carla仿真系列:8_相机与激光雷达融合,点云投影到图像
  • Carla仿真系列:7_BEV + 语义分割融合,一张鸟瞰图看懂整个场景
  • 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 仿真环境从零搭建,跑通完整数据流

如果本文对你有帮助,欢迎点赞、关注、收藏
遇到问题可以评论区留言交流,也欢迎转发给需要的朋友。
开源项目地址放在个人主页简介中,欢迎前往查看。

http://www.cnnetsun.cn/news/4206565.html

相关文章:

  • 第18章:FastAPI异步数据库访问与连接池
  • 从被动审核到主动风控:构建下一代视频内容安全体系
  • 简历优化全攻略:提升求职成功率的实用技巧
  • Java全栈开发工程师面试核心要点与实战策略
  • 腾讯云直播音频审核实战:三种开启方式与避坑指南
  • 2026固原工程建筑材料检测排名 TOP5 CMA 资质提供钢材检测、水泥检测、砂石检测 全覆盖联系方式推荐.txt
  • 人形机器人步频与储能技术:核心原理、优化方法与应用场景
  • 构建可落地的LLM测试评估体系:从多维评估到工程实践
  • 米家智能墙壁插座的蓝牙模组接口定义
  • 2026年软件测试面试全攻略:高频考点与实战技巧
  • SolidWorks与ANSYS Workbench协同仿真:水工结构有限元分析全流程指南
  • Fnet 云网安 260824
  • 从NVIDIA AVO满分争议看AI评估:ARC基准、泛化能力与工程实践
  • hive数组巨详细解析
  • Java 21 switch 模式匹配实战:sealed 接口 + record 替代 if-instanceof 链
  • 构建万级QPS多模态AI审核系统:架构设计与工程实践
  • 机器人舞蹈背后的技术:从仿真到运动控制实践指南
  • 五大主流简历模板平台横向测评与选型指南
  • LeetCode刷题指南:提升算法能力与面试准备
  • Windows Docker开发环境搭建:WSL配置、软件安装与防火墙设置详解
  • OmniRoute+VS Code:免费搭建无限AI编程助手,替代Claude Code
  • MLLM引导语义校正:解决文生视频语义漂移的新思路
  • AI编程助手上下文健忘问题解析与Claude Code多Agent解决方案
  • 前端面试系统化备战:Vue/React/Webpack核心突破
  • 软件测试面试全攻略:40道高频题解析与实战技巧
  • 水产养殖超自动化巡检系统:从传感器融合到可信AI决策的实战解析
  • ROS机器人操作系统入门:从核心概念到Python实战Topic与Service通信
  • AI大模型在网络安全漏洞挖掘中的实战应用与部署指南
  • HR 画的饼有多大?入职前,让 AI 帮你看看公司底牌
  • 如何画好一张Pipeline图?从入门到论文级配图的实战指南