文章目录
第五讲 相机与图像
【本节目标】
- 理解针孔相机模型、内参与径向畸变参数
- 理解一个空间点是如何投影到相机成像平面的
- 掌握OpenCV的图像存储与表达方式
- 学会基本的摄像头标定方法
前面两讲中,我们介绍了“机器人如何表示自身位姿”的问题,部分地解释了SLAM经典模型中变量的含义和运动方程部分。本讲,我们要讨论“机器人如何观测外部世界”,也就是观测方程部分。而在以相机为主的视觉SLAM中,观测主要是指相机成像的过程。
本讲,我们首先讨论相机模型,说明投影关系具体如何描述,相机的内参是什么。同时,简单介绍双目成像与RGB-D相机的原理。然后,介绍二维照片像素的基本操作。最后,我们根据内外参数的含义,演示一个点云拼接的实验。
5.1 相机模型
相机将三维世界中的坐标点(单位为米)映射到二维图像平面(单位为像素)的过程 能够用一个几何模型进行描述。这个模型有很多种,其中最简单的称为针孔模型。针孔模型是很常用,而且有效的模型,它描述了一束光线通过针孔之后,在针孔背面投影成像的关系。在本书中我们用一个简单的针孔相机模型来对这种映射关系进行建模。同时,由于相机镜头上的透镜的存在,会使得光线投影到成像平面的过程中会产生畸变。因此,我们使用针孔和畸变两个模型来描述整个投影过程。
在本节我们先给出相机的针孔模型,再对透镜的畸变模型进行讲解。这两个模型能够把外部的三维点投影到相机内部成像平面,构成了相机的内参数
5.1.1 针孔相机模型

现在来对这个简单的针孔模型进行几何建模。设 O − x − y − z O − x − y − z O−x−y−z 为相机坐标系,习惯上我们让 z z z 轴指向相机前方, x x x 向右, y y y 向下。 O O O 为摄像机的光心,也是针孔模型中的针 孔。现实世界的空间点 P P P,经过小孔 O O O 投影之后,落在物理成像平面 O ′ − x ′ − y ′ O' −x' − y' O′−x′−y′上,成像点为 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=−X′X=−Y′Y(5.1)
其中负号表示成的像是倒立的。为了简化模型,我们把可以成像平面对称到相机前方,和 三维空间点一起放在摄像机坐标系的同一侧,如下图中间的样子所示。这样做可以把公 式中的负号去掉,使式子更加简洁:
Z f = X X ′ = Y Y ′ ( 5.2 ) \frac{Z}{f}=\frac{X}{X'}=\frac{Y}{Y'} \qquad (5.2) fZ=X′X=Y′Y(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′=

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

被折叠的 条评论
为什么被折叠?



