《机器视觉算法与应用》第3章 机器视觉算法之相机标定——学习笔记
文章目录
- 3.9 相机标定
- 3.9.1 面阵相机的摄像机模型
- 针孔摄像机模型的透视投影关系
- 3.9.2 线阵相机的相机模型
- 3.9.3 标定过程
- 第一个需求
- 第二个需求
- 3.9.4 从单幅图像中提取世界坐标
- 3.9.5 相机参数的准确度
3.9 相机标定
摄像机标定是准确测量目标物体的必要过程。每个镜头的畸变程度各不相同,通过摄像机标定就可以校正这种镜头畸变。另外在摄像机标定后就可以得到在世界坐标系中目标物体米制单位的坐标,例如多少米或多少毫米。由于在前面的章节中我们已经描述过进行几何摄像机标定时需要使用的方法,在这章我们将讨论如何实现摄像机标定。
为了标定摄像机,我们有必畏建立一个模型,该模型由摄像机、镜头和图像采集卡(如果使用)组成,这个模型可以将世界坐标系中三维空间点投影到二维图像中。在机器视觉应用中常 用的 有两种不同类型的镜头:普通镜头和远心镜头。
另外还需要考虑两种不同的图像传感器:线阵图像传感器和面阵图像传感器。使用面阵摄像机时,普通镜头和远心镜头都比较常用。 而使用线阵摄像机时,只有普通镜头比较常用。
对于使用普通镜头的线阵摄像机,我们简单称之为线扫描摄像机。
对于上述三种摄像机模型,从三 维空间坐标到二维图像坐标的映射关系都可以使用一个固定数量的参数来表示:
3.9.1 面阵相机的摄像机模型
针孔摄像机模型的透视投影关系
我们现在开始描述三维世界坐标系中的物体如何投影到二维成像平面,并且介绍相关的摄像机参数。 首先,我们应该注意点凡是在世界坐标系 (WCS)中。为了将其投影到成像平面上,需要首先将其转换到摄像机坐标系(CCS)中。
虽然目前还有其他的模型可以用来表示镜头畸变,但是上述的模型几乎可以表示所有在机器视觉应用中常用镜头的畸变,并且足够准确。另外与其他模型相比,上述模型有一个极大的优点就是可以通过下式进行畸变校正:
针孔摄像机模型的6个参数(f,κ,Sx,Sy,Cx,Cy)和远心摄像机模型的5个参数(κ,Sx,Sy,Cx,Cy)被称为摄像机内参或内方位参数,因为它们确定了摄像机如何实现三维空间点到二维图像点的投影。
3.9.2 线阵相机的相机模型
线阵摄像机必须与被拍摄物体之间有相对移动才能够拍摄得到一幅有用的图像。摄像机与目标物之间的相对运动是摄像机内参的一部分。到目前为止,最常见的运动是摄像机线性运动,也就是说摄像机相对于目标物体沿一条直线匀速运动,摄像机相对于目标物的方向固定, 并且采集所有图像时摄像机运动状态。
由于在图像采集的过程中摄像机在物体上方移动,因此摄像机坐标系在这个过程中相对于物体发生移动,也就是说拍摄每行图像时摄像机的位置都不相同。这就意味着回像中每一行都对应一个不同的位姿。为了使模型更便于分析,我们可以利用摄像机的运动是线性的这一已知条件。
对于线阵摄像机来讲, 丸个参数 (f,κ,Sx, Sy,Cx,Cy, Vx, Vy, Vz) 被称为摄像机内参,因为它们确定了摄像机从三维空间到二维图像的投影关系。
虽然线阵摄像机几何模型在原理 上只是一个透视镜头和一个远心镜头的组合,但正好这种组合导致线阵摄像机几何模型比面阵摄像机几何模型要复杂的多。
3.9.3 标定过程
通过上面的讨论,我们可以看出摄像机标定其实就是确定摄像机内参和外参的过程。为了进行摄像机标定,必须已知世界坐标系中足够多三维空间点的坐标,找到这些空间点在图像中的投影点的二维图像坐标,并建立对应关系。
第一个需求
可以使用已经事先精确测量过的已知尺寸的可移动的标定板来标定摄像机。这种方式的优势在于可以在摄像机固定的情况下对摄像机进行标定,例如摄像机已经安装在机器上。
第二个需求
确定中世界坐标系已知点与它们在图像中投影的对应关系。
因 此,标定板的结构一般都尽量使确定对应关系的过程更简单。比如,使用一个平面标定板,在平面上有m×n 个圆形标志点,在这些标志点外面有一个黑色矩形边界框。
平面标定板有几个优点:首先, 它们非常易于操作;第二,它们的尺寸可以制作的非常精确;最后,它们可以非常方便地应用在背光照明地应用中,只需要使用透明材料制作放置标志点的底盘即可。在标志 对象周围的黑色矩形边界框可以使标定对象的中心部分很容易被提取出来。 在矩形边界框的一个角落放置一个小的方向标记可以使摄像机标定算法计算得到标定板的唯一方向。在标定对 象表面上使用圆形标志主要 因为可以非常精确的提取出来圆的中心点坐标。最后,所有圆形标志点按照行列排列呈矩形阵列,这样可以使摄像机标定算法在图像中提取与这些标志点对应的像素点坐标时更加简便。
3.9.4 从单幅图像中提取世界坐标
从原理上讲,使用标定后的摄像机可以在世界坐标系内进行未失真的测量。一般情况下只有使用多个摄像机在不 同空间位置上同时拍摄同一物体的两幅或多幅图像,才可以进行这种测量。这种方式被称为立体重构。
然而下面两种情况也可以得到被测物体在世界坐标系中的尺寸,第一就是使用远心镜头拍摄被测物体;第二就是如果使用针孔摄像机或线阵摄像机,此时必须将被测物体放在一个已知平面上 (如传送带)上。这两种情况都可以通过光线(视线)与已知被测平面相交来解决问题。就算测量平面与光轴之间有一定的倾斜角度,也可以进行测量。
3.9.5 相机参数的准确度
作为摄像机标定的最后部分,我们讨论下面两个方面的问题:一是摄 像机参数的准确度,二是调整摄像机 焦距和光圈对摄像机参数的影响。
为了使得到的摄像机参数更加准确,就需要有相当多的标定图像。
《机器视觉算法与应用》第3章 机器视觉算法之相机标定——学习笔记相关推荐
- AcWing提高算法课Level-3 第六章 基础算法
AcWing提高算法课Level-3 第六章 基础算法 位运算 AcWing 90. 64位整数乘法761人打卡 递推与递归 AcWing 95. 费解的开关520人打卡 AcWing 97. 约数之 ...
- AcWing进阶算法课Level-4 第七章 基础算法
AcWing进阶算法课Level-4 第七章 基础算法 启发式合并 AcWing 2154. 梦幻布丁73人打卡 AcWing 3189. Lomsat gelral54人打卡 manacher算法 ...
- 计算机组成原理 | 第八章《计算机的外围设备》、第九章《输入/输出系统》 学习笔记
计算机组成原理 | 第八章<计算机的外围设备>.第九章<输入/输出系统> 学习笔记 引言 & 声明 第一章 计算机系统概论 第二章 计算机中数据的表示方法 第三章 运算 ...
- 【Java数据结构与算法】第十九章 贪心算法、Prim算法和Kruskal算法
第十九章 贪心算法.Prim算法和Kruskal算法 文章目录 第十九章 贪心算法.Prim算法和Kruskal算法 一.贪心算法 1.介绍 2.支付问题 二.Prim算法 1.最小生成树 2.介绍 ...
- 《算法导论》第16章 贪心算法 个人笔记
第16章 贪心算法 16.1 活动选择问题 问题:假设有一个n个活动的集合S=a1,a2,...,anS={a_1,a_2,...,a_n},这些活动使用同一个资源,而这个资源在某个时刻只能供一个活动 ...
- Coursera 机器学习 第9章(下) Recommender Systems 学习笔记
9.5 Predicting Movie Ratings 9.5.1 Problem Formulation 推荐系统. 推荐系统的问题表述:电影推荐.根据用户对已看过电影的打分来推测用户对其未打分的 ...
- 算法设计与分析(屈婉玲)网络课学习笔记(一)
2017.10.10 21:47 放一波课程的链接首先:http://www.chinesemooc.org/live/685712 华文慕课 北京大学屈婉玲女神的视频教程,非常推荐 学习算法 ...
- 第1部分 基础算法(提高篇)--第1章 贪心算法1425:【例题4】加工生产调度
1425:[例题4]加工生产调度 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 2047 通过数: 529 [题目描述] 某工厂收到了 n 个产品的订单,这 n 个产品分别在 A ...
- 第2部分 字符串算法(提高篇)--第2章 KMP算法1469:似乎在梦中见过的样子
1469:似乎在梦中见过的样子 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 476 通过数: 159 [题目描述] 原题来自:2014 年湖北省队互测 Week2 「Madok ...
最新文章
- 1059 Prime Factors
- 王者S19服务器维护时间表,王者荣耀s19buff刷新时间一览 红蓝BUFF刷新间隔是多久...
- JS一起学05:Date对象、封闭空间、函数传参和封装、获取非行间样式、字符串操作
- Golang + Goland环境配置 + Goland破解
- com.jacob.com.ComFailException: Can‘t get object clsid from progid
- python sqlite3 executemany_python – SQLite executemany的问题
- listctrl 的使用技巧
- Android常用控件基础知识
- Mysql调优ref_【总结】mysql调优
- 纯前端html导出pdf(jsPDF.js)-分页-不分页
- 软件测试面试题整理(一)之自动化测试题大合集
- mac如何打开/bin等目录
- 服务器网站怎么屏蔽ip,云服务器怎么屏蔽ip
- led灯光衰怎么解决_如何解决LED光衰的问题
- 没键盘计算机能启动吗,实现PC电脑无键盘鼠标开机
- 2008年度中国最佳MBA排行榜
- 2021 年 8 月全国程序员薪酬出炉:北京18904元位居榜首
- BPR: Bayesian Personalized Ranking from Implicit Feedback 论文笔记
- 鸿蒙第二批升级时间,鸿蒙系统第二批升级名单_鸿蒙系统第二批有哪些手机可以升级...
- SpringMVC MultipartFile 异步批量上传文件
热门文章
- DSP28335:外部设备接口XINTF
- 基于贝叶斯估计的星级得分排名
- 标记整理算法(Mark-Compact)
- 使用spring整合quartz进行定时器调用(图文案例)
- 港科夜闻|香港科大史维校长:全球大学跨学科的现实之困
- 在Macbook 上云玩LOL
- 【题解】2073: [POI2004]PRZ
- 基于Python的电影票房爬取与可视化系统的设计与实现
- nvme协议 sata接口_SATA通道的M.2接口 到底支持Nvme固态硬盘吗?
- 圆满收官!华秋电子亮相2022慕尼黑华南电子展,数字化平台赋能智能制造