【BEV】3D视觉 PRELIMINARY

这里的知识来自于论文 Delving into the Devils of Bird's-eye-view Perception: A Review, Evaluation and Recipe 的 Appendix B.1

部分来自 这篇文章

从透视图转向鸟瞰图。(Xw、Yw、Zw)、(Xc、Yc、Zc)表示世界World坐标和相机Camera坐标, ( X i 、 Y i ) (X_i、Y_i) (Xi、Yi)、(U、V)表示图像坐标和像素坐标。由于图像坐标系和像素坐标系处于同一平面,故两者之间的差异在于坐标原点的位置和单位。像素坐标系的原点在图像坐标系的左上角,同时像素坐标系的单位为像素。

故两个坐标系之间的变换满足
u = x d x + u 0 , v = y d y + v 0 u=\frac{x}{d_x}+u_0,v=\frac{y}{d_y}+v_0 u=dxx+u0,v=dyy+v0

dx,dy表示像素坐标系中每个像素点的宽和高 ,而图像坐标系原点在像素坐标系中的横纵坐标分别为 u 0 , v 0 u_0, v_0 u0,v0。

从BEV平面上升起一根柱子。P代表柱子上的3D点, P ′ P^{'} P′代表P相应在相机视角上的投影点。

P, P ′ P^{'} P′分别对应于柱上的三维点和摄像机视图上投影的2D点。

给定P的世界坐标和相机的内在参数和外在参数,可以得到 P ′ P^{'} P′的像素坐标。

显式BEV特征构造通常需要基于三维到二维投影对局部图像视图特征进行索引。上图显示BEVFormer的视角转换。一根柱子从BEV平面升起,柱子内的一个三维点被投影到相机视图上。

投影过程涉及到世界World、相机Camera、图像Image和像素Pixel坐标系之间的转换。

从世界坐标到相机坐标的转换是一种刚性变换,只需要平移和旋转(更详细的可以看上面的博客)。

设 P w = [ x w 、 y w 、 z w , 1 ] 、 P c = [ x c 、 y c 、 z c , 1 ] P_w = [x_w、y_w、z_w,1]、P_c = [x_c、y_c、z_c,1] Pw=[xw、yw、zw,1]、Pc=[xc、yc、zc,1]分别为一个三维点P在世界坐标和相机坐标中的同质表示。它们之间的关系可以描述如下:
R,T分别表示旋转矩阵和平移矩阵。

相关推荐
CG_MAGIC1 分钟前
SketchUp新手高频问题全解攻略
3d·云渲染·建模教程·渲云渲染·3d软件
yuanmenghao5 分钟前
车载Linux 系统问题定位方法论与实战系列 - 开篇: 为什么需要一套“系统化”的 Linux 问题定位方法
linux·运维·服务器·数据结构·c++·自动驾驶
gaosushexiangji24 分钟前
基于3D3C-PIV的超音速火焰喷口近场三维速度与涡结构测量实验
数码相机·3d
rit843249929 分钟前
MATLAB利用二维图像生成3D形状的核心方法与实现
计算机视觉·matlab·3d
zl_vslam31 分钟前
SLAM中的非线性优-3D图优化之绝对位姿SE3约束左扰动(十六)
人工智能·算法·计算机视觉·3d
yuanmenghao40 分钟前
车载Linux 系统问题定位方法论与实战系列 - 系统 reset / reboot 问题定位
linux·服务器·数据结构·c++·自动驾驶
m0_6501082415 小时前
Diffusion-Planner:基于扩散模型的自动驾驶灵活引导闭环规划
论文阅读·自动驾驶·扩散模型·联合预测与规划建模·分类器引导机制
小康小小涵1 天前
WSL2安装移植到F盘并集成ubuntu20的ros-noetic
人工智能·机器人·自动驾驶
Hi202402171 天前
使用星图AI算力平台训练PETRV2-BEV模型
人工智能·自动驾驶·gpu·机器视觉·bev·算力平台
学無芷境1 天前
Simulation-Based Segmentation of Blood Vessels in Cerebral 3D OCTA Images
3d