2 针孔相机模型
常见的相机标定中,使用的相机多为针孔相机(Pinhole camera),也就是大家熟知的小孔成像理论。将其中涉及的坐标系之间的相互转换抽离出来,即为针孔相机模型的核心。
上图所示的模型即为针孔相机模型,当然现在有很多资料对其进行阐述,我这里挑选另一种便于理解的表达方法。这里为了方便阐述,将像平面和物方点置于光学中心的一侧(实际中光学中心位于像平面和物方点之间)。首先,让我们看一下其中的符号:
符号 |
含义 |
C |
相机的光学中心(optical center)或者称为摄影中心 |
o |
像主点(principal point),是指相机主光轴与像平面之间的交点,位于相片中心附近位置,用像素坐标表示为[u0,v0]T,用毫米单位表示时为[x0,y0]T |
f |
相机主距(focal length),或称相片主距 |
M |
物方点,即被观测的三维点 |
m |
物方点M在像平面上的像点,是光学中心C与物方点M连线与像平面的交点 |
o−uv |
像平面坐标系,二维笛卡尔坐标系 |
C−xyz |
像空间坐标系,三维笛卡尔坐标系,坐标轴x,y分别与像平面坐标系的u,v平行且具有相同的正方向,右手系 |
O−XYZ |
物方空间坐标系,三维笛卡尔坐标系,定义具有随意性,右手系 |
(xi,yi,f) |
像点m在像空间坐标系C−xyz中的坐标 |
(xs,ys,zs) |
物方点M在像空间坐标系C−xyz中的坐标 |
(Xs,Ys,Zs) |
物方点M在物方空间坐标系O−XYZ中的坐标 |
从上述符号的含义中,可以看出光学中心C,像点m和物方点M是在一条直线上,具有共线性(collinear),由此引出摄影测量中,赫赫有名的共线方程( Collinearity equation),横贯整个摄影测量学与平差理论:
x−x0=−f R11(X−X0)+R21(Y−Y0)+R31(Z−Z0)R13(X−X0)+R23(Y−Y0)+R33(Z−Z0)y−y0=−f R12(X−X0)+R22(Y−Y0)+R32(Z−Z0)R13(X−X0)+R23(Y−Y0)+R33(Z−Z0)(1)
其矩阵形式为:
⎡⎣⎢X−X0Y−Y0Z−Z0⎤⎦⎥=λR⎡⎣⎢xy−f⎤⎦⎥(2)
其中λ为尺度系数,同一单位制,且两个坐标系之间不存在缩放的时,λ=1.0。
计算机视觉中,使用增广向量的方式表示点,即m~=[u,v,1]T同样表示点m,M~=[X,Y,Z,1]同样表示点M。(至于为什么增加的一维用1,可参见Richard Hartley et all. Multiple View Geometry in Computer Vision,当增加的一维为0时,通常认为是无穷远处平面Π∞,在像平面上的成像)物方三维点M和相片上投影点m之间的关系被描述为:
sm~=A[R t]M~≡PM~(3)
A=⎡⎣⎢α00γβ0u0v01⎤⎦⎥(4)
P=A[R t](5)
其中,s是任意的尺度系数,(R,t)被称为外参(Extrinsic parameters)分别表示由物方坐标系经过旋转和平移变换到像空间坐标系中。A被称为相机内参矩阵( Intrinsic matrix),矩阵中(u0,v0)表示像主点坐标,α,β分别表示像平面中沿u,v轴方向像素的比例,也就是像素宽高比。γ参数描述的是像平面坐标轴的偏斜程度,假设图像坐标轴之间的夹角为θ,则γ=αcotθ,如果θ=90°,则γ=0。P是一个3×4的矩阵,被称为为投影矩阵,混合了内参和外参而成。
由上陈述就显而易见,整个相机标定的任务就是要获得物方三维物体与对应的二维图像之间的转换模型参数,转换参数也被分为两类:
外参(Extrinsic 或 external parameters):包括相机的定向(orientation或称旋转(rotation))和定位(location或称平移(translation))信息,也就是上文提及的(R,t),其中R是3×3的矩阵,由3个不相关的角元素组成(关于角元素的定义,并不唯一,主要有分别以x,y,z为主轴的转角系统,角元素的表示方法也不唯一,常用的有欧拉角,旋转向量等),t是3×1的向量,含有3个参数。
内参(Intrinsic 或 internal parameters):也就是描述相机特性的参数,(α,β,γ,u0,v0)。
综上,所有的相机标定方法,本质都是在求取内参和外参中所含的11个参数。