【相机标定与三维重建原理及实现】学习笔记2——标定的算法与方法

本文详细介绍了相机标定中的张氏标定法,探讨了标定过程中的算法、所需特征点数及拍摄图像数量。张氏方法通过使用棋盘格标定板简化了坐标系映射的计算,降低了非线性最小二乘法求解的复杂性。至少需要3张标定图像来解算内参,每副图像至少需要4个特征点。内容包括数学推导和实际应用注意事项。
摘要由CSDN通过智能技术生成


前言

由于本人近期正在展开数字图像相关技术用于测量材料形变方向的研究,既然涉及到使用图像处理参与到测量或检测研究当中,就肯定避不开构建物空间上的任意一点与相机所拍摄到的图像上一点之间的数学关系及数学模型。之前有过标定经验的我只是单纯的使用别人封装好的函数,如今仔细推导过后才发现其中奥秘所在。我认为想要在一个技术上有所创新,最核心的还是能够将其学的透彻,我希望将自己作为一个初学者学习和推导该原理的过程记录下来,也方便之后每一个涉足该领域知识的人能更清晰更快的应用这些知识。

本文所写的内容主要参考《学习OpenCV 3 》1以及 大奥特曼打小怪兽大佬的博客第六节、双目视觉之相机标定2。但是本文的讲解思路会稍有不同,同时也会更偏向数学推导。如果本文对你的帮助不大,建议可以看一下提到的书籍与博客,可以提供一些不同角度的讲解。

本文的推导基于上一篇笔记【相机标定与三维重建原理及实现】学习笔记1——相机模型数学推导详解,建议先行阅读,上一篇笔记探讨了为什么要标定以及标定是在标定什么,本章节我希望探讨的有以下几个问题:

  1. 如何进行标定?
  2. 标定时候究竟需要多少标定图像?每个标定图像需要有多少特征点数?

本专栏目录:

  1. 【相机标定与三维重建原理及实现】学习笔记1——相机模型数学推导详解
  2. 【相机标定与三维重建原理及实现】学习笔记2——标定的算法与方法

在上一篇笔记中,我们知道了标定的主要目的是为了建立摄像机图像像素位置与物体空间位置之间的关系,即世界坐标系与像素坐标系之间的关系。而这些关系里面主要有两种模型需要解算:小孔成像模型畸变模型其中前者是线性的,后者是非线性的。首先来看一下小孔成像模型的表达的映射关系:
z c [ u v 1 ] = [ f x 0 c x 0 f y c y 0 0 1 ] [ R t 0 3 T 1 ] [ x w x w z w 1 ] z_{c}\left[\begin{array}{l} u \\ v \\ 1 \end{array}\right] =\left[\begin{array}{ccc} f_{x} & 0 & c_{x}\\ 0 &f_{y}& c_{y}\\ 0 & 0 & 1 \end{array}\right]\left[\begin{array}{cccc} R & t \\ 0_{3}^{T} & 1 \end{array}\right]\left[\begin{array}{c} x_{w} \\ x_{w} \\ z_{w} \\ 1 \end{array}\right] zcuv1=fx000fy0cxcy1[R03Tt1]xwxwzw1其中

  • u , v u,v u,v表示像素坐标系下的坐标
  • f x = f ⋅ s x , f y = f ⋅ s y f_{x}=f \cdot s_{x},f_{y}=f \cdot s_{y} fx=fsxfy=fsy为两个组合量,表达摄像机系统的焦距与对应方向的单位尺寸像素数相乘的结果
  • R R R表示从世界坐标系到相机坐标系的旋转矩阵,其实际包含的未知量只有三个,即坐标系绕三个轴的旋转角度
  • t t t表示从世界坐标系到相机坐标系的平移向量,包含三个未知量
  • x w , x w , z w x_{w},x_{w},z_{w} xw,xw,zw表示对应物点在世界坐标系下的坐标位置
  • z c z_{c} zc表示物点在相机坐标系下的Z方向坐标值,其具体数值可以从 [ R t 0 3 T 1 ] [ x w x w z w 1 ] \left[\begin{array}{cccc} R & t \\ 0_{3}^{T} & 1 \end{array}\right]\left[\begin{array}{c} x_{w} \\ x_{w} \\ z_{w} \\ 1 \end{array}\right] [R03Tt1]xwxwzw1中提取出来,是一个中间变量

在计算机视觉中将这种从一个平面到另一个平面的投影映射称之为单应性,我们将上面这个公式稍微改写一下,将 z c z_{c} zc移动到等式的右边,设其倒数为 s = 1 / z c s=1/z_{c} s=1/zc,设摄像机系统的内参矩阵为 M = [ f x 0 c x 0 f y c y 0 0 1 ] M=\left[\begin{array}{ccc} f_{x} & 0 & c_{x}\\ 0 &f_{y}& c_{y}\\ 0 & 0 & 1 \end{array}\right] M=fx

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ViolentElder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值