(完整版)机器视觉及其应用实验报告
时间:2020-10-19 12:38:08 来源:勤学考试网 本文已影响 人
Har bin I nstitute of Techn ol ogy
实验报告
课程名称: 机器视觉及其应用
实验名称: 摄像机标定上机验证
院 系: 自动化测试与控制系
班 级: 1036103
实 验 人: 胡洋
学 号: 6100100311
教 师: 陈凤东
实验时间: 2013.11.8
哈尔滨工业大学
1
《机器视觉及其应用》实验报告
一、 实验名称:
摄像机标定上机验证
二、 实验人员: 胡洋
三、 实验日期: 2013.11.8
四、 实验目的:
上机验证摄像机标定方法
五、 实验原理:
摄像机标定是一个确定摄像机内部参数 (包括几何与光学参数 )和外部参数
(包括摄像机相对世界坐标的位置及方向 )的过程。
摄像机标定的目的是建立摄像机世界坐标系中坐标 (xw , yw , zw )T 与其相应图
像像素坐标 (u,v)之间的关系。最终实现利用计算机采集得到的二维图像来恢复待测物体的三维信息的目的。
摄像机标定方法是视觉系统实现的前提和基础。目前现有的摄像机标定技术大体可以分成两类:传统的摄像机标定方法和摄像机自标定方法。
传统的摄像机标定方法是在一定的摄像机模型基础上,基于形状、尺寸已知的特定参照物,利用参照物上的特征点的世界坐标和相应的像素坐标之间的关
系,通过一系列数学变换和计算方法, 求取摄像机模型的内外参数。
传统的摄像机标定方法需要高精度的已知结构信息, 过程复杂,但是标定精度高, 适用于多种摄像机模型。
而摄像机自标定方法则不依赖特定的标定参照物, 仅仅利用摄像机获取的一系列图像信息来确定摄像机参数。
摄像机自标定方法对环境适应较好, 可以无人参与下完成标定,但是精度低,鲁棒性不足,不适用于测量场合。
传统的摄像机标定方法按其求解的方法可分为三类: 线性方法、非线性优化方法和考虑畸变补偿的两步法 [15] 。
线性方法不需要迭代, 速度较快。但是定标过程中忽略了摄像机镜头的非线性畸变,使得定标精度受到影响。
一般的线性求解方法是透镜变换方法和直接线性变换 (DLT) 方法,他们都是利用一定数目的已知特征点的成像信息和公式 (2-18) 的投影变换矩阵求解。
u
m00
m01
m02
xw
m03
s v
m10
m11
m12
yw
m13
1
m20
m21
m22
zw
m23
1
(2-18)
本实验采用传统的摄像机标定方法。在传统的标定方法中,标定参照的标准件的精度对标定结果的影响较大。但 3D 立体靶标的制作成本较高,且加工精度
2
受加工条件的限制。基于 2D 平面靶标提出了摄像机标定方法避免了一般传统方法对设备要求较高,操作繁琐等缺点,同时标定精度高。
在标定过程中,要求平面靶标至少有两个不同的姿态,摄像机和平面靶标都
可以自由的移动, 不需要知道运动参数, 且不论摄像机从任何角度拍摄靶标, 摄
像机内部参数都为常数,只有外部参数发生变化。该标定示意图如图 7 所示。第一步:求解测量平面与图像平面之间的单应性矩阵。
测量平面上的三维点
记为 M (x, y, z)T
,其相应图像平面上的二维点记为
m (u,v)T ,则相应的齐次
坐标分别为 % (
, , ,1)T
与 ~
(u,v,1)
T
。摄像机基于针孔成像模型, 空间点 M 与
M
x y z
m
图像点 m 之间的关系为:
~
~
(2-19)
Zc
M ( xw , yw , zw )
Yc
O
Yw
X c
Zw
m(u, v)
Ow
X w
图 7 二维平面标靶标定示意图
其中,s 为一任意的非零尺寸因子, A 矩阵称为摄像机的内部参数矩阵, 定义为:
u0
A 0 y v0
0 0 1
(2-20)
(u0 , v0 ) 为主点坐标, x 、 y 分别是 u 轴和 v 轴的尺度因子, 是 u 轴和 v 轴的不
垂直因子。旋转矩阵 R 与平移向量 T 称为摄像机的外部参数矩阵。
为了不失一般性,可以假设测量平面位于世界坐标系的 Zw 0 平面。记旋转
矩阵的第 i 列为 ri ,则由式 (2-19)可得式 (2-21)。
3
u
x
x
y
s vA r1 r2
r3 T
A r1 r2 T y
0
1
1
1
(2-21)
将式子 (2-21)进一步简化,得到:
~
~
(2-22)
sm
HM
其中 , H 就是 要求 得的 测量 平面 与图 像平面 之间 的单 应性 矩 阵。则
A r1 r2 T 为一 3*3 的矩阵,λ为一个常数因子。
由于摄像机图像平面的点的坐标可以通过图像处理的方式获取。
所以每张图片都可以计算出一个 H 矩阵。
第二步:摄像机内部参数的求解。记 H h1 h2 h3 ,则有:
h1 h2 h3
A r1
r2
T
(2-23)
因为 r1 和 r2
是标准正交的。所以可以得到关于内参的两个限制条件:
h1T A T A 1h2
0
(2-24)
h1T A T A 1h1 h2T A T A
1h2
(2-25)
设
B11
B12
B13
B A T A 1
B21
B22
B23
B31
B32
B33
(2-26)
可知 B 矩阵是一个 对阵 矩阵 ,所以可以写 成一 个六维向量形 式:
b B11, B12 , B22 , B13 , B23 , B33 。设 H 中的第 i 列向量为 i
i1
i 2
i3
T
,那么可以将
h
h
, h
, h
公式 (2-24)改写为:
hiT Bhj
vij b
(2-27)
vij
hi 1hj 1 ,hi1hj 2hi 2hj1 , hi 2hj 2 ,hi 3hj 1 hi1hj 3 , hi3 hj 2
hi 2 hj 3 , hi 3h j3
T
(2-28)
最后根据内参限制条件 (2-24)、(2-25)得到:
v12T
(v11
v22 )T b
0
(2-29)
V 矩阵是 2*6 矩阵,也就是说每张图像可以建立起两个方程,
b 矩阵有六个
未知数,也就是说至少三张图片就可以求出
b 矩阵。
b 矩阵的解出,相机内参矩
阵 A 也就可以解出来了,而从每张图像的 R 矩阵、 T 向量也就可以得到了。
双目摄像机与单目摄像机的区别是: 双目摄像机中还需要确定两个摄像机之间的位置关系,其中, R0 和 T0 分别表示旋转矩阵和平移向量。通过标定确定两
4
个摄像机的内部参数以及外部参数,其中, R1、
1 与
22
分别表示左、右摄
T
R 、 T
像机与世界坐标系的相对位置。
假定空间中任意一点在世界坐标系、
左摄像机坐标系和右摄像机坐标系下的
非齐次坐标分别为 xw、 x1、x2,则有:
x1
R1xw
T1, x2
R2xw
T2
(2-30)
消去 xw,得到:
x2
R2 R1
1x1
T2
R2R1
1T1
(2-31)
两个摄像机之间的位置关系 R0、T0 可以用以下关系式表示:
R0
R2R1
1,T
T2
R2R1
1T1
(2-32)
第三步:参数优化。因为初始的参数已经求解出来了,所以将每张图像的控
制点根据求解的参数重新投影回三维空间, 最小化与真实值的差异, 其实就是建立非线性最小化模型。这里用的是 Levenberg-Marquardt 迭代算法,从而计算出所有参数的准确值。
第四步:使用 HALCON 软件工具,验证上述标定过程。
六:实验结果:
5
6
#####################################################################
#########
#
Camera : Parameter
> Focus
> Kappa
> Sx
> Sy
> Cx
> Cy
7
> ImageWidth
> ImageHeight
ParGroup: Camera: Parameter;
"Internal camera parameters";
Focus:foc: 0.0161849378171021;
DOUBLE:0.0:;
"Focal length of the lens";
Kappa:kappa: -640.051221234071;
DOUBLE::;
"Radial distortion coefficient";
Sx:sx: 7.40120921533656e-006;
DOUBLE:0.0:;
"Width of a cell on the sensor";
Sy:sy: 7.4e-006;
DOUBLE:0.0:;
"Height of a cell on the sensor";
Cx:cx: 333.413508715616;
DOUBLE::;
"X-coordinate of the image center";
Cy:cy: 244.960933309793;
DOUBLE::;
"Y-coordinate of the image center";
ImageWidth:imgw: 652;
INT:1:32768;
"Width of the images";
ImageHeight:imgh: 494;
INT:1:32768;
"Height of the images";
#
# HALCON Version 11.0 -- Fri Nov 01 14:33:12 2013
#
8
外参数标定:
9
七:实验总结和分析:
通过实验前的理论准备, 对摄像机的坐标标定原理及方法有了一定认识, 在实验中, 了
解了实际应用中标定的基本操作方法和 HALCON 软件工具的使用方法和编程手段, 以及其
中常用的一些算法函数等, 理论与实际相结合, 从而对摄像机的各种坐标系转换和坐标标定有了更深入的理解,为以后更深入的学习打下了一定基础。
10