IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 白学立体视觉(2): 相机内外参数与坐标系 -> 正文阅读

[人工智能]白学立体视觉(2): 相机内外参数与坐标系


前言

亲爱的小伙伴们,本节将要分享的是双目视觉中涉及的相机成像几何,坐标系和相机参数等概念。


一、小孔成像

相信大家中学时期都在物理课程中了解过一个概念:小孔成像。用一个带有小孔的不透光板放在投影板和蜡烛之间,投影板上就会出现蜡烛倒立的实像,物理老师告诉我们这样的现象叫小孔成像,这样的成像模型被称为针孔模型(Pinhole mode)。而且,前后移动中间的板,投影板上成像的大小也会随之发生变化,这种现象说明了光沿直线传播的性质。物理世界中的一点、其在投影板上投影点、小孔中心三点共线,这种特征是成像分析的基础,被称为中心投影或者透视投影。

在这里插入图片描述
相机成像模型其实就是针孔模型的扩展,针孔模型由于通过小孔的光线量不足,所以投影板上的成像较为模糊。聪明的发明家为了解决这个问题,在相机中使用了凸透镜汇聚足够的光线在感光芯片上。这也就是我们生活中相机的构造原理。过程如图所示:

在这里插入图片描述
针孔模型成像以针孔为相机中心,倒影为成像平面。 感光芯片到透镜中心之间的距离为焦距F。为了方便观看和分析,可以将成像平面放到相机前方,构成一个虚拟成像面,也保持其与透镜中心的距离为焦距F,这样等效像平面上图像不再倒立,如下图所示:
在这里插入图片描述

二、坐标系介绍

相机成像设计到的几个非常重要的坐标系,分别是:世界坐标系,相机坐标系,图像物理坐标系,图像像素坐标系。我们设三维世界空间中的一点P的世界坐标系为Xw,对应的相机坐标系坐标为Xc,对应的图像物体坐标系的坐标为(x,y)T,对应的图像像素坐标系的坐标为(u,v)T
在这里插入图片描述

1.世界坐标系

世界坐标系是一个三维直角坐标系。有了世界坐标系,以其为基准,可以确定目标物体在三维空间中的数学表达式。世界坐标系的位置可以根据实际情况自由确定。我们设三维世界空间中的一点P的世界坐标系为Xw=(xw,yw,zw)T

2.相机坐标系

相机坐标系的坐标原点为相机的光心位置,X 轴和Y 轴分别平行于图像坐标系的X轴和 Y 轴,Z 轴为相机的光轴。世界坐标系中的P点在相机坐标系中用Xc=(xc,yc,zc)T 表示。

3.图像物理坐标系

坐标原点为CCD 图像平面的中心,X轴和Y 轴分别平行于图像平面的两条垂直边。图像物理坐标系中的点,用(x,y)T表示。图像物理坐标系是用物理单位(例如毫米)表示像素在图像中的位置。
在这里插入图片描述

4.图像像素坐标系

相机机采集图像后以标准电视信号的形式输入计算机,在计算机中以M × N矩阵(M 行 N 列的图像中的每一个元素的数值被称为图像点的灰度)保存。在图像上定义图像像素坐标系(Ot, u, v),每一个像素的坐标(u,v)分别表示该像素在数组中的列数与行数。坐标原点为图像平面的左上角顶点,X 轴和Y 轴分别平行于图像物理坐标系的 X 轴和Y 轴。图像像素坐标系中的点,用(u,v)T表示。像素坐标系就是以像素为单位的图像坐标系。
在这里插入图片描述

三、坐标系相互转换

1.世界坐标系到相机坐标系

由于世界坐标系和相机坐标系都是三维坐标系,所以他们之间的变换为刚体变换,即可以通过旋转和平移得到。坐标系之间的转换如下图所示:
在这里插入图片描述

世界坐标系到相机坐标系的变换公式为:
在这里插入图片描述
相反,相机坐标系到世界坐标系的变换公式为:
在这里插入图片描述
相机中心在世界坐标系中的位置为(这个很重要):
在这里插入图片描述

2.相机坐标系到图像物理坐标系

如下图所示,相机坐标系下的点P通过透视投影,在图像物理坐标系上成像为p(x,y)。
在这里插入图片描述根据相似三角形原理可以得到:
在这里插入图片描述
上式可以表示为矩阵形式,其中f为相机焦距,r是x轴和y轴的不垂直因子,也称物理坐标的扭曲因子,在现在的相机中一般r为0,通常在相机标定中忽略不计:
在这里插入图片描述

归一化像平面为一个虚拟的平面,与CCD成像平面平行,且距离相机光心距离为1。相机坐标系到归一化像平面坐标系之间变换如下图所示:
下图可以更可观的描述相机坐标系和归一化像平面坐标系之间的变换关系:
在这里插入图片描述
变换公式为:
在这里插入图片描述

3.图像物理坐标系到图像像素坐标系

在这里插入图片描述
若O2在u,v坐标系中的坐标为(u0,v0,每一个像素在x轴与y轴方向上的物理尺寸为dx,dy,则图像中任意一个像素在两个坐标系下的坐标有如下关系:
在这里插入图片描述
上式可以表示为矩阵形式:
在这里插入图片描述

4.世界坐标系到图像像素坐标系

掌握了以上各个坐标系的转换关系,也就理解了相机透视投影的概念。下面我们可以把几个坐标系穿起来,得到世界坐标系表示的Pw点坐标与其投影点p的坐标(u,v)的对应关系:
在这里插入图片描述

最终可以用下式表示:
在这里插入图片描述

其中,ax、ay(ax 和 ay 被称为等效焦距,有时候也用Fx 和 Fy表示)、r、u0、v0为相机内参,R和t为相机外参。相机的内参和外参就是相机标定要计算的结果,相机标定将在后面小结进行详细的介绍。

三、镜头畸变

上述的相机模型为理想条件下的相机成像模型,而实际的成像过程往往存在偏差,即畸变。由于相机物镜系统设计、制作、装配等因素所引起的,像点偏离其理想位置点的误差称为光学畸变,如下图所示:
在这里插入图片描述
相机的针孔模型,只是真实相机的一个近似,由于存在各种镜头的畸变和变形,所以真实的相机要比模型复杂的多。在引入各种非线性的畸变修正之后,就形成看复杂的非线性成像模型。镜头的畸变主要分为径向畸变、离心畸变和薄棱镜畸变三类。

.1 径向畸变

定义:径向畸变像点沿径向方向偏离标准理想位置。径向畸变又分正向畸变和负向畸变,正向畸变称为枕形畸变,负向畸变称为桶形畸变;
特点:由镜头的形状缺陷所造成的畸变,关于相机主光轴对称。
在这里插入图片描述
光学镜头径向曲率的变化是引起径向畸变的主要原因,这种变形会使得图像点沿径向移动,离中心点越远其变形的位移量越大。
在这里插入图片描述

对于图像的径向畸变,通常采用多项式拟合算法,假设图像中的像素点理想的坐标为(Xd,Yd),畸变后坐标为(Xr,Yr),则:
在这里插入图片描述
由于径向畸变只跟像素点离图像中心的距离有关,因此在直角坐标系中有:
在这里插入图片描述
将该式带入上式得:

在这里插入图片描述

.2 离心畸变

定义:光学系统的光学中心和几何中心不一致(镜头各器件的光学中心)所造成的畸变;
特点:既包含径向畸变,又包含镜头主光轴不对称多造成的切向畸变。

由于镜头装配误差,组成光学系统的多个光学镜头的光轴不可能完全共线,从而引起离心畸变,这种畸变是由径向变形分量和切向变形分量共同构成,其数学模型为:
在这里插入图片描述

.3 薄棱镜畸变

定义:镜头设计缺陷与加工安装误差所造成;
特点:同时引起径向畸变和切向畸变,高价位镜头可以忽略薄棱镜畸变。

薄棱镜畸变是指由光学镜头制造误差和成像敏感阵列制造误差引起的图像变形,这种变形是由径向变形分量和切向变形分量共同构成,其数学模型为:

在这里插入图片描述


总结

这个小结呢,主要说的是相机成像的数学模型,很重要,这是双目视觉的基础。一定要掌握,本身其实不难,自己画画图,很容易理解。有不懂得随时欢迎评论区沟通。

对了,小伙伴们,下一节就是带点实践的内容了,也就是文中提到的相机标定,到时候会提供代码和数据供大家学习。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-18 23:24:41  更:2022-06-18 23:27:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:25:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码