BEV:针孔相机坐标转换

一 、背景

自动驾驶中经常涉及到不同坐标系之间的坐标转换,在BEV方案中用的比较多的是自车坐标到图像坐标的转换,系统整理了一下坐标转换过程流程。

二 、方法

旋转矩阵计算方法:

translation: 平移参数['x', 'y', 'z']

高阶畸变模型参数:

bash 复制代码
        distortion = torch.tensor(distortion)
        k1 = distortion[:, 0].unsqueeze(-1).to(x.device)
        k2 = distortion[:, 1].unsqueeze(-1).to(x.device)
        k3 = distortion[:, 2].unsqueeze(-1).to(x.device)
        p1 = distortion[:, 3].unsqueeze(-1).to(x.device)
        p2 = distortion[:, 4].unsqueeze(-1).to(x.device)
        k4 = distortion[:, 5].unsqueeze(-1).to(x.device)
        k5 = distortion[:, 6].unsqueeze(-1).to(x.device)
        k6 = distortion[:, 7].unsqueeze(-1).to(x.device)

高阶畸变模型加畸变公式:

bash 复制代码
        r2 = x**2 + y**2
        x_temp = x * (1 + k1 * r2 + k2 * r2**2 + k3 * r2**3) / (1 + k4 * r2 + k5 * r2**2 + k6 * r2**3) + 2 * p1 * x * y + p2 * (r2 + 2 * x**2)
        y_temp = y * (1 + k1 * r2 + k2 * r2**2 + k3 * r2**3) / (1 + k4 * r2 + k5 * r2**2 + k6 * r2**3) + p1 * (r2 + 2 * y**2) + 2 * p2 * x * y
相关推荐
下海fallsea5 小时前
避开欧美红海,深耕中东沙漠:萝卜快跑的差异化出海能走多远?
自动驾驶
m0_6501082416 小时前
VGGT-Long:突破千米级长 RGB 序列单目 3D 重建的极限
自动驾驶·机器人导航·vggt·3d视觉基础模型·千米级单目3d重建·通用模型·分块-对齐-闭环-全局优化
gorgeous(๑>؂<๑)1 天前
【中科院-张启超组-AAAI26】WorldRFT: 用于自动驾驶的带强化微调的潜在世界模型规划
人工智能·机器学习·自动驾驶
yuanmenghao1 天前
自动驾驶中间件iceoryx - 同步与通知机制(二)
开发语言·单片机·中间件·自动驾驶·信息与通信
yuanmenghao1 天前
自动驾驶中间件iceoryx - 同步与通知机制(一)
开发语言·网络·驱动开发·中间件·自动驾驶
yuanmenghao2 天前
CAN系列 — (6) CAN FD 带宽、CPU、中断:工程上是如何一起算的?
网络·驱动开发·单片机·mcu·自动驾驶·信息与通信
小烤箱2 天前
Autoware Universe 感知模块详解 | 第十二节 CUDA 编程基础——CUDA执行模型
自动驾驶·cuda·感知
Hi202402172 天前
如何通过选择正确的畸变模型解决相机标定难题
人工智能·数码相机·计算机视觉·自动驾驶
yuanmenghao2 天前
CAN系列 — (8) 为什么 Radar Object List 不适合“直接走 CAN 信号”
网络·数据结构·单片机·嵌入式硬件·自动驾驶·信息与通信
RockHopper20252 天前
驾驶认知的本质:人类模式 vs 端到端自动驾驶
人工智能·神经网络·机器学习·自动驾驶·具身认知