1、双目视觉系统的定位标定,主讲人: 班 级:指导老师:,2011年毕业设计答辩,contents,课题介绍,双目视觉系统的标定,图像角点的提取,标定算法的研究,基于图像灰度的角点提取,1966年B.Hallert首先考虑畸变,引入最小二乘法,对结果进行优化。,1975年W.Fig建立复杂的成像模型,并用非线性优化求解。,1986年,R.Y.Tsai建立经典的Tsai摄像机模型,提出两部标定法,1999年张正友提出了基于移动模板的摄像机标定法,张正友标定法,能够实现对图像角点的提取,实现对摄像机的标定,界面设计与误差分析,图像中角点的提取,Harris角点提取的特点,A,B,C,D,E,A 计算简
2、单,B 提取的点特征均匀而合理,C 算法稳定,D 它对尺度很敏感,不具有尺 度不变性,E 提取的角点是像素级的,Harris角点提取算法实现,Harris角点提取实验结果,如图,红色+表示的是识别出来的角点。从图中可以看出,图像中的角点全部识别出来,效果较好,Harris角点提取实验结果,图像中局部角点坐标,亚像素级角点提取,图像中某一点(x,y),它的灰度值为是关于x和y的一个二元函数f(x,y)。我们可知一点的梯度值H为fx, fy)。为了计算方便,我们用差分代替微分:fx=f(x+1,y)-f(x,y);fy=f(x,y+1)-f(x,y)。,P不在边缘上,梯度H为0,则H点乘pq向量为
3、0.,P在边缘上,梯度H不为0,但H与pq向量垂直,点乘依然为0,亚像素级角点提取,由于噪声的存在,一般H点乘pq向量不为0,会有误差,调用像素级的角点坐标,设定邻域窗口大小,在点的邻域内求出各点的梯度值,为了使最小,在每个角点邻域内采用优化算法,求出亚像素级的角点坐标,亚像素级角点提取结果,如图,绿色*表示提取的图像中的角点。很显然,效果较像素级角点提取要好。,亚像素级角点提取结果,图像中的局部角点坐标,摄像机的标定,张正友标定法 ,要求摄像机在两个以上不同的方位拍摄一个平面靶标,摄像机和2D平面靶标都可以自由移动。通过线性模型分析就可计算出摄像机参数的优化解,然后用基干最大似然法进行非线性
4、求精。在这个过程中得出考虑镜头畸变的目标函数后就可以求出所需的摄像机内、外部参数,优点,方法简单灵活,具有较好的鲁棒性,不需要昂贵器材,很有实用性,张正友算法的实现,张正友算法,不考虑畸变时参数求解,考虑畸变时参数求解,不考虑畸变时算法的实现,(一),对空间变换矩阵H的求解优,对已求得的H, 进行优化,得到较准确值,通过H矩阵,求出相机的内外参数,空间变换矩阵H,观察右边的坐标系图,空间变换矩阵H,即是世界坐标系中的一个三维物理坐标,投影到二维像平面得到像素坐标,所要经过的变换。,空间变换H矩阵包括,1,2,3,世界坐标系到摄像机坐标系变换M1=R T,摄像机坐标系到图像中物理坐标系的变换M2
5、,图像坐标系中物理坐标系到像素坐标系的变换M3,H= M1*M2* M3= A *M1,根据自己设制的模板,求出一系列三维物理坐标x y 1,根据前面Harris角点提取方法,提取模板上的像素坐标u v 1,列出方程,通过最小二乘法,求出H,为了得到更加精确的值,对H进行优化,得到精确值,已知H矩阵后,求内外参数,我们知道,M1中的旋转矩阵R中的3个列向量满足正交性。,H与R、M2 、M3向量之间存在转换关系,3个列向量都可以用H表示,进而我们可以列出两个方程。再考虑到标定的一系列的角点坐标,我们可以通过最小二乘法,求出内部参数。得到内外参数后,求外部参数就轻而易举了!,考虑畸变时算法实现,(
6、二),此处,我们仅考虑镜头的径向畸变的前面两个系数k1和k2,列出理想的图像坐标与畸变后实际坐标间的对应关系,根据已知的图像中角点坐标和内外参数,通过最小二乘法求出系数K1和K2,通过非线性最小二乘法优化算法,对k1和k2 ,以及以求得的内外参数优化,取得精确值,摄像机标定结果与分析,摄像机标定结果与分析,针对标定的结果,下面我做了个关于焦距的误差计算:,左边摄像机,右边摄像机,误差分析,软件界面的设计,针对选用的摄像机,我通过MATLAB编程软件,编写了一个GUI实验操作界面,便于更好的实验操作和显示,其主要功能如下: 1读入图片,并对图片进行角点提取。 2存储提取角点的坐标,并对其进行标定
7、。 3显示各个角点提取前后的图片,并显示标定结果。,软件操作流程,1,点击读入图像,输入图片的名字、图片的序号、需要标定的图片数,在下面坐标系中将显示图片图像。,2,点击提取角点按钮,等待数秒后,将在一个新的图像窗口中显示经过角点提取的图片,并通过鼠标选择需要标定的角点区域,最后将在下面的第二个坐标系中显示角点提取后的图片。,3,经过多组图片的角点提取得到角点坐标值,然后点击标定按钮,将在界面的右上角显示图片已经过标定,等待显示。,4,最后点击显示结果,将在界面的右上角显示经过标定而得到的摄像机的内部参数,如图所示:,软件界面显示结果,我们可以看到界面下面两幅图:左边是标定模板图片,右边是角点提取后的效果图。右上角显示的是标定后的结果,总结,本文提出的亚像素检测方法,利用角点领域内图像灰度梯度变化与角点到领域内任一点的矢量点乘为零的性质,采用迭代算法,获得了高精度的亚像素角点坐标,实验表明能够满足高精度摄像机标定的需求。,本文采用Levenberg-Marquardt优化方法求精来得到所有参数。实验证明改进的方法的方法优于张正友的基础算法,能够有效地提高最终的标定精度。,Thank You !,