让机器人“看懂”世界,服务世界!
服务支持

为什么要相机标定?你想知道的都在这!

上传时间:2019-08-26来源:蓝芯科技

计算机视觉的基本任务之一是从相机获取的图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体,而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由相机成像的几何模型决定的,这些几何模型参数就是相机参数。


在大多数条件下,这些参数通过实验与计算才能得到。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。


那么相机成像的几何模型又是什么呢?我们从最简单的针孔相机模型说起,首先我们回想一下,初中物理中的小孔成像实验。


用一个带有小孔的板遮挡在屏幕与物之间,屏幕上就会形成物的倒像,我们把这样的现象叫小孔成像。前后移动中间的板,像的大小也会随之发生变化。


小孔成像的模型其实可以看作是针孔相机模型的基础。


如上图所示,相机坐标系为OC-XC-YC-ZC,OC为相机光心,ZC轴指向相机前方。真实世界中的一个点P,经过小孔OC投影后,落在物理成像平面o'-x-y(也称像平面坐标系)上,称为像点P'。

相机坐标到图像坐标

为了方便描述,我们之后将把针孔相机模型对称翻转过来,如下图所示,从数学的角度,它们是等价的。



假设P在相机坐标系下的坐标为[Xc,Yc, Zc]T,P' 为[x,y]T,焦距为f。根据相似三角形有:

图像坐标系到像素坐标

此时与前面的坐标系变换不同,此时没有旋转变换,但是坐标原点位置不一致,大小不一致,则设计伸缩变换及平移变换。

世界坐标到相机坐标

从世界坐标系变换到相机坐标系属于刚体变换,只需要进行旋转平移,不会发生伸缩变换。

物体之间的坐标系变换都可以表示坐标系的旋转变换加上平移变换,则世界坐标系到相机坐标系的转换关系也是如此。绕着不同的轴旋转不同的角度得到不同的旋转矩阵。如下:

于是可以得到P点在相机坐标系中的坐标:

到此我们已经了解了相机的几何模型,这些几何模型的参数就是相机参数。

镜头畸变

对于径向畸变,由于它们都是随着与中心之间的距离增加而增加,因此可以用一个多项式函数来描述畸变前后的坐标变化:



在上式中,对于畸变较小的图像中心区域,畸变纠正主要是k1 起作用;对于畸变较大的边缘区域,主要是k2 起作用。根据所用镜头,可以适当使用合适的校正系数。
对于切向畸变,可以使用另外的两个参数p1, p2 来进行纠正:



综上,我们一共需要5个畸变参数(k1、k2、k3、p1、p2 )来描述镜头畸变。
针孔相机模型中,只要确定相机参数和畸变参数就可以唯一的确定针孔相机模型, 这个过程就称为「相机标定」。


一旦相机结构固定,包括镜头结构固定,对焦距离固定,我们就可以用这些参数去近似这个相机。相机参数标定结果的精度会直接影响相机工作中产生结果的准确性。因此做好相机标定是后续工作的重要前提。



返回顶部
返回首页