【转】畸变模型

1 概述

镜头透镜由于制造精度以及组装工艺的偏差会引入畸变,导致原始图像的失真,即图像畸变。
在前一篇文章《机器视觉模型——投影矩阵》中描述了机器视觉系统成像模型,在这个模型里包含了相机内参(与像元尺寸、焦距、像素中心有关)以及相机外参(与相机在世界坐标系的位姿有关),这个模型是一个理想模型,或者说线性模型,没有考虑到镜头透镜产生的畸变所带来的影响。
结合上文成像模型,可以把畸变理解成像点和物点之间的光线是弯曲的,如下图所示。
【转】畸变模型_第1张图片
图中本来应该共线的三个点OO、P_{crt}Pcrt​、Q,现在由于透镜的某种偏差原因而不共线了,P_{crt}Pcrt​被成像在了PP点,很明显,此时的关系不再是前文讨论的矩阵关系了,也就是说,在畸变存在的条件下,用前文的矩阵公式计算出来的结果是不正确的。
所以,在用这个视觉模型矩阵公式前,需要先把产生的畸变消除掉,与前文同样原理,如果透镜畸变能用一个数学模型或者数学公式来表达,我们就可以很方便地消除畸变,我们把这个模型称为“畸变模型”。 

2 透镜的畸变

透镜的畸变主要包括:径向畸变、切向畸变、薄透镜畸变等等,但最显著的是径向畸变和切向畸变,所以我们这个模型里只考虑这两种畸变。同时,图像的畸变是两种畸变的组合,因此把整个畸变分解为径向畸变分量和切向畸变分量。

2.1 径向畸变

径向畸变:就是沿着透镜半径方向分布的畸变,如我们所熟知的鱼眼镜头产生的畸变、枕形畸变、桶形畸变等。

【转】畸变模型_第2张图片

【转】畸变模型_第3张图片
下图为径向畸变的分布,一般越远离中心越严重。
【转】畸变模型_第4张图片
由于这种畸变是从中心沿径向方向向外分布的,我们用r=0处的泰勒级数展开的前几项来近似描述径向畸变,径向畸变前后的坐标关系为
x_{distorted}=x(1+k_1r^2+k_2r^4+k_3r^6)\\ y_{distorted}=y(1+k_1r^2+k_2r^4+k_3r^6)xdistorted​=x(1+k1​r2+k2​r4+k3​r6)ydistorted​=y(1+k1​r2+k2​r4+k3​r6)
式中:
x_{distorted},y_{distorted}xdistorted​,ydistorted​——原畸变图像坐标
x,yx,y——正确坐标(无畸变图像坐标,或校正后坐标)
rr——半径,r^2 =x^2 +y^2r2=x2+y2
k_1,k_2,k_3k1​,k2​,k3​——引入的径向畸变参数

2.2 切向畸变

切向畸变:是由于透镜本身与相机传感器平面(像平面)或图像平面不平行而产生的,这种情况多是由于透镜被粘贴到镜头模组上的安装偏差导致,如下图所示。

【转】畸变模型_第5张图片

【转】畸变模型_第6张图片
随着相机制造工艺的大大提升,这种情况很少出现了,所以很多时候已经可以不考虑切向畸变。
下图为切向畸变的分布
【转】畸变模型_第7张图片
切向畸变可以用两个额外的参数p1和p2来描述
x_{distorted}=x+2p_1xy+p_2(r^2+2x^2)\\ y_{distorted}=y+2p_2xy+p_1(r^2+2y^2)xdistorted​=x+2p1​xy+p2​(r2+2x2)ydistorted​=y+2p2​xy+p1​(r2+2y2)
式中:
x_{distorted},y_{distorted}xdistorted​,ydistorted​——原畸变图像坐标
x,yx,y——正确坐标(无畸变图像坐标,或校正后坐标)
rr——半径,r^2 =x^2 +y^2r2=x2+y2
p_1,p_2p1​,p2​——引入的切向畸变参数

3 机器视觉畸变模型

综上,可以得到机器视觉系统透镜畸变模型如下
畸变径向分量:
x_{distorted}=x(1+k_1r^2+k_2r^4+k_3r^6)\\ y_{distorted}=y(1+k_1r^2+k_2r^4+k_3r^6)\\xdistorted​=x(1+k1​r2+k2​r4+k3​r6)ydistorted​=y(1+k1​r2+k2​r4+k3​r6)
畸变切向分量:
x_{distorted}=x+2p_1xy+p_2(r^2+2x^2)\\ y_{distorted}=y+2p_2xy+p_1(r^2+2y^2)xdistorted​=x+2p1​xy+p2​(r2+2x2)ydistorted​=y+2p2​xy+p1​(r2+2y2)
其中包含了5个畸变参数:k_1,k_2,k_3,p_1,p_2k1​,k2​,k3​,p1​,p2​。
对于一个给定的镜头成像系统,这5个畸变参数怎么获得?这就涉及到“相机标定”,即需要根据一系列已知的若干对原成像点与畸变成像点的坐标值,带入以上公式来解出,具体的限于篇幅这里不详细讨论。

你可能感兴趣的:(人工智能,计算机视觉)