Camera Model

来源:互联网 发布:txt电子书软件下载 编辑:程序博客网 时间:2024/05/28 22:12

  • 概述
  • 世界坐标系 到 像素坐标系
    • 世界坐标系 到 相机坐标系
    • 相机坐标系 到 像素坐标系
  • 畸变模型
    • 多项式畸变模型
    • FOV畸变模型
  • Camera Models in SVO
    • ATAN model
    • Pinhole model
    • Ocam model
  • 参考链接

概述

相机将三维世界中的坐标点(单位:米)映射到二维图像平面(单位:像素)的过程能够用一个几何模型来描述,其中最简单的称为针孔相机模型,其框架如下图所示。
pinhole_camera_model

世界坐标系 到 像素坐标系

世界坐标系中三维点M=[X,Y,Z]T 和 像素坐标系中二维点m=[u,v]T的关系为:

sm~=A[Rt]M~


suv1=fx000fy0cxcy1r11r21r31r12r22r32r13r23r33t1t2t3XwYwZw1

其中,s为缩放因子,A为相机的内参矩阵,[Rt]为相机的外参矩阵,m~M~分别为mM对应的齐次坐标。

世界坐标系 到 相机坐标系

XcYcZc=RXwYwZw+t=[Rt]XwYwZw1

相机坐标系 到 像素坐标系

根据三角形相似关系,有

Zcf=Xcx=Ycy

整理,得
x=fXcZcy=fYcZc

像素坐标系和成像平面之间,相差一个缩放和平移
u=αx+cxv=βy+cyu=xdx+cxv=ydy+cy

整理,得
u=αfXcZc+cxv=βfYcZc+cyu=fdxXcZc+cxv=fdyYcZc+cy

其中,
fx=fdxfy=fdydx=WsensorWimagedy=HsensorHimagefnormal_x=fWsensorfnormal_y=fHsensor

fxfy的方式表示为
u=fxXcZc+cxv=fyYcZc+cy

或 以fnormal_xfnormal_y的方式表示为
u=fnormal_xWimageXcZc+cxv=fnormal_yHimageYcZc+cy

其中,

  • f为镜头焦距,单位为米;
  • αβ的单位为像素/米;
  • dxdy为传感器x轴和y轴上单位像素的尺寸大小,单位为米/像素;
  • fxfy为x、y方向的焦距,单位为像素;
  • fnormal_xfnormal_y为x、y方向的归一化焦距;
  • (cx,cy)为主点,图像的中心,单位为像素。

最终,写成矩阵的形式为:

uv1=1Zcfx000fy0cxcy1XcYcZc

按照传统的习惯将Zc移到左侧
Zcuv1=fx000fy0cxcy1XcYcZc

畸变模型

多项式畸变模型

透镜的畸变主要分为径向畸变和切向畸变。
径向畸变是由于透镜形状的制造工艺导致,且越向透镜边缘移动径向畸变越严重,实际情况中我们常用r=0处的泰勒级数展开的前几项来近似描述径向畸变,矫正径向畸变前后的坐标关系为:

xdistorted=x(1+k1r2+k2r4+k3r6)ydistorted=y(1+k1r2+k2r4+k3r6)

切向畸变是由于透镜和CMOS或者CCD的安装位置误差导致,切向畸变需要两个额外的畸变参数来描述,矫正前后的坐标关系为:
xdistorted=x+2p1xy+p2(r2+2x2)ydistorted=y+2p2xy+p1(r2+2y2)

联合上式,整理得
xdistorted=x(1+k1r2+k2r4+k3r6)+2p1xy+p2(r2+2x2)ydistorted=y(1+k1r2+k2r4+k3r6)+2p2xy+p1(r2+2y2)

其中,r2=x2+y2
综上,我们一共需要5个畸变参数(k1,k2,k3,p1,p2)来描述透镜畸变。

FOV畸变模型

rd=1ωarctan(2rutan(ω2))

其中,ru2=x2+y2ω为FOV畸变参数。
使用下式应用该畸变模型:
xdistorted=rurdxydistorted=rurdy

参考:Straight lines have to be straight: automatic calibration and removal of distortion from scenes of structured enviroments

Camera Models in SVO

ATAN model

Pinhole model

Ocam model

Ref: Camera Calibration in SVO

参考链接

  • 【机器视觉】张氏法相机标定
原创粉丝点击