slam入门——十四讲笔记(四)

本文详细介绍了相机成像的原理,包括针孔相机模型、畸变(径向畸变和切向畸变)、双目相机模型以及RGB-D相机模型。针孔模型描述了光线如何通过镜头投影到图像平面上,而畸变部分解释了透镜导致的图像失真。双目相机通过计算视差来获取深度信息,RGB-D相机则能直接测量每个像素的深度。此外,文章还介绍了计算机中图像的表示方式以及如何使用OpenCV进行图像操作。最后,通过实例展示了如何将RGB-D图像转换为点云并进行拼接。

第五讲 相机与图像

【本节目标】

  1. 理解针孔相机模型、内参与径向畸变参数
  2. 理解一个空间点是如何投影到相机成像平面的
  3. 掌握OpenCV的图像存储与表达方式
  4. 学会基本的摄像头标定方法

前面两讲中,我们介绍了“机器人如何表示自身位姿”的问题,部分地解释了SLAM经典模型中变量的含义和运动方程部分。本讲,我们要讨论“机器人如何观测外部世界”,也就是观测方程部分。而在以相机为主的视觉SLAM中,观测主要是指相机成像的过程。

本讲,我们首先讨论相机模型,说明投影关系具体如何描述,相机的内参是什么。同时,简单介绍双目成像与RGB-D相机的原理。然后,介绍二维照片像素的基本操作。最后,我们根据内外参数的含义,演示一个点云拼接的实验。

5.1 相机模型

相机将三维世界中的坐标点(单位为米)映射到二维图像平面(单位为像素)的过程 能够用一个几何模型进行描述。这个模型有很多种,其中最简单的称为针孔模型。针孔模型是很常用,而且有效的模型,它描述了一束光线通过针孔之后,在针孔背面投影成像的关系。在本书中我们用一个简单的针孔相机模型来对这种映射关系进行建模。同时,由于相机镜头上的透镜的存在,会使得光线投影到成像平面的过程中会产生畸变。因此,我们使用针孔和畸变两个模型来描述整个投影过程。
在本节我们先给出相机的针孔模型,再对透镜的畸变模型进行讲解。这两个模型能够把外部的三维点投影到相机内部成像平面,构成了相机的内参数

5.1.1 针孔相机模型

在这里插入图片描述
现在来对这个简单的针孔模型进行几何建模。设 O − x − y − z O − x − y − z Oxyz 为相机坐标系,习惯上我们让 z z z 轴指向相机前方, x x x 向右, y y y 向下。 O O O 为摄像机的光心,也是针孔模型中的针 孔。现实世界的空间点 P P P,经过小孔 O O O 投影之后,落在物理成像平面 O ′ − x ′ − y ′ O' −x' − y' Oxy上,成像点为 P ′ P' P。设 P P P 的坐标为 [ X , Y , Z ] T [X, Y, Z]^T [X,Y,Z]T P ′ P′ P [ X ′ , Y ′ , Z ′ ] T [X', Y', Z']^T [X,Y,Z]T,并且设物理成像平面到小孔的 距离为 f f f(焦距)。那么,根据三角形相似关系,有:
Z f = − X X ′ = − Y Y ′ ( 5.1 ) \frac{Z}{f}=-\frac{X}{X'}=-\frac{Y}{Y'} \qquad (5.1) fZ=XX=YY(5.1)
其中负号表示成的像是倒立的。为了简化模型,我们把可以成像平面对称到相机前方,和 三维空间点一起放在摄像机坐标系的同一侧,如下图中间的样子所示。这样做可以把公 式中的负号去掉,使式子更加简洁:
Z f = X X ′ = Y Y ′ ( 5.2 ) \frac{Z}{f}=\frac{X}{X'}=\frac{Y}{Y'} \qquad (5.2) fZ=XX=YY(5.2)
在这里插入图片描述
整理得:
X ′ = f X Z Y ′ = f Y Z ( 5.3 ) X' = f\frac{X}{Z} \qquad Y' = f\frac{Y}{Z} \qquad \qquad (5.3) X=fZXY=

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值