相机标定原理
2016-11-27 10:24
239 查看
1-1相机标定原理
随着计算机视觉的飞速发展,相机越来越多地运用到工业机器人中,使得机器人具有类似于“人眼”的功能,可以看到实际生产中的环境以及做出相应的判断并且指导手爪做相应的运动。其中,图像信息和三维信息之间的转换显得尤为重要,接下来我们来研究相机的标定原理,并且在下一篇中讲述如何利用matlab来实现相机参数的标定。
要想弄清楚相机内、外参数的标定,我们首先应该熟悉相机的理想成像原理与实际的成像原理。
在开始前,我们介绍一下工业机器人和相机中用到的四个通用的坐标系:
1)世界坐标系(WCS,World Coordinate System),表示空间点的真实的绝对坐标,在工业机器人中一般选择机器人固定端的基坐标系作为世界坐标系,用
表示;
2)相机坐标系(CCS,Camera Coordinate System),其原点在相机镜头光心处,
轴为光轴方向,
、
的方向通过右手定则来确定,常用
表示;
3)像素坐标系(PCS,Pixel Coordinate System),通常以成像平面左上角为原点,以第0行和第0列为两坐标轴,该坐标系为二维坐标系,常用
表示;
4)图像平面坐标系(IPCS,Image
PlaneCoordinate System),该坐标系的原点在光轴与成像平面的交点处,
、
轴则与像素坐标系中的
、
轴方向一致,该坐标系用
表示。
内参数标定
摄像机内参数的标定主要依据摄像机的小孔成像模型,考虑到摄像机自身的精度,将模型分为不考虑畸变的理想模型和考虑镜头畸变的畸变模型。
1.1理想模型
建立摄像机坐标系
,设空间某一点
在摄像机坐标系下的坐标为
,取平面Ⅰ为图像成像平面,像素平面与成像平面关于
对称,在平面Ⅰ上建立像素坐标系
,建立图像平面坐标系
,
为点
在图像平面中的成像点,设其在摄像机坐标系下的坐标为
,如图1-1所示。再建立如图所示的平面坐标系
,
、
分别为点
在
轴和
轴的投影,
、
分别为
在
轴和
轴的投影。
根据摄像机的针孔成像原理,运用图中三角形相似关系可以得到式1。
根据相机自身参数,可以得到式2。
根据摄像机像素平面跟图像平面之间的放大比例关系,得到式3。
其中,
为摄像机光轴
与图像平面坐标系的交点
在像素坐标系中的坐标。
、
分别为像素平面与成像平面的轴向放大系数。
联立式1、式2和式3可以得到式4:
将上式写成矩阵的齐次表达形式,如式5所示:
其中,
、
分别为图像在
轴和
轴方向的放大系数,
为摄像机的内参数的矩阵表达形式,
为空间点
在摄像机坐标系下的坐标。
1-2畸变模型
由于镜头的畸变效应,摄像机在成像过程中会产生畸变,所以必须考虑畸变对成像质量的影响。畸变分为径向畸变和切向畸变,枕型畸变和桶型畸变属于切向畸变。对二维图像精度影响最大的是径向畸变,通常只考虑一阶径向畸变就能达到很好的效果,畸变成像模型如图1-2所示。关于如何借助最小二乘法对镜头畸变进行校正可以参考畸变矫正。
为空间点
在图像平面上的理想成像点,
是考虑畸变的实际成像点,设
在图像平面坐标系中的坐标为
,
在图像平面坐标系中的坐标为
,
在CCS坐标系中的坐标为
,则有式6:
令
,则考虑畸变后
与
的关系如式7所示:
其中,
、
、
为径向畸变系数,
为切向畸变的表达式。
在进行摄像机标定的时候,
、
、
和
这几个畸变系数也是需要标定的参数。
外参数标定
摄像机外参数的标定实际是实现像素坐标系与世界坐标系之间点的坐标变换,在这儿我们通过机器人学中学习到的位姿变换的方法得到。
如图1-3所示,WCS为世界坐标系,CCS为摄像机坐标系,虚线构成的坐标系M为CCS平移得到的坐标系(M为中间坐标系,用于WCS与CCS之间的坐标变换)。
根据位移坐标变换和旋转坐标变换得式8和式9:
其中,
为世界坐标系WCS原点在摄像机坐标系CCS的坐标,
表示{W}坐标系相对于{C}坐标系的旋转矩阵,如式(2-10)所示:
写成矩阵的齐次表达式,见式(2-11):
其中,
为摄像机的外参数的齐次矩阵表达形式。
综合摄像机的内、外参数模型,可以得到式(2-12)的表达式模型,其表示空间点在世界坐标系中的坐标与像素坐标系坐标的关系。
双目视觉标定
双目相机由于其采集到的左、右图通过图像匹配可以得到比较准确的图像特征对应的深度,因此越来越多地应用到工业机器人和移动机器人以及无人机上面。图2-1所示为我们实验室开发的一款嵌入式双目相机。
图2-1 嵌入式双目相机
双目相机的标定过程如图2-2所示:
在使用双目手眼系统时,还需要对左、右两个相机进行标定。分别令左、右摄像头坐标系中的CCS到WCS的旋转矩阵为
、
,平移矩阵为
、
,令
为空间点
在左边CCS中的坐标,
为
在右边CCS中的坐标,而
为空间点
在世界坐标系中的坐标,通过机器人学中的位姿变换可以得到式13和式14。
将式13代入式14可以消去 ,结果如式15所示。
其中,
、
分别表示左、右摄像机之间关系的旋转矩阵和平移矩阵。在摄像机内外参数标定完成后,结合式15,便得到了双目相机左右相机之间的关系。
这是我所掌握的关于相机成像与相机参数标定的内容,欢迎大家指出错误与不足的地方。下一节会讲述如何利用matlab标定工具箱实现相机参数的标定。
随着计算机视觉的飞速发展,相机越来越多地运用到工业机器人中,使得机器人具有类似于“人眼”的功能,可以看到实际生产中的环境以及做出相应的判断并且指导手爪做相应的运动。其中,图像信息和三维信息之间的转换显得尤为重要,接下来我们来研究相机的标定原理,并且在下一篇中讲述如何利用matlab来实现相机参数的标定。
要想弄清楚相机内、外参数的标定,我们首先应该熟悉相机的理想成像原理与实际的成像原理。
在开始前,我们介绍一下工业机器人和相机中用到的四个通用的坐标系:
1)世界坐标系(WCS,World Coordinate System),表示空间点的真实的绝对坐标,在工业机器人中一般选择机器人固定端的基坐标系作为世界坐标系,用
表示;
2)相机坐标系(CCS,Camera Coordinate System),其原点在相机镜头光心处,
轴为光轴方向,
、
的方向通过右手定则来确定,常用
表示;
3)像素坐标系(PCS,Pixel Coordinate System),通常以成像平面左上角为原点,以第0行和第0列为两坐标轴,该坐标系为二维坐标系,常用
表示;
4)图像平面坐标系(IPCS,Image
PlaneCoordinate System),该坐标系的原点在光轴与成像平面的交点处,
、
轴则与像素坐标系中的
、
轴方向一致,该坐标系用
表示。
内参数标定
摄像机内参数的标定主要依据摄像机的小孔成像模型,考虑到摄像机自身的精度,将模型分为不考虑畸变的理想模型和考虑镜头畸变的畸变模型。
1.1理想模型
建立摄像机坐标系
,设空间某一点
在摄像机坐标系下的坐标为
,取平面Ⅰ为图像成像平面,像素平面与成像平面关于
对称,在平面Ⅰ上建立像素坐标系
,建立图像平面坐标系
,
为点
在图像平面中的成像点,设其在摄像机坐标系下的坐标为
,如图1-1所示。再建立如图所示的平面坐标系
,
、
分别为点
在
轴和
轴的投影,
、
分别为
在
轴和
轴的投影。
根据摄像机的针孔成像原理,运用图中三角形相似关系可以得到式1。
根据相机自身参数,可以得到式2。
根据摄像机像素平面跟图像平面之间的放大比例关系,得到式3。
其中,
为摄像机光轴
与图像平面坐标系的交点
在像素坐标系中的坐标。
、
分别为像素平面与成像平面的轴向放大系数。
联立式1、式2和式3可以得到式4:
将上式写成矩阵的齐次表达形式,如式5所示:
其中,
、
分别为图像在
轴和
轴方向的放大系数,
为摄像机的内参数的矩阵表达形式,
为空间点
在摄像机坐标系下的坐标。
1-2畸变模型
由于镜头的畸变效应,摄像机在成像过程中会产生畸变,所以必须考虑畸变对成像质量的影响。畸变分为径向畸变和切向畸变,枕型畸变和桶型畸变属于切向畸变。对二维图像精度影响最大的是径向畸变,通常只考虑一阶径向畸变就能达到很好的效果,畸变成像模型如图1-2所示。关于如何借助最小二乘法对镜头畸变进行校正可以参考畸变矫正。
为空间点
在图像平面上的理想成像点,
是考虑畸变的实际成像点,设
在图像平面坐标系中的坐标为
,
在图像平面坐标系中的坐标为
,
在CCS坐标系中的坐标为
,则有式6:
令
,则考虑畸变后
与
的关系如式7所示:
其中,
、
、
为径向畸变系数,
为切向畸变的表达式。
在进行摄像机标定的时候,
、
、
和
这几个畸变系数也是需要标定的参数。
外参数标定
摄像机外参数的标定实际是实现像素坐标系与世界坐标系之间点的坐标变换,在这儿我们通过机器人学中学习到的位姿变换的方法得到。
如图1-3所示,WCS为世界坐标系,CCS为摄像机坐标系,虚线构成的坐标系M为CCS平移得到的坐标系(M为中间坐标系,用于WCS与CCS之间的坐标变换)。
根据位移坐标变换和旋转坐标变换得式8和式9:
其中,
为世界坐标系WCS原点在摄像机坐标系CCS的坐标,
表示{W}坐标系相对于{C}坐标系的旋转矩阵,如式(2-10)所示:
写成矩阵的齐次表达式,见式(2-11):
其中,
为摄像机的外参数的齐次矩阵表达形式。
综合摄像机的内、外参数模型,可以得到式(2-12)的表达式模型,其表示空间点在世界坐标系中的坐标与像素坐标系坐标的关系。
双目视觉标定
双目相机由于其采集到的左、右图通过图像匹配可以得到比较准确的图像特征对应的深度,因此越来越多地应用到工业机器人和移动机器人以及无人机上面。图2-1所示为我们实验室开发的一款嵌入式双目相机。
图2-1 嵌入式双目相机
双目相机的标定过程如图2-2所示:
在使用双目手眼系统时,还需要对左、右两个相机进行标定。分别令左、右摄像头坐标系中的CCS到WCS的旋转矩阵为
、
,平移矩阵为
、
,令
为空间点
在左边CCS中的坐标,
为
在右边CCS中的坐标,而
为空间点
在世界坐标系中的坐标,通过机器人学中的位姿变换可以得到式13和式14。
将式13代入式14可以消去 ,结果如式15所示。
其中,
、
分别表示左、右摄像机之间关系的旋转矩阵和平移矩阵。在摄像机内外参数标定完成后,结合式15,便得到了双目相机左右相机之间的关系。
这是我所掌握的关于相机成像与相机参数标定的内容,欢迎大家指出错误与不足的地方。下一节会讲述如何利用matlab标定工具箱实现相机参数的标定。
相关文章推荐
- 相机标定原理介绍
- 【转载】单目相机标定原理
- 单目相机标定-原理及实现
- 相机标定:张正友标定法求解原理
- 相机标定简介与MatLab相机标定工具箱的使用(未涉及原理公式推导)
- 【转载】单目相机标定原理
- 张正友相机标定算法原理与源代码(OpenCV+C++)
- 相机标定:单目标定原理分析-草稿
- Camera Calibration 相机标定:原理简介(四)
- 单目相机标定原理
- 相机标定原理
- Camera Calibration 相机标定:原理简介(二)
- Camera Calibration 相机标定:原理简介(四)
- 相机标定原理讲解
- 单目相机标定原理
- 相机标定原理介绍(一)
- Camera Calibration 相机标定:原理简介(二)
- 单目相机标定原理
- 【计算机视觉】 双目相机标定以及立体测距原理及OpenCV实现
- Camera Calibration 相机标定:原理简介(一)