• 摄像机模型


    摄像机是三维空间物体与二维图像之间的一种映射。成像模型就是三维空间物体到二维视平面的投影关系。

    针孔模型

    透视投影(Perspective Projection)是最常用的成像模型,可以用针孔成像模型来近似表示。透视投影成像模型的特点是所有来自场景的光线均通过一个投影中心,它对应于透镜的中心,经过投影中心且垂直于图像平面(成像平面)的直线称为投影轴或光轴。

    clip_image002

    中心投影可以非常简单地表示成齐次坐标之间的线性映射。

    Z_c*egin{bmatrix}x\y\1end{bmatrix}=egin{bmatrix}fX_c\fY_c\Z_cend{bmatrix}=egin{bmatrix}f&&0&&0&&0\0&&f&&0&&0\0&&0&&1&&0end{bmatrix}*egin{bmatrix}X_c\Y_c\Z_c\1end{bmatrix}

    [X_c,Y_c,Z_c] 为摄像机坐标系中的物体坐标 [x,y] 是物体投影在图像平面的位置。

    K=egin{bmatrix}f&&0&&0&&0\0&&f&&0&&0\0&&0&&1&&0end{bmatrix}

    则有 x=K*X, 其中K为3*4的摄像机投影矩阵。

    摄像机模型

    针孔模型的X是相对摄像机坐标系而言的,而往往摄像机是不断运动的(位姿在不断变化),空间点的世界坐标系是恒定不变的。摄像机坐标系和世界坐标系可以通过旋转和平移相联系。

    egin{bmatrix}X_c\Y_c\Z_c\1end{bmatrix}=R*(egin{bmatrix}U\V\W\1end{bmatrix}-C)

    R是摄像机相对于世界坐标系的旋转矩阵,C表示位移。令 t=-RC 得:

    Z*egin{bmatrix}x\y\1end{bmatrix}=K*egin{bmatrix}R&&t\0^T&&1end{bmatrix}*egin{bmatrix}U\V\W\1end{bmatrix}

    摄像机模型可表示为:

    P=K*[R|t]=K*egin{bmatrix}R&&t\0^T&&1end{bmatrix}

    x=P*X 此处X是世界坐标系下的位置。

    上述推导的摄像机模型是假定图像坐标在两个轴向上有等尺度的欧式坐标。但CCD摄像机的像素可能不是正方形。如果图像坐标以像素来测量,那么需要在每个方向上引入非等量尺度因子。

    所以:K=egin{bmatrix}alpha_x&&0&&u_0&&0\0&&alpha_y&&v_0&&0\0&&0&&1&&0end{bmatrix}

    其中 alpha_x=f*m_xalpha_y=f*m_y ,m分别表示在x和y方向上图像坐标单位距离的像素数, (u_0,v_0) 表示像素量纲上图像的原点。

    摄像机模型的参数

    x=P*X

    P=K*[R|t]

    K是内参,R和t成为外参。

    R为旋转矩阵

    在三维空间中,旋转可以分解为绕各自坐标轴的二维旋转,如果依次绕x,y,x轴旋转角度

    R_x(alpha)=egin{bmatrix}1&&0&&0\0&&cosalpha&&sinalpha\0&&-sinalpha&&cosalphaend{bmatrix}

    R_y(eta)=egin{bmatrix}coseta&&0&&-sineta\0&&1&&0\sineta&&0&&cosetaend{bmatrix}

    R_z(gamma)=egin{bmatrix}cosgamma&&singamma&&0\-singamma&&cosgamma&&0\0&&0&&1end{bmatrix}

    旋转矩阵R可以表示为 R_x, R_y, R_z 的乘机,因此R=R_x(alpha)*R_y(eta)*R_z(gamma) 

    t为平移向量

    表示摄像机坐标系原点在世界坐标系中的位置。

    内外参数

    P有10个自由度,3个来自R,3个来自t,4个是K中的内参。另外,由于P为3*4的不可逆矩阵,在已知P的情况下,为了得到空间点的三维世界坐标,就必须有两个或更多的相机构成的视觉系统模型才能实现。

  • 相关阅读:
    老李分享:《Linux Shell脚本攻略》 要点(四)
    老李分享:《Linux Shell脚本攻略》 要点(三)
    老李分享:《Linux Shell脚本攻略》 要点(二)
    老李分享:《Linux Shell脚本攻略》 要点(一)
    持续集成:TestNG组织如何测试用例
    Linux安装Redis
    Linux安装JDK
    Redis主从复制
    MySQL主从同步
    Spring 事务
  • 原文地址:https://www.cnblogs.com/houkai/p/6363135.html
Copyright © 2020-2023  润新知