张正友标定数学原理
张正友标定算法原理详解

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

0 0 1
设H矩阵中第i列的向量为 hi hi1 hi2 hi3 T
带入到 h1T AT A1h2 0 中有:
hiT B hj vijT b
解得: vij hi1hj1 hi1hj2 hi 2hj1
hi2h j 2
hi3hj1 hi1hj3
0
x0 x'
y0
y'
z0 1
z'
1
R r1 r2 r3
T (t1, t2 , t3 )T
r12 r22 r32 1 r1 • r2 r2 • r3 r3 • r1 0
x
y z
R 0
1
x'
T 1
y' z'
1
图像数字化
O1 在 u, v 中的坐标为 u0, v0
象素在轴上的物理尺寸为 dx, dy
V
Yd
Affine Transformation :
u
u0
xd dx
yd
cot
dx
v
v0
dy
yd sin
齐次坐标形式:
v0
张正友相机标定方法
曲峰
2020/2/16
1 相机畸变
镜头畸变实际上是光学透镜固有的透视失真的总称
枕形畸变:又称鞍形畸变,视野中边缘区域的放大率远大于光轴中心附近 区域放大率。常出现在远摄镜头中。
桶形畸变:同枕形相反,视野中光轴中心附近区域放大率远大于边缘区域。 常出现于广角镜头和鱼眼镜头。
张正友标定法

小组成员:张文豪 张智宇 陈宇
一、张正友标定法简介
目 二、张正友标定法数学原理 录 三、张正友标定法程序实现
四、标定实验及结果
张正友标定法 简介
像机标定:
建立摄像机图像像素位置与场景点位置 之间的关系,其途径是根据摄像机模型, 由已知特征点的图像坐标求解摄像机的 模型参数。
➢ 张正友标定法是张正友教授于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.通过求最小参数值,优化所有的参数
对张正友标定的理解

张正友标定算法解读一直以来想写篇相机标定方面的东西,最近组会上也要讲标定方面东西,所以顺便写了。
无论是OpenCV还是matlab标定箱,都是以张正友棋盘标定算法为核心实现的,这篇PAMI的文章<<A Flexible New Technique for Camera Calibration>>影响力极大,张正友是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)(10)最后根据内参数限制条件(等式(4)(5)):(11)即,(12)V矩阵是2*6矩阵,也就是说每张照片可建立起两个方程组,6个未知数。
传统相机标定算法综述

同理,采用上面计算误差的方法得出,Tasi算法标定的误 差为0.125 097。
个径向畸变因素并把第一步的结果作为初始值,再使用最优化 的算法从而求出更精确的结果。Tasi算法相机坐标世界坐标模 型如下2.1公式:
(2.1)
公式中(x,y,1)是图像坐标系中的齐次坐标,而(x,y,
z,1)是世界坐标系中的齐次坐标;K是相机的内部参数矩阵,
DLT算法[1]是Abdel-Aziz和Karara提出来的,这种算法可 以直接线性变换求解标定。他们使用测量学的方法详细研究了 图像与物体对象之间的关系,构建出线性模型。其齐次坐标下 的透视投影矩阵如下公式1.1:
(1.1)
(2.5)
根据图像点与模型点之间的关系可线性求出(sr ,sr ,
1
2
sr ,st ,r ,r ,r ,t ),由等式r 2+ r 2+ r 2=1;可计算出
3
1
4
5
6
2
1
2
3
r ,r ,r ,s,进一步计算出t ;然后使用等式(r ,r ,r )=
基金项目:该项目来源于重庆工程学院自然科学基金“三 维重建过程中的三角网格优化算法研究”的支持。
作者简介: 靳冲(1989-),男,湖北松滋人,硕士研究生,研究方向:计算 机图像图形处理。
(3.1)
关键词 相机标定 DLT算法 Tsai算法 张正友平面模 板算法
相机标定是计算机视觉领域的一个重要课题,也是三维 重建过程中必不可少的一部分,其结果精度直接影响重建的效 果。它的目的就是求解相机的内参(焦距,畸变系数)和外参 (旋转矩阵和平移向量)。在理想的针孔相机模型中,通过对 一系列的空间物点和对应的映射像点进行约束集求解得到相机 的内外参数。以下主要将对直接线性变换(DLT)算法、两步法 (Tsai)算法、张正友平面模板算法进行阐述。 1 DLT算法
相机标定实验报告

相机标定一、实验原理相机标定就是求解相机的内参数以及畸变参数的过程。
相机的标定主要有两种:传统的摄像头标定方法和摄像头自标定方法,典型的有:(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,噪声协方差矩阵为的高斯白噪声。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
枕形畸变与桶形畸变
张正友标定方法流程
1. 2. 3. 4. 5. 6.
打印一张标定板,然后附加到一个平坦的表面上。 通过移动标定板,拍摄标定板各种角度的图片。 角点提取。 计算内部参数和所有的外部参数。 通过最小二乘法先行求解径向畸变系数。 优化所有的参数。
标定实验
标定结果
畸变校正
Thank you!
张正友标定法的原文为“A Flexible New Technique for Camera Calibration”,为相机标定更提供了 很大便利,并且具有很高的精度,现已 作为工具箱或封装好的函数被广泛使用。
数学原理
u Ar r s v 1 2 1
A 0 0
r3
X Y t Ar1 r2 0 1
X t Y 1
0
u0 v0 1
假设世界坐标与摄像机坐标的XY平面重合,即Z=0,有 上述等式成立。 令H A r r2 t 1 上式可化为
பைடு நூலகம்
~ ~ sm HM
张正友摄像机标定法
黄佐昌 控制工程1班
A Flexible New Technique for Camera Calibration
A Four-step Camera Calibration Procedure with Implicit Image correction
坐标系
世界坐标系
摄像机坐标系
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
H是3乘3的矩阵,有一个元素作为齐次坐标, 有8个未知量待解,(X,Y),(u,v)已 知,可获得2个方程,而求8个未知量,至少 需要8个方程,即需要4个对应点,因此每张 图片上选4个点都可以计算出一个H矩阵。
B11 B AT A1 B21 B13 1 2 2 v0 u0 2
对H再次进行变形,得
H h1 h2
h3 Ar1 r2 t
u Ar r s v 1 2 1
r3
X Y t Ar1 r2 0 1
X t Y 1
单应性矩阵H的求解
A 0 0
0
u0 v0 1
B是一个对称矩阵,我们 假定:
T b [ B11, B12, B 22, B13, B 23, B33]
h A A h2 0
T 1
T
1
v12 b 0
T 1
T
h A A h1 h A A h2
T 1 T 2
图像坐标系
像素坐标系
三次坐标变换: ①从世界坐标系到摄像机坐标系的 旋转和平移变换; ②从摄像机坐标系到图像坐标系的 透视变换; ③从图像坐标系到像素坐标系的成 像变换。
张正友标定法具有以下优点: 采用平面标定模版,器材 容易获得; 精度高,相对误差可低于 0.3%; 实验过程简单,相机和标 定板都可以自由放置。
T
1
(v11 v22 )T b 0
综上可得:
v12T b 0 即: (v11 v 22)T
Vb 0
v12T b 0 (v11 v 22)T
A 0 0
0
u0 v0 1
vij hi1h j1 hi1hj 2 hi 2hj1 hi 2hj 2 hi3hj1 hi1h j 3 hi3hj 2 hi 2h j 3 hi3hj 3
(u u0 )(x 2 y 2 ) (u u0 )(x 2 y 2 ) 2 k1 u u 2 2 2 2 2 (v v0 )(x y ) (v v0 )(x y ) k2 v v
在n幅图像中,每幅取m个点,故有m乘n个点, 利用最小二乘法求出径向畸变系数。
参数的优化
将每张图像的控制点根据求解的参数重新投影到
三维空间,最小化与真实值的差异,就是建立非 线性最小化模型:
ˆ A, Ri , ti , M j mij m
n m i 1 j 1
使用Levenberg-Marquarat算法进行求解 即可。
张正友的畸变模型
u u (u u0 )[k1 ( x2 y 2 ) k2 ( x2 y 2 )2 ] v v (v v0 )[k1 ( x2 y 2 ) k2 ( x2 y 2 )2 ]
内参矩阵A的求解
我们知道,A有5个未知量,b中的元素是由 这些未知量构成,由上式可获得两个方程, 而求5个未知量至少需要5个方程,因此只需 要知道3个单应性矩阵H,得到对应的v11, v12,v22,便可获得6个方程,从而求解出 内参矩阵A。H和A已知,便可求出每幅图片 的旋转平移矩阵(R,t),即外参数矩阵。