摄影测量学与计算机视觉的多视图几何第3讲:相机基础与光的传播
第一节引言:理解相机的本质

在当今数字化时代,相机已经成为我们日常生活中不可或缺的工具。从智能手机到专业单反相机,从无人机航拍到卫星遥感,相机以各种形态存在于我们的世界中。然而,当我们拿起相机对准场景按下快门时,很少有人会深入思考一个根本性的问题:相机究竟是如何将三维世界中的物体转化为二维平面上的图像的?这一过程背后蕴含着怎样的物理原理和数学模型?
摄影测量学作为一门利用摄影影像进行精确测量的科学,其核心目标正是理解并建模这一从三维到二维的映射过程。要掌握摄影测量学的精髓,我们必须首先深入理解相机的基本工作原理,理解相机构成的各个关键组件如何协同工作,以及光线在环境中传播的基本规律。本文将从数码相机的核心组件出发,系统探讨相机实际测量的物理量,深入分析感光芯片的工作机制,并建立针孔相机模型这一摄影测量学中最基础也最重要的数学框架。
相机可以是手机中的微型摄像头,可以是记录美好瞬间的老式胶片相机,也可以是捕捉高速运动的专业单反相机,甚至可以是搭载在航天器上的遥感成像设备。尽管这些相机在外形、尺寸和用途上千差万别,但它们的核心元件和工作原理却具有惊人的共性。那么,究竟是什么使这些不同的设备都能够"捕获"图像?场景中的光线如何被转化为我们可以观看、分析和测量的数字图像?
要回答这些问题,我们需要从最基本的层面开始思考:相机实际测量的究竟是什么?
第二节相机的本质:光的测量装置
2.1 相机测量的对象------光
当我们讨论相机的工作原理时,一个根本性的认识是:相机本质上是一种光的测量装置。这一论断看似简单,却蕴含着深刻的物理内涵。相机并不直接"看到"物体,它测量的是从物体表面反射并到达相机传感器的光量。通过镜头对光线的定向引导,相机使特定方向的光线以精确的方式投射,最终将光线汇聚在胶片或感光芯片的特定位置上。由此,相机将光量的测量与光源的方向关联起来------即光线抵达相机的具体方位。

无论是传统的模拟胶片相机还是现代的数码相机,在捕捉环境信息、通过相机测量场景的核心机制上是完全相同的。传统胶片相机中,感光乳剂中的卤化银晶体在光照下发生化学变化,形成潜影;而现代数码相机中,感光芯片上的光电二极管将光子转化为电子,再经过模数转换形成数字信号。尽管记录介质从化学胶片变成了电子传感器,但基础成像原理并无二致------两者都是在特定位置上测量到达的光量。
2.2 从三维世界到二维平面的投影
相机实现成像的核心过程是将三维世界投影至二维平面,这一过程被称为成像平面(Image Plane)。拍照本质上就是实现维度的转换:所有具有XYZ三维坐标的空間物体,都被映射为成像平面上的二维坐标(XY坐标)。在这个成像平面上配备有感光芯片,其生成的像素(Pixel,即图像元素)构成了我们最终看到的数字图像。
"Pixel"一词源于"Picture Element",即图像元素。但像素的实际功能远不止于显示一个颜色点------在芯片层面,每个像素是在感光区域上划定的一个独立感光单元,它读取的强度值本质上是一个计数器,记录着该感光单元在曝光时间内接收到的光子数量。换句话说,每个像素实质是一个微型光强测量器。我们可以将整个传感器视为一个光强测量单元阵列,其功能是检测芯片特定区域接收的光量。
2.3 像素的方向属性
这里有一个在摄影测量学中至关重要的概念:每个芯片像素最终都对应图像中的一个测量值,而这个测量装置记录着特定方向射入的光线。因为每个像素对应一条光线路径------从该像素出发,经过投影中心(镜头中心),延伸至三维空间中的某个方向。像素值本质上反映的是该方向的光强度。简言之,每个像素测量来自特定方向的光量,即特定方位入射的光总量。
这种方向分量在摄影测量学中具有特殊意义,尤其是在尝试进行场景三维重建时。如果我们知道每个像素对应的空间方向,并且能够从多个视角获取图像,就可以通过三角测量原理恢复场景的三维结构。这正是摄影测量学的核心思想------利用方向信息从二维图像重建三维世界。
第三节数码相机的核心组件
3.1 传感器:从光到数字的桥梁
3.1.1 传感器的结构与工作原理
传统或通用数码相机由多个部件组成,可见部分包括镜头组件以及相机机身(尽管传感器也属于机身组成部分)。在镜头组件内部,包含快门装置以及传感器(旧式相机则为胶片)。胶片是早期的感光介质,而传感器本质上是胶片的数字化版本,涉及模数转换过程,相机内部还需进行后期处理以优化成像效果。
从成像终端逆向分析,传感器是光线最终被记录的位置。传感器的感光区域由海量微型感光单元构成,每个单元对应最终图像的一个独立像素。现代芯片可集成五百万至一亿个此类微型感光单元,其核心功能是检测特定区域接收的光量,并将其转换为数字信号,实现模拟信号到数字信号的转变以便数据解析处理。最终,我们获得强度值,例如在常见的8位图像中,数值范围为0到255。当然,这属于人为设定的标准,取决于计算机的图像呈现方式。
在计算机系统中,传感器本质是将入射光转换为强度值的感光单元阵列,即像素阵列。关键点在于:这不是单一单元而是大规模阵列,图像的每个像素均对应芯片上的一个感光单元。
3.1.2 芯片尺寸与成像质量
芯片接收的光量与芯片尺寸直接相关。芯片面积越大,通常接收的光量越多,像素单元通常也更大,因此感光单元越大集光能力越强,最终成像质量通常也越出色。这是因为更大的感光单元能够收集更多的光子,从而在相同光照条件下获得更高的信噪比。
然而,大尺寸芯片也带来显著的缺点:生产成本更高,导致相机体积增大,还需配备更昂贵的大尺寸镜头。因此,当前趋势是芯片日趋微型化,镜头也随之缩小,例如可集成于智能手机而无需携带笨重镜头。但芯片尺寸越大成像质量通常越优,这是物理规律决定的------在像素数量相同的情况下,更大的芯片意味着每个像素的感光面积更大。

标准规格中,全画幅相机的传感器尺寸约为36mm×24mm(对应传统35mm胶片尺寸),中画幅传感器更大,现代单反相机通常采用APS-C画幅(约23.5mm×15.6mm),而更小的尺寸用于现代手机。如今芯片尺寸更趋微小,由此可见芯片小型化已成趋势。虽然芯片工艺持续进步,但总体而言大尺寸芯片仍具成像质量优势,不过需承担更高成本及更大体积,需配套大型镜头与机身。
3.1.3 从模拟到数字的转换
感光芯片将特定位置的光信息转换为电信号,最终转化为数字信号,基本上就是告诉你强度值------即在某个特定位置到达传感器芯片的光量。这一转换过程涉及多个步骤:首先,光子入射到感光单元(通常是光电二极管)上,通过光电效应产生电子-空穴对;然后,这些电荷在曝光时间内积累;接着,通过电荷转移和放大电路将电荷转换为电压信号;最后,通过模数转换器(ADC)将模拟电压信号转换为数字值。
3.2 色彩获取机制
3.2.1 单色成像与彩色成像的挑战
到目前为止,我们讨论的是光的强度值,但还没有涉及颜色信息。如果只记录光量而不区分波长,我们得到的是灰度图像------不管是红光、绿光、蓝光还是近红外光,都会被映射为一个亮度值。这种单色处理过程在科学成像和某些工业检测中仍有广泛应用。
但如今,我们见到的大多数相机都有颜色信息可用。问题是:我们实际上是如何获取这些颜色信息的?毕竟,传感器本身对光子的响应并不区分颜色------它只测量到达的光子数量,而不直接测量波长。
3.2.2 三芯片设计:专业级的色彩分离
获取彩色信息主要有两种方式。第一种是所谓的三芯片设计,这种相机包含三个感光芯片,而不是一个。

在每个芯片前面都有一个不同的滤光片------红色滤光片、绿色滤光片和蓝色滤光片,分别覆盖在各自芯片的前面。
光线首先到达一个半透明镜,或者说是分光镜。它将入射光分解:一部分光被反射到带有红色滤光片的芯片上,一部分光穿透过去反射到带有蓝色滤光片的芯片上,另一部分再穿透过去照到绿色滤光片的芯片上。因此,最终会得到蓝色、绿色和红色三幅独立的图像,这本质上是通过在各个独立芯片前面放置单独的滤光片来实现的。
这种分光镜技术曾被用在专业摄像或电影摄影机上,例如一些高端电影摄影机使用了这种处理方式。三芯片设计的优势在于每个颜色通道都获得了完整的分辨率信息,不存在插值带来的伪影。但其缺点也很明显:增加了体积,也增加了相机的成本,因此在我们常见的消费级相机里是找不到的。
3.2.3 单芯片设计与拜尔模式:主流解决方案
静态摄影相机以及大多数小型摄像机使用的是单芯片设计。

这种设计的技巧不是添加一个单独的滤光片,而是添加大量非常微小的滤光片------相当于单个像素大小的滤光片直接集成到芯片上。最终得到一块芯片,在每个像素前面放置了不同的滤光片,形成一种特定的模式。
这种特定的模式由绿色、红色和蓝色滤光片组成,覆盖在每一个像素上。因此,我们只用这块芯片拍一张照片,然后只会在这个位置得到绿色信息,那个位置得到蓝色信息,另一个位置得到红色信息。之后,通过对这三个通道的数值进行插值来得到实际的色彩值------把邻近的像素组合成一个单一的像素,或者说一个单一的亮度值,同时也带有色彩信息(绿色通道的亮度值、红色通道的、以及蓝色通道的)。
当然,这是一种插值过程,并非完美。尤其是在像素级别放大观察时,特别是在边界处,能看到那些插值带来的伪影。但这更易于实现,因为只需要一块芯片,而不需要在相机里装多个芯片,所以它更便宜、体积更小。
但另一方面,我们实际上只有相当于三芯片测量数量三分之一的测量值,因为只有一块芯片测量所有信息,而不是三块芯片分别测量各个通道。所以拥有的测量数量越少,获得的环境信息就越少。尤其是最后这一点很重要:插值会导致最终图像质量的下降,因为需要进行插值,这实际上会显著影响图像质量。
3.2.4 拜尔模式与人类视觉系统
在单芯片设计中,最常用的是拜尔模式(Bayer Pattern)。

在这种模式中,绿色像素的出现频率比红色和蓝色像素要高得多------百分之五十的像素是绿色的,百分之二十五是红色的,另外百分之二十五是蓝色的。
这种设计并非随意为之,而是由人类视觉系统决定的。我们的视觉系统对亮度信息中的高频细节非常敏感,而这些细节主要由绿色通道承载。因此,需要更多的绿色信息,这样生成的图像观感更好,更容易被我们人类识别。这基本上是在将相机适配到我们人类的视觉感知系统上。
从芯片得到的原始图像,其像素数量与最终图像相同。在滤光片位置,绿色、红色和蓝色的值是实际测量值,而其他通道的值需要从邻近的像素插值获得,这当然会导致插值伪影。
3.2.5 去马赛克算法与插值质量

去马赛克(Demosaicing)是从拜尔模式中恢复RGB值的技术。不同的去马赛克方法会产生截然不同的结果。使用标准的线性插值,可以在边界处看到颜色上的错误(伪影)。在颜色均匀的大片区域,插值不会有任何问题,但在各个通道的亮度变化很强的地方,就会产生这些伪影效应。其他插值技术可能会导致其他的边界效应,与原图相比就显得很奇怪。而更先进的去马赛克技术则能够消除大部分这类效应,尽管如此,这仍然是我们通常都会遇到的误差。
为了说明单芯片会出现的错误,可以实际地遮挡掉(模拟忽略)75%的红色像素点、75%的蓝色像素点以及50%的绿色像素点,这样就精确地模拟了拜尔模式的原始数据。然后叠加这些残缺图像并执行实际的插值处理,得到单芯片插值后的实际图像。与三芯片相机拍摄的实际图像对比,乍一看这些图像看起来一样,但如果观察高梯度变化的区域------比如栅栏------可以看到色彩错误开始出现。在大幅放大高分辨率图像时,尤其在强烈渐变区域,从纯白过渡到深暗色调,这些颜色失真效果会明显显现。这就是单传感器图像生成过程中产生的瑕疵。
拜尔模式并不是唯一的方法。市面上有其它不同的滤色阵列模式,相应地也需要不同的插值方案。你甚至可以要求相机制造商为你的应用生产定制的滤光片阵列模式,例如用于捕捉可见光谱之外的光线(如近红外信息),或者明确感知某些特定的波长。
第四节快门系统

4.1 快门的基本功能
快门本质上控制着感光元件接收光照的时间。可以将其理解为幕帘装置,能够开启又闭合,控制光线进入相机内部到达感光芯片。因此,快门决定着曝光时间或快门速度(Shutter Speed)。
其实现方式有多种类型:机械式快门通过物理幕帘的运动来控制曝光;当代相机则普遍采用电子快门实现曝光控制,通过控制传感器的电荷积累时间来模拟快门效果。
4.2 曝光时间与运动模糊
快门对成像影响巨大,尤其在移动拍摄场景下。快门有两种主要工作模式:一种是全局开关模式,瞬间完全开启后完全闭合,使整个画面同步曝光,各区域受光时间均等;另一种是滑移式快门(卷帘快门),通过开启一条缝隙让缝隙扫过整个画面,从而减少单像素的曝光时间。
当采用极短曝光时,会出现快门幕帘始终未完全开启的状态,仅通过局部缝隙扫描成像。然而这种方式会导致感光芯片的各个区域在不同时间点接受曝光。随着缝隙滑移扫描,上方像素点可能比下方晚曝光2-3毫秒。这在拍摄快速移动物体时会造成问题------无论相机高速移动还是被摄物体高速运动穿过场景。
此外,在长时间曝光时,若物体在场景中移动会产生动态模糊。即使使用全局快门设定0.5秒曝光,移动的物体运动轨迹依然会出现模糊。所以通常需要用高速快门定格动作,获得清晰图像,除非出于艺术表达需要刻意保留动态模糊。但在三维重建领域通常需要避免运动模糊,因此更倾向采用短曝光时间,高速快门通过短暂曝光获取清晰高质量图像。但这需要充足的环境光线,同时可能面临滚动快门引发的失真问题。长曝光能获得更亮图像却会增加运动模糊,这取决于可用光量以及物体运动速度。
4.3 全局快门与卷帘快门
4.3.1 卷帘快门的工作原理与问题
卷帘快门(Rolling Shutter)是一行接一行地顺序曝光。

这种现象不仅存在于机械快门,数码快门同样会产生这种效果,因为受限于设计,芯片的所有感光单元可能无法在同一时间点完成读取,芯片上的小像素单元需要逐行依次读取,这就导致了所谓的卷帘快门效应(果冻效应)。
也可以想象成全机械快门运作:相当于幕布开启一条细缝,然后一行一行扫过整个画面。卷帘快门相机的问题在于当遇到高速移动的物体会产生变形,速度越快越明显。低速运动则影响不大,例如以步行速度穿过场景时没有太大影响。但如果物体高速运动,例如疾驰的汽车,就会在成像过程中造成问题。
在卷帘快门的运作示意图中,可以看到不同像素在不同时间点曝光的原理:快门开启后首行像素开始曝光,接着逐行读取数据。存在一个区域,整个芯片都在感光,随后它停止工作结束曝光。此处像素先于彼处像素曝光,因此形成卷帘式扫描画面的效果,这正是"卷帘快门"名称的由来。
带来的核心问题是:若物体快速穿过场景,比如使用激光笔快速移动,会形成扭曲的斜线。这并非静态图像问题,因顶部像素先行曝光,底部像素稍后采集,最终形成倾斜光迹。这种效应对某些应用极其不利,例如进行场景内高速物体的三维重建。如果每行像素在不同时间点曝光,就需要逐行估算相机在每行像素采集时的位置,这会急剧增加待处理变量数量,使底层数学问题更复杂。
4.3.2 全局快门的优势
替代方案是采用全局快门(Global Shutter)相机。

全局快门相机无此困扰,所有像素在同一时刻曝光,感光起止和完成光信号采集时间完全同步。全局快门相机仍可能有运动模糊(如果物体在曝光期间移动),但可以将所有像素视为在同一个时间点曝光,而无需将单个像素视为在不同时间点曝光,这极大地简化了基础的估算问题。

在闪光灯下也能看到全局快门和卷帘快门的区别。相机通常会将最短曝光时间限制在某个值,这取决于相机的品质。在非常高的曝光时间下,无法给图像曝光,因为闪光灯需要在光闸完全开启时触发,或者所有像素都正处于光线采集过程中。因为闪光灯会主导场景中的光线,如果不这样做,实际上会在场景中产生暗区。
使用卷帘快门相机在闪光灯下短时间曝光拍摄时,如果相机设置不正确,或者说手动控制不当,可以看到相机在卷帘快门尚未完全开启时触发了闪光。结果是在场景的这个部分,这是场景中自然光的效果,而这是闪光灯产生的光,结果就是得到了条带状的曝光不均。如果用全局快门相机操作,会得到一张曝光正确的图像。
总体而言,全局快门相机更好,特别是对于三维重建任务。但它们也是更昂贵的选择,在消费级相机中并不常见。
第五节镜头与光学系统
5.1 为何需要镜头

在深入理解镜头的作用之前,我们需要先简要探讨光线在场景中是如何传播的,这对于理解为何需要镜头很重要,以及为何完全不用镜头处理起来会非常困难。

我们可以使用标准针孔相机模型来解释成像原理。尽管理论上针孔成像是可行的,但这在某种程度上限制了相机的使用,尤其考虑到光量的限制。如果没有镜头,仅依靠针孔,为了让成像清晰,针孔必须非常小,这样通过的光线就极其有限,需要很长的曝光时间才能获得足够的光量。这在实际应用中往往不可接受------我们无法等待数小时来拍摄一张照片。
为了解决这个问题,我们可以引入透镜。这样我们基本上是用一个很大的开口取代了这个针孔,并在这个大开口处安装一个透镜。结果是,如果这边有一个物体点,而需要以特定的方式设置透镜,使得所有从这个点反射出来的光线------原本是通过小针孔的那条单一光线------现在,从这个点发出、照射到透镜不同位置的光线,都需要被透镜重新定向,使它们能够在图像平面上相交于同一个点。这样,从这个点向不同方向发射的多条光线,都会被映射到图像平面的同一点上。
所以透镜的基本作用是:它不仅利用了那条原本能穿过针孔的单一光线,它还收集了来自三维世界中同一点的多条反射光线,并确保它们都能映射到图像平面的对应点上。这正是薄透镜实际所做的事情------在相同时间内让更多光线到达感光芯片,同时保持成像的清晰。
5.2 针孔相机模型
5.2.1 暗箱原理
针孔相机(Pinhole Camera)的原理也被称为暗箱(Camera Obscura),这是一个存在了非常长时间的概念,实际上比我们拥有数字传感器甚至胶片的时间都要久远得多。

这个概念在1544年首次被文献记载,而名字"Camera Obscura"的实际意思是"暗室"。它的原理是,当你身处一间暗室时,在墙上开一个小孔,你就能看到外面的景象被投影进来,它们会被投影到对面的墙上。
这是过去用来观测太阳的方法------因为不想直视太阳,那会损害眼睛,而且太阳太亮了实际上也看不到多少细节。但是通过将太阳投影投射到一块大白板上,就可以实际观测到太阳。使用所谓的暗箱这个概念已经存在了非常长的时间,差不多五百年了,并且一直被用来实际创建图像或观测世界。

你其实可以在家非常容易地搭建你自己的暗箱:如果你有一个房间,有能完全遮挡光线的窗帘,那么你能做的就是拉上窗帘,然后在窗帘上开一个非常小的孔。接着,一旦你的眼睛适应了黑暗,你就能实际看到外面场景的影像被投影在墙的另一面。这其实就是从那样场景拍下来的照片,可以看到门和灯的开关。它是通过暗箱将外面的世界投影到了墙上。
5.2.2 为何需要针孔
让我们看看如果不使用针孔会发生什么。假设有一个物体(比如一棵树),阳光照射在物体上,物体反射出光线。这些光线从太阳照射到树顶,然后反射到感光平面。但问题是,到处都是光线------从树的各个部分反射的光线会弥漫到芯片的整个表面。所以我们基本上只得到一个所有光源的平均强度值,没有任何结构,无法辨认出树。因此,需要做的是避免来自一个点的光线被映射到胶片上的多个点,应该限定为只接收来自该点的光线。
可以通过加一个屏障、中间开一个小孔来实现这一点。所有照射到屏障上的光线就不被考虑,只有穿过这个小点的光才会真正映射到胶片上并且会被相机真正接收到。这减少了实际到达芯片的光量,因此只有场景中非常小的一部分光实际到达胶片或者传感器。但是这个小开口(也称为孔径)限定了三维世界中的一个点被映射到成像平面的位置。位于一侧的物体不会被映射到同一个位置。因此,通过引入这个小小的小孔,我们实际上限定了光线能被反射到胶片上的位置范围,这使我们能够生成图像。
5.2.3 针孔相机模型的数学描述
针孔相机模型实际上是一个非常不错的数学模型,一个我们在三维重建中大量使用的模型,主要是因为它足够简单。

为了描述针孔模型,我们需要知道:空间中有一个点,用大写字母表示的东西都在真实世界中,而小写字母的东西在相机内部。
假设空间中有一个点,坐标是(X, 0, Z)------Y坐标在这个例子中为零。这个点通过投影中心O,映射到图像平面上。图像平面是一个固定的平面,所有点都会投影到这个平面上,所以Z坐标不再相关,只有XY坐标了。这可以说就是丢失的深度信息。
在相机内部,小写的z距离是固定的------这基本上是从成像平面到屏障(针孔)之间的距离,称之为焦距f。而这个距离大写的Z,是点在真实空间中到针孔的距离,称之为物距。小写的z(焦距f)和大写的Z(物距)的比例,称为图像缩放比例,它描述三维世界中的点是如何映射到二维图像平面上的。
具体来说,使用点在三维空间中的X坐标,将它乘以图像缩放比例(即f/Z,因为图像方向原因再乘以一个负号),就得到坐标x,用来告诉你那个点投影在图像平面的位置。这是一个非常简单的映射,可以用相似三角形定理来描述。
对于三维空间中的任意一点,其在图像平面上的x坐标位置取决于物方点的X坐标(大小)和物方距离Z。一个物体有多高由X描述,而物体有多远则由Z坐标描述,这两者共同决定了物体在成像中的大小。这是从日常相机中熟悉的现象:如果离得更近,物体在图像中会显得更大;如果远离物体,它在图像中就会变小。这个缩放的比例大小可以使用针孔相机模型来描述。
5.2.4 针孔相机模型的问题
针孔相机模型存在的问题是,针孔必须非常小才能使成像过程良好。因为如果增大针孔的尺寸,那么来自附近其他点的多条光线也会穿过针孔被映射到同一个位置的成像点,图像就会变得模糊。所以,针孔越小,得到的图像清晰度就越好,但需要等待的时间就越长,以便有足够的光线穿过小孔并到达胶片或传感器。如果增大孔径,整个过程会变快,但同时图像也会变得更模糊。
这就是在现实中使用针孔相机时遇到的问题:小孔径产生清晰图像,但需要很长的曝光时间;大孔径可以使用更短的曝光时间,但会产生模糊的图像。通常这不是我们想要的结果------我们希望缩短曝光时间以便拍摄快速移动的物体,使整个过程更快,同时还能得到清晰的图像。这正是引入透镜的原因。
5.3 薄透镜近似
可以用薄透镜(Thin Lenses)的原理来描述物距(物体到镜头中心的距离)、像距(镜头中心到图像平面的距离)以及焦距这三者之间的关系。

不过,我们并不需要过多深入透镜工作原理的细节,因为在摄影测量学中处理的大部分内容,使用针孔的数学模型就足够了。我们不需要深入探究物理过程的细节,只需要了解一点点,以便理解拍照时如何真正控制相机的某些参数。
需要注意的是,使用薄透镜的相机仅仅是针孔模型的一种近似,它不再精确地等同于一个针孔相机。因为在针孔相机模型中,一个核心假设是:所有来自三维世界同一点的光线都必须穿过一个单一的点(针孔)。而使用透镜时,情况显然不是这样------来自同一点的不同光线被映射到图像平面的同一点,但它们并没有在相机中穿过投影中心的同一个点。
所以重要的是要注意,使用透镜或薄透镜的相机只是针孔模型的一种近似。这意味着使用透镜模型代替针孔模型实际上在做近似(引入了误差)。理想情况下,物体上的点、图像上的点以及透镜的中心应该位于同一条直线上,但这在使用透镜时并非总是成立。观察到的另一个现象是:光束离光轴越远,穿过透镜的光束距离光轴越远,实际产生的误差就越大。点位置越往外离光轴越远,这个误差就越大。
5.4 光圈与景深
5.4.1 光圈的作用
为了减小使用透镜代替理想针孔所引入的误差,需要再次引入一个相当于人工针孔的装置------光圈(Aperture)。

光圈控制镜头的哪一部分被暴露(光线可以到达)。在透镜系统中引入一个屏障(光圈),这个屏障有多大,应该让多少条光线能够穿过以便它们能汇聚到成像点上?光圈实质上就是在光路中引入的另一个物理屏障。
光圈减少了使用透镜代替理想针孔所引入的误差。当把孔径开得越小时,就越能约束那些光线路径更靠近投影中心或光轴的中心,限制穿过透镜外围部分的光线,从而减少在这个图像生成过程中的误差。
光圈(结构)实际上是一种圆形的叶片结构,可以开合。取决于设置的光圈值,光圈可以是敞开的(大),叶片合拢后孔径就关闭了,或者变成一个很小的孔。这种情况下,只有少量的光被允许通过。
5.4.2 f值系统

通常用f值(f-stop number)来描述光圈大小。

f值越大,光圈孔径就越小。增加一档f值或减小一档f值,会使到达相机的光量加倍或减半。例如,从f/5.6调整到f/8(增加一档),进光量减半;从f/5.6调整到f/4(减小一档),进光量加倍。
光圈实质上控制着针孔的大小,控制着有多少光到达相机传感器,并且允许限制穿过透镜的光线路径,最终能实际到达芯片的区域。
5.4.3 景深控制
光圈大小对图像生成过程产生的重要影响之一是景深(Depth of Field)。

取决于光圈的开孔大小:大光圈开孔会让更多光线进入,但实际会产生更浅的景深。这意味着对焦在某个点上时,图像有多少部分是清晰的,有多少部分是模糊的。
如果光圈开得很大,景深很浅------对焦在某个点上,而位于那个点前面或后面的所有东西都更可能变得模糊。如果缩小光圈,更接近一个实际的针孔,那么整个场景都会变得清晰,因为景深增加了。
这在摄影中可以作为风格元素来运用------通过浅景深将焦点引向主体,虚化背景。但在摄影测量中,希望获得极其清晰锐利的图像,会希望避免得到非常模糊的图像,因此通常尝试缩小光圈以获得清晰图像。
5.5 镜头畸变与像差
5.5.1 几何畸变
相对于针孔相机模型而言,不同镜头还会产生像差,导致与理想成像的偏差。

典型的几何畸变包括桶形畸变(Barrel Distortion)和枕形畸变(Pincushion Distortion),使用广角镜头时尤为明显,或是这两种畸变的混合形态。
畸变通常需要通过相机校准来修正。只要了解特定镜头的畸变特性,就能通过调整进行补偿------比如将这些像素点向光学中心移动或向外围调整。现代专业或半专业数码相机,当使用同品牌镜头时可直接在机内完成校准,厂商掌握镜头的畸变参数,能通过像素位移自动补偿。
5.5.2 球面像差
球面像差可通过光圈控制。

原理是距离光轴越远的边缘光线,其焦点位置与理想情况不符。完美镜头应使所有光线汇聚于同一点,但实际制造工艺限制导致光线无法完美聚焦。解决方法是通过光圈屏蔽边缘光线,减少成像误差。通过精确设置光圈大小限制外围光线的进入,在这种情况下会产生更好的图像。
5.5.3 色差
色差(Chromatic Aberration)是另一种重要的像差。

不同波长(颜色)的光会有略微不同的折射率,特别是在镜头的外部区域,蓝光的折射比红光强,结果就是它们不会相交于同一点。不同颜色的光被不同地折射,这只是很小的效应,但如果放大图像,实际上可以看到特别是在外部区域,这种色差显现出来------边缘不同颜色被映射到不同的像素上,而不是预期的相同像素,在特定物体边缘就会看到这种色彩偏移。
5.5.4 其他像差

还有像散光(Astigmatism),即光在镜头垂直方向和水平方向具有不同的焦点。

还有其他像差如彗差(Coma)------如果光线从某些非平行于光轴的方向射到镜头上,它们就不会被适当地映射到同一个点上,基本上会出现环形效应,圆形不会被映射成一个圆形而是有点水滴形状。

暗角(Vignette)是指图像中心较亮,然后图像向外逐渐变暗的效应。可以通过调亮外部区域和调暗内部区域的亮度值来补偿。即使在今天,有时也看到这个被作为一种将焦点引向图像中心物体的艺术形式,通过添加暗角来引导观看者视线。
5.6 不同镜头类型与视场角

5.6.1 从长焦到鱼眼
镜头选择总是在不同因素之间取得妥协的结果。首要因素之一是视场角(Field of View)。从长焦镜头到鱼眼镜头,焦距非常长的长焦镜头具有非常窄的视场角;标准镜头对于全画幅相机焦距大约是50mm;焦距35mm的广角镜头;然后是鱼眼镜头,它们能极大扩展视场角,甚至可以超过180度。
5.6.2 透视效果
长焦镜头具有非常窄的视场角,平行线保持平行。可以看到三维世界中的平行线在图像中大致保持平行,透视畸变被控制在最小范围内,这实际上是有益的,也通常是希望达到的效果。
但狭窄的视野可能会带来限制。如果需要扩大视野范围,因为需要同时观察更多场景内容,就必须换用广角镜头。广角镜头视角范围通常在70到120度之间,此时现实中的直线仅能粗略地呈现为直线,平行线不再保持平行,能看到明显的畸变,物体的比例关系也不再准确呈现,这是由广角镜头大视角带来的透视畸变效应。
还可以进一步极端化,使用视角极广的鱼眼镜头,这时连直线都无法保持笔直。这种超广角镜头视角为180度甚至可达180度以上,此时就会产生严重的畸变,现实中的直线在画面中完全变形。
5.6.3 对针孔模型的挑战
在使用这类摄像机时必须注意:某些关于相机模型的基本假设,比如针孔相机模型将不再适用。针孔相机建立的所有前提条件在添加这类镜头后都会被打破,特别是广角镜头。必须意识到使用广角镜头时针孔模型会在数学上失效,或者产生的近似误差大到无法用于有效的三维重建,无法再获得可用的近似值。
第六节光的传播模型
6.1 几何光学(射线光学)
6.1.1 几何光学的四大公理
有几种不同的模型可以描述光线在环境中的传播。几何光学或光线光学是在物理课上学到的比较常见的理论,它认为光线沿直线传播。这是可以用来描述大多数过程(特别是三维重建过程)的模型。在处理三维重建任务时利用几何光学模型完全可行,特别是相机所用的这些模型进行三维重建是完全够用的。
几何光学基本上有四个公理(Axioms),这些就是模型假设,基于这些模型假设就可以描述光是如何传播的:
第一公理:如果我们处在均匀介质中,光会沿着直线传播。所以一束光线或光束可以用一条直线来表示,它不会弯曲或发生类似的变化,它是穿越空间的一道笔直的线条。
第二公理:如果我们有两种均匀介质,并且在它们的交界处,光线要么被反射,要么被折射。反射意味着光线被反射回来;折射意味着光线从一种材料进入另一种材料,通常方向会发生改变。光线射入两种介质交界面的角度由斯涅尔定律(Snell's Law)描述,本质上偏折的程度取决于这些均匀介质的材料属性。
第三公理:光程是可逆的。所以如果光可以从右向左传播,它也可以从左向右传播。
第四公理:如果有两束光线或光束,它们相交于现实空间的某处,它们不会相互影响,它们可以彼此穿过而没有任何影响,即使两束光线实际相遇了。
6.1.2 光速与折射率
光的传播由大量穿越空间的光线来描述,这些光线以光速传播,大约是每秒30万千米(3×10^8 m/s),这是在真空中的光速。这个速度是在真空中测量的,在其他材料中光速会稍微降低一点。光在其他介质传播有多快与真空中的理论速度以及材料属性相关,也就是折射率(Refractive Index)。
光速等于真空中的光速c除以折射率n。在真空中,n等于1;而在其他介质中,n是一个大于1的值,光速会降低。光线总是走最快路径------如果有两种折射率不同的均匀介质,其中一个折射率更高(n更大),光线通过那种材料时在物理距离上会更短,所以光总是选择环境中最快的路径。这种折射被用于制造相机镜头内部的结构。
6.2 波动光学
6.2.1 麦克斯韦方程与电磁波
波动光学意味着光被视为可以通过麦克斯韦方程(Maxwell's Equations)来描述的一种电磁波。麦克斯韦方程组通过这种将光视为波的方法,可以描述像干涉(Interference)和衍射(Diffraction)这样的效应。这些效应是在以波动方式处理光时出现的,可以描述一些用几何光学无法描述的现象,例如在小狭缝处光的行为。
6.2.2 电磁波谱

可见光的谱在400到700纳米左右,而这只是电磁波谱中非常小的一部分。电磁波谱从伽马射线、X射线、紫外线辐射,到可见光谱、红外线、微波、无线电波,可见光谱只是其中非常微小的一部分,是我们实际能够看到的波段。
不同的应用可能需要扩展这个光谱范围。例如,摄影常常根据应用需求采用近红外将额外的信息纳入考量,或者利用微波信息来推断地球的某些特性。频率等于光速除以波长,波长就是这里写的波长,大约在四百至七百纳米之间是可见光谱的波长范围,这与光速相结合基本上就决定了所考虑的波的频率。此外,波的频率还取决于所处介质的折射率,这个关系适用于真空情况,在其他材料中会改变,因为光速在不同的材料中会变化。
6.2.3 多光谱与高光谱成像

大多数摄影业务考虑红、绿和蓝光,波长大约在650纳米、550纳米和450纳米左右,至少是近似值。使用这些波长来生成日常使用的彩色图像。
但取决于特殊应用,可能需要涉足其他光谱范围。一个例子就是近红外光谱,波长大约在1000纳米或者说微米量级。可见光谱的这个区域被叶绿素强烈反射,叶绿素存在于植被或健康的植被中,因此它有非常高的反射率。如果使用近红外光谱拍摄,植被变得超亮。

在伪彩色图像中,红色通道被替换为近红外通道,所有通常绿色的植被都呈现出极端的红色。如果正在进行植被监测,这可能非常相关,因为它能让你非常容易地区分场景的哪些部分是健康植被,哪些不是。

还可以将这点发挥到极致,从拥有多个不同的光谱通道(称为多光谱成像),发展到高光谱成像(Hyperspectral Imaging),本质上拥有一个完整的数据立方体------例如有两百个不同波长需要考虑,这样图像就变成了高光谱图像。普通RGB图像是一个三维结构,具有X维Y维以及第三维上的三个通道;而高光谱图像的波长维度成了一个完整的维度,例如覆盖两百个不同的频率。当然,这类图像数据的处理就变得更加困难或更具挑战性,生成这些图像的过程本身通常也不同------如果有那么多波长,通常会使用线扫描传感器(Line Sensors),而不是面阵传感器这种可以一次性测量整个区域的传感器。
6.3 量子光学(粒子光学)
6.3.1 波粒二象性
量子光学或粒子光学的核心思想是用粒子来描述光。这是一种方法,在其中可以利用波粒二象性,用量子概念------因为它们就是所谓的光量子。引入这个概念的原因是,在过去很长一段时间里,有很多关于光应该用波还是粒子来描述的争论。存在两种诠释:有些现象能够很好地用波来解释,无法用粒子解释;但另一些现象实际上只能用粒子来解释。所以有这种二象性:某些东西可以用波描述,而某些东西可以用粒子描述。
量子光学就是一种描述方式,用来描述那些无法仅用波动光学解释的现象。这种相互作用对我们特别有用,因为它允许我们描述光与物质的相互作用。当我们在感光芯片上接收光并将光转化为电能或电流时,这一点变得很重要。然后通过测量电流就可以告诉你有多少光到达了那个芯片。描述这个过程的理由------即电流是如何从感光芯片产生的------是因为光量子确实到达了那个芯片并转化成了电流。
6.3.2 光子概念与光电效应
量子光学基于光子(Photon)概念。光子是一种基本粒子,它描述了光的最小量,即光量子。当光照射到你时,这些实际上都是这个光量子的倍数。光量子具有一定的能量:Q = h × ν,这里的ν是频率,h是普朗克常数(Planck's Constant),这是一个非常小的数,大约是6.62×10^-34焦耳·秒。
一个光量子或者说一个光子所携带的能量是极其微小的。这意味着,例如在我们所经历的太阳辐射中,有大量的这些光量子存在,否则获得的能量会太小。
这个想法为什么有用?因为这允许我们描述光子如何通过芯片转化为强度值。因为它们在感光芯片上产生电荷。这可以通过说"这是一个具有特定能量的粒子"从而得到解释,而这能够使我们描述如何通过到达芯片上特定区域的光量来测量强度值。
因此,可以将感光芯片上的每个单元或每个像素基本上视为一个光子计数器。每个像素都是一个光子计数器,它告诉你有多少这样的光量子或者多少光子在曝光时间内通过针孔到达芯片上的那个特定区域。这可以测量有多少光穿过环境、穿过小针孔,并在曝光时间内到达芯片。所以基本上每个像素都是一个光子计数器。
由于每个像素与方向相关联,它基本上说明有多少光子从某个特定位置到达芯片。并且,更准确地说,光子越多,像素实际反馈的强度值越大。
第七节曝光控制与图像质量
7.1 曝光三角

7.1.1 快门速度(TV)
可以调整相机的参数来改变拍摄效果。其中,可以改变曝光时间------这在相机上通常缩写为TV(Time Value)。这指的是传感器芯片(或其上的单个像素)保持打开状态以收集光子的时间长短。曝光时间越长,传感器收集到的光子数量就越多:如果将曝光时间延长一倍,接收到的光子数量也会相应增加一倍。
7.1.2 光圈(AV)
另一个重要参数是光圈(Aperture),或称孔径大小------通常缩写为AV(Aperture Value)。光圈开孔的大小直接影响到达传感器的光子数量:光圈开得越小,实际到达芯片的光量就越少。
7.1.3 感光度(ISO)
此外,传感器芯片本身的感光度------通常称为ISO值------这个值基本上定义了传感器对光线的敏感程度,即它将光子数量映射(转换)为亮度值的方式。可以调节这个ISO值。通常,将ISO值设置得越低,图像的画质就越好。相反,将ISO值设置得越高,实际上就会在芯片上引入更多来自传感器本身的噪声。
7.1.4 三者的平衡
快门速度(TV)、光圈值(AV)和感光度(ISO)这三个参数共同构成了通常所说的"曝光三角"。可以尝试调整不同的要素:可以改变快门速度,从长时间的曝光(低速快门)到短时间的曝光(高速快门);可以通过改变ISO值来改变亮度(即芯片的低灵敏度或高灵敏度);还可以开大或缩小光圈,这控制了进入的光量。基本上,如果向某个方向调整,总会让图像更亮:增加ISO值会得到更亮的图像;延长快门打开时间会产生更亮的图像;开大光圈也会产生更亮的图像。
然而,这些操作都会带来副作用。如果提高ISO,图像中会产生更多噪点(在旧时代,胶片上的颗粒感会变大,这本质上是ISO值变化的体现)。虽然有时为了艺术效果这可能是想要的特性,但如果是为了做测量,通常并不想要太大的颗粒感。如果延长快门打开时间,会收集到更多光线,但也会产生运动模糊------这尤其是在处理运动物体时不希望出现的。如果增大光圈,让更多光线进入相机,会增加一些误差:像差(如球差)会增加,会得到更模糊的图像------因为越来越偏离针孔模型的假设;另一个效应是景深会变浅。
7.2 光照与反射率
7.2.1 外部光源与反射
光照也扮演着重要角色。场景中物体的反射率、光照本身------可以给场景添加光源,这样就有了更多可用的光线。但最终在芯片上记录到的光强度也取决于材质、光源以及物体表面的属性------这可以是表面的位置、朝向,但也包括材质本身。这些效应影响了有多少光会朝某个特定方向反射(这个方向正好通过针孔或镜头)并到达感光芯片。
7.2.2 反照率
描述物体反射率有不同的方式。一种相当简单的形式是所谓的反照率(Albedo),它衡量的是物体对太阳辐射的漫反射程度。

不同的物体,比如冰、雪、沙漠、云,它们会告诉你有多大比例的光被反射(其值在0到1或0%到100%之间)。1相当于意味着百分之百,即所有辐射都被反射;而0则基本上代表一个黑体,那些物体不反射任何光线。以水为例,其数值相当低,实际被水反射的量非常少。这一点在遥感领域可能是需要考虑的重要信息。
7.2.3 BRDF双向反射分布函数
有时想要比仅为某个物体提供单一数值更精确,这时就需要所谓的BRDF(Bidirectional Reflectance Distribution Function,双向反射分布函数)。

BRDF是光散射的通用模型,它取决于表面的几何形状和波长,本质上是描述材料属性的。它表述的是:给定一条入射光线(由其到达表面的两个入射角定义),以及反射光线的方向和波长,该函数能告诉我们有多少光被实际反射。
具体地说,它告诉我们在特定入射方向上到达的、每种波长的光,有多少量会在特定的出射方向上被反射出去。因此,知道入射方向、出射方向(通常是查询的方向)和波长后,就可以精确地渲染一种已知其BRDF的材料。BRDF是材料及其表面的属性,拥有这个属性就可以渲染它们。
如果要考虑光的实际量,反射的光量实际上是入射光量乘上BRDF函数,再乘上入射角度,只考虑一个方向(不会去看表面下方),对这个进行积分得到的。解这个积分,就能得到反射光(或出射光)的总量。BRDF本身是与入射光无关的,它只依赖于几何形状和波长。然后,可以把它与入射光以及这个积分结合起来,估算实际有多少光反射到感兴趣的方向上。例如,据此就可以估计,给定这个物体,有多少光能到达相机。

通过对三维重建结果进行渲染并使用估算的BRDF属性,就能获得看起来具有真实感的表面属性。可以通过估算BRDF,然后再次利用BRDF进行渲染来实现这一点。这里的这些物体就是一个实例,展示了我们为何需要考虑入射光的方向,以及光线向哪个方向反射------而这取决于表面的材质以及该表面的朝向(法线方向)。这就是最终抵达相机的光量,也就是实际观测到或看到的东西。这些信息就可以用于例如三维重建任务的建模工作。
第八节总结
本文系统探讨了相机基础与光的传播这一摄影测量学的核心主题。我们从相机的本质出发,认识到相机是一种光的测量装置,其核心功能是将三维世界中的光信息映射到二维成像平面上。通过分析数码相机的核心组件------传感器、快门和镜头------我们理解了每个组件在成像过程中的具体作用及其对最终图像质量的影响。
传感器作为从光到数字的桥梁,其工作原理、尺寸效应和色彩获取机制决定了图像的基本特性。三芯片设计与单芯片拜尔模式各有优劣,而去马赛克算法引入的插值伪影是单芯片设计不可避免的代价。快门系统通过控制曝光时间影响图像的亮度和清晰度,全局快门与卷帘快门的选择在三维重建任务中具有决定性意义。镜头系统通过薄透镜近似扩展了针孔模型的实用性,但引入了各种像差和畸变,需要通过校准进行补偿。
在光的传播方面,我们介绍了三种描述模型:几何光学以其简洁性成为摄影测量学的主要工具;波动光学解释了干涉、衍射等几何光学无法描述的现象;量子光学则通过光子概念解释了传感器的光电转换过程。这三种模型各有其适用范围,共同构成了我们对光行为的完整认识。
曝光三角------快门速度、光圈和ISO------为我们提供了控制图像质量的工具,但每种调整都伴随着权衡和副作用。理解这些参数之间的关系,以及光照和材质反射特性(通过反照率和BRDF描述)对成像的影响,是将相机从摄影工具提升为精密测量设备的关键。
针孔相机模型作为本文的核心数学框架,虽然是一种理想化的近似,但在标准镜头条件下为三维重建提供了足够精确的数学基础。然而,我们也认识到其局限性------对于广角镜头、鱼眼镜头等大视场角相机,针孔模型不再适用,需要引入更复杂的相机模型。
最终,理解相机基础与光的传播,不仅是掌握摄影技术的要求,更是开展摄影测量学研究和应用的先决条件。只有深刻理解相机如何工作、测量什么、受哪些因素影响,我们才能正确地使用相机作为测量工具,从二维图像中恢复三维世界的几何和物理信息。这正是从摄影到摄影测量的桥梁------将艺术性的图像捕捉转化为科学性的精确测量。