ARTICLE DETAIL

资讯详情

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

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

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.4FOV90°保证共同视野高度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 仿真环境从零搭建跑通完整数据流如果本文对你有帮助欢迎点赞、关注、收藏。遇到问题可以评论区留言交流也欢迎转发给需要的朋友。开源项目地址放在个人主页简介中欢迎前往查看。
返回列表