三维视觉中,需要掌握四种坐标系:世界坐标系、相机视角坐标系、NDC坐标系、屏幕坐标系。
世界坐标系(World coordinate system)
物体或者场景在真实世界中的位置。
相机视角坐标系(Camera view coordinate system)
原点在图像平面,z坐标垂直于图像平面。在pytorch3D中,默认x左边为正半轴,y上边为正半轴,z远离相机的方向为正半轴。直接通过旋转矩阵(R)和平移矩阵(T)即可完成世界坐标系和相机视角坐标系的互相转换。
NDC坐标系(NDC coordinate system)
NDC全程为“Normalized Device System”。这是一个标准化坐标系,将物体或者场景的部分放在一个体(Volume)中所构建出的坐标系。在pytorch3D的惯例里,NDC坐标系的xy取值范围都是[-1, 1]。用投影矩阵P即可完成相机视角坐标系到NDC坐标系的变换。
屏幕坐标系(Screen coordinate system)
即像素坐标系。左上角为(0, 0)右下角为(W, H)。
比较如下:
参考:https://pytorch3d.org/docs/cameras
实验:
未完待续