[计算机视觉] 相机成像模型之四个坐标系

世界坐标系、相机坐标系、图像坐标系、像素坐标系

1、四个坐标系简介

​ 世界坐标系:描述相机位置,(Xw,Yw,Zw)

​ 相机坐标系:相机坐标系是连接图像物理坐标系与世界坐标系的桥梁,镜头的光心为原点,(Xc,Yc,Zc),也是投影中心

​ 图像物理坐标系:相机坐标系的Z轴与图像的交点为原点,(x,y)

​ 像素坐标系:图像的左上角为原点,单位pixel,(u,v)

我们可以从拍摄的图片上一个点的坐标,利用相机内参外参,反推出世界中那个点的坐标,进行三维重建。

构建世界坐标系是为了更好的描述相机的位置在哪,在双目视觉中一般将世界坐标系原点定在左相机或者右相机或者baseline的中点。

2、世界坐标系与相机坐标系

​ 属于刚体变换:物体不会发生形变,只需要发生旋转和平移(旋转矩阵R和平移向量T)

[计算机视觉] 相机成像模型之四个坐标系_第1张图片

[计算机视觉] 相机成像模型之四个坐标系_第2张图片

[计算机视觉] 相机成像模型之四个坐标系_第3张图片

3、相机坐标系与图像坐标系

​ 透视投影关系,从3D转换成2D

[计算机视觉] 相机成像模型之四个坐标系_第4张图片)

4、图像坐标系与像素坐标系

​ 确定它们的关系之前,我们可以假设每一个像素在u轴和v轴方向上的物理尺寸为dx和dy,像素坐标系和图像坐标系都在成像平面上,只是各自的原点和度量单位不一样。图像坐标系的原点为相机光轴与成像平面的交点,通常情况下是成像平面的中点或者叫principal point。图像坐标系的单位是mm,属于物理单位,而像素坐标系的单位是pixel,我们平常描述一个像素点都是几行几列。

[计算机视觉] 相机成像模型之四个坐标系_第5张图片

我们也可以用另一种矩阵表示方式:

[计算机视觉] 相机成像模型之四个坐标系_第6张图片

解释:1、dx和dy表示感光芯片上像素的实际大小,是连接像素坐标系和真实尺寸坐标系的,u0和v0是图像平面中心,这些都是我们求的内外参数。

通过上面四个坐标系的转换就可以得到一个点从世界坐标系如何转换到像素坐标系的

[计算机视觉] 相机成像模型之四个坐标系_第7张图片

​ 一个三维中的坐标点,的确可以在图像中找到一个对应的像素点,但是反过来,通过图像中的一个点找到它在三维中对应的点就很成了一个问题,因为我们并不知道等式左边的Zc的值。

Realsense SDK直接能利用相机的内参和深度信息,将图像坐标系下的点还原到相机坐标系下。

相机内参:焦距(fx,fy),成像原点,畸变系数。相机坐标系使用毫米制单位,图像平面使用像素为单位,内参的作用就是在这两个坐标系之间进行线性的变换

dx和dy表示x方向和y方向的一个像素分别占多少个单位,是反映现实中的图像物理坐标关系与像素坐标系转换的关键

u0,v0代表图像的中心像素坐标和图像原点像素坐标之间相差的横向和纵向像素数,u0和v0一般不是正好是图像分辨率的一半,其是有偏差的,一般越好的摄像头则其越接近于分辨率的一半

相机外参:平移矩阵,旋转向量。世界坐标通过旋转平移到相机坐标

MATLAB标定工具箱:标定的像素误差在0.1左右

opencv的StereoClibration标定函数:标定的像素误差在0.4以上

realsense 相机内参结构体 intrinsics

int width; 图片宽度(以像素为单位)

int height; 图片高度(以像素为单位)

float ppx; 图片主点水平坐标,以距左边缘的像素偏移量

float ppy; 图片主点垂直坐标,以距上边缘的像素偏移量

float fx; x方向上以像素为单位的焦距fx = f/dx, fy = f/dy

float fy; y方向上以像素为单位的焦距

rs2_distortion model; 图片畸变模型

float coeffs[5]; 畸变系数

什么是摄像机标定

为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立摄像机成像几何模型,这些几何模型参数就是摄像机参数。求解这些参数的过程称之为摄像机标定。

传统标定方法

  • 线性标定方法:运算速度快,标定精度不高
  • 非线性优化标定方法:标定精度高,模型复杂,计算量过大

仿射变换中的基本变换:平移、旋转、缩放、剪切

  • 绕原点二维旋转

首先明确旋转在二维中是绕着某一点进行旋转,三维中是绕着某一个轴进行旋转。二维中最简单的场景是绕着坐标原点进行旋转

你可能感兴趣的:(计算机视觉)