相机标定

1、齐次坐标

齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指一个用于投影几何里的坐标系统,如同用于欧式几何里的笛卡尔坐标一般。齐次坐标在仿射变换中非常地方便。

齐次坐标是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射变换。

2、仿射变换

仿射变换是一种二维坐标到二维坐标的线性变换。图像处理中,可应用仿射变换对二维图像进行平移、缩放、旋转等操作。以矩阵表达式来计算这些变换,平移是矩阵相加,旋转和缩放是矩阵相乘。

 

从世界坐标系——相机坐标系 (刚体变换)

刚体变换:三维空间中,当物体不发生形变时,对一个几何物体做旋转、平移的运动,称之为刚体变换。

即我们常说的外参矩阵之所以称之为外参矩阵可以理解为只与相机外部参数有关,且外参矩阵随刚体位置的变化而变化。

 

从相机坐标系——理想图像坐标系(透视变换)

这一过程进行了从三维坐标到二维坐标的转换,也即投影透视过程。

 

理想图像坐标系到实际图像坐标系(考虑畸变)

透镜的畸变主要分为径向畸变和切向畸变,还有薄透镜畸变等等,但都没有径向和切向畸变影响显著,所以我们在这里只考虑径向和切向畸变。

径向畸变是由于透镜的制造工作导致。且越向透镜边缘移动径向畸变越严重。下图所示是径向畸变的两种类型:桶形畸变和枕型畸变。对于径向畸变,我们有三个畸变参数需要求解。(k1,k2,k3)

切向畸变是由于透镜和CMOS或者CCD的安装位置误差导致。因此,如果存在切向畸变,一个矩形被投影到成像平面上时,很可能会变成一个梯形。切向畸变需要两个额外的畸变参数来描述。(p1,p2)

 

单应性变换(Homegraphy)

单应性变换(Homography):在计算机视觉中被定义位一个平面到另一个平面的投影映射。

因为张氏标定是一种基于平面棋盘格的标定,所以想要搞懂张氏标定,首先应该从两个平面的单应性(homography)映射开始着手。同样也可以简单地理解为它用来描述物体在世界坐标系和像素坐标系之间的位置映射关系。对应的变换矩阵称为单应性矩阵。

从单应矩阵的定义式子来看,它同时包含了相机内参和外参。再进一步介绍相机标定知识之前,我们重点来了解一下单应性,这有助于深入理解相机标定。

求解单应矩阵的过程就是求解相机内外参的一个重要步骤,在求解单应矩阵时,直接线性求解通常很难得到最优解,所以实际使用中一般会用其它优化方法,如奇异值分解、LM算法等进行求解。

对于单应矩阵,8自由度的H我们至少需要4对对应的点才能计算出单应矩阵。这也回答了前面图像矫正中提到的为何至少需要4个点对的根本原因。

 

得到了单应矩阵,下一步就是如何求解相机内外参数

我们知道H是内参矩阵和外参矩阵的混合体,而我们想要最终分别获得内参和外参。所以需要想个办法,先把内参求出来,得到内参后,外参也就随之解出了。

如果我们拍摄了n张不同角度的标定图片,因为每张图片我们都可以得到一组(2个)上述的等式,而b中有6个元素是待求得未知数。因此,至少需要保证图片书n>=3,我们从才能解出b。

因此,标定图片需要使用标定板在不同位置、不同角度、不同姿态下拍摄,最少需要3张,以10~20张为宜。

 

posted @ 2019-04-08 15:45  Maurice-code  阅读(294)  评论(0编辑  收藏  举报