张正友标定算法及其改进算法组员:•1摄像机标定简介•2成像变换与摄像机模型、参数•3张正友标定算法原理•4程序实现•5改进型算法(基于三个非共线点的标定方法)1摄像机标定:求解摄像机参数的过程,建立摄像机图像像素位置与场景点位置之间的关系,其途径是根据摄像机模型,由已知特征点的图像坐标求解摄像机的模型参数。2摄像机标定的目的:三维重建,就是指从图象出发恢复出空间点三维坐标的过程。1摄像机标定简介世界坐标系wXwZwYwOOu摄像机坐标系xyv图像坐标系cXcZcY1O坐标系•三个坐标系:1、世界坐标系:2、摄像机坐标系:3、图像坐标系:vu,yx,x,y,zXw,Yw,Zwu,vx,yx’y’Z=0考虑径向失真3几种标定方法的介绍:1.传统的摄像机标定方法利用已知的景物结构信息,与图片坐标对比,常用到标定块。精度高,过程复杂,需要高精度已知信息。2.主动视觉摄像机标定方法已知摄像机的某些运动信息。可线性求解,鲁棒性高,但大多数场合不能得到摄像机运动信息。3.摄像机自标定方法靠多幅图像之间的关系进行标定,灵活性强,非线性标定,鲁棒性不高。2成像变换与摄像机模型、参数•图像数字化sincot00dyyvvdxydxxuuddd在中的坐标为象素在轴上的物理尺寸为1Ovu,00,vudydx,AffineTransformation:1O0udydx0vCdYdXV1100sin/0cot100ddvuuyxvfuffvu齐次坐标形式:其中dyfdxfvu1,1成像模型与参数MtRAm~],[~s二维坐标任意数内参矩阵旋转矩阵平移矩阵三维坐标Tvu],[m图像二维坐标世界三维坐标TZYX],,[MS为深度比例因子,方便计算,可消去。摄像机的内参数矩阵A摄像机外参数矩阵[Rt]1100sin/0cot1001'''1000coscoscossinsinsincoscossincoscossincoscossinsinsincossinsinsinsincoscoscos1000zyxzyxzyx3张正友方法简述•单应性矩阵H假如世界坐标与摄像机坐标的XY平面重合,即Z=0,有:1101s21321YXtrrAYXtrrrAvu我们假定:则原式可化为:trrA21HMHms~~这里,矩阵H就是从世界坐标系到图像坐标系的3×3大小的单应性矩阵。对H再次进行变形,假设h1,h2,h3是H的列向量,有:trrAhhhH21321trrAhhhH2132101133221232221rrrrrrrrr21211111hArhAr021rrT121rr旋转矩阵R=[r1,r2.r3];分别为xyz方向的旋转向量;我们将用上述性质得到求解内置参数矩阵的约束方程。MHms~~上式中包含XY两个方程;H为3乘3矩阵,包含一个齐次坐标与8个未知数,要求出H,至少需要8个方程,也就是说,一幅图片至少需要已知的4个点才能求出H。求解内置参数矩阵A0211hAAhTT21211111hArhAr021rrT121rr212111hAAhhAAhTTTT求出后,可应用上述的约束矩阵来求解内置参数矩阵A。trrAhhhH21321100000vuAA中有5个未知数,我们需要至少5个方程,也就是说至少需要3幅图片求解A。1)(2)()(112202220020200200202200222200223323132322211312111vuvvuvuvvuvuvBBBBBBBBBAABT100000vuA很显然,B是一个对称矩阵,我们假定:TBBBBBBb332313221211我们假定:Tiiiihhhh321设H矩阵中第i列的向量为bvhBhTijjTi带入到0211hAAhTT中有:解得:333223311322122111jijijijijijijijijiijhhhhhhhhhhhhhhhhhhv212111hAAhhAAhTTTT0211hAAhTT012bvT0)(2211bvvT0)(221112bTvvTv0Vb///)/(//)]([)/()(213002122122211111111231113120231332122211231113120uvvuvufBfsvuffBsBBBBfBfBBBBBvBBBBBBBBBv•B矩阵的解出,相机内参矩阵A也就求解出,从而每张图像的R,t也迎刃而解21113121321211111hAhAhAtrrrhArhAr畸变校正模型])()([2222221yxkyxkxxx])()([2222221yxkyxkyyy])()()[(22222210yxkyxkuuuu])()()[(22222210yxkyxkvvvvvvuukkyxvvyxvvyxuuyxuu2122202202220220))(())(())(())((由于透镜的中心对称性,所以式中考虑x方向上与y方向上的径向畸变率是相同的dDk然后,通过线性最小二乘的方法求出径向畸变系数:dDDDkTT1)(4程序实现•张正友标定方法流程1.打印一张标定板,然后附加到一个平坦的表面上。2.通过移动相机或者平面拍摄标定板各种角度的图片。3.检测图片中的特征点4.计算5个内部参数和所有的外部参数5.通过最小二乘法先行求解径向畸变系数。6.通过求最小参数值,优化所有的参数5改进型算法以上讲述张的方法为基于匹配的方法,它是张在1999年的论文《AFlexibleNewTechniqueforCameraCalibration》提出来的,目前已经得到广泛应用。它至少需要4个已知点来求解每张图片的单应性矩阵H,至少需要3张图片求解内置参数矩阵A。那么能不能以更少的已知匹配点来求解参数呢?张正友等人在2008年的一篇论文《CameraCalibrationWithThreeNoncollinearPointsUnderSpecialMotions》中提出了至少只需要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,θ),如图:该方法求解参数的约束方程将从上述向量得到。旋转轴的选取: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约束条件:•由右图可得:•、根据上式转化:将(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