张正友相机二维标定
张正友标定算法原理详解

张正友标定算法原理详解
张正友标定算法是一种多摄像机标定的有效方法,它使用了一个具有内部参考点的3D物体来检测至少6个相互独立的2D-3D配准,从而确定每个摄像机之间的关系。
该算法的优点在于它能够利用棋盘格子上的多个点,从而使得标定更加可靠。
张正友标定算法主要分为三步:
(1)首先获取所有摄像机的内参和外参,这些参数表示每个摄像机的视角和位置,包括焦距、畸变参数和旋转参数等信息。
(2)计算每个摄像机的平面坐标系,这些平面坐标系将求解的不同摄像机之间的关系。
(3)把实际的物体点映射到每个摄像机的平面坐标系中,并计算所有摄像机之间的关系。
最后,张正友标定算法可以得出每个摄像机的位置和姿态,从而实现多摄像机视角的标定。
张正友标定法

小组成员:张文豪 张智宇 陈宇
一、张正友标定法简介
目 二、张正友标定法数学原理 录 三、张正友标定法程序实现
四、标定实验及结果
张正友标定法 简介
像机标定:
建立摄像机图像像素位置与场景点位置 之间的关系,其途径是根据摄像机模型, 由已知特征点的图像坐标求解摄像机的 模型参数。
➢ 张正友标定法是张正友教授于1998年 在名为“A Flexible New Technique for Camera Calibration”一文中提 出的单平面棋盘格的摄像机标定方法。
➢ 透视投影
像平面 光心
f z
x=RX +
r01 r11
r02 r12
X Y
Tx Ty
z r20 r21 r22 Z Tz
[R,T]矩阵被称为外参数
光轴
K=
x f
y
0
1 0
K1K2
0 0 xc
f
0
yc
0 1 zc
u 1/ dx
v
B
K
T
K
1
B21
B22
B23
B31 B32 B33
b [B11, B12 , B22 , B13, B23, B33 ]
化简 hiT Bhj VijTb 得:
Vij [hi1hj1, hi1hj2 hi2hj1, hi2hj2 , hi3hj1 hi1hj3 , hi3hj2 hi2hj3 , hi3hj3 ]T
0
1 0
0 1/ dy
0
u0 x
v0
y
1 1
K矩阵被称为内参数
K1 K2
➢ 单应性映射
张正友相机标定算法

间的关系可以表示如下:
~ k m K[R
~ t] M
fu , K 0
s fv
0 0
uo
vo
(1)
1
针孔相机成像模型
其中,k是任何非零尺度因子,[ R t]表示摄相
机外参数,其中R是3 3的旋转矩阵,t表示从世
界坐标系到相机坐标系的平移向量,K表示摄像 机内参矩阵,其中 (uo, vo) 是主点坐标,fu和 fv分 别表示x轴和y轴方向的尺度因子,s表示关于两 个坐标系的畸变。
张正友相机标定算法
张正友标定算法
于福翔
针孔相机成像模型
摄像机的基本成像模型是针孔模型。它的成像基础是中心投影。三
维空间中的一点 M (X ,Y, Z)T在图像上的投影点
M 点的连线与图像平面的交点。M~ (X ,Y, Z,t)T 和
m~m(x(,xy, ,yt))TT为分光别心表与示
点 M 和 m 的齐次坐标 。在齐次坐标下,三维点 M 和它的投影点m
张算法的内参限制
我们把单应性矩阵H写成3 3 的3个列向量形式,则H也
可写成:
[h1 h2 h3] K[r1 r2
有:r1 K 1 h1
,
r2
K
1
h2
是一个放缩标量因子,也即k的倒数。
由r1和r2标准正交得:
正交: h1T KT K1h2 0
t] (3)
(4)
单位向量: h1T KT K1h1 h2T KT K1h2 (5)
张正友标定算法
我们将(1)式再简化下:
~
~
k m H M 和 H K[r1 r2 t] (2)
张的算法选取的是平面标定,所以令Z=0,所以R只有r1 和r2即可。H就是单应性矩阵。这里描述的是空间三维点 与相机二维点的之间的关系。因为相机平面中的坐标可 以通过图形处理的方式获取,而空间中点的坐标可以通 过事先做好的棋盘获取。所以每张图片可以计算出一个 单应性举证H。
摄像机标定张正友教材

~ ~ sm HM
上式中包含XY 两个方程;H为3乘3矩阵,包 含一个齐次坐标与8个未知数,要求出H,至 少需要8个方程,也就是说,一幅图片至少需 要已知的4个点才能求出H。
求解内置参数矩阵A
r1 r2 1
1
A 1h1 A 1h2
T T 1 h1 A A h2 0
T T 1 T T 1 h1 A A h1 h2 A A h2
精度高,过程复杂,需要高精度已知信息。 2.主动视觉摄像机标定方法 已知摄像机的某些运动信息。可线性求解,鲁棒性高, 但大多数场合不能得到摄像机运动信息。 3.摄像机自标定方法 靠多幅图像之间的关系进行标定,灵活性强,非线性 标定, 鲁棒性不高。
2 成像变换与摄像机模型、参数
• 图像数字化
O1在 u , v 中的坐标为 u 0 , v0 象素在轴上的物理尺寸为 dx, dy
基于三个非共线点在特殊运动下的摄像机标定
• 我们知道至少三点可以确定一个平面,而张正友的标定方 法正是基于两个平面的匹配,所以三个非共线点的标定方 法理论是可行的。 该方法步骤: • 1 旋转3个非共线点 • 2 得到中心点O与o坐标 • 3 根据约束条件建立方程 • 4 求解内参矩阵K • 5 求解外参[R,t] 图像的成像模式:
(v11 v22 )T b 0
T
vij b
T
h A A h2 0
T T 1 h1T AT A1h1 h2 A A h2
v12T b 0 (v11 v 22)T
Vb 0
• B矩阵的解出,相机内参矩阵A也就求解出,从而每张图像的 R,t也迎刃而解
6.通过求最小参数值,优化所有的参数
相机标定实验报告

相机标定一、实验原理相机标定就是求解相机的内参数以及畸变参数的过程。
相机的标定主要有两种:传统的摄像头标定方法和摄像头自标定方法,典型的有:(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,噪声协方差矩阵为的高斯白噪声。
SLAM入门之视觉里程计(6):相机标定张正友经典标定法详解

SLAM ⼊门之视觉⾥程计(6):相机标定张正友经典标定法详解想要从⼆维图像中获取到场景的三维信息,相机的内参数是必须的,在SLAM 中,相机通常是提前标定好的。
张正友于1998年在论⽂:"A Flexible New Technique fro Camera Calibration"提出了基于单平⾯棋盘格的相机标定⽅法。
该⽅法介于传统的标定⽅法和⾃标定⽅法之间,使⽤简单实⽤性强,有以下优点:不需要额外的器材,⼀张打印的棋盘格即可。
标定简单,相机和标定板可以任意放置。
标定的精度⾼。
相机的内参数设P =(X ,Y ,Z )为场景中的⼀点,在针孔相机模型中,其要经过以下⼏个变换,最终变为⼆维图像上的像点p =(µ,ν):1. 将P 从世界坐标系通过刚体变换(旋转和平移)变换到相机坐标系,这个变换过程使⽤的是相机间的相对位姿,也就是相机的外参数。
2. 从相机坐标系,通过透视投影变换到相机的成像平⾯上的像点p =(x ,y )。
3. 将像点p 从成像坐标系,通过缩放和平移变换到像素坐标系上点p =(µ,ν)。
相机将场景中的三维点变换为图像中的⼆维点,也就是各个坐标系变换的组合,可将上⾯的变换过程整理为矩阵相乘的形式:s µν1=α0c x 0βc y1f 0000f 0001R t 0T1X Y Z1=f x 0c x 00f yc y 001Rt 0T1X Y Z1将矩阵K 称为相机的内参数,K =f x0c x 0f yc y 001其中,α,β表⽰图像上单位距离上像素的个数,则f x =αf ,f y =βf 将相机的焦距f 变换为在x,y ⽅向上像素度量表⽰。
另外,为了不失⼀般性,可以在相机的内参矩阵上添加⼀个扭曲参数γ,该参数⽤来表⽰像素坐标系两个坐标轴的扭曲。
则内参数K 变为K =f xγc x 0f yc y 01对于⼤多数标准相机来说,可将扭曲参数γ设为0. Multiple View Geometry in Computer Vision张⽒标定法在上⼀篇博⽂,介绍的单应矩阵表⽰两个平⾯间的映射。
张正友标定法

K2
f
z
K矩阵被称为内参数
单应性映射
X u X Y K [ r r r t ] K [ r r t ]Y s v 1 2 3 1 2 0 1 1 1
单应性(homography): 在计算机视觉中被定义 为一个平面到另一个平面的 投影映射。
Harris角点检测
提取角点坐标
角点坐标检测算法的改进
I. II.
手动框选标定板的四个顶点; 在四边形内根据纵向和横向的方格 个数进行一次均匀分割,解算出初 始角点坐标;
III. 以初始角点为中心,框选出矩形区 域,再在矩形区域内进行Harris角 点检测。
标定实验及结果
标定实验
由于需要拍摄3张以上图像,如果在手机镜头上滴水, 水滴的滑动将影响摄像系统的内参,因此采用在手机 镜头前加一单透镜并保持两者相对位置不变,只改变 标定板的位置进行标定实验。
内外参数求解 令:
B11 B K T K 1 B21 B31 B12 B22 B32 B13 B23 B33
b [B11, B12 , B22 , B13 , B23 , B33 ]
化简
hiT Bhj VijT b
得:
Vij [hi1hj1, hi1hj 2 hi 2hj1, hi 2hj 2 , hi3hj1 hi1hj 3 , hi 3hj 2 hi 2hj 3 , hi 3hj 3 ]T
刚体变换
x=R X +T
x r00 y r 10 z r20 r01 r11 r21 r02 X Tx Y T r12 y r22 Z Tz
双目摄像机标定

1.摄像机标定技术的发展和研究现状计算机视觉的研究目标是使计算机能通过二维图像认知三维环境,并从中获取需要的信息用于重建和识别物体。
真实的3D场景与摄像机所拍摄的2D图像之间有一种映射关系,这种关系是由摄像机的几何模型或者参数决定的。
求解这些参数的过程就称为摄像机标定。
摄像机标定实质上是确定摄像机内外参数的一个过程,其中内部参数的标定是指确定摄像机固有的、与位置参数无关的内部几何与光学参数,包括图像中心坐标、焦距、比例因子和镜头畸变等;而外部参数的标定是指确定摄像机坐标系相对于某一世界坐标系的三维位置和方向关系。
总的来说, 摄像机标定可以分为两个大类: 传统的摄像机标定方法和摄像机自标定法。
传统摄像机标定的基本方法是, 在一定的摄像机模型下, 基于特定的实验条件如形状、尺寸已知的参照物, 经过对其进行图像处理, 利用一系列数学变换和计算方法, 求取摄像机模型内部参数和外部参数。
另外, 由于许多情况下存在经常性调整摄像机的需求, 而且设置已知的参照物也不现实, 这时就需要一种不依赖参照物的所谓摄像机自标定方法。
这种摄像机自标定法是利用了摄像机本身参数之间的约束关系来标定的, 与场景和摄像机的运动无关, 所以相比较下更为灵活。
1966年,B. Hallert研究了相机标定和镜头畸变两个方面的内容,并首次使用了最小二乘方法,得到了精度很高的测量结果。
1975年,学者W. Faig建立的一种较为复杂的相机成像模型,并应用非线性优化算法对其进行精确求解,但是仍存在两个缺点,一是由于加入了优化算法导致速度变慢,二是标定精度对相机模型参数的初始值的选择有严重的依赖性,这两个缺点就导致了该标定方法不适于实时标定。
1986年Faugeras提出基于三维立方体标定物通过拍摄其单幅图像的标定方法,该方法是基于理想线性模型的,标定精度较高,但是对标定立方体的制作和加工的精度要求太高,维护起来困难且并未考虑畸变参数的影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ˆ A, Ri , ti , M j m
是通
ˆ A, Ri , ti , M j 的求解是一个经典的非线性优化的问题,使评价函数最小的A,Ri,ti就是 m
这个问题的最优解。可以取第一次得到的线性求解结果作为A、Ri , ti i 1n的初始值,解决 这类问题的方法很多 ,在计算机视觉领域里通常使用Levenberg-Marquarat(LM)算法进行求 解。
T
v12 b 0
(v11 v22 )T b 0
Vb 0
• V矩阵是2*6矩阵,也就是说每张照片可建立起两个方程组,6个未 知数。根据线性代数知识可知,解6个未知数需至少6个方程组,所 以也就是说我们至少需要三张照片才能求解未知数。b矩阵的解出, 相机内参矩阵A也就求解出,从而每张图像的R,t也迎刃而解。
r r 0
T 1 2
r1 r2 1
对单应性矩阵H的估算
• H就是我们常说的单应性矩阵,在这里描述的是空间中平面三维点
和相机平面二维点之间的关系。因为相机平面中点的坐标可以通过 图像处理的方式(哈里斯角点,再基于梯度搜索的方式精确控制点 位置)获取,而空间平面中三维点可以通过事先做好的棋盘获取。 所以也就是说每张图片都可以计算出一个H矩阵。
~ ~ sm HM
r1 r2 r3 1 r1 r2 r2 r3 r3 r1 0
2 2 2
X t Y 1
我们假定 H Ar1
r2
t 则原式可化为:
这里,矩阵H就是从世界坐标系到图像坐标系的3×3大小的单应性矩阵。 对H再次进行变形,假设h1,h2,h3是H的列向量,有:
uXh31 uYh32 u h11 X h12Y h13 vXh31 vYh32 v h21 X h22Y h23
令
h' h11 h12
X 0 Y 1 0 0 0 X
h13
Y
h21 h22
1 vX
h23
uY vY
h31 h32 1
张正友相机标定方法-二维标定方法
张正友相机标定方法
主要步骤: 1.从不同的角度拍摄图像 2.识别特征点 3.建立单应矩阵H 4.求解线性系统 5.优化 张正友方法所用的平面模板
一个二维点坐标被表示为 m [u, v] ,一个三维点被表示为M [ X , Y , Z ]T T ~ [u, v,1] x 去表示通过在矩阵最后面的元素加一个1的向量:m ,我们使用 ~ ~ T M 和 [X, Y , Z ,1] ,相机通常都是针孔模型:它的3D点M和它的图像投影 点m的关系为:
ˆ A, Ri , ti , M j mij m
n m i 1 j 1
ˆ A, Ri , ti , M j mij m
n m i 1 j 1
• 其中mij是三维场景中第j个物点在第i幅图像上的像点坐标矢量,Ri是第i幅图像的旋转矩阵,是
ti第i幅图像的平移向量,Mj是三维场景中第j个物点的空间坐标,
张正友标定方法流程
1.打印一张标定板,然后附加到一个平坦的表上。
2.通过移动相机或者平面拍摄标定板各种角度的图片。
3.检测图片中的特征点 4.计算5个内部参数和所有的外部参数
5.通过最小二乘法先行求解径向畸变系数。
6.通过求最小参数值,优化所有的参数
谢谢观看!
A 0 0
u0 v0
0 1
很显然,B是一个对称矩阵,我们假定:
b B11
B12
B22
B13
B23
B33
T
设H矩阵中第i列的向量为
hi hi1 hi 2
中有:
hi3
T
带入到
h1T AT A1h2 0
T
hi B hj
解得:
T 1 T 1
B12 B22 B23
B13 B23 B33
2
1
2 2 (v0 u0 ) v0 2 2 2
2 (v0 u0 ) v0 2 2 2 2 2 (v0 u0 ) v0 1 2 2 2 v0 u0
r1 A1h1 1 r2 A h2 r3 r1 r2 1 t A h 3 1 1 1 1 A h A h 1 2
最大似然估计
• 由于数据中的噪声,计算矩阵R的不满足一般的旋转矩阵的性质。所 以要对上面得到结果用最大似然估计来进行优化。 • 转动标定模板,从不同的角度拍摄棋盘标定模板的n幅图像,设每幅 图像都具有相同的标定点,标定点的个数为m,并假设每个标定点 的坐标都有独立同分布的噪声,因为初始的参数已经求解,所以我 们将每张图像的控制点根据求解的参数重投影回三维空间,最小化 与真实值的差异,其实就是建立非线性最小化模型:
Z=0平面
u Ar r s v 1 2 1
r3
X Y t Ar1 r2 0 1
X t Y 1
单应性矩阵H推导
u Ar r s v 1 2 1
T
~ ~ sm A[ R, t ]M
任意数 二维坐标 内参矩阵 旋转矩阵
平移矩阵
三维坐标
A 0 0
u0 v0
0 1
~ ~ sm A[ R, t ]M
展开
u Ar r s v 1 2 1
r3
X Y t Z 1
u h' 0 v
可以看出每张图片都可以 计算出一个H矩阵
0 0 uX
h1T AT A1h2 0
T T 1 h1T AT A1h1 h2 A A h2
所以,令
B11 B AT A1 B21 B13 1 2 2 v0 u0 2
T
vij hi1h j1 hi1hj 2 hi 2hj1 hi 2hj 2
1
T
vij b
hi3hj1 hi1h j 3 hi3hj 2 hi 2h j 3 hi3hj 3
v12T b 0 (v11 v 22)T
h A A h2 0
T T 1 h AT A1h1 h2 A A h2
H h1 h2
r1 r2 1
h3 Ar1 r2 t
A1h1 A1h2
1
r r 0
T 1 2
r1 r2 1
r1 r2
1
1
A1h1 A h2
1
h1T AT A1h2 0
T T 1 h1T AT A1h1 h2 A A h2
假设
H Ar1
r2
t [h1
h2
h11 h3 ] h21 h31
h12 h22 h32
h13 h23 1
~ ~ sm HM
su h11 X h12Y h13 sv h21 X h22Y h23 s h X h 1 31 32