SLAM|1. 相机投影及相机畸变

一个能思考的人,才真是一个力量无边的人。——巴尔扎克

本章主要内容:
1.针孔相机模型
2.相机成像的几个坐标系图像
3.畸变及相机标定

本节主要介绍在照相机拍摄过程中,现实物体如何跟照片上的像素关联起来,具体涉及相机成像的物理过程和坐标系转换。

1.1 针孔相机模型

针孔相机模型是目前大多数相机的成像模型,其成像原理为小孔成像,回顾一下按照光线在同一介质中按直线传播的原理,在小孔另一面,会形成倒立按比例缩小的实像。
在这里插入图片描述

如果不借助其他东西,这个成像过程会遵循如下原理:小孔越小,成像越好,但会越暗。如下图,小孔直径从2mm变到0.35mm过程,图像越来越清晰,但也越来越暗。
在这里插入图片描述

我们想要的照片,是既要清晰,又要有足够的亮度,即让足够的光线进来,捕获到更多的环境细节,为了解决这个问题,现代相机会使用透镜来聚集光线,在保证有较大进光面的同时,让光线也能汇聚到较小范围。
在这里插入图片描述

关于透镜,有两个概念:聚焦与失焦
聚焦:从物体不同部分射出的光线,通过镜头之后,聚焦在底片的一个点上,使影像具有清晰的轮廓与真实的质感,这个过程称为聚焦。
失焦:即接收的点的信息未聚焦到一起会导致成像模糊。
注意:物体“聚焦”有特定距离(景深),在景深内可清晰成像,景深外成像模糊。

加入透镜之后,成像规律会有一点变化,此时当物体离透镜不同距离时,会形成不同的像。当物体处于凸透镜的 2 倍焦距之外,会形成倒立的、缩小的实像。一倍焦距到二倍焦距之间,则会形成倒立的、放大的实像。成像物体则在一倍焦距内,成正立的、放大的虚像。
一般地,相机成像时,物体在透镜的二倍焦距之外。而对于投影仪,则会把成像物体放在一倍焦距到二倍焦距之间。对于放大镜,成像物体则在一倍焦距内。
在这里插入图片描述

最后,将成像处实像,用感光元件接收后,就形成了拍摄的照片。在比较早的年代,感光元件使用胶片,胶片的原理是通过光产生化学反应来记录。而到了数码时代,感光元件则使用了CCD或者CMOS,其原理是将光转化为模拟电信号来记录。
电子感光元件也叫图像传感器(sensor),分为两种:一种是广泛使用的 CCD(电荷耦合)元件,另一种是 CMOS(互补金属氧化物半导体)器件。其产生的模拟信号,首先经过模拟信号放大器进行信号放大,进而经过数模转换电路(DAC)变为数字图像,数字图像再经过 ISP(Image Signal Processor)图像处理器进行数字图像处理,最后数字图像经过压缩编码算法,存储到 SD 卡中成为一个照片文件。

  1. CCD
    CCD 全称 Charge Coupled Device,它使用一种高感光度的半导体材料制成,由许多感光单位组成,通常以百万像素为单位。当 CCD 表面受到光线照射时,每个感光单位会将电荷反映在组件上,即把光转换为电荷,所有的感光单位所产生的信号加在一起,就构成了一幅完整的画面。
  2. CMOS
    CMOS 全称 Complementary Metal-Oxide Semiconductor,它主要是利用硅和锗这两种元素所做成的半导体,使其在 CMOS 上共存着 N 极和 P 极的半导体,这两个互补效应所产生的电流即可被处理芯片记录为影像。
    两者最主要的区别在于:CCD 传感器的图像质量优于 CMOS 传感器,而 CMOS 传感器在成像速度、功耗、价格等方面优于 CCD 传感器。

1.2 相机成像的几个坐标系

要把相机拍摄的照片与实际物体关联起来,就要建立三维世界到二维图像平面的映射关系,这个过程主要通过几个坐标系之间的转换来实现。

1.2.1成像坐标系之间的关系

相机成像的坐标系主要有四个,分别是世界坐标系,相机坐标系,图像坐标系与像素坐标系。世界坐标系下物体的光线(世界坐标系),通过透镜(相机坐标系),投射到感光原件上(图像坐标系),最后计算机在像素坐标系(离散化过程)上做处理。
在这里插入图片描述

世界坐标系:用于表示空间物体的绝对坐标,使用(Xw,Yw,Zw)表示,世界坐标系可通过旋转和平移得到相机坐标系。
相机坐标系:以相机的光心为坐标系原点,Xc.Yc轴平行于图像坐标系的x,y轴,相机的光轴为Zc轴,坐标系满足右手法则,相机的光心可理解为相机透镜的几何中心。
图像物理坐标系:坐标原点在CCD图像平面的中心x,y轴分别平行于图像像素坐标系的(u,v)轴,坐标用(x,y)表示。
图像像素坐标系:表示三维空间物体在图像平面上的投影,像素是离散化的,其坐标原点在CCD图像平面的左上角,u轴平行于CCD平面水平向右,v轴垂直于u轴向下,坐标使用(u,v)来表示。图像宽度W,高度H。

1.2.2 坐标计算

在这里插入图片描述

三维坐标投影到成像平面的坐标(完成三维到二维点的映射),可以通过相似三角形得出,对于相机坐标系下的P(X,Y,Z),成像坐标为:
fZ=−X′X=−Y′Y\frac{f}{Z}=-\frac{X^{\prime}}{X}=-\frac{Y^{\prime}}{Y}Zf=XX=YY
为了方便运算,取对称的镜像进行计算,效果等价。
在这里插入图片描述

fZ=X′X=Y′Y\frac{f}{Z}=\frac{X^{\prime}}{X}=\frac{Y^{\prime}}{Y}Zf=XX=YY
可得:
X′=fXZX^{\prime}=f \frac{X}{Z}X=fZX
Y′=fYZY^{\prime}=f \frac{Y}{Z}Y=fZY
计算机中的图像,是一个个像素构成,且其并不是图像中心为坐标原点,而是一般把左上角规定为坐标原点,要在计算机中处理图像信息,需要在得到成像平面上的坐标后,把成像坐标,转为像素坐标。
在这里插入图片描述

其中O1是投影后的坐标系原点,位于图像中心,而在计算机图像处理库中(如OpenCV),则是定义的左上角O0为图像坐标系原点,横坐标轴为u轴,向右,纵坐标轴为v轴,向下。
相机内感光原件(如cmos)是一个一个小格子拼接而成的,可以认为是离散的,这个小格子可能不是正方形,要将投影坐标P’转化为像素坐标,需要经历如下过程:
计算P’到图像中心的像素距离
u′=X′αx=fαxXZ=fxXZu^{\prime}=\frac{X^{\prime}}{\alpha_{x}}=\frac{f}{\alpha_{x}} \frac{X}{Z}=f_{x} \frac{X}{Z}u=αxX=αxf</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

suiuko

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值