【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分别表示旋转矩阵和平移矩阵。

相关推荐
哈__7 小时前
CANN加速3D目标检测推理:点云处理与特征金字塔优化
目标检测·3d·目标跟踪
心疼你的一切12 小时前
三维创世:CANN加速的实时3D内容生成
数据仓库·深度学习·3d·aigc·cann
3DVisionary21 小时前
掌控发动机“心脏”精度:蓝光3D扫描在凸轮轴全尺寸检测中的应用
3d·图形渲染·汽车发动机·精密测量·蓝光3d扫描·凸轮轴检测·形位公差
coder攻城狮1 天前
VTK系列1:在屏幕绘制多边形
c++·3d
PHOSKEY1 天前
3D工业相机如何“读透”每一个字符?快速识别、高精度3D测量
数码相机·3d
CV@CV1 天前
拆解自动驾驶核心架构——感知、决策、控制三层逻辑详解
人工智能·机器学习·自动驾驶
XX風1 天前
7.2 harris 3d
3d
多恩Stone1 天前
【3D-AICG 系列-3】Trellis 2 的O-voxel (下) Material: Volumetric Surface Attributes
人工智能·3d·aigc
多恩Stone1 天前
【3D-AICG 系列-1】Trellis v1 和 Trellis v2 的区别和改进
人工智能·pytorch·python·算法·3d·aigc
三年模拟五年烧烤1 天前
easy-threesdk快速一键搭建threejs3d可视化场景
3d·threejs