【立体视觉】相机成像模型---包含相机畸变

相机的理想成像模型为小孔成像模型,小孔成像模型坐标转换参考上一篇博客:
【计算机立体视觉】世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的关系

相机光学系统实际上会存在存在加工和装配的误差,透镜就并不能满足物和像成相似三角形的关系,所以相机图像平面上实际所成的像与理想成像之间会存在畸变。

畸变属于成像的几何失真,是由于焦平面上不同区域对图像的放大率不同形成的画面扭曲变形的现象,这种变形的程度从画面中心至画面边缘依次递增,主要在画面边缘反映比较明显。

实际的相机成像模型如下图所示:

【立体视觉】相机成像模型---包含相机畸变

相机的畸变模型

针孔模型,只是相机成像的理想状态,由于存在各种镜头的畸变和变形,所以真实的相机要比模型复杂的多。在引入各种非线性的畸变修正之后,就形成复杂的非线性成像模型。镜头的畸变主要分为径向畸变、切向畸变、离心畸变和薄棱镜畸变等。

径向畸变

定义:使像点产生径向位置的偏差。径向畸变又分为正向畸变和负向畸变,正向畸变称为枕形畸变,负向畸变称为桶形畸变;

径向畸变产生的主要原因是镜头径向曲率的不规则变化,它会导致图像的扭曲变形,例如,空间中的一条直线成像到图像平面后发生弯曲,变形成一条曲线。这种畸变的特点是以主点为中心,沿径向移动,离的距离越远,产生的变形量就越大。径向畸变是导致图像畸变的主要因素。

(1)枕形畸变:又称鞍形形变,视野中边缘区域的放大率远大于光轴中心区域的放大率,常用在远摄镜头中;

【立体视觉】相机成像模型---包含相机畸变
(2)桶形畸变,与枕形畸变相反,视野中光轴中心区域的放大率远大于边缘区域的放大率,常出现在广角镜头和鱼眼镜头中;
【立体视觉】相机成像模型---包含相机畸变

特点:由镜头的形状缺陷所造成的畸变,关于相机主光轴对称。

数学模型:

r=k1r3+k2r5+k3r7...

其中,r=ud2+vd2,为像点到中心店的距离;k1,k2,k3...为径向畸变系数。

若令 ud=rsinθ,vd=rcosθ,则上式可写为:

{ur=ud(k1r2+k2r4+k3r6+)vr=vd(k1r2+k2r4+k3r6+)

切向畸变

定义: 由于透镜不是完美地平行于图像平面,所以存在切向畸变。这种畸变使得一些区域看上去比预期的近。

数学模型:

{ut=2p1udvd+p2(r2+2ud2)vt=p1(r2+2vd2)+2p2udvd

p1,p2为切向畸变系数。

薄棱镜畸变

定义:镜头设计缺陷与加工安装误差所造成;

特点:同时引起径向畸变和切向畸变,高价位镜头可以忽略薄棱镜畸变。

数学模型:

{up=s2(ud2+vd2)vp=s1(ud2+vd2)

s1,s2为薄棱镜畸变系数。

总结

相机的总畸变为:

u=△ur+ut+upv=△vr+vt+vp

一般主要畸变是径向畸变和切向畸变,径向畸变考虑前2项或者3项,切向畸变考虑前2项。

故opencv中使用这个5个参数描述摄像机畸变,即:

Distortion coefficients=(k1,k2,p1,p2,k3)

参考:

相机畸变详细推导
相机标定(二)之相机畸变模型