1、张正友标定算法张正友标定算法及其改进算法及其改进算法组员:1 摄像机标定简介 2 成像变换与摄像机模型、参数 3 张正友标定算法原理 4 程序实现 5 改进型算法(基于三个非共线点的标定方法)1 摄像机标定:求解摄像机参数的过程,建立摄像机图像像素位置与场景点位置之间的关系,其途径是根据摄像机模型,由已知特征点的图像坐标求解摄像机的模型参数。2 摄像机标定的目的:三维重建,就是指从图象出发恢复出空间点三维坐标的过程。1 摄像机标定简介wXwZwYwOO Ou ux xy yv vcXcZcY1O坐标系 三个坐标系:wwwZYX,vu,yx,x,y,zXw,Yw,Zwx,y,zu,vx,yx y
2、Z=0考虑径向失真3 几种标定方法的介绍:1.传统的摄像机标定方法利用已知的景物结构信息,与图片坐标对比,常用到标定块。精度高,过程复杂,需要高精度已知信息。2.主动视觉摄像机标定方法已知摄像机的某些运动信息。可线性求解,鲁棒性高,但大多数场合不能得到摄像机运动信息。3.摄像机自标定方法靠多幅图像之间的关系进行标定,灵活性强,非线性标定,鲁棒性不高。2 成像变换与摄像机模型、参数 图像数字化sincot00dyyvvdxydxxuuddd为 1Ovu,00,vudydx,1O0udydx0vdYdX1100sin/0cot100ddvuuyxvfuffvudyfdxfvu1,1成像模型与参数M
3、tRAm,s二维坐标任意数内参矩阵旋转矩阵平移矩阵三维坐标Tvu,m图像二维坐标世界三维坐标TZYX,M S为深度比例因子,方便计算,可消去。摄像机的内参数矩阵 A摄像机外参数矩阵 R t1100sin/0cot100wwwAvuuczyxvffuffffvuztR11000coscoscossinsinsincoscossincoscossincoscossinsinsincossinsinsinsincoscoscos1000zyxzyxzyx3 张正友方法简述 单应性矩阵H假如世界坐标与摄像机坐标的XY平面重合,即Z=0,有:1101s21321YXtrrAYXtrrrAvu我们假定:则
4、原式可化为:trrA21H MHms这里,矩阵H就是从世界坐标系到图像坐标系的33大小的单应性矩阵。对H再次进行变形,假设h1,h2,h3是H的列向量,有:trrAhhhH21321trrAhhhH2132101133221232221rrrrrrrrr21211111hArhAr021rrT121 rr旋转矩阵R=r1,r2.r3;分别为xyz方向的旋转向量;我们将用上述性质得到求解内置参数矩阵的约束方程。MHms上式中包含XY 两个方程;H为3乘3矩阵,包含一个齐次坐标与8个未知数,要求出H,至少需要8个方程,也就是说,一幅图片至少需要已知的4个点才能求出H。求解内置参数矩阵A0211hA
5、AhTT21211111hArhAr021rrT121 rr212111hAAhhAAhTTTT求出 后,可应用上述的约束矩阵来求解内置参数矩阵A。trrAhhhH21321100000vuAA中有5个未知数,我们需要至少5个方程,也就是说至少需要3幅图片求解。1)(2)()(112202220020200200202200222200223323132322211312111vuvvuvuvvuvuvBBBBBBBBBAABT100000vuA很显然,B是一个对称矩阵,我们假定:TBBBBBBb332313221211我们假定:Tiiiihhhh321设H矩阵中第i列的向量为bvhBhTij
6、jTi 带入到0211hAAhTT中有:解得:333223311322122111jijijijijijijijijiijhhhhhhhhhhhhhhhhhhv212111hAAhhAAhTTTT0211hAAhTT012bvT0)(2211bvvT0)(221112bTvvTv0Vb/)/(/)()/()(213002122122211111111231113120231332122211231113120uvvuvufBfsvuffBsBBBBfBfBBBBBvBBBBBBBBBv 矩阵的解出,相机内参矩阵A也就求解出,从而每张图像的R,t也迎刃而解21113121321211111hAh
7、AhAtrrrhArhAr畸变校正模型)()(2222221yxkyxkxxx)()(2222221yxkyxkyyy)()()(22222210yxkyxkuuuu)()()(22222210yxkyxkvvvvvvuukkyxvvyxvvyxuuyxuu2122202202220220)()()()(由于透镜的中心对称性,所以式中考虑x方向上与y方向上的径向畸变率是相同的dDk 然后,通过线性最小二乘的方法求出径向畸变系数:dDDDkTT1)(程序实现 张正友标定方法流程1.打印一张标定板,然后附加到一个平坦的表面上。2.通过移动相机或者平面拍摄标定板各种角度的图片。3.检测图片中的特征点
8、4.计算5个内部参数和所有的外部参数5.通过最小二乘法先行求解径向畸变系数。6.通过求最小参数值,优化所有的参数改进型算法以上讲述张的方法为基于匹配的方法,它是张在1999年的论文A Flexible New Technique for Camera Calibration提出来的,目前已经得到广泛应用。它至少需要4个已知点来求解每张图片的单应性矩阵H,至少需要3张图片求解内置参数矩阵A。那么能不能以更少的已知匹配点来求解参数呢?张正友等人在2008年的一篇论文Camera Calibration With Three NoncollinearPoints Under Special Moti
9、ons中提出了至少只需要3个已知非共线的点,和2幅图片的方法。基于三个非共线点在特殊运动下的摄像机标定 我们知道至少三点可以确定一个平面,而张正友的标定方法正是基于两个平面的匹配,所以三个非共线点的标定方法理论是可行的。该方法步骤:1 旋转3个非共线点 2 得到中心点O与o坐标 3 根据约束条件建立方程 4 求解内参矩阵K 5 求解外参R,t图像的成像模式:三个非共线点旋转 1.假如我们已知世界坐标中三个非共线的点(A,B,C)和图像坐标中对应的点(a,b,c)坐标。(A,B,C)可以得到一个向量(l1,l2,),如图:该方法求解参数的该方法求解参数的约束方程将从上述约束方程将从上述向量得到。
10、向量得到。旋转轴的选取:1.三个非共线点绕垂直于支持平面的轴旋转180 度2.将非共线点绕某条边转第一种情况:轴L为可以由(A,B,C)所表示的垂直于平面的直线,点O为轴交平面的交点。旋转前为(A(i),B(i),C(i)),旋转后为(A(j),B(j),C(j))对应的图像坐标点为(a(i),b(i),c(i)),(a(j),b(j),c(j))与点o.按图(a)的情况,则o的坐标可表示为:其中因为噪声的影响,图片中三条线不会准确的交于某个点,所以需要用最小二乘法计算。按图(b)的情况,则有:与o的坐标:Zo为比例因子,计算可消去。上式两端分别叉乘a,b,c约束条件:由右图可得:、根据 上式
11、转化:将(8)(9)(10)带入上式有:其中现在只有K内含有5个未知数,所以至少只需要两幅图片即可求出K第二种情况将非共线点绕某条边转:O点坐标可表示为:O坐标可表示为:按第一种情况相同的方法可以得到:其中h1,h2与第一种情况有相同结构。将三式代入约束条件,得到 求解内参矩阵K的方法和张正友的前期方法相同,不再介绍。外参矩阵的求解根据 并且已知K,我们可以得到(A(i),B(i),C(i))用G表示.用(8)(9)(10)或者(16)(17)(18)式代替 得到:m1,m2m3取决于旋转轴的选取。得到外参矩阵:改进算法只需要至少3个非共线点与2幅图片即可求出参数,并且避免了大规模矩阵运算。基于该算法的特点,常用钟表盘与三角形进行标定。实验表明该算法在图片大于6幅图、cos 介于-0.5,0.5时,结果较精准。Thanks