摄像机标定中四大坐标系之间的关系
一、四个坐标系简介和转换
相机模型为以后一切标定算法的关键,只有这边有相当透彻的理解,对以后的标定算法才能有更好的理解。本人研究了好长时间,几乎每天都重复看几遍,最终才会明白其推导过程。
我觉得首先我们要理解相机模型中的四个平面坐标系的关系:像素平面坐标系(u,v)、像平面坐标系(图像物理坐标第(x,y)、相机坐标系(Xc,Yc,Zc)和世界坐标系(Xw,Yw,Zw),在每一篇介绍相机模型的文章中都有介绍。
我刚开始理解时,看着那一堆的公式十分的头晕,我相信很多初学者和我一样,但仔细想想,只不过是,我们假设了一些参数,使四个坐标系之间的坐标联系起来,这样我们就可以从拍摄的图片上一个点坐标一路反推出世界中的那个点的坐标,这样就达到了我们的目的,三维重建。而那些我们假设的参数,就是我们要标定的内外参数。
1、像素坐标与像平面坐标系之间的关系
确定他们的关系之前,我们可以假设每一个像素在u轴和v轴方向上的物理尺寸为dx和dy。仔细看下他们的模型可以推出以下公式(这个还是比较好理解的):
解释:1、dx,dy,u0,v0其实都是我们假设出来的参数,dxdy表示感光芯片上像素的实际大小,是连接像素坐标系和真实尺寸坐标系的,u0,v0是图像平面中心,最终是要我们求的内外参数。
得出这个公式后我们可以运用线性代数的知识把方程用矩阵形式表示:
当然我们也可以用另一种矩阵形式表示:
2、相机坐标系与世界坐标系之间的关系
这两个坐标系之间的关系我们可以旋转矩阵R和平移矩阵T来得到以下关系:
公式4
解释:1、 在这个公式中,R为3*3矩阵,T为3*1,0为(0,0,0),简化用Lw表示后为4*4矩阵。
3、成像投影关系(相机坐标系与像平面坐标系)
在相机模型中我们可以得到以下公式:
公式5
解释:1、
同样我们用矩阵形式表示:
公式6
4、得到公式
而我们可以将以上公式综合一下就可以得到:
因此,内参数矩阵可以表示为:
=
外参矩阵可以表示为:,由旋转矩阵R和平移向量T组成
当然在好多资料上都有这种做法:
上图中表示的情况是像素坐标系和图像物理坐标系的两个坐标轴不是平行的关系,像素坐标系的两个坐标轴也不是垂直90°的关系,而图像物理坐标系的两个坐标轴是垂直关系。所以,我们在转换两个坐标轴的坐标之间的关系时就必须考虑像素坐标系两个坐标轴之间的夹角了。就有了上面的不同的内参矩阵,理解了就好了。
二、图像坐标:我想和世界坐标谈谈(B)
玉米将在这篇博文中,对图像坐标与世界坐标的这场对话中涉及的第二个问题:谈话方式,进行总结。世界坐标是怎样变换进摄像机,投影成图像坐标的呢?
玉米做了一个简单的图示,在这里做一个提纲。图中显示,世界坐标系通过刚体变换到达摄像机坐标系,然后摄像机坐标系通过透视投影变换到达图像坐标系。可以看出,世界坐标与图像坐标的关系建立在刚体变换和透视投影变换的基础上。为了奖励刚体变和透视投影变换沟通了“世界上最远的距离”,玉米在图上奖励了他们两朵小红花。哈哈
首先,让我们来看一下刚体变换是如何将世界坐标系与图像坐标系联系起来的吧。这里,先对刚体变换做一个介绍:
刚体变换(regidbody motion):三维空间中, 当物体不发生形变时,对一个几何物体作旋转, 平移的运动,称之为刚体变换。
因为世界坐标系和摄像机坐标都是右手坐标系,所以其不会发生形变。我们想把世界坐标系下的坐标转换到摄像机坐标下的坐标,如下图所示,可以通过刚体变换的方式。空间中一个坐标系,总可以通过刚体变换转换到另外一个个坐标系的。转一转,走一走,就到另外一个坐标系下了。以前可能是面朝大海,经过平移旋转,最终可能只能面朝冰山了,哈哈
下面让我来看一下,二者之间刚体变化的数学表达。
其中,XC代表摄像机坐标系,X代表世界坐标系。R代表旋转,T代表平移。R、T与摄像机无关,所以称这两个参数为摄像机的外参数(extrinsic parameter)可以理解为两个坐标原点之间的距离,因其受x,y,z三个方向上的分量共同控制,所以其具有三个自由度。
R则为分别绕XYZ三轴旋转的效果之和。如下面所示:
R=r1*r2*r3.其由三个方向的θ控制,故具有三个自由度。
好了,刚体变换就讲完了。大家应该都了解,世界坐标系到摄像机坐标系之间的转换过程了吧。
接下来,让我们看看摄像机坐标下的坐标如何投影到图像坐标系下,最终变为照片中的一个像素。这其中包含两个过程:一是从摄像机坐标到“空间图像坐标”(x,y)所发生的透视投影;二是从“连续图像坐标”到“离散图像坐标”(u,v)。后者我们已经在第一篇博文中解释过。所以在这里,主要介绍一下透视投影。
透视投影(perspective projection): 用中心投影法将形体投射到投影面上,从而获得的一种较为接近视觉效果的单面投影图。有一点像皮影戏。它符合人们心理习惯,即离视点近的物体大,离视点远的物体小,不平行于成像平面的平行线会相交于消隐点(vanish point)。
啰嗦这么多,其实大家看看示意图,看看公式,秒懂。
以图中B(XB,YB)点为例,在小孔成像摄像机模型下(几何分析的最常用模型)。这里的f为摄像机的焦距,其属于摄像机的内参数(intrinsic parameter)。其在成像平面上的投影点b(xb,yb)的坐标利用简单的相似三角形比例关系很容易求出:
上面两式也阐明了摄像机坐标与图像坐标之间的透视投影关系。
好吧,现在玉米已经把图像坐标与世界坐标之间的这场对话所需经历的三个波折的过程加以了解释。即:刚体变换、透视投影、(x,y)换(u,v)(ps.这个在上一篇博文中讲过)。接下来玉米用一张图把三个过程连接起来。实现从世界坐标(X,Y,Z)到(u,v)之间的转换。让图像坐标与世界坐标直接对话。
下图中的转换关系,都是用齐次坐标表达的,大家会发现这样的表达非常整洁。
其实这张图显示的过程还有一个名字:摄像机模型(camera model)。其实也就是摄像机的几何模型了。
将三者相乘,可以把这三个过程和在一起,写成一个矩阵:
P就是世界坐标到图像坐标的直接联系人,P就表示了一个投影相机,有下面公式:
注意在表示齐次坐标时,需要在符号上面加个小帽子。除去齐次坐标控制位P23,P具有11个自由度。
摄像机模型及其中涉及的坐标系等,是弄清3D重建几何框架的基础。可以把它们视为基本运算关系。后面对于三维重建几何框架的推导,都是要用到三个基本坐标系和摄像机模型的。
摄像机标定中四大坐标系之间的关系相关推荐
- 相机标定的原理及四个坐标系之间的关系
参考:https://www.jianshu.com/p/7d97fccd79bb 1. 相机标定 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关 ...
- 总结|机器视觉中三大坐标系及其相互关系
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:林青春 链接:https://zhuanlan.zhihu.com/p/59289459 本文转 ...
- 双目视觉(一)-相机标定及各坐标系间转换关系
本篇文章用来记录近期学习双目视觉定位的收获,后续我将随着不断深入学习对文章进行补充 视觉是人类感知外界环境信息的重要途径,其中人类约有80%的环境信息是通过双眼获取的.双目视觉系统是典型的类人视觉模型 ...
- 双目立体视觉中的坐标系与转换关系 [留意~摄影测量学与计算机视觉学科中的差异]
文章目录 前言 影像坐标系 相机坐标系 世界坐标系 影像坐标系与相机坐标系之间的相互转换 相机坐标系与世界坐标系之间的相互转换 前言 通过模拟人眼立体视觉,两个摄像机拍摄同一场景可构成双目成像模型 ...
- ROS:坐标系之间的关系 (map \ odom \ base_link)
ROS:坐标系之间的关系 (map \ odom \ base_link) 在使用ROS进行定位与导航操作时,会伴随着各种坐标系,并且每种坐标系都有明确的含义,ros中定义了常见的坐标系,并且所有的坐 ...
- 地理坐标系和投影坐标系之间的关系 基本概念
地理坐标系和投影坐标系之间的关系 基本概念 地理坐标系:为球面坐标. 参考平面地是椭球面,坐标单位:经纬度: 投影坐标系:为平面坐标.参考平面地是水平面,坐标单位:米.千米等: 地理坐标转换到投影坐标 ...
- 轻松玩转hive中各种join之间的关系以及使用
hive编程是整个数据仓库操作的核心,而各种业务之间的join是hive的核心,所以熟练明白滴掌握hive中的各种join是数据仓库开发工程师必备的技能. hive中的join只支持等值join ...
- 商品期货中各种品种之间的关系研究
商品期货中各种品种之间的关系研究 作者:来源:时间:2018-12-01 14:01:14 在产品期货买卖中,许多种类之间会出现着不同程度的相关联系,有时分是由于同种原因导致的,比方说,社会全体需求增 ...
- ROS中ENU坐标系与无人机中NED坐标系的转换关系理解
ROS中ENU坐标系与无人机中NED坐标系的转换关系理解 项目地址 无人机中NED坐标理解 ENU与NED转换 无人机中NED坐标理解 机体坐标系:机体坐标系固连飞机,其原点 取在多旋翼的重心位置上. ...
最新文章
- markdown--入门
- setuptools setup()
- PX4板载计算机外部控制
- httpclient请求服务的各种方法实例
- eclipse不能自动编译生成class文件的解决办法
- git几个救命的命令
- 推荐一款windows下好用的文件夹加密、文件加密软件(含使用说明)
- 【SOT】SiamFC代码笔记
- Ubuntu16.04下网易云音乐点击图标打不开——已解决
- word中安装Zotero插件
- 测试场景设计-测试方法论
- 程序员与颈椎病(三):颈椎病终极解决办法
- Android 13小米首批支持机型曝光 这4款机型在内
- Ubuntu中实现中英文切换
- 如何批量图片重命名不同名字?
- Java 教程 —— 开天辟地
- 能够在乱世中_在乱世纷纷的时代,庄子依然能够在浮华的人生,活出本真的自我...
- Web调用浏览器摄像头
- iOS 测试利器:idb
- 我桌面上的计算机图标打不开了,我桌面上的这台电脑图标打不开 - 卡饭网