机器视觉及应用实验报告Word文件下载.docx
《机器视觉及应用实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《机器视觉及应用实验报告Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
2013.11.8
哈尔滨工业大学
《机器视觉及其应用》实验报告
一、实验名称:
摄像机标定上机验证
二、实验人员:
胡洋
三、实验日期:
2013.11.8
四、实验目的:
上机验证摄像机标定方法
五、实验原理:
摄像机标定是一个确定摄像机内部参数(包括几何与光学参数)和外部参数(包括摄像机相对世界坐标的位置及方向)的过程。
摄像机标定的目的是建立摄像机世界坐标系中坐标
与其相应图像像素坐标(u,v)之间的关系。
最终实现利用计算机采集得到的二维图像来恢复待测物体的三维信息的目的。
摄像机标定方法是视觉系统实现的前提和基础。
目前现有的摄像机标定技术大体可以分成两类:
传统的摄像机标定方法和摄像机自标定方法。
传统的摄像机标定方法是在一定的摄像机模型基础上,基于形状、尺寸已知的特定参照物,利用参照物上的特征点的世界坐标和相应的像素坐标之间的关系,通过一系列数学变换和计算方法,求取摄像机模型的内外参数。
传统的摄像机标定方法需要高精度的已知结构信息,过程复杂,但是标定精度高,适用于多种摄像机模型。
而摄像机自标定方法则不依赖特定的标定参照物,仅仅利用摄像机获取的一系列图像信息来确定摄像机参数。
摄像机自标定方法对环境适应较好,可以无人参与下完成标定,但是精度低,鲁棒性不足,不适用于测量场合。
传统的摄像机标定方法按其求解的方法可分为三类:
线性方法、非线性优化方法和考虑畸变补偿的两步法[15]。
线性方法不需要迭代,速度较快。
但是定标过程中忽略了摄像机镜头的非线性畸变,使得定标精度受到影响。
一般的线性求解方法是透镜变换方法和直接线性变换(DLT)方法,他们都是利用一定数目的已知特征点的成像信息和公式(2-18)的投影变换矩阵求解。
(2-18)
本实验采用传统的摄像机标定方法。
在传统的标定方法中,标定参照的标准件的精度对标定结果的影响较大。
但3D立体靶标的制作成本较高,且加工精度受加工条件的限制。
基于2D平面靶标提出了摄像机标定方法避免了一般传统方法对设备要求较高,操作繁琐等缺点,同时标定精度高。
在标定过程中,要求平面靶标至少有两个不同的姿态,摄像机和平面靶标都可以自由的移动,不需要知道运动参数,且不论摄像机从任何角度拍摄靶标,摄像机内部参数都为常数,只有外部参数发生变化。
该标定示意图如图7所示。
第一步:
求解测量平面与图像平面之间的单应性矩阵。
测量平面上的三维点记为
,其相应图像平面上的二维点记为
,则相应的齐次坐标分别为
与
。
摄像机基于针孔成像模型,空间点
与图像点
之间的关系为:
(2-19)
图7二维平面标靶标定示意图
其中,s为一任意的非零尺寸因子,A矩阵称为摄像机的内部参数矩阵,定义为:
(2-20)
为主点坐标,
、
分别是
轴和
轴的尺度因子,
是
轴的不垂直因子。
旋转矩阵R与平移向量T称为摄像机的外部参数矩阵。
为了不失一般性,可以假设测量平面位于世界坐标系的
平面。
记旋转矩阵的第
列为
,则由式(2-19)可得式(2-21)。
(2-21)
将式子(2-21)进一步简化,得到:
(2-22)
其中,H就是要求得的测量平面与图像平面之间的单应性矩阵。
则
为一3*3的矩阵,λ为一个常数因子。
由于摄像机图像平面的点的坐标可以通过图像处理的方式获取。
所以每张图片都可以计算出一个H矩阵。
第二步:
摄像机内部参数的求解。
记
,则有:
(2-23)
因为r1和r2是标准正交的。
所以可以得到关于内参的两个限制条件:
(2-24)
(2-25)
设
(2-26)
可知B矩阵是一个对阵矩阵,所以可以写成一个六维向量形式:
中的第
列向量为
,那么可以将公式(2-24)改写为:
(2-27)
(2-28)
最后根据内参限制条件(2-24)、(2-25)得到:
(2-29)
V矩阵是2*6矩阵,也就是说每张图像可以建立起两个方程,b矩阵有六个未知数,也就是说至少三张图片就可以求出b矩阵。
b矩阵的解出,相机内参矩阵A也就可以解出来了,而从每张图像的R矩阵、T向量也就可以得到了。
双目摄像机与单目摄像机的区别是:
双目摄像机中还需要确定两个摄像机之间的位置关系,其中,R0和T0分别表示旋转矩阵和平移向量。
通过标定确定两个摄像机的内部参数以及外部参数,其中,R1、T1与R2、T2分别表示左、右摄像机与世界坐标系的相对位置。
假定空间中任意一点在世界坐标系、左摄像机坐标系和右摄像机坐标系下的非齐次坐标分别为xw、x1、x2,则有:
(2-30)
消去xw,得到:
(2-31)
两个摄像机之间的位置关系R0、T0可以用以下关系式表示:
(2-32)
第三步:
参数优化。
因为初始的参数已经求解出来了,所以将每张图像的控制点根据求解的参数重新投影回三维空间,最小化与真实值的差异,其实就是建立非线性最小化模型。
这里用的是Levenberg-Marquardt迭代算法,从而计算出所有参数的准确值。
第四步:
使用HALCON软件工具,验证上述标定过程。
六:
实验结果:
##############################################################################
#
#Camera:
Parameter
#>
Focus
Kappa
Sx
Sy
Cx
Cy
ImageWidth
ImageHeight
ParGroup:
Camera:
Parameter;
"
Internalcameraparameters"
;
Focus:
foc:
0.0161849378171021;
DOUBLE:
0.0:
Focallengthofthelens"
Kappa:
kappa:
-640.051221234071;
:
Radialdistortioncoefficient"
Sx:
sx:
7.40120921533656e-006;
Widthofacellonthesensor"
Sy:
sy:
7.4e-006;
Heightofacellonthesensor"
Cx:
cx:
333.413508715616;
X-coordinateoftheimagecenter"
Cy:
cy:
244.960933309793;
Y-coordinateoftheimagecenter"
ImageWidth:
imgw:
652;
INT:
1:
32768;
Widthoftheimages"
ImageHeight:
imgh:
494;
Heightoftheimages"
#HALCONVersion11.0--FriNov0114:
33:
122013
外参数标定:
七:
实验总结和分析:
通过实验前的理论准备,对摄像机的坐标标定原理及方法有了一定认识,在实验中,了解了实际应用中标定的基本操作方法和HALCON软件工具的使用方法和编程手段,以及其中常用的一些算法函数等,理论与实际相结合,从而对摄像机的各种坐标系转换和坐标标定有了更深入的理解,为以后更深入的学习打下了一定基础。