摄像头标定原理
-
基本概念
视角 : 视野边界的夹角,即成像范围
图像噪音 : 指的是图像中的杂点干挠。表现为图像中有固定的彩色杂点。
彩色深度 : 反映对色彩的识别能力和成像的色彩表现能力,实际就是A/D转换器的量化精度,是指将信号分成多少个等级。常用色彩位数(bit)表示。彩色深度越高,获得的影像色彩就越艳丽动人。
自动白平衡调整 : (AWB)要求在不同色温环境下,照白色的物体,屏幕中的图像应也是白色的。色温表示光谱成份,光的颜色。色温低表示长波光成分多。当色温改变时,光源中三基色(红、绿、蓝) 的比例会发生变化,需要调节三基色的比例来达到彩色的平衡,这就是白平衡调节的实际。
格式 : raw格式文件本质上是一个没有经过任何图像处理的源文件,它能原原本本地记录相机拍摄的信息, 没有经过图像处理(锐化、色彩对比增强)和压缩而造成的信息丢失,让用户能大幅度进行后期制作,并且无论怎么操作,照片都能无损的恢复到最初状态。相比之下,JPEG格式的数据经过压缩处理,无法完整的保存原图形的所有数据。但存储数据量太大打开速度慢,JPEG就小很多;
JPEG:(joint photographic expert group)静态图像压缩方式。一种有损图像的压缩方式。 压缩比越大,图像质量也就越差。当图像精度要求不高存储空间有限时,可以选择这种格式。目前大 部分数码相机都使用JPEG格式。
光线 : 光沿直线传播,且光路具有可逆性
漫反射 : 投射在粗糙表面上的光向各个方向发射的现象,即虽然入射光线时平行的(如太阳光),当入射到粗糙 的表面时,由于各个点的法线方向不一致,造成发射光线向不同的防线无规则的反射。
实像 : 是由物体的反射光(或光源物体的发射光)经过透镜后的折射光线(实际光线)汇聚而成,可用屏幕承接;
虚像 : 是物体的反射光,经透镜折射后的光线的反向延长线汇聚而成,由于虚像是实际光线所不能达到的,所以 不可用屏幕承接,但由于人眼晶状体相当于透镜,具有对光线的汇聚功能,故人眼也能看见虚像;虚像由于是实际光线的虚拟出来的,因此不需要物理空间位置来呈现它的存在。如放大镜成像:物体在凸透镜的一倍焦距内时,它的反射光经凸透镜折射进入人眼,人眼根据折射光线在视网膜上成像,而根据折射光线反向延长可得到实际物体的虚像,因此相当于是虚像中的物体在人眼中成了像,所以人眼能看见虚像,但其实虚像中的物体本身并不存在,而且虚像在实际物体偏离人眼的另一侧,但人眼依然能看到它; 如 : 放大镜成像,平面镜成像【平面镜成像过程是:物体表面的光线(其实时光源的在该物体上的反射光)在镜面上发生了发射,而反射后的又进入了人眼,人眼中成的是物体在经平面镜时反射成的虚像】
注 : 实像与虚像与人眼看不看得到没有关系,实像和虚像都能被人眼看到;实像与虚像的本质区别是,实际 的光线是否可达,若像由实际的光线可达,则是实像,若像由实际的光线不可达则是虚像;
注 : 在满足物体、光线都具备的条件下,能否成像,取决与小孔成像模型的条件是否满足。如:相机中的凸 透镜,人眼中的晶状体都是一种特殊的小孔成像模型,故都能成像; -
摄像机原理
. 成像原理
i). 小孔成像
由于光沿直线传播,在物与像在孔的两侧,像是上下左右倒立的实像;当空比较小时,物的不同部分发出的光线也达到像的不同部分,即物的不同部分发出的光线不会重叠,像就会 比较清晰。而一旦孔大到一定程度,物的不同部分发出的光线就会发生重叠,像自然就不在清晰了,所以小孔相当于一个分解器,将来自物的不同部分的光线分解了,即在一定程度内,孔只允许物上的每一部分的光线通过小孔仅被传送到像唯一的位置,才能成像。孔的大小是相对于物来说的,物大孔可以大,物小则孔必须小。如果孔的大小及孔与物的距离都一定,那么屏幕 距离孔越远,所成的像的分辨率也就越高,但分辨率的极限是孔的大小,也即是成像的物体上比孔小的细节就无法分辨清楚了。【与摄像机模型相反,摄像机中变的时物与镜头的距离】
ii). 凸透镜成像
成像理论 : 1/f = 1/m +1/n ,f 为焦距, m 为像距,n为物距 可得: 当物距(f,2f)时,像距 >2f, 成倒立放大的像;【投影仪,幻灯机,电影放映机】 当物距 = 2f 时,像距 = 2f, 成倒立等大的像; 当物距 >2f 时,像距(f, 2f),成倒立缩小的像; 【照相机,摄影机】
iii). 摄像机成像的模型
当 物距 >> f 时,有 n = f,此时可以将透镜成像模型近似的用小空成像模型来代替,其物理上相当于薄透镜,它的成像关系是线性的,不考虑透镜的畸变,在大多数场合,这种模型可以满足精度要求,即使用几何线性模型–小孔成像模型来作为摄像机的模型即可;此时在对摄像机进行参数标定时,内参仅需考虑小孔成像模型下的透视投影即离散化过程中的参数及5参数模型即可(可能时4/5/6参数都有可能);线性模型忽略了镜头的畸变过程,只能用于视野较窄的摄像机标定,当镜头畸变较明显,特别是在使用广角镜头时,在远离图像中心处会有较大的畸变,这时线性模型就无法准确的描述成像几何关系,此时需要在线性模型的上在添加畸变矫正过程,变成非线性模型;
iv). 鱼眼相机模型
鱼眼相机的视角较大(可以大于180°),其成像模型有多种,包括【等距投影、等立体角投影模型、正交投影模型、体视投影模型】
. 成像过程
输入光源 -> 镜头 -> 光学图像 -> 图像传感器(CCD或CMOS SERSOR) | V 图片输出 <- DA转换 <- DSP处理器 <- 数字图像 <- AD转换 <- 电信号
被摄物体反射光线,传播到镜头,经镜头聚焦到图像传感器芯片上,它根据光的强弱积聚相应的电荷,经周期性放电,产生表示一幅幅画面的电信号,经过预中放电路放大、AGC自动增益控制,经模数(AD)转换传送到图像数字信号处理IC(即DSP)。同步信号发生器主要产生同步时钟信号(由晶体振荡电路来完成),即产生垂直和水平的扫描驱动信号,到图像处理IC。然后,经数模(DA)转换电路通过输出端子输出一个标准的复合视频信号。这个标准的视频信号同家用的录像机、VCD机、家用摄像机的视频输出是一样的,所以也可以录像或接到电视机上观看。图像数字信号处理主是有SONIX(松翰)和VIMICRO(中星微)等。
图像传感器(SENSOR):是一种半导体芯片,其表面包含有几十万到几百万的光电二极管。光电二极管受到光照射时,就会产生电荷。目前市场上主流摄像头使用的感光元件主要是CCD和CMOS两种。它们的作用相当于传统相机中的底片。CCD的分辨率高,色彩还原逼真,灵敏度高,噪声小,信噪比大,但成本高,生产工艺复杂,功耗高。已经成为百万像素级的数码摄影器材里的主角,用于录像或者图像扫描;CMOS具有集成度高,功耗低(不到CCD的1/3),成本低,但是噪声大,灵敏度低,对光源要求高。但在百万像素内CMOS的感光效果完全可以和CCD媲美,因而摄像头几乎全都采用CMOS作为感光元件。
数字信号处理芯片DSP(DIGITAL SIGNAL PROCESSING)功能:主要是通过一系列复杂的数学算法运算,对数字图像信号参数进行优化处理,并把处理后的信号通过USB等接口传到PC等设备。它可以做些拍照以及回显(JPEG的编解码)、录像以及回放(Video 的编解码)、H.264的编解码、还有很多其他方面的处理,总之是处理数字信号了。可以认为ISP是一类特殊的处理图像信号的DSP。
DSP结构框架: ISP(image signal processor)(镜像信号处理器) 主要是对图像传感器经过ADC处理后的Raw Data进行处理,如进行:AEC(自动曝光控制)、 AGC(自动增益控制)、AWB(自动白平衡)、色彩校正、Gamma校正、祛除坏点、 Auto Black Level、Auto White Level 等等功能的处理。 JPEG encoder(JPEG图像解码器) USB device controller(USB设备控制器)
. 镜头
摄像头的构成主要包括主控芯片、感光芯片、镜头和电源。好的电源也是保证摄像头工作的一个方面。目前五玻镜头是主流。简单的说镜头是由透镜组成,摄像头的镜头一般是由玻璃镜片(glass)或者塑料镜片(plastic)组成的。玻璃镜头能获得比塑料镜头更清晰的影像。这是因为光线穿过普通玻璃镜片通常只有5%~9%的光损失,而塑料镜片的光损失高达11%~20%。有些镜头还采用了多层光学镀膜技术,有效减少了光的折射并过滤杂波,提高了通光率,从而获得更清晰影像。现在很多小厂,为了节约成本、追求高利润,往往减少镜片的数量,或者使用廉价的塑料镜头。虽然这些产品在价格上便宜不少,看上去很有吸引力,但实际的成像效果却实在是令人无法恭维。现在市面上大多数摄像头采用的都是五玻镜头,但是不乏少数商家将塑料镜头说成五玻镜头的。
. 普通摄像头
把三维空间的景物投影到二维空间,这是照相机和我们眼睛共通的基本原理。这种投影就是透视,透视有很多规律,最基本的就是近大远小。我们都知道,近处的景物只是看起来大,而不是真的变大了。所以我们的大脑会自动修正这个认知,你平时用肉眼看世界不会觉得有什么不正常。然而,视角越大,那么近大远小的程度就越大。如果视角超过了人眼的习惯视角,乃至于超出了大脑能自动修正的程度,这样的透视就会让人产生失真感。这就是你所谓的透视失真。
注意:透视和畸变是不同的,透视是客观规律,只要你还是把三维空间投影到平面上,就无论如何都无法避免。而畸变则是成像技术缺陷造成的,人们可以通过技术的进步来努力改善甚至避免。基本上来说,把直线拍摄成斜线是透视,把直线拍摄成曲线是畸变。
虽然人眼的视角接近180度,但大部分属于“眼角余光”,舒适视角大约是中间的55度。一般人出于本能习惯,观察景物主要都会用这60度的舒适视角。对于照相机来说,就没有什么舒适视角了,视角和感光元件尺寸与焦距直接相关。我们经常用等效焦距(也就是感光元件为135底片大小,即36*24mm时的镜头焦距)来衡量视角。焦距越短,视角越大(可以百度搜索一下等效焦距和视角的对应关系的公式和表格)。基本上视角接近人眼舒适视角(55度左右)的镜头称为标准镜头,而视角更大的就是广角镜头,更小的则是远摄镜头。在同等情况下,广角镜头相对长焦距的镜头来说,更难以控制畸变的产生。如果要控制畸变就需要更高端的技术和更高昂的成本。甚至有一些超广角镜头干脆不控制畸变反而强调这种变形,这就是鱼眼镜头。
. 鱼眼摄像头
鱼眼镜头是一种焦距为16mm或更短的并且视角接近或等于180°。 它是一种极端的广角镜头,鱼眼镜头的成像有两种,一种像其他镜头一样,成像充满画面;另一种成像为圆形。无论哪种成像,用鱼眼镜头所摄的像,变形相当厉害,透视汇聚感强烈。 对于典型的胶片格式(感光芯片),鱼眼镜头的焦距是一种典型的15-16毫米,成像结果为全帧鱼眼图像(此时镜头采到的图像部分呈现在感光芯片上);另一种是典型的8-10毫米,成像结果圆形鱼眼图像(此时镜头采集到的图像全部呈现在感光芯片上)。不同的模型所采用的原理是不同的,这对选择图像的校正模型方案非常重要。
-
坐标变换
首先空间中的一点由世界坐标系转换到摄像机坐标系,然后再将其投影到图像坐标系(摄像机的CCD),最后再将图像坐标系上的数据转换到像素坐标系(最后生成的图像)。
齐次坐标 : 使用N+1维坐标来表示N维坐标,例如在2D笛卡尔坐标系中加上额外变量w来形成2D齐次坐标系(x,y)⇒(x,y,w) 齐次坐标具有规模不变性,同一点可以被无数个齐次坐标表达.(x,y,1)⇒(ax,ay,a)齐次坐标转化为笛卡尔坐标可以通过同除最后一项得到.
点的齐次表示 : 对于直线l=(a,b,c)T上的一点(x, y)T,有ax+by+c=0,写成向量内积的形式为(x, y,1) (a,b,c)T = 0。其中(x, y,1)T就是点(x, y)T的齐次向量表示形式。点的任意齐次向量表示为(x1, x2, x3)T ,代表平面R2上的一点(x1/x3, x2/x3 )T,其中前者为该点的齐次坐标,后者为非齐次坐标。以齐次向量表示的点也是投影空间P2的元素。【三维坐标点齐次表达类似】
单应性变换 : 单应性变换是对齐次坐标下点的线性变换
投影平面模型 : 二维投影空间P2可以看做三维实数空间R3上的一组射线组成的集合。2D投影几何研究的是投影空间P2在投影变换中的不变属性。
像平面 : 感光芯片确定的平面
光轴 : 经过光心且垂直于像平面的射线成为光轴
光心 : 摄像机镜头的光心(规则凸透镜的物理中心)
主点 : 光轴与像平面的交点p是摄像机的主点。世界坐标系: (Xw,Yw,Zw)
符合右手法则的3维物理坐标系,该坐标系描述环境中任何物体的位置,根据具体情况而定;像机坐标系:(Xc,Yc,Zc)
符合右手法则的3维物理坐标系,是由摄像机镜头所确定的坐标系。以镜头的光心为原点Oc,以光轴为Zc
轴,并垂直于成像平面,取摄影方向为正方向,Xc、Yc轴与图像物理坐标系的x,y轴平行,且OcO为摄
像机的焦距f,以毫米为单位;图像坐标系: 图像物理坐标系 (x,y)
2维物理坐标系,位于感光芯片所确定的平面上,以光轴与平面的交点为原点O,以毫米为单位;像素坐标系: 图像像素坐标系 (u,v)
与图像物理坐标系位于同一个平面,以平面左上角为坐标原点(可以理解为感光芯片的左上角),u v坐标轴
可以是互相垂直(即分别平行于图像坐标系中的xy轴),也可以不行平,以像素为单位; -
相机标定
摄像机标定方法有很多种,根据标定过程是否需要参照物来看,可以将标定方法分为基于标定物的方法和摄像机自标定方法。基于标定物的方法需要借助一个形状。尺寸抑制的标定物,使用图像处理方法,利用数学变换,去求相机模型的内参和外参。基于标定物的方法可以分为:利用非线性最优化算法的标定方法、利用透视变换矩阵的标定方法、基于径向约束的两步法、双平面标定发、张正友标定发等。摄像机自标定方法不依赖于参照物,利用相机在运动过程中图像与图像之间的对应关系对相机的参数进行标定, 常见的摄像机的自标定方法有:基于Kruppa方程的自标定方法、基于主动视觉的自标定方法、分层逐步标定方法、基于二次曲面的自标定方法等;张正友标定法事实上是介于以上两种类型之间的一种标定方法,其思想是利用一块标定板(且令世界坐标Z=0),相机对标定板从不同位置拍摄图像,根据标定板上的几何结构特点,通过线性模型分析求得相机参数的解,该方法鲁棒性灵活性、实用性都很好,是目前被广泛采用的摄像机标定方法;
-
普通摄像机的标定 【内参、外参、畸变矫正】
(1) 外参
. 世界坐标系 ---> 摄像机坐标系 【刚性变换】 刚性变换: 旋转,平移 通过刚性变换可以实现将任意一个坐标系转换到另一个坐标系下; 其中: i). 旋转 包括分别绕 x y z轴进行的旋转,每个旋转变换矩阵为 3X3 矩阵R1,R2,R3 旋转变换操作为 R = R1R2R3,该变换中涉及3个独立的变量,即分别绕x y z轴的旋转角度 量a1,a2,a3 ii).平移 该平移量是一个3X1的矩阵(x0,y0,z0)T
该变换过程中涉及的参数都与摄像机本身无关,故在标定过程中被称为外参,外参共6个。三个坐标轴的旋转参数分别是(w、δ、θ),把每个轴的33旋转矩阵进行组合(矩阵之间相乘),得到集合三个轴旋转信息的R,其大小还是33;T的三个轴的平移参数(Tx、Ty、Tz)。R、T组合成3*4的矩阵,其是转换到标定纸坐标的关键;
(2) 内参
. 摄像机坐标系 ---> 图像坐标系 【透视变换,3D转2D】
投影: 将3维转为2维可通过投影的方法,常用的有正交投影和透视投影,正交投影将用于三维建模,而透视投影和人的视觉系统相似,多用于在二维平面中对三维世界的呈现;
对于普通相机及广角相机(一定角度范围内),采用平面透视投影模型即可满足精度需求,此时采用的是小孔成像的线性模型。当物距 >> 焦距,凸透镜的像平面无限趋近于焦点处,再利用平面透视模型将像平面对称变换到镜头与物体中间,再利用平面透视投影模型(相似三角形定理)计算点投影后的位置;(对于鱼眼镜头,由于视角较大(>=180°),采用球面透视投影模型来进行校正图像是比较合适的,此时的投影过程中,先将所有的点映射到一个单位球面上,得到球面投影图像,再将球面投影图像投影到像平面上即可;)
. 图像坐标系 ---> 像素坐标系 【离散化】 (+【畸变矫正】(如果有))
像素坐标系和图像坐标系都在成像平面上,只是各自的原点和度量单位不一样。图像坐标系的原点为相机光轴与成像平面的交点。图像坐标系的单位是mm,属于物理单位,而像素坐标系的单位是pixel,我们平常描述一个像素点都是几行几列,所以二者需要进行转换;
这些参数是只有相机来决定的,不会因为外界环境而改变,故称为内参。内参共6个 : 1/dx、1/dy、r、u0、v0、f。opencv中的内参是4个,分别为fx、fy、u0、v0。其实opencv中的fx也就是F*Sx,其中F是焦距上面的f,Sx是像素/每毫米也就是上面的1/dx。其中:
i). f 即是相机镜头的焦距; ii). dx和dy表示x方向和y方向的一个像素分别占多少个单位,是反映现实中的图像物理坐标关系与像素坐标系转换的关键,dx,dy一般认为是相同,但也可以不相同; iii). u0,v0代表图像坐标系的原点(光轴与像平面的交点)在像素坐标系中所对应的像素坐标,理论上图像物理坐标系的中心点即(u0,v0)应该在像素坐标系的中心点,但是由于安装精度的问题,通常二者之间会存在一定的偏差; iv). r 为坐标轴倾斜参数,理想情况下为0 注 : 若是涉及三维变换,
(3) 畸变矫正 【内参】
. 径向畸变 : 发生在相机坐标系转图像物理坐标系的过程中,径向畸变的主要原因是镜头径向曲率的不规则变化(凸透镜的固有属性,中间厚边缘薄),它会导致图像的扭曲变形,表现为光线在远离透镜中心的地方比靠近中 心的地方更加弯曲。这种畸变的特点是以主点为中心,沿径向移动,离的距离越远,产生的变形量就越大。径向畸变是导致图像畸变的主要因素,径向畸变主要包含桶形畸变和枕形畸变两种。径向畸变的数学模型可以用主点周围的泰勒级数展开式的前几项进行描述,通常使用前两项,即k1和k2,对于畸变很大的镜头,如鱼眼镜头,可以增加使用后续项k3,k4,k5等来进行描述:
. 切向畸变 : 切向畸变是发生在相机安装过程,其是由于感光元平面跟透镜不平行。这种畸变使得一些区域看上去比预期的近,这种情况多是由于透镜被粘贴到镜头模组上的安装偏差导致,此畸变使用两个参数p1,p2来描述;
. 薄棱镜畸变 :
(4) 标定过程
内参:4/5个 (fx,fy,u0,v0,r, 其中fx = f/dx, fy = f/dy, r为像素坐标系两个坐标轴的 扭曲,对大多数标准相机来说r设为0)
外参:6个 (世界坐标系到摄像机坐标系变换过程中的 旋转角 a1,a2,a3及平移量b1,b2,b3)
畸变:径向畸变: k1,k2,... 切向畸变:p1,p2 (薄透镜畸变,一般不考虑)
标定方法:张正友标定法(Opencv已支持)
i). 角点检测与提取
. 标定板的内角点的世界坐标提取(真实棋盘格行列各减1)(标定板至少有3张不同角度的图片)
. 标定板的角点的图像坐标的提取(为了提高经度,可以讲提取到的像素坐标精度精确到亚像素)
ii). 求单应性变换矩阵
. 在世界坐标系中,令标定板的棋盘平面所在平面为 Z=0,则标定板的棋盘平面到图像平面的变换对应一个单应性变换;
. 对单张图像至少要有4组角点,因为单应性变换矩阵H(齐次矩阵)有8个参数,每组对应角点对应两个方程,故要解的
该张标定板图片的H,至少需要有4组对应角点(每组点是指标定板上的角点的世界坐标及其在图像像素坐标系中对应的
坐标);
iii). 求内参
. 在求得单应性变换矩阵的前提下,求解内参变量;
. 内参有5个,根据外参中旋转矩阵的正交特性,对每张标定棋盘图像获得的单应性变换矩阵,可获得两个约束方程,
因此求解内参至少需要3张标定棋盘图像;
. 为了方便计算通过对一个对称矩阵来求解
iv). 求外参
. 根据已求得的内参,通过透视变换矩阵及单应性变换矩阵,矩阵运算求解外参
. 对不同的棋盘标定图像其外参是不同的
v). 最大似然估计 ??????
. 为了增加标定结果的可靠性,使用最大似然估计来优化标定过程中求得的内参、外参值
. 将每张图像的控制点根据求解的参数重投影回三维空间,最小化与真实值的差异
. 它是利用采集的不同角度的标定棋盘图像中的所有角点,通过LM(莱文贝格-马夸特)方法来进行
非线性的迭代求解,求使;
vi). 畸变矫正
. 径向畸变矫正(2-4参):根据角点组计算
. 切向畸变矫正(2参):根据焦点组计算
vii). 畸变矫正的最大似然估计 ??????
. 方法同求内外参的最大似然估计过程相同
注意事项:
. 棋盘摆放的是否平整(其影响远大于噪声造成的影响)
. 棋盘标定模板图片在一定范围内越多越好,摄像头与棋盘平面的夹角最好在45度以内(角度太大会影响角点提取的像素精度)
. 光线影响很重要,一定要保证有足够的光照亮度
-
鱼眼相机的标定
(1). 对鱼眼相机的参数标定方法有如下几种,
. 一种是可以根据镜头的投影模型进行,包括:
i). 球面投影模型【等距投影、等立体角投影模型、正交投影模型、体视投影模型】,在应用这些模型时, 球面就相当于是平面透视的投影平面,也就是鱼眼镜头的成像面。球面上的所有点在非线性的投影到 鱼眼图像的成像平面上。该类方法需要根据镜头的确切的设计投影模型进行建模,用一个尽可能接近的模型去描述镜头,但前提是镜头需要严格按照设计模型进行精密的加工,较高的工艺要求提高了镜头的成本,限制了镜头的使用范围;
ii). 抛物面成像模型,该成像模型相对比较复杂,与球面成像模型类似,此模型把抛物面作为鱼眼镜头的成像面,但该模型计算比较复杂,如果想要恢复场景深度可以使用该模型来获得精确的结果但该模型计算过于复杂,一般使用较少。
. 一种是一般通用模型,称为多项式逼近模型,三维空间中任意一点投影到图像平面时,通常理解为进行了两次变换,首先是透视变换,然后就是鱼眼镜头的畸变,因此可以通过射影不变性来分析鱼眼镜头的畸变。
方法有:Kannala 等用一个只包含齐次项的多项式来关联r与θ的关系;Ying等用多项式描述镜头的径向失 真和且向失真;Scaramuzzza 提出一种基于泰勒级数模型的全向视觉传感器建模和标定方法,该模型不仅可以用于折反射全向系统,也适用于鱼眼镜头,尽管引入更多的模型参数可以适当提高标定精度,但随之而来的计算代价和求解不稳定性也会带来操作上的困难,但由于其简单实用,因此被普遍采用。这类方法不需要知道镜头的严格工艺模型,具有一定的普适性。. 上述这些方法又可以从2D,3D空间进行鱼眼图像的校正来分类。2D空间的鱼眼校正用不到空间信息,直接在 2D空间进行鱼眼图像的校正,并找出带校正鱼眼图像与校正图像之间的坐标变换关系,最后采用像素差值技术恢复校正图像,方法包括:球面坐标定位法(经度坐标校正法),多项式坐标变换法,射影不变性以及利用极坐标映射法来进行畸变校正;3D 空间进行鱼眼校正的方法包括:投影转换方法(利用透视投影图像成像原理);
(2). Scaramuzza 成像模型
采用鱼眼镜头的通用模型, 即 scaramuzza 提出的泰勒级数模型,成像过程如下:
. 世界坐标系 <---> 相机坐标系 Pm(X,Y,Z) = R*Pw(X,Y,Z) + T 该变换过程同普通相机的成像模型是一个包含【旋转变换+平移变换】的刚性变换过程 . 相机坐标系 <---> 传感器平面坐标系 Pm(X,Y.Z) = Pi(x,y,f(p)), f(p) = a0 + a1p + a2p^2 + a3p^3 + ... + anp^n; 其中 p^2 = x^2 + y^2, 即p为畸变成像点到成像平面中心(光心)的距离;为非线性变换,此处采用一个 泰勒多项式来逼近鱼眼镜头的一般化模型; . 传感器平面坐标系 <---> 像平面坐标系 (u,v) = (c d) (x,y) + (xc, yc) (e 1) 此处变换为一个仿射变换,(xc, yc)为像平面的中心(实际应该是光心),c,d,e是仿射变换系数;
(3). Scaramuzza 标定过程
(4). NXP-SV3D-Project 标定过程
内参标定
求解鱼眼镜头的内部参数有【畸变,仿射变换,像平面中心】 i). 棋盘标定板模版图像采集 . 标定板至少有3张不同角度的图片,保证能至少求解出三个独立的单应性矩阵 ii). 角点检测与提取 (棋盘格标定板) . 标定板的内角点的世界坐标提取(真实棋盘格行列各减1) iii). 设定泰勒级数的最大幂指数(推荐值:4) iv). 查找像平面中心 v). 对内参进行最大似然估计 . 对上述求出的内参进行优化。通过 LM 方法,对所有的角点求重投影误差的平方和的最小值,求的最优解
外参标定
做预处理计算并未后续的纹理映射产生 “mask” 和 “array” 文件; 该过程仅使用了CPU资源; i). 矩形方格模版的采集 . 每个镜头能看到两个完整的矩形方格 . 尽可能确保镜头位置与矩形方格间相互位置的对称性(可以减小误差) ii). 外参计算 (矩形方格标定板) . 矩形方格标定板中角点提取(对应可检测出16个角点); . 内参已知,利用检测到的角点计算外参,即与真实世界的变换参数(旋转、平移参数); 注: 在进行标定之前,需要将矩形方格的角点坐标存储起来,且每个镜头中的两个矩形方格16个角点,按照方格从左向右,方格为“右上行”序; 注: 每个角点的坐标,没必要按照实际的坐标尺寸进行标注,但是相互之间需要按照合适的比例来进行(如用像素,或毫米刻度等量度); 注: 四个摄像机的模版的角点参数储存值是相同的,这就要求相机及矩形方格之间必须是相互对称的; 在实操步骤中,外参的标定分为5步: 1). 矩形方格模版采集与显示 2). 按照已知的内参构建径向成像模型,对模版图片去除畸变后显示; 3). 在去除畸变后的图像中查找等高线,其与ROI的选取有关; 4). 网格准备,将网格描绘在模版图像上; 5). 图像拼接(为了使计算更快,拼接的结果视图为椭圆)
(5). 渲染过程
使用GPU将每个图像帧在预先准备好的3D网格上进行混合,它将4张输入图像拼接在一张输出图像上并使用GPU进行展示
-
标定与畸变校正
标定过程只是为了获取镜头根据成像模型成像时的变换参数(包括内参和外参)
畸变校正是在已知内外参数的情况下对镜头采集到的图像按照成像模型对产生的畸变进行校正恢复,变成符合人眼方便识别