相机标定概念性问题

转载自:https://blog.csdn.net/cookie_234/article/details/70230339

相机标定概念性问题

概述

  • 什么是相机标定?在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。通俗的讲,单目相机标定是为了获得相机的内参和外参,内参表征了相机的内部结构参数,外参是相机相对于外界物体的旋转和平移。而(固定位置的)双目或多目标定,是在单目的基础上,获得相机之间的相对位置关系(也就是每个相机坐标系之间的平移和旋转)。
  • 为什么要标定?通俗的讲,我们通过相机得到的图像和实际物体不在一个坐标系中,我们要知道对应点的位置需要进行坐标转换,而这个坐标系的转换需要经过好几层,在转换的过程中就需要用到标定得到的内参外参。
  • 相机的内参数和外参数的作用? 
    • 内参数:针孔相机的模型实际上就是由内参数矩阵描述的:相机坐标系->图像坐标系。比如给定在相机坐标系中的一个3D点,我们如何知道在它在2D图像中的位置,内参数矩阵就可以解决这个问题。
    • 外参数:外参数用于描述两个坐标系之间的位置关系:某个相机坐标系/世界坐标系->另一个相机坐标系。对于单个运动的相机,外参数矩阵描述了不同时刻相机的相对位置关系,或者描述了相机与世界坐标系的关系。对于双目或者多目相机,外参数描述了相机坐标系之间的位置关系。就比如说,我们已知在某个相机或者世界坐标系下的一个3D点的坐标,如何得到该点在另一个相机坐标系下的坐标呢,通过外参数求得两个坐标系之间的位置关系,就可以得到。
    • 畸变参数:一般的针孔模型的相机有径向畸变和切向畸变,有了畸变参数我们就可以知道当没有畸变的情况下一个点在图像中原来的位置是在哪。也就是求得了真正消除畸变的坐标,我们就可以使用不考虑畸变的针孔相机模型了。

重要的概念

  • 内参数:(1/dx,1/dy,u0,v0,f)其中,dx和dy是相机单个感光单元芯片的长度和宽度,是一个物理尺寸,有时候会有dx=dy,这时候感光单元是一个正方形。u0和v0分别代表相机感光芯片的中心点在x和y方向上可能存在的偏移,因为芯片在安装到相机模组上的时候,由于制造精度和组装工艺的影响,很难做到中心完全重合。f代表相机的焦距。
  • 外参数:(R;T)是相机的旋转矩阵R和平移向量T
  • 坐标系: 
    • 世界坐标系(Xw,Yw,Zw) 
      • 世界坐标系是由用户定义的世界三维坐标系,用于描述三维空间中的物体,相机的坐标位置,满足右手法则。
    • 相机坐标系(Xc,Yc,Zc) 
      • 相机坐标系是以相机的光心作为原点,Zc轴与光轴重合,垂直于成像平面,且取投影方向为正方向,Xc、Yc轴与图像物理坐标系的x、y轴平行,且OcO为摄像机的焦距f。
    • 图像坐标系 
      • 图像坐标系分为 图像像素坐标系(u,v)和图像物理坐标系(x,y)。由于相机的工作原理,相机的图像坐标系是一个以像素为单位的坐标系,它的原点在左上方,并没有以物理单位为基础来表示每个像素点在图像中的位置。为了解决这个问题,需要建立以物理单位(如毫米)为基础表示的图像坐标系(如xoy)。
      • 图像物理坐标系(x,y):图像物理坐标系以光轴与像平面的交点为原点,以毫米为单位的直角坐标系,其x轴和y轴分别与图像像素坐标系的u轴和v轴平行。
      • 图像像素坐标系(u,v):图像像素坐标系以图像左上角为原点,以像素为坐标单位的直角坐标系,u、v分别表示像素在数字图像中的列数和行数。

坐标系间关系

其实说白了就是坐标系之间的转换,目的就是最终建立世界坐标系的物理三维点到二维图像像素坐标系中像素点的空间对应关系。有了上面四个坐标系后,我们可以很形象的来看相机光学成像的原理,产生畸变的原因,以及进行畸变校正的重要性和原理,如下图我们可以将相机成像理解为如下的坐标变换过程。 


坐标系转换 


先来看理想情况下的各坐标系转换: 
图像物理坐标系与图像像素坐标系的转换:理想的图像坐标系原点O1和真实的O0有一定的偏差,由此我们建立了等式(1)和(2),可以用矩阵形式(3)表示。

 

图像物理坐标系与图像像素坐标系的转换

相机坐标系与图像物理坐标系的转换:通过相机与图像的投影关系,可以得到相机坐标系如何转换为图像物理坐标系。我们得到了等式(4)和等式(5),可以用矩阵形式(6)表示。 
相机坐标系与图像物理坐标系的转换

世界坐标系与相机坐标系的转换:

相机坐标系与图像物理坐标系的转换

由等式(3),等式(6)和等式(7)我们可以推导出图像坐标系和世界坐标系的关系,设为公式(8):

图像坐标系和世界坐标系的关系

总的转换关系说明:

总的转换关系

考虑畸变的情况: 
畸变的形象示意图如下: 
畸变示意图 
畸变校正公式为: 
畸变校正公式 
(xu,yu)为图像物理点坐标的理想值,(x,y)为图像物理点坐标的实际值,δδx,δδy为非线性畸变值,它与图像点在图像中的位置有关: 
1.径向畸变(忽略了高阶项的径向畸变模型函数) 
径向畸变 
2.切向畸变(忽略了高阶项的切向畸变模型函数) 
切向畸变 
3.薄棱镜畸变(忽略了高阶项的薄棱镜畸变模型函数) 
切向畸变 
最后得到畸变矫正函数模型如下,有k1,k2,p1,p2,s1,s2共6个非线性畸变系数: 
切向畸变

应用问题

  1. M1,M2矩阵都是有其具体含义的,我们在求得其结果时如何大致估计求得的数据基本正确? 
    • M1中,fx、fy为焦距,一般情况下,二者相等,u0、v0可以由resolution估算,一般为其一半;M2中R为旋转矩阵、T为平移矩阵可以由旋转平移的特点检查;
  2. 比如有这样一个问题,双目相机已标定,现在我们有左相机照片中的关键点以及对应的世界坐标系中的3D点如何得到右相机中对应的关键点位置? 
    • 由于2D向3D缺失一个维度,我们不能仅仅通过求左相机内参矩阵的逆直接进行两个相机坐标系之间的相互转换。首先按照公式(8)我们需要利用对应的世界坐标系中的3D点求此时的左相机的(R;T),这里涉及一个2D坐标向3D坐标转换的问题,可以用opencv函数solvePnP解,然后得到左相机坐标系中坐标值->通过两相机位置关系得到右相机坐标系坐标值->通过右相机内参矩阵得到右相机图像坐标系中对应的关键点坐标。
  3. 所有分辨率下的畸变(k1,k2,p1,p2)相同,但内参不同(fx,fy,u0,v0),不同分辨率下需要重新标定相机内参;

参考

概念: 
https://www.zhihu.com/question/29448299 
http://blog.csdn.net/li_007/article/details/5976261 
http://blog.csdn.net/yangdashi888/article/details/51356385 
http://blog.csdn.net/liulina603/article/details/52953414 
坐标系转换公式: 
http://blog.csdn.net/aptx704610875/article/details/48914043 
http://www.cnblogs.com/haoxing990/p/4588566.html 
应用问题: 
http://blog.csdn.net/chenyusiyuan/article/details/5961769 
双目标定: 
http://blog.csdn.net/dcrmg/article/details/52986522 
http://blog.csdn.net/zc850463390zc/article/details/48975263 
用opencv函数进行标定的傻瓜教程: http://blog.csdn.net/dcrmg/article/details/52929669

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值