引 言
很多人在做相机标定时,可能大部分只是知道相机标定就是把像素坐标换算成机台的实际坐标,但是具体原理是怎样来的?想必很多人并不清楚,因为现成的视觉软件只需要你输入九对像素坐标点和实际坐标点,现成的视觉软件就会帮你算出来,那为什么要九个点?用十个点或者四个点行不行?或者说要实现相机标定最少需要几个点?
本文主旨就是要把相机标定讲清楚,但是由于篇幅过大,我们把他分成两部分。本文部分主要介绍了工业相机的成像原理及如何推导出工业相机的成像数学模型,以及由于实际相机并非标准的针孔成像,引入可畸变矫正。这是后面做相机标定的基础,有了成像数学模型才能做出对应的相机标定。那相机的投影矩阵是什么?外部参数矩阵是什么?内部参数矩阵是什么?这些与相机标定有没有半毛钱的关系?别急,我们往下看……
相机成像原理
工业相机的成像由成像几何模型确定,即三维空间上的任意一点通过相机映射至图像平面上的映射关系,因此相机的成像过程也常常称为投影几何的变换过程。
相机成像的几何模型,实际上是反映了摄像机光学成像的几何模型,一般将其分为线性模型(经典的针孔成像模型)和非线性模型。非线性模型比较复杂,现在市面上大部分的相机标定基本都是基于线性模型来实现的。针孔成像模型是相机成像几何模型中最简单的模型,它是一种理想的线性投影成像模型。
其实画出成像关系图,如下图,可以看出成像关系就是简单的相似三角形的关系。

图中f是相机的焦距,Z是摄像机镜头光心到物体的距离,X是物体的长度,x是图像平面上物体的像,则它们之间存在如下中心投影关系:

为了使中心投影关系数学表达式更简单些,将上图中的针孔平面和图像平面进行交换位置,将针孔点理解成投影中心,光轴与图像平面的交点称为主点O0,如图下图所示

则上面的中心投影关系表达式可表示成:

至此,一切都蛮很简单的,相机的成像其实就是根据小孔成像做出的相似三角形的关系。原来小学学的相似三角形关系就可以推出相机的中心投影关系表达式,相机标定似乎很简单?下面开始进入数学高能区,慎入……
相机各坐标关系
在摄像机线性的针孔模型下,暂时不考虑摄像机镜头畸变的影响,从数字图像上的点q到三维场景空间的点Q都需要经过三次坐标系转换,涉及到四个坐标系统,如下图所示。这就把图像的像素坐标和实际物体的世界坐标关联起来,这才是相机标定的关键!

图像像素坐标系
通过摄像机获得的图像都是以M×N的像素进行表示,如投影中心关系图所示,O0-uv就是图像像素坐标系,是采用像素为单位来表示像点坐标。如像点q(u,v)表示像点q位于图像上u行v列的像素点上。
图像物理坐标系如投影中心关系图所示,O0-xy就是图像物理坐标系,采用物理单位(通常是mm)表示像点坐标,O0为摄像机光轴与像平面的交点,x轴和y轴分别平行于u轴和v轴。理论上O0应该位于图像的中心,但在实际情况下由于摄像机存在镜头畸变以及成像芯片安装误差会存在一定的偏差。
设O0的像素坐标为(u0,v0),像点q的图像物理坐标为(x,y),假定摄像机芯片经数字离散化后的像素为矩形,其长和宽分别表示dx和dy,则像点q的像素坐标与图像坐标的关系为:

可以表示成如下齐次坐标形式:

如投影中心关系图中的Oc-XcYcZc为摄像机坐标系,其中Oc为摄像机的光心即投影中心,Xc轴和Yc轴分别与图像物理坐标系的x轴和y轴平行,Zc轴与摄像机的光轴重合,垂直于图像平面。OcO0为光心Oc到图像平面的距离,即焦距f。
设空间上的Q点的摄像机坐标系为(Xc,Yc,Zc),则由中心投影关系表达式有

用矩阵形式,可表示成:

如投影中心关系图中的Ow-XwYwZw即为世界坐标系,也称实际坐标系,它主要是用来描述摄像机在三维场景中与某一物体位置关系的坐标系,可以根据场景进行任意选取。
设空间上的Q点的世界坐标系为(Xw,Yw,Zw),则有:

可进一步表示成其次坐标形式,如下:

其中R为3×3的旋转矩阵,T为平移向量,它们是用来表示世界坐标系与摄像机坐标系之间的位置转换关系。
联立上面表达式可得到空间点Q的世界坐标系到其像点q的像素坐标系之间的转换关系:

进一步化简有:



矩阵K则为摄像机的内参数矩阵,其中的参数只与摄像机本身的内部结构有关,包含fu,fv,u0,v0四个参数,[R T]为摄像机的外参数矩阵,s为尺度比例因子,矩阵H为3×4的摄像机投影矩阵。
至此,我们已经得到我们需要标定的两部分,相机的内参数矩阵和外参数矩阵,下次我们就着重将如何确定内参数和外参数矩阵,从而实现相机的标定。是不是感觉看起来也没有很难?接下来我们加上相机畸变模型。
摄像机畸变模型
在实际的工程应用中,摄像机镜头主要存在径向畸变与切向畸变两种形式,径向畸变主要来自于透镜形状,切向畸变来自于摄像机的整个组装过程,由于畸变的存在导致摄像机的成像系统并非理想的针孔成像模型,为此需要对摄像机进行畸变矫正。
径向畸变
由于摄像机镜头的原因,光线在远离透镜中心的地方比靠近透镜中心的地方更加弯曲,即成像芯片中心(光学中心)处畸变比较小,随着越接近边缘,畸变越严重,常用r=0位置周围的泰勒级数展开的前几项来描述,即


通常情况下使用泰勒级数展开的前两项,即k1和k2。对于畸变较大的摄像机,如鱼眼透镜才使用第三项k3。
切向畸变
切向畸变主要是由于透镜制造的缺陷导致透镜本身与成像平面不平行而产生的,可用两个参数p1和p2来描述:

所以,在考虑畸变的模型下,摄像机内部参数多出了5个畸变参数,即k1,k2,p1,p2,k3,这样摄像机内部参数有fu,fv,u0,v0,k1,k2,p1,p2,k3等9个参数需要确定。
总结
以上就是基于相机的针孔模型得出来的中心投影关系,再加上空间点的像素坐标到该点的世界坐标之间的关系,初步得出相机像素坐标到空间坐标的表达关系式,该关系式里面就包含了相机的内外参数矩阵。但是实际相机的成像系统并非标准的针孔模型,为了矫正针孔成像模型,引入了相机畸变参数,分为相机的径向畸变和切向畸变,至此相机的整体标定参数得以表达和确定。
2817

被折叠的 条评论
为什么被折叠?



