搜档网
当前位置:搜档网 › 张正友相机标定算法解读

张正友相机标定算法解读

张正友相机标定算法解读
张正友相机标定算法解读

张正友相机标定算法解读

一直以来想写篇相机标定方面的东西,最近组会上也要讲标定方面东西,所以顺便写了。无论是OpenCV还是matlab标定箱,都是以张正友棋盘标定算法为核心实现的,这篇PAMI的文章《A Flexible New Technique for Camera Calibration》影响力极大,张正友是浙江大学的机械系出身,貌似现在是微软的终身教授了。我就简单的介绍下算法的核心原理,公式的推理可能有点多。

一基本问题描述:空间平面的三维点与相机平面二维点的映射。

假设空间平面中三维点:(齐次坐标,世界坐标系)。

相机平面二维点:(齐次坐标,相机坐标系)。

那么空间中的点是如何映射到相机平面上去呢?我们用一个等式来表示两

者之间关系:

(1)

注:A为相机内参矩阵,R,t分别为旋转和平移矩阵,s为一个放缩因子标量。

我们把等式(1)再简化下:

(2)

因为张正友算法选取的是平面标定,所以令z=0,所以平移向量只有r1,r2

即可。H就是我们常说的单应性矩阵,在这里描述的是空间中平面三维点和相机平面二维点之间的关系。因为相机平面中点的坐标可以通过图像处理的方式(哈里斯角点,再基于梯度搜索的方式精确控制点位置)获取,而空间平面中三维点可以通过事先做好的棋盘获取。所以也就是说每张图片都可以计算出一个H矩阵。

二内参限制

我们把H矩阵(3*3)写成3个列向量形式,那么我们把H矩阵又可写成:

(3)

注:lamda是个放缩因子标量,也是s的倒数。

那么现在我们要用一个关键性的条件:r1和r2标准正交。

正交:(4)

单位向量(模相等):(5)

这个两个等式是非常优美的,因为它完美的与绝对二次曲线理论联系起来了,这里就不展开了。

三相机内参的求解

我们令:

(6)

我们可知B矩阵是个对称矩阵,所以可以写成一个6维向量形式:

(7)

我们把H矩阵的列向量形式为:

(8)

那么根据等式(8)我们把等式(4)改写成:

(9)

(10)

最后根据内参数限制条件(等式(4)(5)):

(11)

即,(12)

V矩阵是2*6矩阵,也就是说每张照片可建立起两个方程组,6个未知数。根据线性代数知识可知,解6个未知数需至少6个方程组,所以也就是说我们至少需要三张照片就求解未知数。b矩阵的解出,相机内参矩阵A也就求解出,从而每张图像的R,t也就根据等式(1)迎刃而解。

四参数优化

因为初始的参数已经求解,所以我们将每张图像的控制点根据求解的参数重投影回三维空间,最小化与真实值的差异,其实就是建立非线性最小化模型:

(13)

这里用的是Levenberg-Marquardt迭代算法。

至此,整个流程走完,至于相机畸变系数的求解本文也不具体展开了。

计算机视觉测量与导航_张正友法相机标定 _结课实验报告

H a r b i n I n s t i t u t e o f T e c h n o l o g y 计算机视觉测量与导航 实验报告 院系:航天学院 学科:控制科学与工程 姓名:TSX 学号: 任课教师:张永安卢鸿谦 日期:2014.05.13

摘要 人类视觉过程可看成是一个复杂的从感觉到知觉的过程,也就是指三维世界投影得到二维图像,再由二维图像认知三维世界的内容和含义的过程。信号处理理论与计算机出现以后,人们用摄像机等获取环境图像并转换成数字信号,完成对视觉信息的获取和传输过程,用计算机实现对视觉信息的处理、存储和理解等过程,形成了计算机视觉这门新兴学科。其中从二维图像恢复三维物体可见表面的几何结构的工作就叫做三维重建。随着计算机硬件、软件、图像采集、处理技术的迅速发展,三维重建的理论和技术已被广泛应用于航空航天、机器人技术、文字识别、工业检测、军事侦察、地理勘察、现场测量和虚拟植物可视化等领域。相机标定是三维重建必不可少的步骤,它包括对诸如主点坐标、焦距等与相机内部结构有关的内部参数的确定和对相机的旋转、平移这些外部参数的确定。价格低廉的实验器材、简单的实验环境、快捷的标定速度和较高的标定精度是现在相机标定研究追求的几大方向。数码相机的标定就是研究的热点之一。本次报告介绍了基于棋盘格模板标定的基本原理和算法,利用MATLAB的相机标定工具箱,使用张征友算法对相机进行了标定,记录了标定的过程,并给出结果,最后对影响标定精度的因素进行了分析。 关键词:相机标定张正友角点提取内外参

1基于棋盘格标定的基本原理和算法 1.1基础知识 1.1.1射影几何 当描述一张相机拍摄的图像时,由于其长度、角度、平行关系都可能发生变化,因此无法完全用欧氏几何来处理图像,而射影几何却可以,因为在射影几何中,允许存在包括透视投影的更大一类变换,而不仅仅是欧氏几何的平移和旋转。实际上,欧氏几何是射影几何的一个子集。 1.1.2齐次坐标 设欧氏直线上点p的笛卡尔坐标为(x,y)T,如果x1,x2,x3满足x=x1/x2,y =x2/x3,x3≠0,则称三维向量(x1,x2,x3)T为点P的齐次坐标。当x3= 0时,(x1,x2,0)T规定直线上的无穷远点的齐次坐标。 实际上,齐次坐标是用一个n+ 1维向量来表示原本n维的向量。应用齐次坐标的目的是用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系。形的几何变换主要包括平移、旋转、缩放等。以矩阵表达式来计算这些变换时,平移是矩阵相加,旋转和缩放则是矩阵相乘,综合起来可以表示为P’=R*P+T(R为旋转缩放矩阵,T为平移矩阵,P为原向量,P′为变换后的向量)。当n+1维的齐次坐标中第n+1维为0,则表示n维空间的一个无穷远点。

对张正友标定的理解

张正友标定算法解读 一直以来想写篇相机标定方面的东西,最近组会上也要讲标定方面东西,所以顺便写了。无论是OpenCV还是matlab标定箱,都是以张正友棋盘标定算法为核心实现的,这篇PAMI的文章<>影响力极大,张正友是zju的机械系出身,貌似现在是微软的终身教授了,有点牛的。我就简单的介绍下算法的核心原理,公式的推理可能有点多。。。 一基本问题描述:空间平面的三维点与相机平面二维点的映射 假设空间平面中三维点:(齐次坐标,世界坐标系) 相机平面二维点:(齐次坐标,相机坐标系) 那么空间中的点是如何映射到相机平面上去呢?我们用一个等式来表示两者之间关系: (1) 注:A为相机内参矩阵,R,t分别为旋转和平移矩阵,s为一个放缩因子标量。我们把等式(1)再简化下: (2) 因为张正友算法选取的是平面标定,所以令z=0,所以平移向量只有r1,r2即可。H就是我们常说的单应性矩阵,在这里描述的是空间中平面三维点和相机平面二维点之间的关系。因为相机平面中点的坐标可以通过图像处理的方式(哈里斯角点,再基于梯度搜索的方式精确控制点位置)获取,而空间平面中三维点可以通过事先做好的棋盘获取。所以也就是说每张图片都可以计算出一个H矩阵。 二内参限制 我们把H矩阵(3*3)写成3个列向量形式,那么我们把H矩阵又可写成:

(3) 注:lamda是个放缩因子标量,也是s的倒数。 那么现在我们要用一个关键性的条件:r1和r2标准正交。 正交:(4) 单位向量(模相等):(5) 这个两个等式是非常优美的,因为它完美的与绝对二次曲线理论联系起来了,这里就不展开了。 三相机内参的求解 我们令: (6) 我们可知B矩阵是个对称矩阵,所以可以写成一个6维向量形式: (7) 我们把H矩阵的列向量形式为: (8) 那么根据等式(8)我们把等式(4)改写成: (9)

张氏标定法原理及其改进1

张正友算法原理及其改进 由于世界坐标系的位置可以任意选取,我们可以假定世界坐标系和摄像机坐标系重合,故定义模板平面落在世界坐标系的0W Z =平面上。用i r 表示R 的每一列向量,那么对平面上的每一点,有: [][]12312 0111W W W W X u X Y s v A r r r t A r r t Y ?? ?? ?? ?? ??????==?????????????? ?? ?? 这样,在模板平面上的点和它的像点之间建立了一个单应性映射H ,又称单应性矩阵或投影矩阵。如果已知模板点的空间坐标和图像坐标,那么就已知m 和M ,可以求解单应性矩阵H 。)1,,(w w Y X )1,,(v u 因为11W W u X s v H Y ????????=????????????,其中11 121321222331 32 1h h h H h h h h h ?? ??=?????? ,可推出: 111213 21222331321 W W W W W W su h X h Y h sv h X h Y h s h X h Y =++?? =++??=++? 故, 1112133132212223313211W W W W W W W W h X h Y h u h X h Y h X h Y h v h X h Y ++?=?++? ? ++?=?++? 将分母乘到等式左边,即有 3132111213 31 32212223W W W W W W W W uX h uY h u h X h Y h vX h vY h v h X h Y h ++=++??++=++? 又令[]T h h h h h h h h h 3231232221131211 =',则 1 00000 01W W W W W W W W X Y uX uY u h X Y vX vY v --???? '=????--??? ? 多个对应点的方程叠加起来可以看成Sh d '=。利用最小二乘法求解该方程,即1()T T h S S S d -'=,进而得到H 。 摄像机内部参数求解 在求取单应性矩阵后,我们进一步要求得摄像机的内参数。首先令i h 表示H 的每一列向量,需要注意到上述方法求得的H 和真正的单应性矩阵之间可能相差一个比例因子,则H 可写成: [][]1 2 312h h h A r r t λ=

摄像机标定方法综述

摄像机标定方法综述 李 鹏 王军宁 (西安电子科技大学,陕西西安710071) 摘 要:首先介绍了摄像机标定的基本原理以及对摄像机标定方法的分类。通过对最优化标定法、双平面标定法、两步法等传统摄像机方法的具体分析,给出了各种方法的优劣对比;同时对多种自标定方法的研究现状、发展情况以及存在问题进行了探讨。最后给出了发展传统摄像机标定方向、提高摄像机自标定精度的一些参考建议。 关键词:摄像机标定;传统标定;自标定;优化算法;成像模型 中图分类号:T N948.41 文献标识码:A 0 引言 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为摄像机标定[1]。无论是在图像测量或者机器视觉应用中,摄像机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响摄像机工作产生结果的准确性。因此,做好摄像机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在。 1 标定分类 摄像机标定的目的是利用给定物体的参考点坐标(x, y,z)和它的图像坐标(u,v)来确定摄像机内部的几何和光学特性(内部参数)以及摄像机在三维世界中的坐标关系(外部参数)。内部参数包括镜头焦距f,镜头畸变系数(k、s、p),坐标扭曲因子s,图像坐标原点(u0,v0)等参数。外部参数包括摄像机坐标系相对于世界坐标系得旋转矩阵R和平移向量T等参数。 传统摄像机标定的基本方法是,在一定的摄像机模型下,基于特定的实验条件如形状、尺寸已知的参照物,经过对其进行图像处理,利用一系列数学变换和计算方法,求取摄像机模型内部参数和外部参数。另外,由于许多情况下存在经常性调整摄像机的需求,而且设置已知的参照物也不现实,这时就需要一种不依赖参照物的所谓摄像机自标定方法。这种摄像机自标定法是利用了摄像机本身参数之间的约束关系来标定的,与场景和摄像机的运动无关,所以相比较下更为灵活。 总的来说,摄像机标定可以分为两个大类:传统的摄像机标定方法和摄像机自标定法。2 传统的摄像机标定方法 传统的摄像机标定方法按照其算法思路可以分成若干类,包括了利用最优化算法的标定方法,利用摄像机变换矩阵的标定方法,进一步考虑畸变补偿的两步法,双平面方法,改进的张正友标定法以及其他的一些方法等。 2.1 利用最优化算法的标定方法 这一类摄像机标定方法的优点是可以假设摄像机的光学成像模型非常复杂。然而由此带来的问题是:1)摄像机标定的结果取决于摄像机的初始给定值,如果初始值给得不恰当,很难通过优化程序得到正确的结果;2)优化程序非常费时,无法实时地得到结果。 根据参数模型的选取不同,这一类的方法主要以下两种: 1)摄影测量学中的传统方法:Faig在文[2]中提出的方法是这一类技术的典型代表。分析F aig给出的方法,可以看到在他的标定方法中,利用了针孔摄像机模型的共面约束条件,假设摄像机的光学成像模型非常复杂,考虑了摄像机成像过程中的各种因素,精心设计了摄像机成像模型,对于每一幅图像,利用了至少17个参数来描述其与三维物体空间的约束关系,计算量非常大。 2)直接线形变换法:直接线性变换方法是A bde-l A ziz 和Karara首先于1971年提出的[3]。通过求解线性方程的手段就可以求得摄像机模型的参数,这是直接线性变换方法有吸引力之处。然而这种方法完全没有考虑摄像机过程中的非线性畸变问题,为了提高精度,直接线性变换方法进而改进扩充到能包括这些非线性因素,并使用非线性的手段求解。 2.2 利用透视变换矩阵的摄像机标定方法[4] 从摄影测量学中的传统方法可以看出,刻划三维空间坐标系与二维图像坐标系关系的方程一般说来是摄像机内部参数和外部参数的非线性方程。如果忽略摄像机镜头的非 山西电子技术 2007年第4期 综 述 收稿日期:2006-12-18 第一作者 李鹏 男 28岁 硕士研究生

工业相机标定深度解析

工业相机标定深度解析 机器视觉的基本任务之一是从摄像机获取图像信息并计算三维空间中物体的几何信息,以由此重建和识别物体。而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由摄像机成像的几何模型决定的,这些几何模型参数就是摄像机参数。在大多数条件下,这些参数必须通过实验与计算才能得到,这个过程被称为摄像机定标(或称为标定)。标定过程就是确定摄像机的几何和光学参数,以及摄像机相对于世界坐标系的方位。由于标定精度的大小,直接影响着计算机视觉(机器视觉)的精度。因此,只有做好了摄像机标定工作,后续工作才能正常展开,可以说,提高标定精度也是当前科研工作的重要方面。 摄像机通过成像透镜将三维场景投影到摄像机二维像平面上,这个投影可用成像变换(即摄像机成像模型)来描述。摄像机成像模型分为线形模型和非线性模型。针孔成像模型就属于线形摄像机模型,本文就讨论在这种模型下,某空间点与其图像投影点在各种坐标系下的变换关系。 总的来说,摄像机标定可以分为传统的摄像机标定方法和摄像机自标定方法两大类。传统摄像机标定的基本方法是在一定的摄像机模型下,通过对特定标定参照物进行图像处理,并利用一系列数学变换公式计算及优化,来求取摄像机模型内部参数和外部参数。然而,该方法在场景未知和摄像机任意运动的一般情况下,其标定很难实现。20世纪90年代初,Faugeras,Luong,Maybank等人首次提出了摄像机自标定方法。这种自标定法利用摄像机本身参数之间的约束关系来标定,而与场景和摄像机的运动无关,所以更为灵活。 一、传统标定方法 传统的摄像机标定方法按照标定参照物与算法思路可以分成若干类,如基于3D立体靶标的摄像机标定、基于2D平面靶标的摄像机标定、以及基于径向约束的摄像机标定等。维视图像公司的CCAS双目标定系统运用的就是传统标定方法。

张氏标定法

张氏标定法 张正友针对径向畸变问题提出了一个新的求解摄像机内外参数的方法,即张氏标定法,该方法是介于传统标定和自标定之间的一种方法,它只需要摄像机对某个标定板从不同方向拍摄多幅图片,通过标定板上每个特征点和其像平面的像点间的对应关系,即每一幅图像的单应矩阵来进行摄像机的标定,由于该方法模板制作容易,使用方便,成本低,鲁棒性好,准确率高,因此得到了较为广泛的应用【49】。该算法也属于两步法,摄像机和模板可以自由的移动,不需要知道运动参数。本文即采用张氏摄像机标定的方法。 (1) 单应矩阵H 的计算 由前面所述内容可知,根据摄像机针孔成像模型,可以得到下面的等式: []????? ???????=????? ? ??????=???? ??????11][13 21W W W W W W Z Y X t r r r A Z Y X t R A v u s 现在世界坐标系平面置于标定模板所在的平面,即0=W Z 。则上式可变为如下形式: []???? ??????=????? ? ??????=???? ??????110][12 1W W W W Y X t r r A Y X t R A v u s 其中,i r 表示旋转矩阵R 的第i 列向量。令[]T Y X M 1~ =,[]T v u m 1~=,则上式可简写为: M H m s ~~= 其中:[]???? ??????===1][32 31 2322 21 131211321 2 1 h h h h h h h h h h h t r r A H H 即为单应性矩阵。有M H m s ~ ~=式子可以推出: ?? ? ??++=++=++=1 323123222113 1211h X h s h Y h X h sv h Y h X h su 从而推得: ? ? ?++=++++=++232221323113 12113231h Y h X h v vYh vXh h Y h X h u uYh uXh 令: []323123 22211312 11'h h h h h h h h h = 则:

相机标定实验报告

相机标定 一、实验原理 相机标定就是求解相机的内参数以及畸变参数的过程。 相机的标定主要有两种:传统的摄像头标定方法和摄像头自标定方法,典型的有:(1)Tsai(传统的标定方法);(2)张正友(介于传统和自标定之间)。1999年,微软研究院的张正友提出了基于移动平面模板的相机标定方法。此方法是介于传统标定方法和自标定方法之间的一种方法,传统标定方法虽然精度高设备有较高的要求,其操作过程也比较繁琐,自标定方法的精度不高,张正友标定算法克服了这两者的缺点同时又兼备二者的优点,因此对办公、家庭的场合使用的桌面视觉系统(DVS)很适合。张正友标定方法由于简单、效果好而得到广泛使用。 张正友标定法的标定步骤: 1、打印一张模板并贴在一个平面上; 2、从不同角度拍摄若干张模板图像; 3、检测出图像中的特征点; 4、求出摄像机的外参数(单应性矩阵)和内参数(最大似然估计); 5、求出畸变系数; 6、优化求精。 张正友标定方法的主要思想是: 1、相机内参矩阵 其中, q的坐标系是默认的OpenCV的像素坐标系,Q的坐标系是标定板坐标系,Z

轴为0,原点在标定板的某个内角点上(标定板上角点的坐标均为[*,*,0]的形式),在OpenCV 3.0中使用的是([i ?Squres_Size ,j ?Square_Size ,0]的形式)。其中fx 和fy 表示相机x 轴和y 轴的焦距,s 表示成像平面x 轴和y 轴的不正交性。 2、基础公式 对于不同位置的棋盘格到相机的成像,可以使用下面的公式进行表示: 其中,[R|t]表示棋盘格坐标系相对于相机坐标系的位姿。把矩阵R 和M ~ 写 开,如下式所示: 进行化简得: 其中[u v 1]是已知量,[X Y 1]也是已知量,A 和[r1 r2 t]是未知量。其中H=A[r1 r2 t]又叫做单应性矩阵,可以使用下面的3中所述的方法求解。 3、单应矩阵求解 这里使用的方法基于最大似然准则:假设提取的m 存在均值为0,噪声协方差矩阵为的高斯白噪声。 则优化目标为 其中 其中i h 是矩阵H 的第i 列,并且假设i i m i M m I ,,2σ=Λ已知,求解上面的非线性优化问题可以使用LM 算法。 初始值求解: 令[] 321,,x =,则M H m s ~~=可以重写为

相关主题