您好,欢迎访问三七文档
张正友相机标定方法曲峰2020/2/201相机畸变镜头畸变实际上是光学透镜固有的透视失真的总称枕形畸变:又称鞍形畸变,视野中边缘区域的放大率远大于光轴中心附近区域放大率。常出现在远摄镜头中。桶形畸变:同枕形相反,视野中光轴中心附近区域放大率远大于边缘区域。常出现于广角镜头和鱼眼镜头。线性畸变:光轴同所拍摄的如建筑物类物体的垂平面不正交,则本应相互平行的远端一侧同近端一侧,以不相同的角度汇聚产生畸变。这种畸变本质上是一种透视变换,即在某一特定角度,任何镜头都会产生相似的畸变。枕形畸变桶形畸变线性畸变1针孔模型和透视投影针孔模型:1/f=1/u+1/v透视投影:中心投影法将形体投射到投影面上坐标系•世界坐标系(XwYwZw)用户定义的空间三维坐标系,用来描述三维空间中的物体和相机之间的坐标位置,满足右手法则•摄像机坐标系(XcYcZc)以相机的光心作为原点,Zc轴与光轴重合,并垂直于成像平面,且取摄影方向为正方向,Xc、Yc轴与图像物理坐标系的x,y轴平行,且OcO为摄像机的焦距f•图像坐标系是以图像的左上方为原点,的图像坐标系(uv)(此坐标以像素为单位),这里我们建立了图像物理坐标系(xy)为xoy坐标系(此坐标系以毫米为单位)。一个二维点坐标被表示为,一个三维点被表示为,我们使用去表示通过在矩阵最后面的元素加一个1的向量:和,相机通常都是针孔模型:它的3D点M和它的图像投影点m的关系为:TZYX],,[MTvu],[mTv,1][u,m~TZY]1,,,X[M~MtRAm~],[~sx~二维坐标任意数内参矩阵旋转矩阵平移矩阵三维坐标100000vuA1坐标变换首先从二维坐标变换进行理解00cos'sin'sin'cos'yyxyxyxx00''cossinsincosyxyxyx1''000cossinsincos100yxyxyx矩阵表示齐次坐标01212221rrrr1坐标变换引申到三维空间,第一个阶段:我们依旧从旋转和平移两个步骤来推算从世界坐标系到相机坐标系的坐标变换,1000cossin0sincos),(cos0sin010sin0cos),(cossin0sincos0001),(zRotyRotxRot1坐标变换引申到三维空间,第一个阶段:我们依旧从旋转和平移两个步骤来推算从世界坐标系到相机坐标系的坐标变换01133221232221rrrrrrrrr1'''1000coscoscossinsinsincoscossincoscossincoscossinsinsincossinsinsinsincoscoscos1000zyxzyxzyx321rrrRTtttT),,(3211'''101zyxTRzyxsincot00dyyvvdxydxxuuddd在中的坐标为象素在轴上的物理尺寸为1Ovu,00,vudydx,AffineTransformation:图像数字化U1O0udydx0vCdYdXV1100sin/0cot100ddvuuyxvfuffvu齐次坐标形式:其中dyfdxfvu1,11坐标变换第二个阶段,空间点向像点转化:1010000000011cccczyxffzyx第三个阶段,像点向像素坐标转化:1100)sin*/(10/cot/11u00yxvduddvyxx1100sin/0cot100MtRAm~],[~s11s321ZYXtrrrAvu1101s21321YXtrrAYXtrrrAvu展开Z=0平面我们假定trrA21H11s21YXtrrAvu则原式可化为:MHms~~这里,矩阵H就是从世界坐标系到图像坐标系的3×3大小的单应性矩阵。对H再次进行变形,假设h1,h2,h3是H的列向量,有:trrAhhhH2132101133221232221rrrrrrrrr21211111hArhAr021rrT121rr2单应性矩阵推导0211hAAhTT21211111hArhAr021rrT121rr212111hAAhhAAhTTTT对单应性矩阵H的估算•H就是我们常说的单应性矩阵,在这里描述的是空间中平面三维点和相机平面二维点之间的关系。因为相机平面中点的坐标可以通过图像处理的方式(哈里斯角点,再基于梯度搜索的方式精确控制点位置)获取,而空间平面中三维点可以通过事先做好的棋盘获取。所以也就是说每张图片都可以计算出一个H矩阵。1][323123222113121132121hhhhhhhhhhhtrrAH假设MHms~~13231232221131211hXhshYhXhsvhYhXhsu23222132311312113231hYhXhvvYhvXhhYhXhuuYhuXh1'3231232221131211hhhhhhhhh令0'10000001hvvYvXYXuuYuXYX1)(2)()(112202220020200200202200222200223323132322211312111vuvvuvuvvuvuvBBBBBBBBBAABT100000vuA很显然,B是一个对称矩阵,我们假定:TBBBBBBb3323132212113闭合形解Tiiiihhhh321设H矩阵中第i列的向量为bvhBhTijjTi带入到0211hAAhTT中有:解得:333223311322122111jijijijijijijijijiijhhhhhhhhhhhhhhhhhhv212111hAAhhAAhTTTT0211hAAhTT012bvT0)(2211bvvT0)(221112bTvvTv0Vb•V矩阵是2*6矩阵,也就是说每张照片可建立起两个方程组,6个未知数。根据线性代数知识可知,解6个未知数需至少6个方程组,所以也就是说我们至少需要三张照片才能求解未知数。b矩阵的解出,相机内参矩阵A也就求解出,从而每张图像的R,t也迎刃而解。///)/(//)]([)/()(213002122122211111111231113120231332122211231113120uvvuvufBfsvuffBsBBBBfBfBBBBBvBBBBBBBBBv21113121321211111hAhAhAtrrrhArhAr最大似然估计•以上求解旋转矩阵R的方法是基于最小距离的,不具备物理意义。接下对上面得到结果用最大似然估计来进行优化。•转动标定模板,从不同的角度拍摄棋盘标定模板的n幅图像,设每幅图像都具有相同的标定点,标定点的个数为m,并假设每个标定点的坐标都有独立同分布的噪声,因为初始的参数已经求解,所以我们将每张图像的控制点根据求解的参数重投影回三维空间,最小化与真实值的差异,其实就是建立非线性最小化模型:nimjjiiijMtRAmm11,,,ˆ•其中mij是三维场景中第j个物点在第i幅图像上的像点坐标矢量,Ri是第i幅图像的旋转矩阵,是ti第i幅图像的平移向量,Mj是三维场景中第j个物点的空间坐标,是通过已知初始值得到的像点估计坐标。•的求解是一个经典的非线性优化的问题,使评价函数最小的A,Ri,ti就是这个问题的最优解。可以取第一次得到的线性求解结果作为A、的初始值,解决这类问题的方法很多,在计算机视觉领域里通常使用Levenberg-Marquarat算法进行求解。nimjjiiijMtRAmm11,,,ˆjiiMtRAm,,,ˆjiiMtRAm,,,ˆnitRii1,畸变校正模型])()([2222221yxkyxkxxx])()([2222221yxkyxkyyy])()()[(22222210yxkyxkuuuu])()()[(22222210yxkyxkvvvvvvuukkyxvvyxvvyxuuyxuu2122202202220220))(())(())(())((由于透镜的中心对称性,所以式中考虑x方向上与y方向上的径向畸变率是相同的dDk然后,通过线性最小二乘的方法求出径向畸变系数:dDDDkTT1)(12,ijiijmjiRitiMjkk第个点在第幅图像中的像点第幅图像的旋转矩阵第幅图像的平移向量第个点的空间坐标初始化值利用上面线性求解的结果畸变系数初始值为021211||,,,,,||nmijiijijmmAkkRtM1张正友标定方法流程1.打印一张标定板,然后附加到一个平坦的表面上。2.通过移动相机或者平面拍摄标定板各种角度的图片。3.检测图片中的特征点4.计算5个内部参数和所有的外部参数5.通过最小二乘法先行求解径向畸变系数。6.通过求最小参数值,优化所有的参数谢谢观看
本文标题:张正友相机标定法
链接地址:https://www.777doc.com/doc-3926381 .html