计算机视觉基础(7)——相机基础

前言

从这一节开始,我们来学习几何视觉。中层视觉包括相机模型、单目几何视觉、对极几何视觉和多目立体视觉等。在学习几何视觉最开始,我们先来学习一下相机模型,了解相机的基本原理,了解相机如何记录影像。

一、数字相机

1.1 基本工作原理

相机用于生成二维的图像,图像最小的单元被称为像素 (Pixel)

• 图像中的每个像素对应三维世界中的某个特定方向

• 相机度量某一时刻,每个像素的光照强度和颜色,并保存在图像中对应像素位置处。

• 换言之,像素值衡量了某一时刻,来自某一方向上的光照强度

1.2 基本组成元素

二、图像传感器

2.1 图像传感器简介

图像传感器是一种将光学影像转换成电子信号的设备。

• 感光元件由光敏单元阵列构成

• 常见的图像传感器有感光耦合器件(CCD)和互补式金属氧化物半导体有源像素传感器(CMOS )两种

• 彩色图像的生成采用RGB颜色模型:将红绿蓝三原色的色光以不同比例相加,以产生各种色彩光
彩色图像传感器按照对色彩的分辨方式可分为:

• **3CCD 传感器:**通过双色棱镜分光,并采用3块独立的CCD传感器

• **拜尔(Bayer)传感器:**一个像素点只对三原色光中的一种感光

• **Foveon X3 传感器:**每一像素点都有三重传感器

2.2 3CCD传感器

2.3 拜尔传感器

三、快门

3.1 快门简介

• 通过调整快门速度 (Shutter Speed),控制光线照射感光元件的时间,即曝光时间 (Exposure Time)

• 更长的曝光时间更多的入射光图像亮度更亮

• 更长的曝光时间容易引起运动模糊 (长曝光摄影)

3.2 卷帘宽门

  • 采用逐行扫描的方式曝光
  • 同一行像素被同时记录,不同行像素曝光时间点不同
  • 当相机或物体发生快速移动时会引起畸变(Distortion)

3.3 全局快门

• 所有像素在同一时间曝光

• 不会造成卷帘快门式的畸变,因而更适用于3D重构任务 (如SLAM)

• 造价更昂贵

【参考链接】
详细图解,一眼就能看懂!卷帘快门(Rolling Shutter)与全局快门(Global Shutter)的区别-CSDN博客https://blog.csdn.net/lz0499/article/details/102616773

四、图像的形成

4.1 成像原理

问:直接在物体前放置幕布,幕布上能否投射出物体的图像?

答:不会,幕布上每一点都会接收到来自不同方向光线的投射,因而投影的结果是十分模糊的。

那么如何解决呢?

  • 增加遮光板屏蔽掉多余的光线 (小孔成像)
  • 遮光板上通光的小孔就是光圈 (Aperture)
  • 最朴素的针孔相机模型

这就是我们日常生活中的小孔成像原理。

4.2 针孔相机

• 针孔相机假设通过对小孔是一个点,从物体的每个点发出的光线只有一条能通过小孔

• 针孔相机模型用于近似图像的形成过程

• 利用相似三角形原理分析

• 针孔相机模型:图像较锐化,由于光线较少,需要更多的曝光时间

• 扩大孔径:可以减少所需曝光时间,但图像变模糊

解决方法:用镜头(透镜)替换针孔

4.3 薄透镜相机

薄透镜相机模型是对针孔相机的近似。

• 理想情况下物点、像点、光心三点共线

• 光线与光心距离越远,误差越大

• 采用光圈,屏蔽距离光心较远的光心,控制误差

4.4 光圈与景深

【光圈】

光圈限制了光线与光心的最大距离,光圈就是小孔的孔径。

【景深】
景深指相机聚焦平面前后相对清晰的成像范围,描述在空间中,可以清楚成像的距离范围

【光圈和景深】

【参考网站】 Depth of Field in Photography Explained: The Ultimate DOF Guide! (capturetheatlas.com)

4.5 针孔/薄透镜相机的假设

• 从同一物点发出的光线被聚焦于同一像点

• 所有的像点位于同一平面上

• 物点、光心与像点三点共线
因为以上假设条件在实际中并非总是满足的,这导致了不完美的成像结果。

五、像差

真实成像过程中3D场景到2D图像的投影关系与理想薄透镜相机模型中的投影关系的偏差,称

为像差。像差表现为图像的形变与失真,有多中具体的形式。主要形式如下:

• 畸变 (Distortion)

• 球面像差 (Spherical aberrations)

• 色相差 (Chromatic aberrations)

• 像散 (Astigmatism )

• 光晕 (Vignetting)

5.1 畸变

  • 直线投影 (rectilinear projection): 3D场景中的直线在2D投影中仍未直线
  • 畸变:与直线投影的偏差

5.2 球面像差

  • 由于透镜球面折射率变化不均造成平行于光轴的光线无法聚焦
  • 造成成像模糊

5.3 色相差

透镜折射率随光的波长而变化,同一物点发出的不同颜色光线无法聚焦于同一像点

5.4 像散

水平和竖直方向的焦点不同

5.5 光晕/暗角

  • 图像的外围部分的亮度或饱和度比中心区域低
  • 一个或多个透镜的实际尺寸造成的,后方的元件遮蔽了前方的
  • 然而,有时却因为需要创意风格而被刻意加入

六、常见的镜头种类

6.1 长焦镜头

  • 视野较窄
  • 透视变形最小
  • 3D空间中平行线在2D图像中保持平行

6.2 广角镜头

  • 视野较宽广 (70-120度)
  • 有透视变形
  • 3D空间中的直线在2D图像大致是直线

6.3 鱼眼镜头

  • 视野极宽 (>130度)
  • 3D空间中的直线在2D图像中几本不再是直线
相关推荐
Kai HVZ1 小时前
《OpenCV》——图像透视转换
人工智能·opencv·计算机视觉
Zda天天爱打卡3 小时前
【机器学习实战中阶】使用Python和OpenCV进行手语识别
人工智能·python·深度学习·opencv·机器学习
jndingxin3 小时前
OpenCV相机标定与3D重建(66)对立体匹配生成的视差图(disparity map)进行验证的函数validateDisparity()的使用
opencv·3d
鸭鸭鸭进京赶烤7 小时前
计算机工程:解锁未来科技之门!
人工智能·科技·opencv·ai·机器人·硬件工程·软件工程
Kacey Huang9 小时前
YOLOv1、YOLOv2、YOLOv3目标检测算法原理与实战第十三天|YOLOv3实战、安装Typora
人工智能·算法·yolo·目标检测·计算机视觉
eguid_19 小时前
JavaScript图像处理,常用图像边缘检测算法简单介绍说明
javascript·图像处理·算法·计算机视觉
西猫雷婶11 小时前
python学opencv|读取图像(四十一 )使用cv2.add()函数实现各个像素点BGR叠加
开发语言·python·opencv
AI技术控13 小时前
计算机视觉算法实战——无人机检测
算法·计算机视觉·无人机
m0_7431064619 小时前
【论文笔记】MV-DUSt3R+:两秒重建一个3D场景
论文阅读·深度学习·计算机视觉·3d·几何学
m0_7431064619 小时前
【论文笔记】TranSplat:深度refine的camera-required可泛化稀疏方法
论文阅读·深度学习·计算机视觉·3d·几何学